idea: "shim" driver for Roland / Edirol SD-20 MIDI sound module?

Hans Petter Selasky hselasky at
Tue Feb 22 08:00:23 UTC 2011

On Monday 21 February 2011 23:49:12 Torfinn Ingolfsen wrote:
> Hi,
> I have a Roland / Edirol SD-20[1] MIDI sound module, from the Studio
> Canvas[2] line. It connects via usb to a computer (it can connect vis
> serial too, but why use that when usb is everywhere?).
> Anyway, this module isn't getting picked up by the usb midi drivers of
> FreeBSD because it doesn't advertise iutself as "usb midi class", but
> instead uses "usb vendor class", if I have understood this correctly. In
> all other ways, the SD-20 is a general MIDI (GM2) device, if I understand
> correctly. usb device descriptor, current config etc. on my page for the
> SD-20[3].
> Now, here is my idea: if there was a "shim" (usb) device driver under
> FreeBSD, which would attach to this device, and do just two things:
> a) modify the "usb class " of the device to be "usb midi" instead of "usb
> vendor" b) transparently forward all other requests (and responses) to and
> from the device
> the effect would be (I hope) that FreeBSD would see a new usb midi device,
> and the "normal" usb midi drivers would attach to this device. Voila! A
> driver for this almost-standard usb midi device (Roland SD-20), which
> would re-use the existing MIDI drivers.
> So, would this work, or not?
> References:
> 1)
> 2)
> 3)


Could you dump the device and config descriptor using USB config. Are you sure 
the protocol used by your device is compatible with the USB MIDI standard? You 
might be able to edit /sys/dev/sound/usb/uaudio.c so that it attaches. Look at 
other USB driver's probe function under /sys/dev/usb .


More information about the freebsd-multimedia mailing list