How to force the class of a device
Hans Petter Selasky
hselasky at c2i.net
Thu Jan 6 20:07:54 UTC 2011
On Thursday 06 January 2011 18:55:11 Frederic Praca wrote:
> Hello guys,
> I recently bought a guitar multieffect device BOSS ME-25. It has a USB
> interface which is used to transfer several settings between its memory
> and the computer.
> Off course, BOSS only delivers a program and a driver for Windows or
> Mac but I also found a program for Linux.
> The driver enables to use the ME-25 as a MIDI device but, dumping the
> device description, the device class is vendor specific as shown below :
> coruscant# usbconfig -u 1 -a 3 dump_device_desc
> ugen1.3: <ME-25 BOSS> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
>
> bLength = 0x0012
> bDescriptorType = 0x0001
> bcdUSB = 0x0110
> bDeviceClass = 0x00ff
> bDeviceSubClass = 0x0000
> bDeviceProtocol = 0x00ff
> bMaxPacketSize0 = 0x0008
> idVendor = 0x0582
> idProduct = 0x0113
> bcdDevice = 0x0100
> iManufacturer = 0x0001 <BOSS>
> iProduct = 0x0002 <ME-25>
> iSerialNumber = 0x0000 <no string>
> bNumConfigurations = 0x0001
>
>
> Is there a way to attach the device to the uaudio driver to use it as
> a MIDI device ? Well, is this as simple or not ? ;-)
>
Hi,
The FreeBSD USB MIDI driver is part of the USB audio driver:
src/sys/dev/sound/usb/uaudio.c
You can try making it attach by modifying the uaudio_attach() routine, but it
will only work given that the actual data format on the MIDI bulk endpoints
are identical to the USB MIDI standard.
--HPS
More information about the freebsd-usb
mailing list