Hi all,
Thanks to Jan's wonderful book (USB Complete), I was able to write an USB 2.0 HID driver for the PIC 18F series in assembler that is compact and has completely replaced all of my former serial connections for the embedded systems I design. Moreover, auto-detect of these plug-and-play devices is a snap on Windows and the speed is impressive! Everything is WORKING fine BUT there is one annoyance because....
...try as a might, when Windows XP first recognizes the device, it pops up the device name as a dull and generic "USB Device" followed by the usual "Human-Interface Device" (and then the "ready for use"). Nearly all commercial USB HID devices have a device name such as "PicKit2 Programmer" or "Microsoft Mouse" or "<put product name here>" that pops up INSTEAD of "USB Device". SnoopyPro and other USB tools also show my device name as "USB Device". But direct probing s/w such as Jan's usbhidio on VC6 sees the product name, manufacturer name, serial number, etc. all correctly (per the recommended USB string descriptor definition). I have searched Jan's book, this and other websites, and scrutinized Microsoft's documentation trying at least 30 different ideas, NONE of which panned out. I am starting to feel like an idiot.
Why doesn't my Product Name show up during the USB HID detection process??? Any clue as to where I should look?
Is there some checking I am failing (e.g. Microchip assigned me a PID to use with their VID but I do not use "Microchip..." as the Manufacturer Name in the USB string table)?