On Sat, Dec 31, 2011 at 04:44:19PM +0100, Jan Stary wrote:
> The manual of the MIDI keyboard says:
> 
>         When using USB cable to connect UF keyboard to computer
>         music system, you must install the UF driver to the computer;
>         otherwise the system will not accept the device.
> 
> So, does
> 
> > Dec 31 15:11:04 box /bsd: ugen0 at uhub1 port 1 "vendor 0x7104 product
> > 0x2202" rev 1.00/1.00 addr 2
> 
> meanly that my device (CME UF6) is not USB class compliant,
> and therefore not supported by the umidi driver?
> 

IIRC, certain devices use standard midi/usb messages, but they hide
the fact that they use the same message format as class compliant ones
to avoid triggering a bug in (very) old windows versions.

you can try to guess how your device works and if possible add a quirk
to the umidi(4) driver, as follows:

 - figure out which usb endpoints appear to work, run:

        cat -u /dev/ugen0.N | hexdump -e '1/1 "%02x\n"'

   and play something on the keyboard until it prints 4-byte messages,
   try it for N = 1..15

 - add the device to /usr/src/sys/dev/usb/usbdevs, run "make" in the
   same directory to update .h files (keep strings short as they are
   for other devices).

 - add the corresponding "fixed endpoint" quirk in umidi_quirks.c
   probably one similar to the "UM-1" one.

Drop me a e-mail if it works and/or you have any questions.

Good luck

-- Alexandre

Reply via email to