Ports and Interfaces > USB
USBCV HID Descriptor error
jdunne:
Hello,
I'm attempting to make my USB device compliant with the USBCV tool. It works perfectly fine under normal use, but when I attempt to test the device it fails the HID Tests. The error is quite cryptic and very unhelpful. I'm hoping somebody has knows of a tool that can be used to verify report descriptors.
Following is the error, which is about as helpful as it saying "Error.":
Now Starting Test: HID Class Report Descriptor Test (Configuration Index 0)
Start time: Tue Apr 26 10:55:24 2011
External report descriptor parser 0x200 warnings
External report descriptor parser 0xA errors
(3.2.61) The report descriptor returned in response to a GetDescriptor(Report)
must be compliant with the HID specification.
I looked into Windows kernel debugging, but got scared and ran for the hills. Ideally I'd like to just generate a .log file of the enumeration process without having to use all the crazy 2 PC setups they have. Has anyone used Windows kernel debugging to debug an HID device? I'd be more willing to put in the effort if I knew I'd get a useful output. Like I said, the device works, so I'm not really sure if Windows would even show an error in the debug trace. If anything it might be a warning.
Anyway, does anyone know of a tool to check for errors in HID report descriptors? Mine are quite lengthy and I can't post them here, so I'm really looking for suggestions of tools to use.
I might be crazy, but I recall using an application several years ago which output an HTML page showing report descriptor errors. I can't remember what its called and I can't seem to find it in any of my tools. The only thing I remember is that I'm fairly certain it was either a Perl script or a Python script.
Joe
Jan Axelson:
The HID descriptor tool is here:
http://www.usb.org/developers/hidpage#HID%20Descriptor%20Tool
Jan
jdunne:
Jan,
Thanks for the reply. The HID descriptor tool is useful for creating a report descriptor. It is not useful for verifying one is correct. I'm trying to determine why usbcv is telling me that it doesn't like my descriptors.
Joe
Jan Axelson:
That's the only tool I can recall. You could try removing sections of the descriptor and retesting to try to isolate the problem.
If the device enumerates, I don't think debugging the enumeration will show anything.
Jan
jdunne:
Jan,
That's the same conclusion I came to. I have another similar device which does pass the usbcv test and I'm presently in the process of copying portions of the working descriptor over until I get a pass result. Thanks for the input.
Joe
Navigation
[0] Message Index
[#] Next page
Go to full version