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