USB MIDI patch for FreeBSD 8/9

Torfinn Ingolfsen torfinn.ingolfsen at broadpark.no
Sun Feb 20 19:52:47 UTC 2011


On Thu, 17 Feb 2011 19:00:39 +0100
Hans Petter Selasky <hselasky at c2i.net> wrote:

> On Thursday 17 February 2011 11:18:40 Hans Petter Selasky wrote:
> > Dear all USB MIDI freaks using FreeBSD 8+!
> > 
> > After some more testing I'm going to push a patch for the USB AUDIO driver
> > that improves USB MIDI on FreeBSD. I'm sending the patch out for review so
> > that users get a chance to try out the changes before they get committed.
> > The patch should apply to 8.2-RELEASE aswell as 9-CURRENT.
> > 
> > How to apply:
> > 
> > cd /usr/src/sys/dev/sound/usb/
> > cat umidi_patch_001.txt | patch
> > 
> > A short summary of what the changes are about:
> > 
> > - Make the USB MIDI driver more OSS compliant by implementing the
> > correct data format for the /dev/umidiX.Y character devices. Also
> > implement some missing OSS MIDI ioctls.
> > - Use the USB stack's builtin clear-stall feature.
> > - Wrap some long lines.
> > - Use memcpy() instead of bcopy().
> - Use memset() instead of bzero().
> > 
> > --HPS
> 
> Found some bugs in my initial patch after testing. Attaching new one.

I tried it, my (usb) keyboard (Evolution eKeys 37) is detected,
but my Roland Edirol SD-20 is not (because it reports as vendor class, so not surprising).
Anyway, output from /var/log/messages when both the eKey 37 and the SD-20 is attached and I kldload snd_uaudio:
Feb 20 20:44:58 kg-v7 kernel: uaudio0: <Evolution Electronics Ltd. USB MIDI keyboard, class 0/0, rev 1.00/2.52, addr 3> on usbus0
Feb 20 20:44:58 kg-v7 kernel: uaudio0: No playback!
Feb 20 20:44:58 kg-v7 kernel: uaudio0: No recording!
Feb 20 20:44:58 kg-v7 kernel: uaudio0: MIDI sequencer
Feb 20 20:44:58 kg-v7 kernel: pcm6: <USB audio> on uaudio0
Feb 20 20:44:58 kg-v7 root: Unknown USB device: vendor 0x0a4d product 0x00d2 bus uhub2

and usbconfig output for completeness:
root at kg-v7# usbconfig -u 0 -a 3
ugen0.3: <USB MIDI keyboard Evolution Electronics Ltd.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
root at kg-v7# usbconfig -u 0 -a 4
ugen0.4: <EDIROL SD-20 Roland> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON

HTH
-- 
Torfinn



More information about the freebsd-multimedia mailing list