Tricky USB device.
Bernd Walter
ticso at cicely12.cicely.de
Fri Apr 8 12:06:13 PDT 2005
On Fri, Apr 08, 2005 at 12:56:16PM -0400, David Gilbert wrote:
> >>>>> "Maksim" == Maksim Yevmenkin <maksim.yevmenkin at savvis.net> writes:
>
> >> ... I don't know if this is hindering me. The usbhid* commands
> >> aren't particularly helpful. The port udesc_dump seems only to
> >> work on ugen devices ... and ugen doesn't pop up for this device.
>
> Maksim> how about getting usb hid descriptor, parsing and dumping it?
> Maksim> check out libusbhid - man usbhid(3). it might be that all you
> Maksim> need to do is to create hid report and send it to the
> Maksim> device. libusbhid(3) will help you with that.
>
> Tried that. The usb_get_report_desc() returns NULL. This is not a
> complicated device --- it's not even technically a "human interface"
> device.
Then it really shouldn't have claimed to be one in the interface
descriptor :(
But the HID specification is more today than just _human_ interface.
e.g. there are extensions for USV, ...
> >> I suppose I need to know how to supress uhid ... or to make ugen
> >> show up. It would also be nice to know how to generically poke the
> >> interupt enpoints...
>
> Maksim> well comment out 'device uhid' from your kernel config and
> Maksim> rebuilding the kernel should do the trick.
>
> I wanted to try to avoid that since I use many USB devices, but it's a
> last resort kind-of-thing.
>
> The documentation for the device describes the interface as simply
> using the two interupt endpoints (read and write).
Has this device multiple interfaces?
e.g. one HID and another as described.
I often thought about getting ugen working at interface level too.
--
B.Walter BWCT http://www.bwct.de
bernd at bwct.de info at bwct.de
More information about the freebsd-hackers
mailing list