Hi all,
I met a strange situation, I send 0x86 bytes from device to PC,
but PC only show 0x06 bytes on the screen (by Bushound),
the rest 0x80 bytes disappear. I use an USB analyzer to capture
the physical transaction, the data is correct, there are 0x86 bytes
in the USB BUS, but I can only see 0x06 bytes !!??
It looks like the PC reset automatically when receive data more than 128 bytes.
I think this may cause by the report descriptor, the following is my descriptor:
{
0x06,0x0A,0xFF, // Usage Page (FFA0h, vendor defined)
0x09,0x01, // Usage (vendor defined)
0xA1,0x00, // Collection (Application)
0x09,0x02, // Usage (vendor defined)
0xA1,0x00, // Collection (Physical)
0x06,0xA1,0xFF, // Usage Page (vendor defined)
// The Input report
0x09,0x03, // Usage (vendor defined)
0x09,0x04, // Usage (vendor defined)
0x15,0x00, // Logical minimum (80h or -128)
0x26,0x00,0x01, // Logical maximum (7Fh or 127)
0x35,0x00, // Physical minimum (0)
0x45,0x7F, // Physical maximum (255)
0x75,0x08, // Report size (8 bits)
0x96,0x00,0x01, // Report count (2 fields)
0x81,0x02, // Input (data, variable, absolute)
0x09,0x05, // Usage (vendor defined)
0x09,0X06, // Usage (vendor defined)
0x15,0x00, // Logical minimum (80h or -128)
0x26,0x00,0x01, // Logical maximum (7Fh or 127)
0x35,0x00, // Physical minimum (0)
0x45,0xFF, // Physical maximum (255)
0x75,0x08, // Report size (8 bits)
0x96,0x00,0x01, // Report count (2 fields)
0x91,0x02, // Output (data, variable, absolute)
0xC0, // End Collection (Physical)
0xC0, // End Collection (Application)
};
Could someone please help me to understand why this happen, Thank you all.