David,

Bernd> Then it really shouldn't have claimed to be one in the
Bernd> interface descriptor :( But the HID specification is more today
Bernd> than just _human_ interface.  e.g. there are extensions for
Bernd> USV, ...

[...]

Bernd> Has this device multiple interfaces?  e.g. one HID and another
Bernd> as described.  I often thought about getting ugen working at
Bernd> interface level too.

Here's the output of udesc_dump on it.  Right now, using the current
version of libusb (not the version from ports), I can use
usb_interrupt_write(dev, 1, "MK255", 5, 0) to send data to it --- and
the data is sent --- at least lights on the USB hub flash.  If I
replace '1' with anything else, it doesn't accept it.  However, it
doesn't seem to have opened the relays.

hmm... why even use libusb? cant you just "fd = open("/dev/ugen0.1", O_RDWR);" and then "write(fd, "MK255", 5)" and "read(fd, ...);". note: here i assume ugen0 is the device.


I'm also not entirely clear how/when to use usb_interrupt_read()
... as many of the commands listed in the manual return data, but
usb_inerrupt_write() doesn't seem to allow for data to be returned,
but following usb_interrupt_write(), the read will hang.

i'd guess you have to keep read pipe open at all times. that is what "fd = open("/dev/ugen0.1", O_RDWR);" will do - it will open both read and write pipes (because of O_RDWR).


then you just

write(fd, ...);
read(fd, ...);

max
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to