Tricky USB device.
dgilbert at dclg.ca
Sat Apr 9 14:05:42 PDT 2005
>>>>> "Bernd" == Bernd Walter <ticso at cicely12.cicely.de> writes:
Bernd> Yes - you must use 1 - there is only one out-endpoint. 0x81 is
Bernd> for receiving data and endpoint 0 is the mandandory control
Bernd> endpoint. Interrupt Endpoints are not variable in size. Both
Bernd> interrupt endpoints are 8 Bytes, so you must read and write
Bernd> exact 8 Bytes per transfer - 5 shouldn't work for USB compliant
I took your earlier advice and just opened ugen0.1 O_RDWR. I've tried
sending 5 and 8 byte strings to it without effect. To make the 8 byte
strings, I added spaces to the end of my 5 byte strings. I've also
got a proper multitester now to verify operation.
Bernd> Depends on the device's firmware. I wouldn't be surprised if
Bernd> the whole device just hangs after receiving bogus data - it
Bernd> seems to be broken in many points. But it may block if the
Bernd> device has nothing to send. An easy way to check out is using
Bernd> tools like usbdevs -v and see if it hangs when accessing this
usbdevs -v and udesc_dump both operate fine after trying this.
|David Gilbert, Independent Contractor. | Two things can only be |
|Mail: dave at daveg.ca | equal if and only if they |
|http://daveg.ca | are precisely opposite. |
More information about the freebsd-hackers