Here some test results, raw data is below.
| Product |
Result |
| Infogrip BIGTrack |
Works as expected |
| Pretorian OPTIMA Joystick USB/PS2 |
Generic HID report, not working |
| Pretorian OPTIMAx (wireless) |
Works as expected |
| n-abler Pro Trackball |
Works as expected |
| Gorlo & Todt Speedy |
Core exception (USBH: Dev 1 EP 0 Error) |
| Gorlo & Todt Joystick Joyre/Joyli |
Core exception (USBH: Dev 1 EP 0 Error) |
| Gorlo & Todt Minitrackball Orion |
Works as expected |
| BJOY Stick-A-Lite |
Exception & boot loop |
| BJOY Button |
Exception & boot loop |
[ 7220][I][usb_host.cpp:102] parse_mouse_report_descriptor(): [usb-hid-host] Parsing HID report descriptor (52 bytes)
[ 7231][I][usb_host.cpp:103] parse_mouse_report_descriptor(): [usb-hid-host] Raw descriptor:
[ 7239][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0000: 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
[ 7251][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0016: 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01
[ 7263][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0032: 05 01 09 30 09 31 09 38 15 81 25 7F 75 08 95 03
[ 7274][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0048: 81 06 C0 C0
- Pretorian OPTIMA Joystick USB/PS2
[ 57925][I][usb_host.cpp:102] parse_mouse_report_descriptor(): [usb-hid-host] Parsing HID report descriptor (52 bytes)
[ 57936][I][usb_host.cpp:103] parse_mouse_report_descriptor(): [usb-hid-host] Raw descriptor:
[ 57944][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0000: 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
[ 57956][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0016: 15 00 25 01 95 05 75 01 81 02 95 01 75 03 81 01
[ 57968][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0032: 05 01 09 30 09 31 09 38 15 81 25 7F 75 08 95 03
[ 57979][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0048: 81 06 C0 C0
[ 57988][I][usb_host.cpp:157] parse_mouse_report_descriptor(): [usb-hid-host] Buttons: bit_offset=0, bits=5
[ 57998][I][usb_host.cpp:178] parse_mouse_report_descriptor(): [usb-hid-host] X: bit_offset=8, bits=8, signed=1
[ 58007][I][usb_host.cpp:187] parse_mouse_report_descriptor(): [usb-hid-host] Y: bit_offset=16, bits=8, signed=1
[ 58017][I][usb_host.cpp:197] parse_mouse_report_descriptor(): [usb-hid-host] Wheel: bit_offset=24, bits=8, signed=1
[ 58028][I][usb_host.cpp:318] parse_mouse_report_descriptor(): [usb-hid-host] Parsed mouse format: valid=1, reportid=0, btn_off=0 bits, x_off=8 bits,s
[ 58044][I][usb_host.cpp:837] hid_host_device_event(): [usb-hid-host] Successfully parsed mouse report descriptor, using report protocol
[ 58056][I][usb_host.cpp:812] hid_host_device_event(): [usb-hid-host] HID Device, protocol 'NONE' CONNECTED
Generic
8080010000 // left click
8080000000
807D000000
8080000000
8080040000 // right click
8080000000
8080040000 //right click
8080000000
8080040000 /right click
8080000000
807D000000
//movement
887F000000
8D7F000000
927D000000
977D000000
9B7D000000
A27A000000
A77A000000
B17A000000
B87A000000
C17A000000
CB7D000000
CF7D000000
D97D000000
E07D000000
E77D000000
E97D000000
E97A000000
E57A000000
DD78000000
D478000000
BC7A000000
9B80000000
8080000000
737F000000
807D000000
8680000000
8080000000
807D000000
8080000000
807D000000
8080000000
8480000000
8080000000
807D000000
8080000000
- Pretorian OPTIMAx (wireless)
[144868][I][usb_host.cpp:102] parse_mouse_report_descriptor(): [usb-hid-host] Parsing HID report descriptor (52 bytes)
[144878][I][usb_host.cpp:103] parse_mouse_report_descriptor(): [usb-hid-host] Raw descriptor:
[144886][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0000: 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
[144898][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0016: 15 00 25 01 95 05 75 01 81 02 95 01 75 03 81 01
[144910][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0032: 05 01 09 30 09 31 09 38 15 81 25 7F 75 08 95 03
[144922][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0048: 81 06 C0 C0
[192033][I][usb_host.cpp:103] parse_mouse_report_descriptor(): [usb-hid-host] Raw descriptor:
[192041][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0000: 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
[192053][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0016: 15 00 25 01 95 05 75 01 81 02 95 01 75 03 81 01
[192065][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0032: 05 01 09 30 09 31 09 38 15 81 25 7F 75 08 95 03
[192077][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0048: 81 06 C0 C0
[ 11716][I][usb_host.cpp:102] parse_mouse_report_descriptor(): [usb-hid-host] Parsing HID report descriptor (64 bytes)
[ 11727][I][usb_host.cpp:103] parse_mouse_report_descriptor(): [usb-hid-host] Raw descriptor:
[ 11735][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0000: 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
[ 11747][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0016: 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01
[ 11759][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0032: 05 01 09 30 09 31 15 81 25 7F 75 08 95 02 81 06
[ 11770][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0048: 05 01 09 38 15 81 25 7F 75 08 95 01 81 06 C0 C0
[ 11782][I][usb_host.cpp:157] parse_mouse_report_descriptor(): [usb-hid-host] Buttons: bit_offset=0, bits=3
[ 11792][I][usb_host.cpp:178] parse_mouse_report_descriptor(): [usb-hid-host] X: bit_offset=8, bits=8, signed=1
[ 11802][I][usb_host.cpp:187] parse_mouse_report_descriptor(): [usb-hid-host] Y: bit_offset=16, bits=8, signed=1
[ 11812][I][usb_host.cpp:197] parse_mouse_report_descriptor(): [usb-hid-host] Wheel: bit_offset=24, bits=8, signed=1
[ 11822][I][usb_host.cpp:318] parse_mouse_report_descriptor(): [usb-hid-host] Parsed mouse format: valid=1, reportid=0, btn_off=0 bits, x_off=8 bits,s
[ 11838][I][usb_host.cpp:837] hid_host_device_event(): [usb-hid-host] Successfully parsed mouse report descriptor, using report protocol
E (15906) USBH: Dev 1 EP 0 Error
ESP_ERROR_CHECK failed: esp_err_t 0x103 (ESP_ERR_INVALID_STATE) at 0x4037f378
file: "src/usb_host.cpp" line 872
func: v)
)
abort() was called at PC 0x4037f37b on core 1
Backtrace: 0x403772ea:0x3fcb2dd0 0x4037f385:0x3fcb2df0 0x4038518d:0x3fcb2e10 0x4037f37b:0x3fcb2e90 0x42003e62:0x3fcb2eb0 0x42004885:0x3fcb2fe0
- Gorlo & Todt Joystick Joyre/Joyli
[ 47217][I][usb_host.cpp:102] parse_mouse_report_descriptor(): [usb-hid-host] Parsing HID report descriptor (64 bytes)
[ 47227][I][usb_host.cpp:103] parse_mouse_report_descriptor(): [usb-hid-host] Raw descriptor:
[ 47236][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0000: 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
[ 47247][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0016: 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01
[ 47259][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0032: 05 01 09 30 09 31 15 81 25 7F 75 08 95 02 81 06
[ 47271][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0048: 05 01 09 38 15 81 25 7F 75 08 95 01 81 06 C0 C0
[ 47283][I][usb_host.cpp:157] parse_mouse_report_descriptor(): [usb-hid-host] Buttons: bit_offset=0, bits=3
[ 47292][I][usb_host.cpp:178] parse_mouse_report_descriptor(): [usb-hid-host] X: bit_offset=8, bits=8, signed=1
[ 47302][I][usb_host.cpp:187] parse_mouse_report_descriptor(): [usb-hid-host] Y: bit_offset=16, bits=8, signed=1
[ 47312][I][usb_host.cpp:197] parse_mouse_report_descriptor(): [usb-hid-host] Wheel: bit_offset=24, bits=8, signed=1
[ 47322][I][usb_host.cpp:318] parse_mouse_report_descriptor(): [usb-hid-host] Parsed mouse format: valid=1, reportid=0, btn_off=0 bits, x_off=8 bits,s
[ 47338][I][usb_host.cpp:837] hid_host_device_event(): [usb-hid-host] Successfully parsed mouse report descriptor, using report protocol
E (52019) USBH: Dev 1 EP 0 Error
ESP_ERROR_CHECK failed: esp_err_t 0x103 (ESP_ERR_INVALID_STATE) at 0x4037f378
file: "src/usb_host.cpp" line 872
func: v)
)
abort() was called at PC 0x4037f37b on core 1
Backtrace: 0x403772ea:0x3fcb2dd0 0x4037f385:0x3fcb2df0 0x4038518d:0x3fcb2e10 0x4037f37b:0x3fcb2e90 0x42003e62:0x3fcb2eb0 0x42004885:0x3fcb2fe0
- Gorlo & Todt Minitrackball Orion
[120750][I][usb_host.cpp:102] parse_mouse_report_descriptor(): [usb-hid-host] Parsing HID report descriptor (148 bytes)
[120761][I][usb_host.cpp:103] parse_mouse_report_descriptor(): [usb-hid-host] Raw descriptor:
[120769][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0000: 05 01 09 02 A1 01 85 01 09 01 A1 00 05 09 19 01
[120781][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0016: 29 05 15 00 25 01 95 05 75 01 81 02 95 01 75 03
[120793][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0032: 81 01 05 01 09 30 09 31 09 38 15 81 25 7F 75 08
[120804][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0048: 95 03 81 06 C0 C0 05 01 09 80 A1 01 85 02 19 81
[120816][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0064: 29 88 15 00 25 01 75 01 95 08 81 02 C0 05 0C 09
[120828][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0080: 01 A1 01 85 03 15 00 25 01 19 B5 29 B7 09 CD 09
[120840][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0096: E2 09 E5 09 E7 0A 83 01 09 E9 09 EA 0A 52 01 0A
[120851][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0112: 53 01 0A 54 01 0A 55 01 0A 8A 01 0A 92 01 0A 94
[120863][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0128: 01 0A 21 02 1A 23 02 2A 27 02 0A 2A 02 95 18 75
[120875][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0144: 01 81 02 C0
[120884][I][usb_host.cpp:157] parse_mouse_report_descriptor(): [usb-hid-host] Buttons: bit_offset=0, bits=5
[120893][I][usb_host.cpp:178] parse_mouse_report_descriptor(): [usb-hid-host] X: bit_offset=8, bits=8, signed=1
[120903][I][usb_host.cpp:187] parse_mouse_report_descriptor(): [usb-hid-host] Y: bit_offset=16, bits=8, signed=1
[120913][I][usb_host.cpp:197] parse_mouse_report_descriptor(): [usb-hid-host] Wheel: bit_offset=24, bits=8, signed=1
[120923][I][usb_host.cpp:318] parse_mouse_report_descriptor(): [usb-hid-host] Parsed mouse format: valid=1, reportid=1, btn_off=8 bits, x_off=16 bitss
[120939][I][usb_host.cpp:837] hid_host_device_event(): [usb-hid-host] Successfully parsed mouse report descriptor, using report protocol
[ 750][I][usb_host.cpp:102] parse_mouse_report_descriptor(): [usb-hid-host] Parsing HID report descriptor (63 bytes)
[ 761][I][usb_host.cpp:103] parse_mouse_report_descriptor(): [usb-hid-host] Raw descriptor:
[ 769][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0000: 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
[ 781][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0016: 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01
[ 793][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0032: 05 01 09 30 09 31 15 81 25 7F 75 08 95 02 81 06
[ 804][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0048: 09 02 15 00 26 FF 00 75 08 95 08 B1 02 C0 C0
[ 816][I][usb_host.cpp:157] parse_mouse_report_descriptor(): [usb-hid-host] Buttons: bit_offset=0, bits=3
[ 825][I][usb_host.cpp:178] parse_mouse_report_descriptor(): [usb-hid-host] X: bit_offset=8, bits=8, signed=1
[ 835][I][usb_host.cpp:187] parse_mouse_report_descriptor(): [usb-hid-host] Y: bit_offset=16, bits=8, signed=1
[ 845][I][usb_host.cpp:318] parse_mouse_report_descriptor(): [usb-hid-host] Parsed mouse format: valid=1, reportid=0, btn_off=0 bits, x_off=8 bits,s
[ 861][I][usb_host.cpp:837] hid_host_device_event(): [usb-hid-host] Successfully parsed mouse report descriptor, using report protocol
[ 874][I][usb_host.cpp:812] hid_host_device_event(): [usb-hid-host] HID Device, protocol 'NONE' CONNECTED
E (1165) HCD DWC: bInterval value (255) of Interrupt pipe exceeds max supported limit
[ 884][E][hid_host.c:630] hid_host_interface_claim_and_prepare_transfer(): [hid-host] hid_host_interface_claim_and_prepare_transfer(630): Unable toe
[ 906][E][hid_host.c:1196] hid_host_device_open(): [hid-host] hid_host_device_open(1196): Unable to claim interface
ESP_ERROR_CHECK failed: esp_err_t 0x106 (ESP_ERR_NOT_SUPPORTED) at 0x4037f378
file: "src/usb_host.cpp" line 814
func: void hid_host_device_event(hid_ho)
)
abort() was called at PC 0x4037f37b on core 1
Backtrace: 0x403772ea:0x3fcb2dd0 0x4037f385:0x3fcb2df0 0x4038518d:0x3fcb2e10 0x4037f37b:0x3fcb2e90 0x42003e62:0x3fcb2eb0 0x42004885:0x3fcb2fe0
ELF file SHA256: b45d53d3c084d448
[ 710][I][usb_host.cpp:812] hid_host_device_event(): [usb-hid-host] HID Device, protocol 'MOUSE' CONNECTED
[ 720][I][usb_host.cpp:820] hid_host_device_event(): [usb-hid-host] Mouse device detected, parsing report descriptor...
[ 733][I][usb_host.cpp:831] hid_host_device_event(): [usb-hid-host] Got report descriptor, length: 63
[ 743][I][usb_host.cpp:102] parse_mouse_report_descriptor(): [usb-hid-host] Parsing HID report descriptor (63 bytes)
[ 753][I][usb_host.cpp:103] parse_mouse_report_descriptor(): [usb-hid-host] Raw descriptor:
[ 761][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0000: 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
[ 773][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0016: 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01
[ 785][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0032: 05 01 09 30 09 31 15 81 25 7F 75 08 95 02 81 06
[ 797][I][usb_host.cpp:110] parse_mouse_report_descriptor(): [usb-hid-host] 0048: 09 02 15 00 26 FF 00 75 08 95 08 B1 02 C0 C0
[ 808][I][usb_host.cpp:157] parse_mouse_report_descriptor(): [usb-hid-host] Buttons: bit_offset=0, bits=3
[ 818][I][usb_host.cpp:178] parse_mouse_report_descriptor(): [usb-hid-host] X: bit_offset=8, bits=8, signed=1
[ 828][I][usb_host.cpp:187] parse_mouse_report_descriptor(): [usb-hid-host] Y: bit_offset=16, bits=8, signed=1
[ 838][I][usb_host.cpp:318] parse_mouse_report_descriptor(): [usb-hid-host] Parsed mouse format: valid=1, reportid=0, btn_off=0 bits, x_off=8 bits,s
[ 854][I][usb_host.cpp:837] hid_host_device_event(): [usb-hid-host] Successfully parsed mouse report descriptor, using report protocol
[ 866][I][usb_host.cpp:812] hid_host_device_event(): [usb-hid-host] HID Device, protocol 'NONE' CONNECTED
E (1158) HCD DWC: bInterval value (255) of Interrupt pipe exceeds max supported limit
[ 876][E][hid_host.c:630] hid_host_interface_claim_and_prepare_transfer(): [hid-host] hid_host_interface_claim_and_prepare_transfer(630): Unable toe
[ 898][E][hid_host.c:1196] hid_host_device_open(): [hid-host] hid_host_device_open(1196): Unable to claim interface
ESP_ERROR_CHECK failed: esp_err_t 0x106 (ESP_ERR_NOT_SUPPORTED) at 0x4037f378
file: "src/usb_host.cpp" line 814
func: void hid_host_device_event(hid_ho)
)
abort() was called at PC 0x4037f37b on core 1
Backtrace: 0x403772ea:0x3fcb2dd0 0x4037f385:0x3fcb2df0 0x4038518d:0x3fcb2e10 0x4037f37b:0x3fcb2e90 0x42003e62:0x3fcb2eb0 0x42004885:0x3fcb2fe0
ELF file SHA256: b45d53d3c084d448
Rebooting...
Here some test results, raw data is below.