On Jan 31, 2009, at 1:24 AM, Brent Bushnell wrote: > I'm new to USB HID programming and unsure whether I'm misunderstanding > the device documentation or just going about this incorrectly. > > I have a touch screen that I've successfully run the python > test_hidwrap.py against. > > After reviewing the HID class documentation and the device > documentation > (http://home.eeti.com.tw/web20/drivers/Software%20Programming% > 20Guide_%20v1.5.pdf > ), > > I'm fairly certain I should be sending a diagnostics packet using > set_output_report. > > The trouble is that every path I try results in a broken pipe error. > > I've gathered that the path values ending in 0x00000000 are not > complete paths > and possibly additional bytes for neighboring paths?
Yes, but one curious thing is that the first entry usually does not end in 0x00000000. > WARNING: hid_find_object(): can't find requested item > 0x00010001.0x00010001.0x00010030 of USB device 001/010[0]. Also, note that while the requested path was not listed in the hid_dump_tree output, all of the hid_dump_tree elements are 0x80 (input). I realize the diagnostics don't reflect this, but libhid is unable to find your listed path *as an output* (since you called hid_set_output_report). As far as libhid is concerned, I believe that there are no possible control messages that you could get it to send, since it only sees input reports in the descriptor. Unfortunately, HID devices are allowed to "publish their API" but nothing prevents them from only returning a subset of their available input/output/feature reports. Your best bet at this point is to look at some USB packets captured with usbsnoop, or similar programs. -- Charles Lepple _______________________________________________ libhid-discuss mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/libhid-discuss http://libhid.alioth.debian.org/

