I have written some code to request and receive HID reports from a printer based on the Coldfire MCF.
On my development machine it works fine (I am not saying the famous ... “well it works on mine”) in that I can receive the report from a non control endpoint with an overlapped Readfile call.
On my test PC it fails with a timeout.
So I got hold of the famous demo of Jan Alexson viz usbhidio_vc6 and complied it under Vis Studio 2008 on Win XP.
I was flabbergasted when I obtained the same results! It exchanges reports on demand on the one PC and not the other.
The report definition is:
uint8 report[] = {
0x05, 0xffbc, 0x09, 0x01, 0xa1, 0x01,
0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x95, 0xBF, 0x75, 0x08, 0x81, 0x02,
0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x95, 0x02, 0x91, 0x02, 0xc0 };
I have it as USB 1.1 in the HID desciptor.
Can anyone think of where else I could look for ideas .. something at the host end I guess, something not obvious.
Cheers
Stalis