USB HID Device Info Program
This Sketch shows information about plugged in HID devices
*** You can control the output by simple character input to Serial ***
R - Turns on or off showing the raw data
C - Toggles showing changed data only on or off
<anything else> - toggles showing the Hid formatted breakdown of the data
USB2 PLL running
reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20006000
periodictable = 20006000
port change: 10001803
connect
begin reset
port change: 10001005
port enabled
end recovery
new_Device: 12 Mbit/sec
new_Pipe
enumeration:
enumeration:
ERROR Followup
remove from followup list
remove from followup list
CrashReport:
A problem occurred at (system time) 12:9:25
Code was executing from address 0x3EB2
CFSR: 82
(DACCVIOL) Data Access Violation
(MMARVALID) Accessed Address: 0x10 (nullptr)
Check code at 0x3EB2 - very likely a bug!
Run "addr2line -e mysketch.ino.elf 0x3EB2" for filename & line number.
Temperature inside the chip was 47.92 °C
Startup CPU clock speed is 600MHz
Reboot was caused by auto reboot after fault or bad interrupt detected
USB HID Device Info Program
This Sketch shows information about plugged in HID devices
*** You can control the output by simple character input to Serial ***
R - Turns on or off showing the raw data
C - Toggles showing changed data only on or off
<anything else> - toggles showing the Hid formatted breakdown of the data
CrashReport:
A problem occurred at (system time) 11:23:5
Code was executing from address 0x3DB6
CFSR: 82
(DACCVIOL) Data Access Violation
(MMARVALID) Accessed Address: 0x10 (nullptr)
Check code at 0x3DB6 - very likely a bug!
Run "addr2line -e mysketch.ino.elf 0x3DB6" for filename & line number.
Temperature inside the chip was 47.30 °C
Startup CPU clock speed is 600MHz
Reboot was caused by auto reboot after fault or bad interrupt detected
USB HID Device Info Program
This Sketch shows information about plugged in HID devices
*** You can control the output by simple character input to Serial ***
R - Turns on or off showing the raw data
C - Toggles showing changed data only on or off
<anything else> - toggles showing the Hid formatted breakdown of the data
USBDeviceInfo claim this=2000DB68
****************************************
** Device Level **
vid=4D9
pid=A06B
bDeviceClass = 0
bDeviceSubClass = 0
bDeviceProtocol = 0
09 04 00 00 01 03 01 01 00 09 21 10 01 00 01 22 3B 00 07 05 81 03 08 00 08 09 04 01 00 01 03 00
00 00 09 21 10 01 00 01 22 51 00 07 05 82 03 10 00 08 09 04 02 00 01 03 00 00 00 09 21 10 01 00
01 22 25 00 07 05 83 03 10 00 01
USBDeviceInfo claim this=2000DB68
****************************************
** Interface Level **
09 04 00 00 01 03 01 01 00 09 21 10 01 00 01 22 3B 00 07 05 81 03 08 00 08 09 04 01 00 01 03 00
00 00 09 21 10 01 00 01 22 51 00 07 05 82 03 10 00 08 09 04 02 00 01 03 00 00 00 09 21 10 01 00
01 22 25 00 07 05 83 03 10 00 01
bInterfaceNumber = 0
number end points = 1
bInterfaceClass = 3
bInterfaceSubClass = 1
HID (BOOT)
bInterfaceProtocol = 1
Keyboard
report descriptor size = 59
endpoint = 81
attributes = 3 Interrupt
size = 8
interval = 8
USBDeviceInfo claim this=2000DB68
****************************************
** Interface Level **
09 04 01 00 01 03 00 00 00 09 21 10 01 00 01 22 51 00 07 05 82 03 10 00 08 09 04 02 00 01 03 00
00 00 09 21 10 01 00 01 22 25 00 07 05 83 03 10 00 01
bInterfaceNumber = 1
number end points = 1
bInterfaceClass = 3
bInterfaceSubClass = 0
HID
bInterfaceProtocol = 0
None
report descriptor size = 81
endpoint = 82
attributes = 3 Interrupt
size = 16
interval = 8
USBDeviceInfo claim this=2000DB68
****************************************
** Interface Level **
09 04 02 00 01 03 00 00 00 09 21 10 01 00 01 22 25 00 07 05 83 03 10 00 01
bInterfaceNumber = 2
number end points = 1
bInterfaceClass = 3
bInterfaceSubClass = 0
HID
bInterfaceProtocol = 0
None
report descriptor size = 37
endpoint = 83
attributes = 3 Interrupt
size = 16
interval = 1
*** Device HID1 4d9:a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
*** Device HID2 4d9:a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
HIDDumpController(1 : 0x200051e0 : 0x2000a640) Claim: 4d9:a06b usage: 10080 - Yes
HID Report Descriptor (0x2000a670) size: 81
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 02 // Usage Maximum(2ff) - (?)
15 00 // Logical Minimum(0)
26 FF 7F // Logical maximum(7fff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 00 FF // Usage Page(ff00) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff000000)
85 06 // Report ID(6)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 2F // Usage(2f) -
75 08 // Report Size(8)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
09 30 // Usage(30) -
95 07 // Report Count(7)
B1 02 // Feature(2) // (Data, Variable, Absolute)
C0 // End Collection
HIDDumpController(1 : 0x200051e0 : 0x2000a640) Claim: 4d9:a06b usage: c0001 - NO (Usage: 10080)
HIDDumpController(2 : 0x200062c0 : 0x2000a640) Claim: 4d9:a06b usage: c0001 - Yes
HID Report Descriptor (0x2000a670) size: 81
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 02 // Usage Maximum(2ff) - (?)
15 00 // Logical Minimum(0)
26 FF 7F // Logical maximum(7fff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 00 FF // Usage Page(ff00) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff000000)
85 06 // Report ID(6)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 2F // Usage(2f) -
75 08 // Report Size(8)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
09 30 // Usage(30) -
95 07 // Report Count(7)
B1 02 // Feature(2) // (Data, Variable, Absolute)
C0 // End Collection
HIDDumpController(1 : 0x200051e0 : 0x2000a640) Claim: 4d9:a06b usage: ff000001 - NO (Usage: 10080)
HIDDumpController(2 : 0x200062c0 : 0x2000a640) Claim: 4d9:a06b usage: ff000001 - NO (Usage: c0001)
HIDDumpController(3 : 0x200073a0 : 0x2000a640) Claim: 4d9:a06b usage: ff000001 - Yes
HID Report Descriptor (0x2000a670) size: 81
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 02 // Usage Maximum(2ff) - (?)
15 00 // Logical Minimum(0)
26 FF 7F // Logical maximum(7fff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 00 FF // Usage Page(ff00) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff000000)
85 06 // Report ID(6)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 2F // Usage(2f) -
75 08 // Report Size(8)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
09 30 // Usage(30) -
95 07 // Report Count(7)
B1 02 // Feature(2) // (Data, Variable, Absolute)
C0 // End Collection
*** HID Device hdc1 4d9: a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
*** HID Device hdc2 4d9: a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
*** HID Device hdc3 4d9: a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
HIDDumpController(1 : 0x200051e0 : 0x2000ad00) Claim: 4d9:a06b usage: 10006 - NO (Usage: 10080)
HIDDumpController(2 : 0x200062c0 : 0x2000ad00) Claim: 4d9:a06b usage: 10006 - NO (Usage: c0001)
HIDDumpController(3 : 0x200073a0 : 0x2000ad00) Claim: 4d9:a06b usage: 10006 - NO (Usage: ff000001)
HIDDumpController(4 : 0x20008480 : 0x2000ad00) Claim: 4d9:a06b usage: 10006 - Yes
HID Report Descriptor (0x2000ad30) size: 37
05 01 // Usage Page(1) - Generic Desktop
09 06 // Usage(6) -(Keyboard)
A1 01 // Collection(1) top Usage(10000)
05 07 // Usage Page(7) - Keycode
19 E0 // Usage Minimum(e0) - (Left Control)
29 E7 // Usage Maximum(e7) - (Right)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 08 // Report Count(8)
81 02 // Input(2) // (Data, Variable, Absolute)
19 00 // Usage Minimum(0) - (Keycode 0)
29 6F // Usage Maximum(6f) - (F20)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 70 // Report Count(70)
81 02 // Input(2) // (Data, Variable, Absolute)
C0 // End Collection
*** HID Device hdc4 4d9: a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
C:\Users\kurte\AppData\Local\Temp\arduino-sketch-7EF54F97E6CB5EA561AC39B4A7F1E5CB>addr2line -e HIDDeviceInfo.ino.elf 0x3DB6
c:\Users\kurte\Documents\Arduino\libraries\USBHost_T36/ehci.cpp:907
void USBHost::followup_Error(void)
…
// halted pipe (probably) still has unfinished transfers
// find the halted pipe's dummy halt transfer[COLOR="#FF0000"]
[/COLOR] p = (Transfer_t *)(haltedpipe->qh.next & ~0x1F);
1.84797154 SETUP 0x0 0x0 <GET_DESCRIPTOR - DEVICE #:0 I:0x0 L:0x8> 0x80 0x6 0x0 0x1 0x0 0x0 0x8 0x0
1.84839974 IN 0x0 0x0 0x12 0x1 0x0 0x2 0x0 0x0 0x0 0x8
1.8484121 IN 0x0 0x0 0x12 0x1 0x0 0x2 0x0 0x0 0x0 0x8
1.84842454 IN 0x0 0x0 0x12 0x1 0x0 0x2 0x0 0x0 0x0 0x8
1.84904922 SETUP 0x0 0x0 <SET_ADDRESS I:0x0 L:0x0> 0x0 0x5 0x1 0x0 0x0 0x0 0x0 0x0
1.85004922 SETUP 0x0 0x1 <GET_DESCRIPTOR - DEVICE #:0 I:0x0 L:0x12> 0x80 0x6 0x0 0x1 0x0 0x0 0x12 0x0
1.8504892 IN 0x0 0x1 0x12 0x1 0x0 0x2 0x0 0x0 0x0 0x8
1.8505092 IN 0x0 0x1 0x12 0x1 0x0 0x2 0x0 0x0 0x0 0x8
1.85052156 IN 0x0 0x1 0x12 0x1 0x0 0x2 0x0 0x0 0x0 0x8
1.85084896 IN 0x0 0x1 0xd9 0x4 0x6b 0xa0 0x2 0x3 0x1 0x2
1.8508639 IN 0x0 0x1 0xd9 0x4 0x6b 0xa0 0x2 0x3 0x1 0x2
1.85097156 IN 0x0 0x1 0xd9 0x4 0x6b 0xa0 0x2 0x3 0x1 0x2
1.8509915 IN 0x0 0x1 0xd9 0x4 0x6b 0xa0 0x2 0x3 0x1 0x2
1.8510039 IN 0x0 0x1 0xd9 0x4 0x6b 0xa0 0x2 0x3 0x1 0x2
1.8511954 IN 0x0 0x1 0x0 0x1
USB RESET Time: 0.
USB RESET Time: 1.6827583
SETUP address: 0x00 time: 1.84797534
bmRequestType=0x80 Data direction=Device to host, Type=Standard, Recipient=Device
bRequest=0x06 GET_DESCRIPTOR
wValue=0x0100 Descriptor=DEVICE, Index=0x00
wIndex=0x0000
wLength=0x0008
DATA time: 1.84798656
<data IN packet NAKed by device. Time: 1.84798972>
<data IN packet NAKed by device. Time: 1.84799594>
<data IN packet NAKed by device. Time: 1.84800204>
<data IN packet NAKed by device. Time: 1.84800824>
<data IN packet NAKed by device. Time: 1.84801442>
<data IN packet NAKed by device. Time: 1.84802058>
<data IN packet NAKed by device. Time: 1.84802668>
<data IN packet NAKed by device. Time: 1.84803286>
<data IN packet NAKed by device. Time: 1.84803904>
<data IN packet NAKed by device. Time: 1.8480452>
<data IN packet NAKed by device. Time: 1.8480513>
<data IN packet NAKed by device. Time: 1.84805748>
<data IN packet NAKed by device. Time: 1.84806368>
<data IN packet NAKed by device. Time: 1.84806982>
<data IN packet NAKed by device. Time: 1.84807592>
<data IN packet NAKed by device. Time: 1.84816306>
<data IN packet NAKed by device. Time: 1.84816918>
<data IN packet NAKed by device. Time: 1.84817534>
<data IN packet NAKed by device. Time: 1.8481815>
<data IN packet NAKed by device. Time: 1.8481877>
<data IN packet NAKed by device. Time: 1.8481938>
<data IN packet NAKed by device. Time: 1.84819996>
<data IN packet NAKed by device. Time: 1.84820606>
<data IN packet NAKed by device. Time: 1.84821224>
<data IN packet NAKed by device. Time: 1.84821836>
<data IN packet NAKed by device. Time: 1.84822458>
<data IN packet NAKed by device. Time: 1.84823068>
<data IN packet NAKed by device. Time: 1.84823686>
<data IN packet NAKed by device. Time: 1.84824306>
<data IN packet NAKed by device. Time: 1.84824922>
<data IN packet NAKed by device. Time: 1.84825532>
<data IN packet NAKed by device. Time: 1.84834128>
<data IN packet NAKed by device. Time: 1.84834738>
<data IN packet NAKed by device. Time: 1.84835354>
<data IN packet NAKed by device. Time: 1.84835972>
<data IN packet NAKed by device. Time: 1.8483659>
<data IN packet NAKed by device. Time: 1.84837202>
<data IN packet NAKed by device. Time: 1.84837818>
<data IN packet NAKed by device. Time: 1.84838442>
<data IN packet NAKed by device. Time: 1.84839062>
<data IN packet NAKed by device. Time: 1.84839672>
Descriptor time: 1.84840352
bLength=0x12
bDescriptorType=0x01 DEVICE
bcdUSB=0x0200 2.00
bDeviceClass=0x00 Deferred to Interface Descriptors
bDeviceSubClass=0x00
bDeviceProtocol=0x00
bMaxPacketSize0=0x08
Unexpected packet IN. Time: 1.8484121
SETUP address: 0x00 time: 1.84905302
bmRequestType=0x00 Data direction=No data, Type=Standard, Recipient=Device
bRequest=0x05 SET_ADDRESS
wValue=0x0001 Address=0x01
wIndex=0x0000
wLength=0x0000
STATUS time: 1.84906428
<status IN packet NAKed by device. Time: 1.84906748>
<status IN packet NAKed by device. Time: 1.84907364>
<status IN packet NAKed by device. Time: 1.84907982>
<status IN packet NAKed by device. Time: 1.84908594>
<status IN packet NAKed by device. Time: 1.84909206>
<status IN packet NAKed by device. Time: 1.84909822>
<status IN packet NAKed by device. Time: 1.84910432>
<status IN packet NAKed by device. Time: 1.84911044>
<status IN packet NAKed by device. Time: 1.84911656>
<status IN packet NAKed by device. Time: 1.84912266>
<status IN packet NAKed by device. Time: 1.84912876>
<status IN packet NAKed by device. Time: 1.84913488>
<status IN packet NAKed by device. Time: 1.849141>
<status IN packet NAKed by device. Time: 1.84914716>
<status IN packet NAKed by device. Time: 1.84915328>
<status IN packet NAKed by device. Time: 1.84915938>
<status IN packet NAKed by device. Time: 1.84924634>
<status IN packet NAKed by device. Time: 1.84925244>
<status IN packet NAKed by device. Time: 1.84925852>
ACK
SETUP address: 0x01 time: 1.85005302
bmRequestType=0x80 Data direction=Device to host, Type=Standard, Recipient=Device
bRequest=0x06 GET_DESCRIPTOR
wValue=0x0100 Descriptor=DEVICE, Index=0x00
wIndex=0x0000
wLength=0x0012
DATA time: 1.85006426
<data IN packet NAKed by device. Time: 1.85006746>
<data IN packet NAKed by device. Time: 1.85007372>
<data IN packet NAKed by device. Time: 1.85007984>
<data IN packet NAKed by device. Time: 1.85008592>
<data IN packet NAKed by device. Time: 1.8500921>
<data IN packet NAKed by device. Time: 1.85009822>
<data IN packet NAKed by device. Time: 1.85010434>
<data IN packet NAKed by device. Time: 1.85011052>
<data IN packet NAKed by device. Time: 1.8501167>
<data IN packet NAKed by device. Time: 1.8501228>
<data IN packet NAKed by device. Time: 1.85012892>
<data IN packet NAKed by device. Time: 1.85013508>
<data IN packet NAKed by device. Time: 1.85014128>
<data IN packet NAKed by device. Time: 1.85014746>
<data IN packet NAKed by device. Time: 1.85015358>
<data IN packet NAKed by device. Time: 1.85015982>
<data IN packet NAKed by device. Time: 1.85016592>
<data IN packet NAKed by device. Time: 1.85025264>
<data IN packet NAKed by device. Time: 1.85025874>
<data IN packet NAKed by device. Time: 1.85026498>
<data IN packet NAKed by device. Time: 1.8502711>
<data IN packet NAKed by device. Time: 1.85027722>
<data IN packet NAKed by device. Time: 1.85028332>
<data IN packet NAKed by device. Time: 1.8502895>
<data IN packet NAKed by device. Time: 1.8502956>
<data IN packet NAKed by device. Time: 1.8503018>
<data IN packet NAKed by device. Time: 1.8503079>
<data IN packet NAKed by device. Time: 1.85031408>
<data IN packet NAKed by device. Time: 1.85032026>
<data IN packet NAKed by device. Time: 1.85032638>
<data IN packet NAKed by device. Time: 1.85033248>
<data IN packet NAKed by device. Time: 1.85033866>
<data IN packet NAKed by device. Time: 1.85034476>
<data IN packet NAKed by device. Time: 1.85035088>
<data IN packet NAKed by device. Time: 1.85043718>
<data IN packet NAKed by device. Time: 1.85044336>
<data IN packet NAKed by device. Time: 1.85044946>
<data IN packet NAKed by device. Time: 1.85045558>
<data IN packet NAKed by device. Time: 1.8504617>
<data IN packet NAKed by device. Time: 1.8504678>
<data IN packet NAKed by device. Time: 1.85047396>
<data IN packet NAKed by device. Time: 1.85048016>
<data IN packet NAKed by device. Time: 1.85048628>
Descriptor time: 1.85049302
bLength=0x12
bDescriptorType=0x01 DEVICE
bcdUSB=0x0200 2.00
bDeviceClass=0x00 Deferred to Interface Descriptors
bDeviceSubClass=0x00
bDeviceProtocol=0x00
bMaxPacketSize0=0x08
[COLOR="#FF0000"]Unexpected packet IN. Time: 1.8505016[/COLOR]
ISR: C082
USB Error
ERROR Followup
remove from followup list
remove from followup list
remain on followup list
USB HID Device Info Program
This Sketch shows information about plugged in HID devices
*** You can control the output by simple character input to Serial ***
R - Turns on or off showing the raw data
C - Toggles showing changed data only on or off
<anything else> - toggles showing the Hid formatted breakdown of the data
USBDeviceInfo claim this=2000CB68
****************************************
** Device Level **
vid=1044
pid=7A4A
bDeviceClass = 0
bDeviceSubClass = 0
bDeviceProtocol = 0
09 04 00 00 01 03 01 01 00 09 21 11 01 00 01 22 3B 00 07 05 81 03 08 00 01 09 04 01 00 01 03 00
00 00 09 21 11 01 00 01 22 22 00 07 05 04 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00
01 22 B5 00 07 05 82 03 40 00 01 09 04 03 00 02 03 00 00 00 09 21 11 01 00 01 22 1F 00 07 05 85
03 40 00 01 07 05 06 03 40 00 01
USBDeviceInfo claim this=2000CB68
****************************************
** Interface Level **
09 04 00 00 01 03 01 01 00 09 21 11 01 00 01 22 3B 00 07 05 81 03 08 00 01 09 04 01 00 01 03 00
00 00 09 21 11 01 00 01 22 22 00 07 05 04 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00
01 22 B5 00 07 05 82 03 40 00 01 09 04 03 00 02 03 00 00 00 09 21 11 01 00 01 22 1F 00 07 05 85
03 40 00 01 07 05 06 03 40 00 01
bInterfaceNumber = 0
number end points = 1
bInterfaceClass = 3
bInterfaceSubClass = 1
HID (BOOT)
bInterfaceProtocol = 1
Keyboard
report descriptor size = 59
endpoint = 81
attributes = 3 Interrupt
size = 8
interval = 1
USBDeviceInfo claim this=2000CB68
****************************************
** Interface Level **
09 04 01 00 01 03 00 00 00 09 21 11 01 00 01 22 22 00 07 05 04 03 40 00 01 09 04 02 00 01 03 00
00 00 09 21 11 01 00 01 22 B5 00 07 05 82 03 40 00 01 09 04 03 00 02 03 00 00 00 09 21 11 01 00
01 22 1F 00 07 05 85 03 40 00 01 07 05 06 03 40 00 01
bInterfaceNumber = 1
number end points = 1
bInterfaceClass = 3
bInterfaceSubClass = 0
HID
bInterfaceProtocol = 0
None
report descriptor size = 34
endpoint = 4
attributes = 3 Interrupt
size = 64
interval = 1
USBDeviceInfo claim this=2000CB68
****************************************
** Interface Level **
09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 B5 00 07 05 82 03 40 00 01 09 04 03 00 02 03 00
00 00 09 21 11 01 00 01 22 1F 00 07 05 85 03 40 00 01 07 05 06 03 40 00 01
bInterfaceNumber = 2
number end points = 1
bInterfaceClass = 3
bInterfaceSubClass = 0
HID
bInterfaceProtocol = 0
None
report descriptor size = 181
endpoint = 82
attributes = 3 Interrupt
size = 64
interval = 1
USBDeviceInfo claim this=2000CB68
****************************************
** Interface Level **
09 04 03 00 02 03 00 00 00 09 21 11 01 00 01 22 1F 00 07 05 85 03 40 00 01 07 05 06 03 40 00 01
bInterfaceNumber = 3
number end points = 2
bInterfaceClass = 3
bInterfaceSubClass = 0
HID
bInterfaceProtocol = 0
None
report descriptor size = 31
endpoint = 85
attributes = 3 Interrupt
size = 64
interval = 1
endpoint = 6
attributes = 3 Interrupt
size = 64
interval = 1
*** Device HID1 1044:7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
*** Device HID2 1044:7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
HIDDumpController(1 : 0x200041e0 : 0x20009640) Claim: 1044:7a4a usage: 10002 - Yes
HID Report Descriptor (0x20009670) size: 181
05 01 // Usage Page(1) - Generic Desktop
09 02 // Usage(2) -(Mouse)
A1 01 // Collection(1) top Usage(10000)
85 01 // Report ID(1)
09 01 // Usage(1) -(?)
A1 00 // Collection(0)
05 09 // Usage Page(9) - Button
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
19 01 // Usage Minimum(1) - (BUTTON 1)
29 05 // Usage Maximum(5) - (BUTTON 5)
75 01 // Report Size(1)
95 05 // Report Count(5)
81 02 // Input(2) // (Data, Variable, Absolute)
95 03 // Report Count(3)
81 01 // Input(1) // (Constant, Array, Absolute)
05 01 // Usage Page(1) - Generic Desktop
16 01 80 // Logical Minimum(8001)
26 FF 7F // Logical maximum(7fff)
09 30 // Usage(30) -(X)
09 31 // Usage(31) -(Y)
75 10 // Report Size(10)
95 02 // Report Count(2)
81 02 // Input(2) // (Data, Variable, Absolute)
15 81 // Logical Minimum(81)
25 7F // Logical maximum(7f)
09 38 // Usage(38) -(Wheel)
75 08 // Report Size(8)
95 01 // Report Count(1)
81 06 // Input(6) // (Data, Variable, Relative)
05 0C // Usage Page(c) - Consumer
0A 38 02 // Usage(238) -(AC Pan)
95 01 // Report Count(1)
81 06 // Input(6) // (Data, Variable, Relative)
C0 // End Collection
C0 // End Collection
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 07 // Usage Maximum(7ff) - (?)
15 00 // Logical Minimum(0)
26 FF 07 // Logical maximum(7ff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 02 FF // Usage Page(ff02) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff020000)
85 04 // Report ID(4)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 03 // Usage(3) -
75 08 // Report Size(8)
95 07 // Report Count(7)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
05 01 // Usage Page(1) - Generic Desktop
09 06 // Usage(6) -(Keyboard)
A1 01 // Collection(1) top Usage(10000)
85 05 // Report ID(5)
05 07 // Usage Page(7) - Keycode
95 01 // Report Count(1)
75 08 // Report Size(8)
81 03 // Input(3) // (Constant, Variable, Absolute)
95 E8 // Report Count(e8)
75 01 // Report Size(1)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
05 07 // Usage Page(7) - Keycode
19 00 // Usage Minimum(0) - (Keycode 0)
29 E7 // Usage Maximum(e7) - (Right)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
HIDDumpController(1 : 0x200041e0 : 0x20009640) Claim: 1044:7a4a usage: 10080 - NO (Usage: 10002)
HIDDumpController(2 : 0x200052c0 : 0x20009640) Claim: 1044:7a4a usage: 10080 - Yes
HID Report Descriptor (0x20009670) size: 181
05 01 // Usage Page(1) - Generic Desktop
09 02 // Usage(2) -(Mouse)
A1 01 // Collection(1) top Usage(10000)
85 01 // Report ID(1)
09 01 // Usage(1) -(?)
A1 00 // Collection(0)
05 09 // Usage Page(9) - Button
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
19 01 // Usage Minimum(1) - (BUTTON 1)
29 05 // Usage Maximum(5) - (BUTTON 5)
75 01 // Report Size(1)
95 05 // Report Count(5)
81 02 // Input(2) // (Data, Variable, Absolute)
95 03 // Report Count(3)
81 01 // Input(1) // (Constant, Array, Absolute)
05 01 // Usage Page(1) - Generic Desktop
16 01 80 // Logical Minimum(8001)
26 FF 7F // Logical maximum(7fff)
09 30 // Usage(30) -(X)
09 31 // Usage(31) -(Y)
75 10 // Report Size(10)
95 02 // Report Count(2)
81 02 // Input(2) // (Data, Variable, Absolute)
15 81 // Logical Minimum(81)
25 7F // Logical maximum(7f)
09 38 // Usage(38) -(Wheel)
75 08 // Report Size(8)
95 01 // Report Count(1)
81 06 // Input(6) // (Data, Variable, Relative)
05 0C // Usage Page(c) - Consumer
0A 38 02 // Usage(238) -(AC Pan)
95 01 // Report Count(1)
81 06 // Input(6) // (Data, Variable, Relative)
C0 // End Collection
C0 // End Collection
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 07 // Usage Maximum(7ff) - (?)
15 00 // Logical Minimum(0)
26 FF 07 // Logical maximum(7ff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 02 FF // Usage Page(ff02) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff020000)
85 04 // Report ID(4)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 03 // Usage(3) -
75 08 // Report Size(8)
95 07 // Report Count(7)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
05 01 // Usage Page(1) - Generic Desktop
09 06 // Usage(6) -(Keyboard)
A1 01 // Collection(1) top Usage(10000)
85 05 // Report ID(5)
05 07 // Usage Page(7) - Keycode
95 01 // Report Count(1)
75 08 // Report Size(8)
81 03 // Input(3) // (Constant, Variable, Absolute)
95 E8 // Report Count(e8)
75 01 // Report Size(1)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
05 07 // Usage Page(7) - Keycode
19 00 // Usage Minimum(0) - (Keycode 0)
29 E7 // Usage Maximum(e7) - (Right)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
HIDDumpController(1 : 0x200041e0 : 0x20009640) Claim: 1044:7a4a usage: c0001 - NO (Usage: 10002)
HIDDumpController(2 : 0x200052c0 : 0x20009640) Claim: 1044:7a4a usage: c0001 - NO (Usage: 10080)
HIDDumpController(3 : 0x200063a0 : 0x20009640) Claim: 1044:7a4a usage: c0001 - Yes
HID Report Descriptor (0x20009670) size: 181
05 01 // Usage Page(1) - Generic Desktop
09 02 // Usage(2) -(Mouse)
A1 01 // Collection(1) top Usage(10000)
85 01 // Report ID(1)
09 01 // Usage(1) -(?)
A1 00 // Collection(0)
05 09 // Usage Page(9) - Button
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
19 01 // Usage Minimum(1) - (BUTTON 1)
29 05 // Usage Maximum(5) - (BUTTON 5)
75 01 // Report Size(1)
95 05 // Report Count(5)
81 02 // Input(2) // (Data, Variable, Absolute)
95 03 // Report Count(3)
81 01 // Input(1) // (Constant, Array, Absolute)
05 01 // Usage Page(1) - Generic Desktop
16 01 80 // Logical Minimum(8001)
26 FF 7F // Logical maximum(7fff)
09 30 // Usage(30) -(X)
09 31 // Usage(31) -(Y)
75 10 // Report Size(10)
95 02 // Report Count(2)
81 02 // Input(2) // (Data, Variable, Absolute)
15 81 // Logical Minimum(81)
25 7F // Logical maximum(7f)
09 38 // Usage(38) -(Wheel)
75 08 // Report Size(8)
95 01 // Report Count(1)
81 06 // Input(6) // (Data, Variable, Relative)
05 0C // Usage Page(c) - Consumer
0A 38 02 // Usage(238) -(AC Pan)
95 01 // Report Count(1)
81 06 // Input(6) // (Data, Variable, Relative)
C0 // End Collection
C0 // End Collection
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 07 // Usage Maximum(7ff) - (?)
15 00 // Logical Minimum(0)
26 FF 07 // Logical maximum(7ff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 02 FF // Usage Page(ff02) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff020000)
85 04 // Report ID(4)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 03 // Usage(3) -
75 08 // Report Size(8)
95 07 // Report Count(7)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
05 01 // Usage Page(1) - Generic Desktop
09 06 // Usage(6) -(Keyboard)
A1 01 // Collection(1) top Usage(10000)
85 05 // Report ID(5)
05 07 // Usage Page(7) - Keycode
95 01 // Report Count(1)
75 08 // Report Size(8)
81 03 // Input(3) // (Constant, Variable, Absolute)
95 E8 // Report Count(e8)
75 01 // Report Size(1)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
05 07 // Usage Page(7) - Keycode
19 00 // Usage Minimum(0) - (Keycode 0)
29 E7 // Usage Maximum(e7) - (Right)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
HIDDumpController(1 : 0x200041e0 : 0x20009640) Claim: 1044:7a4a usage: ff020001 - NO (Usage: 10002)
HIDDumpController(2 : 0x200052c0 : 0x20009640) Claim: 1044:7a4a usage: ff020001 - NO (Usage: 10080)
HIDDumpController(3 : 0x200063a0 : 0x20009640) Claim: 1044:7a4a usage: ff020001 - NO (Usage: c0001)
HIDDumpController(4 : 0x20007480 : 0x20009640) Claim: 1044:7a4a usage: ff020001 - Yes
HID Report Descriptor (0x20009670) size: 181
05 01 // Usage Page(1) - Generic Desktop
09 02 // Usage(2) -(Mouse)
A1 01 // Collection(1) top Usage(10000)
85 01 // Report ID(1)
09 01 // Usage(1) -(?)
A1 00 // Collection(0)
05 09 // Usage Page(9) - Button
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
19 01 // Usage Minimum(1) - (BUTTON 1)
29 05 // Usage Maximum(5) - (BUTTON 5)
75 01 // Report Size(1)
95 05 // Report Count(5)
81 02 // Input(2) // (Data, Variable, Absolute)
95 03 // Report Count(3)
81 01 // Input(1) // (Constant, Array, Absolute)
05 01 // Usage Page(1) - Generic Desktop
16 01 80 // Logical Minimum(8001)
26 FF 7F // Logical maximum(7fff)
09 30 // Usage(30) -(X)
09 31 // Usage(31) -(Y)
75 10 // Report Size(10)
95 02 // Report Count(2)
81 02 // Input(2) // (Data, Variable, Absolute)
15 81 // Logical Minimum(81)
25 7F // Logical maximum(7f)
09 38 // Usage(38) -(Wheel)
75 08 // Report Size(8)
95 01 // Report Count(1)
81 06 // Input(6) // (Data, Variable, Relative)
05 0C // Usage Page(c) - Consumer
0A 38 02 // Usage(238) -(AC Pan)
95 01 // Report Count(1)
81 06 // Input(6) // (Data, Variable, Relative)
C0 // End Collection
C0 // End Collection
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 07 // Usage Maximum(7ff) - (?)
15 00 // Logical Minimum(0)
26 FF 07 // Logical maximum(7ff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 02 FF // Usage Page(ff02) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff020000)
85 04 // Report ID(4)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 03 // Usage(3) -
75 08 // Report Size(8)
95 07 // Report Count(7)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
05 01 // Usage Page(1) - Generic Desktop
09 06 // Usage(6) -(Keyboard)
A1 01 // Collection(1) top Usage(10000)
85 05 // Report ID(5)
05 07 // Usage Page(7) - Keycode
95 01 // Report Count(1)
75 08 // Report Size(8)
81 03 // Input(3) // (Constant, Variable, Absolute)
95 E8 // Report Count(e8)
75 01 // Report Size(1)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
05 07 // Usage Page(7) - Keycode
19 00 // Usage Minimum(0) - (Keycode 0)
29 E7 // Usage Maximum(e7) - (Right)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
HIDDumpController(1 : 0x200041e0 : 0x20009d00) Claim: 1044:7a4a usage: ff010001 - NO (Usage: 10002)
HIDDumpController(2 : 0x200052c0 : 0x20009d00) Claim: 1044:7a4a usage: ff010001 - NO (Usage: 10080)
HIDDumpController(3 : 0x200063a0 : 0x20009d00) Claim: 1044:7a4a usage: ff010001 - NO (Usage: c0001)
HIDDumpController(4 : 0x20007480 : 0x20009d00) Claim: 1044:7a4a usage: ff010001 - NO (Usage: ff020001)
HIDDumpController(5 : 0x20008560 : 0x20009d00) Claim: 1044:7a4a usage: ff010001 - Yes
HID Report Descriptor (0x20009d30) size: 31
06 01 FF // Usage Page(ff01) - Vendor Defined
09 01 // Usage(1) -(?)
A1 01 // Collection(1) top Usage(ff010000)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
75 08 // Report Size(8)
95 40 // Report Count(40)
09 20 // Usage(20) -(?)
81 02 // Input(2) // (Data, Variable, Absolute)
09 21 // Usage(21) -(?)
91 02 // Output(2) // (Data, Variable, Absolute)
09 22 // Usage(22) -(?)
95 08 // Report Count(8)
B1 02 // Feature(2) // (Data, Variable, Absolute)
C0 // End Collection
*** HID Device hdc2 1044: 7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
*** HID Device hdc3 1044: 7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
*** HID Device hdc4 1044: 7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
*** HID Device hdc5 1044: 7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
*** HID Device hdc1 1044: 7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
manufacturer: HOLTEK
product: USB-HID Keyboard
manufacturer: E-Signal
product: GIGABYTE Keyboard
USB Host Testing
960
*** Device Hub1 bda:5411 - connected ***
manufacturer: Generic
product: 4-Port USB 2.0 Hub
*** Device KB1 46d:c52b - connected ***
manufacturer: Logitech
product: USB Receiver
*** Device HID1 46d:c52b - connected ***
manufacturer: Logitech
product: USB Receiver
*** Device HID2 46d:c52b - connected ***
manufacturer: Logitech
product: USB Receiver
*** HID Device Mouse1 46d:c52b - connected ***
manufacturer: Logitech
product: USB Receiver
*** Device KB2 1044:7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
*** Device HID3 1044:7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
*** Device HID4 1044:7a4a - connected ***
manufacturer: HOLTEK
product: USB-HID Keyboard
Serial: AP0000000003
Mouse: buttons = 0, mouseX = 0, mouseY = 1, wheel = 0, wheelH = 0
......
Mouse: buttons = 0, mouseX = 3, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = 3, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = 2, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = 1, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = 1, mouseY = 0, wheel = 0, wheelH = 0
key 'g' 103 MOD: 0 OEM: 0 LEDS: 0
key 'f' 102 MOD: 0 OEM: 0 LEDS: 0
key 'j' 106 MOD: 0 OEM: 0 LEDS: 0
key 'f' 102 MOD: 0 OEM: 0 LEDS: 0
key 'g' 103 MOD: 0 OEM: 0 LEDS: 0
key 'h' 104 MOD: 0 OEM: 0 LEDS: 0
key 'j' 106 MOD: 0 OEM: 0 LEDS: 0
key 'f' 102 MOD: 0 OEM: 0 LEDS: 0
Mouse: buttons = 0, mouseX = 0, mouseY = 1, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 1, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 1, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -2, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 1, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -2, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 1, wheel = 0, wheelH = 0
key 'g' 103 MOD: 0 OEM: 0 LEDS: 0
Mouse: buttons = 0, mouseX = -2, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -2, mouseY = 1, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = -1, mouseY = 0, wheel = 0, wheelH = 0
Mouse: buttons = 0, mouseX = 0, mouseY = 1, wheel = 0, wheelH = 0
key 'h' 104 MOD: 0 OEM: 0 LEDS: 0
Mouse: buttons = 0, mouseX = -1, mouseY = 0, wheel = 0, wheelH = 0
key 'j' 106 MOD: 0 OEM: 0 LEDS: 0
Mouse: buttons = 0, mouseX = 0, mouseY = -1, wheel = 0, wheelH = 0
key 'f' 102 MOD: 0 OEM: 0 LEDS: 0
key 'g' 103 MOD: 0 OEM: 0 LEDS: 0
key 'j' 106 MOD: 0 OEM: 0 LEDS: 0
key 'f' 102 MOD: 0 OEM: 0 LEDS: 0
key 'g' 103 MOD: 0 OEM: 0 LEDS: 0
key 'h' 104 MOD: 0 OEM: 0 LEDS: 0
key 'j' 106 MOD: 0 OEM: 0 LEDS: 0
key 'g' 103 MOD: 0 OEM: 0 LEDS: 0
key 'h' 104 MOD: 0 OEM: 0 LEDS: 0
key 'j' 106 MOD: 0 OEM: 0 LEDS: 0
key 'f' 102 MOD: 0 OEM: 0 LEDS: 0
key 'j' 106 MOD: 0 OEM: 0 LEDS: 0
key 'f' 102 MOD: 0 OEM: 0 LEDS: 0
*** HID Device hdc4 4d9: a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
HID(4 : 10006): 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00
Begin topusage:10000 type:2 min:0 max:1
usage=700E0, value=0 (Left Control)
usage=700E1, value=0 (Left Shift)
usage=700E2, value=0 (Left Alt)
usage=700E3, value=0 (Left)
usage=700E4, value=0 (Right Control)
usage=700E5, value=0 (Right Shift)
usage=700E6, value=0 (Right Alt)
usage=700E7, value=0 (Right)
Begin topusage:10000 type:2 min:0 max:1
usage=70000, value=0 (Keycode 0)
usage=70001, value=0 (Keycode 1)
usage=70002, value=0 (Keycode 2)
usage=70003, value=0 (Keycode 3)
usage=70004, value=0 (a and A)
usage=70005, value=0 (b and B)
usage=70006, value=0 (c and C)
usage=70007, value=0 (d and D)
usage=70008, value=0 (e and E)
usage=70009, value=0 (f and F)
usage=7000A, value=0 (g and G)
usage=7000B, value=1 (h and H)
usage=7000C, value=0 (i and I)
usage=7000D, value=0 (j and J)
usage=7000E, value=0 (k and K)
usage=7000F, value=0 (l and L)
usage=70010, value=0 (m and M)
usage=70011, value=0 (n and N)
usage=70012, value=0 (o and O)
usage=70013, value=0 (p and P)
usage=70014, value=0 (q and Q)
usage=70015, value=0 (r and R)
usage=70016, value=0 (s and S)
usage=70017, value=0 (t and T)
usage=70018, value=0 (u and U)
usage=70019, value=0 (v and V)
usage=7001A, value=0 (w and W)
usage=7001B, value=0 (x and X)
usage=7001C, value=0 (y and Y)
usage=7001D, value=0 (z and Z)
usage=7001E, value=0 (1 and !)
usage=7001F, value=0 (2 and @)
usage=70020, value=0 (3 and #)
usage=70021, value=0 (4 and $)
usage=70022, value=0 (5 and %)
usage=70023, value=0 (6 and ^)
usage=70024, value=0 (7 and &)
usage=70025, value=0 (8 and *)
usage=70026, value=0 (9 and ()
usage=70027, value=0 (0 and ))
usage=70028, value=0 (Return (ENTER))
usage=70029, value=0 (ESCAPE)
usage=7002A, value=0 (DELETE (Backspace))
usage=7002B, value=0 (Tab)
usage=7002C, value=0 (Spacebar)
usage=7002D, value=0 (- and (underscore))
usage=7002E, value=0 (= and +)
usage=7002F, value=0 ([ and {)
usage=70030, value=0 (] and })
usage=70031, value=0 (nd |)
usage=70032, value=0 (Non-US # and ˜)
usage=70033, value=0 (; and :)
usage=70034, value=0 (‘ and “)
usage=70035, value=0 (Grave Accent and Tilde)
usage=70036, value=0 (, and <)
usage=70037, value=0 (. and >)
usage=70038, value=0 (/ and ?)
usage=70039, value=0 (Caps Lock)
usage=7003A, value=0 (F1)
usage=7003B, value=0 (F2)
usage=7003C, value=0 (F3)
usage=7003D, value=0 (F4)
usage=7003E, value=0 (F5)
usage=7003F, value=0 (F6)
usage=70040, value=0 (F7)
usage=70041, value=0 (F8)
usage=70042, value=0 (F9)
usage=70043, value=0 (F10)
usage=70044, value=0 (F11)
usage=70045, value=0 (F12)
usage=70046, value=0 (PrintScreen)
usage=70047, value=0 (Scroll Lock)
usage=70048, value=0 (Pause)
usage=70049, value=0 (Insert)
usage=7004A, value=0 (Home)
usage=7004B, value=0 (PageUp)
usage=7004C, value=0 (Delete Forward)
usage=7004D, value=0 (End)
usage=7004E, value=0 (PageDown)
usage=7004F, value=0 (RightArrow)
usage=70050, value=0 (LeftArrow)
usage=70051, value=0 (DownArrow)
usage=70052, value=0 (UpArrow)
usage=70053, value=0 (Keypad Num Lock and Clear)
usage=70054, value=0 (Keypad /)
usage=70055, value=0 (Keypad *)
usage=70056, value=0 (Keypad -)
usage=70057, value=0 (Keypad +)
usage=70058, value=0 (Keypad ENTER)
usage=70059, value=0 (Keypad 1 and End)
usage=7005A, value=0 (Keypad 2 and Down Arrow)
usage=7005B, value=0 (Keypad 3 and PageDn)
usage=7005C, value=0 (Keypad 4 and Left Arrow)
usage=7005D, value=0 (Keypad 5)
usage=7005E, value=0 (Keypad 6 and Right Arrow)
usage=7005F, value=0 (Keypad 7 and Home)
usage=70060, value=0 (Keypad 8 and Up Arrow)
usage=70061, value=0 (Keypad 9 and PageUp)
usage=70062, value=0 (Keypad 0 and Insert)
usage=70063, value=0 (Keypad . and Delete)
usage=70064, value=0 (Non-US nd |)
usage=70065, value=0 (Application)
usage=70066, value=0 (Power)
usage=70067, value=0 (Keypad =)
usage=70068, value=0 (F13)
usage=70069, value=0 (F14)
usage=7006A, value=0 (F15)
usage=7006B, value=0 (F16)
usage=7006C, value=0 (F17)
usage=7006D, value=0 (F18)
usage=7006E, value=0 (F19)
usage=7006F, value=0 (F20)
END:
@mjs513 @PaulStoffregen and all,
Yesk, as you mentioned, looks like completely different animals.
For example, if I press the h button I see:
....:[/CODE]
Which is a full N Key rollover.
I wonder how many of the keyboards that Gigabyte actually makes versus simply collect a bunch of different products made by several?
Like if you try to do a compare of their current keyboards:
https://www.gigabyte.com/Comparison/Keyboard
There are a lot!
It has also been a few years, so maybe their newer keyboards don't have same firmware that by default output N key Rollover even in boot mode unless, explicitly told to.
USBDeviceInfo claim this=1FFF5628
****************************************
** Device Level **
vid=4D9
pid=A06B
bDeviceClass = 0
bDeviceSubClass = 0
bDeviceProtocol = 0
09 04 00 00 01 03 01 01 00 09 21 10 01 00 01 22 3B 00 07 05 81 03 08 00 08 09 04 01 00 01 03 00
00 00 09 21 10 01 00 01 22 51 00 07 05 82 03 10 00 08 09 04 02 00 01 03 00 00 00 09 21 10 01 00
01 22 25 00 07 05 83 03 10 00 01
USBDeviceInfo claim this=1FFF5628
****************************************
** Interface Level **
09 04 00 00 01 03 01 01 00 09 21 10 01 00 01 22 3B 00 07 05 81 03 08 00 08 09 04 01 00 01 03 00
00 00 09 21 10 01 00 01 22 51 00 07 05 82 03 10 00 08 09 04 02 00 01 03 00 00 00 09 21 10 01 00
01 22 25 00 07 05 83 03 10 00 01
bInterfaceNumber = 0
number end points = 1
bInterfaceClass = 3
bInterfaceSubClass = 1
HID (BOOT)
bInterfaceProtocol = 1
Keyboard
report descriptor size = 59
endpoint = 81
attributes = 3 Interrupt
size = 8
interval = 8
USBDeviceInfo claim this=1FFF5628
****************************************
** Interface Level **
09 04 01 00 01 03 00 00 00 09 21 10 01 00 01 22 51 00 07 05 82 03 10 00 08 09 04 02 00 01 03 00
00 00 09 21 10 01 00 01 22 25 00 07 05 83 03 10 00 01
bInterfaceNumber = 1
number end points = 1
bInterfaceClass = 3
bInterfaceSubClass = 0
HID
bInterfaceProtocol = 0
None
report descriptor size = 81
endpoint = 82
attributes = 3 Interrupt
size = 16
interval = 8
USBDeviceInfo claim this=1FFF5628
****************************************
** Interface Level **
09 04 02 00 01 03 00 00 00 09 21 10 01 00 01 22 25 00 07 05 83 03 10 00 01
bInterfaceNumber = 2
number end points = 1
bInterfaceClass = 3
bInterfaceSubClass = 0
HID
bInterfaceProtocol = 0
None
report descriptor size = 37
endpoint = 83
attributes = 3 Interrupt
size = 16
interval = 1
*** Device HID1 4d9:a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
*** Device HID2 4d9:a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
HIDDumpController(1 : 0x1fff7580 : 0x1fff48a0) Claim: 4d9:a06b usage: 10080 - Yes
HID Report Descriptor (0x1fff48d0) size: 81
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 02 // Usage Maximum(2ff) - (?)
15 00 // Logical Minimum(0)
26 FF 7F // Logical maximum(7fff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 00 FF // Usage Page(ff00) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff000000)
85 06 // Report ID(6)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 2F // Usage(2f) -
75 08 // Report Size(8)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
09 30 // Usage(30) -
95 07 // Report Count(7)
B1 02 // Feature(2) // (Data, Variable, Absolute)
C0 // End Collection
HIDDumpController(1 : 0x1fff7580 : 0x1fff48a0) Claim: 4d9:a06b usage: c0001 - NO (Usage: 10080)
HIDDumpController(2 : 0x1fff8660 : 0x1fff48a0) Claim: 4d9:a06b usage: c0001 - Yes
HID Report Descriptor (0x1fff48d0) size: 81
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 02 // Usage Maximum(2ff) - (?)
15 00 // Logical Minimum(0)
26 FF 7F // Logical maximum(7fff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 00 FF // Usage Page(ff00) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff000000)
85 06 // Report ID(6)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 2F // Usage(2f) -
75 08 // Report Size(8)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
09 30 // Usage(30) -
95 07 // Report Count(7)
B1 02 // Feature(2) // (Data, Variable, Absolute)
C0 // End Collection
HIDDumpController(1 : 0x1fff7580 : 0x1fff48a0) Claim: 4d9:a06b usage: ff000001 - NO (Usage: 10080)
HIDDumpController(2 : 0x1fff8660 : 0x1fff48a0) Claim: 4d9:a06b usage: ff000001 - NO (Usage: c0001)
HIDDumpController(3 : 0x1fff37c0 : 0x1fff48a0) Claim: 4d9:a06b usage: ff000001 - Yes
HID Report Descriptor (0x1fff48d0) size: 81
05 01 // Usage Page(1) - Generic Desktop
09 80 // Usage(80) -(?)
A1 01 // Collection(1) top Usage(10080)
85 02 // Report ID(2)
19 81 // Usage Minimum(81) - (System Power Down)
29 83 // Usage Maximum(83) - (System Wake Up)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
95 05 // Report Count(5)
81 01 // Input(1) // (Constant, Array, Absolute)
C0 // End Collection
05 0C // Usage Page(c) - Consumer
09 01 // Usage(1) -(Consumer Controls)
A1 01 // Collection(1) top Usage(c0000)
85 03 // Report ID(3)
19 00 // Usage Minimum(0) - (?)
2A FF 02 // Usage Maximum(2ff) - (?)
15 00 // Logical Minimum(0)
26 FF 7F // Logical maximum(7fff)
95 01 // Report Count(1)
75 10 // Report Size(10)
81 00 // Input(0) // (Data, Array, Absolute)
C0 // End Collection
06 00 FF // Usage Page(ff00) - Vendor Defined
09 01 // Usage(1) -
A1 01 // Collection(1) top Usage(ff000000)
85 06 // Report ID(6)
15 00 // Logical Minimum(0)
26 FF 00 // Logical maximum(ff)
09 2F // Usage(2f) -
75 08 // Report Size(8)
95 03 // Report Count(3)
81 02 // Input(2) // (Data, Variable, Absolute)
09 30 // Usage(30) -
95 07 // Report Count(7)
B1 02 // Feature(2) // (Data, Variable, Absolute)
C0 // End Collection
HIDDumpController(1 : 0x1fff7580 : 0x1fff4f60) Claim: 4d9:a06b usage: 10006 - NO (Usage: 10080)
HIDDumpController(2 : 0x1fff8660 : 0x1fff4f60) Claim: 4d9:a06b usage: 10006 - NO (Usage: c0001)
HIDDumpController(3 : 0x1fff37c0 : 0x1fff4f60) Claim: 4d9:a06b usage: 10006 - NO (Usage: ff000001)
HIDDumpController(4 : 0x1fff2020 : 0x1fff4f60) Claim: 4d9:a06b usage: 10006 - Yes
HID Report Descriptor (0x1fff4f90) size: 37
05 01 // Usage Page(1) - Generic Desktop
09 06 // Usage(6) -(Keyboard)
A1 01 // Collection(1) top Usage(10000)
05 07 // Usage Page(7) - Keycode
19 E0 // Usage Minimum(e0) - (Left Control)
29 E7 // Usage Maximum(e7) - (Right)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 08 // Report Count(8)
81 02 // Input(2) // (Data, Variable, Absolute)
19 00 // Usage Minimum(0) - (Keycode 0)
29 6F // Usage Maximum(6f) - (Keycode 111)
15 00 // Logical Minimum(0)
25 01 // Logical maximum(1)
75 01 // Report Size(1)
95 70 // Report Count(70)
81 02 // Input(2) // (Data, Variable, Absolute)
C0 // End Collection
*** HID Device hdc1 4d9: a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
*** HID Device hdc2 4d9: a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
*** HID Device hdc3 4d9: a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
*** HID Device hdc4 4d9: a06b - connected ***
manufacturer: E-Signal
product: GIGABYTE Keyboard
HID(4 : 10006): 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Begin topusage:10000 type:2 min:0 max:1
usage=700E0, value=0(Left Control)
usage=700E1, value=0(Left Shift)
usage=700E2, value=0(Left Alt)
usage=700E3, value=0(Left)
usage=700E4, value=0(Right Control)
usage=700E5, value=0(Right Shift)
usage=700E6, value=0(Right Alt)
usage=700E7, value=0(Right)
Begin topusage:10000 type:2 min:0 max:1
usage=70000, value=0(Keycode 0)
usage=70001, value=0(Keycode 1)
usage=70002, value=0(Keycode 2)
usage=70003, value=0(Keycode 3)
[COLOR="#FF0000"] usage=70004, value=1(Keycode 4)
[/COLOR] usage=70005, value=0(Keycode 5)
,,,
//keyboard1.forceBootProtocol();
OnRawRelease keycode: 5 Modifiers: 0
key 'c' 99 MOD: 0 OEM: 6 LEDS: 0
OnRawPress keycode: 6 Modifiers: 0
OnRawRelease keycode: 6 Modifiers: 0
key 'd' 100 MOD: 0 OEM: 7 LEDS: 0
OnRawPress keycode: 7 Modifiers: 0
OnRawRelease keycode: 7 Modifiers: 0
key 'e' 101 MOD: 0 OEM: 8 LEDS: 0
OnRawPress keycode: 8 Modifiers: 0
OnRawRelease keycode: 8 Modifiers: 0
key 'f' 102 MOD: 0 OEM: 9 LEDS: 0
OnRawPress keycode: 9 Modifiers: 0
OnRawRelease keycode: 9 Modifiers: 0
key 'g' 103 MOD: 0 OEM: A LEDS: 0
OnRawPress keycode: A Modifiers: 0
OnRawRelease keycode: A Modifiers: 0
static const vid_pid_t keyboard_use_hid_mode[] = {
{0x046D, 0xC547},
{0x1044, 0x7a4a}
};
HID(1 : 10006): 00 00 09 07 04 16 00 00
Begin topusage:10000 type:2 min:0 max:1
usage=700E0, value=0 (Left Control)
usage=700E1, value=0 (Left Shift)
usage=700E2, value=0 (Left Alt)
usage=700E3, value=0 (Left)
usage=700E4, value=0 (Right Control)
usage=700E5, value=0 (Right Shift)
usage=700E6, value=0 (Right Alt)
usage=700E7, value=0 (Right)
Begin topusage:10000 type:0 min:0 max:255
usage=70009, value=1 (f and F)
usage=70007, value=1 (d and D)
usage=70004, value=1 (a and A)
usage=70016, value=1 (s and S)
usage=70000, value=1 (Keycode 0)
usage=70000, value=1 (Keycode 0)
END:
Will have to take a look:
From this I am assuming you are using my HID_Keyboard branch as that is the only one that has that table.
It is interesting that the crash is not consistent. Also in that branch I may have left it in a state that does not crash but instead just does not work...
That is I have/had code that checked if the transfer it was looking at as bad had a NULL for pipe... Which would then reboot... Again not sure how that could happen,
Although suppose there could be a timing hole of maybe transfer added to queue, and then set the pipe? but before than interrupt that mucked with it?
As I have mentioned, I am thinking of making a version of Keyboard that is no longer a top level device but always uses the HID and see how that works.
Pipe_t *haltedpipe = p->pipe;
p = (Transfer_t *)(haltedpipe->qh.next & ~0x1F);
bool USBHost::queue_Transfer(Pipe_t *pipe, Transfer_t *transfer)
{
// find halt qTD
Transfer_t *halt = (Transfer_t *)(pipe->qh.next);
while (!(halt->qtd.token & 0x40)) halt = (Transfer_t *)(halt->qtd.next);
// transfer's token
uint32_t token = transfer->qtd.token;
// transfer becomes new halt qTD
transfer->qtd.token = 0x40;
// copy transfer non-token fields to halt
halt->qtd.next = transfer->qtd.next;
[COLOR="#FF0000"] halt->qtd.alt_next = transfer->qtd.alt_next;
halt->qtd.buffer[0] = transfer->qtd.buffer[0]; // TODO: optimize memcpy, all
halt->qtd.buffer[1] = transfer->qtd.buffer[1]; // fields except token
halt->qtd.buffer[2] = transfer->qtd.buffer[2];
halt->qtd.buffer[3] = transfer->qtd.buffer[3];
halt->qtd.buffer[4] = transfer->qtd.buffer[4];
[/COLOR] halt->pipe = pipe;
halt->buffer = transfer->buffer;
halt->length = transfer->length;
halt->setup = transfer->setup;
halt->driver = transfer->driver;
I've tested a Logitech B100 Mouse... Wheel Button not working. Can someone fix it?