tmk / tmk_keyboard

Keyboard firmwares for Atmel AVR and Cortex-M
3.98k stars 1.7k forks source link

USB-USB: Ducky One 2 Mini #697

Closed tmk closed 1 year ago

tmk commented 3 years ago

Ducky One 2 Mini RGB(DKON2061STDKON1861ST) with 1.10/1.09(1.08) firmware doesn't have 'boot protocol' interface, so the converter can't recognize the keyboard.

I believe that this is not their intended desgin, but a glitch. Interface 0 looks like a boot keyboard interface(6KRO) compatible but it doesn't have boot protocol configuration in descriptor. Seems that Interface 1 is used for mouse, Interface 2 for report keyboard(NKRO) and Interace 3 for vendor specific purpose Media keys.

TODO: The keyboard has DIP switch configuration to enable 6KRO/NKRO mode.


2023-02-01 Ducky One 2 Mini(DKON2061ST) had two issue for USB-USB converter. (while DKON1861ST model with V1.22 firmware should work without problem. ) https://www.duckychannel.com.tw/en/Ducky-One2-Mini-RGB

Ducky One 2 Mini(DKON2061ST):

  1. has no boot keyboard interface
  2. replies SET_PROTOCOL with STALL and stops working

Fixed with this commit: https://github.com/tmk/USB_Host_Shield_2.0/commit/204bc5d1aeb85f88a0ee980d1450e8b7ca56d0dd

  1. non-boot keyboard interface is used as 6KRO when boot keyboard is not found
  2. SET_PROTOCOL is not sent to non-boot keyboard interface
tmk commented 3 years ago

This relaxes driver loading conditions in hidboot.h of UHS2.

diff --git a/hidboot.h b/hidboot.h
index e187189..cdca5f1 100644
--- a/hidboot.h
+++ b/hidboot.h
@@ -410,7 +410,9 @@ uint8_t HIDBoot<BOOT_PROTOCOL>::Init(uint8_t parent, uint8_t port, bool lowspeed
                                         USB_CLASS_HID,
                                         HID_BOOT_INTF_SUBCLASS,
                                         USB_HID_PROTOCOL_KEYBOARD,
-                                        CP_MASK_COMPARE_ALL> confDescrParserA(this);
+                                        CP_MASK_COMPARE_CLASS | CP_MASK_COMPARE_PROTOCOL
+                                        > confDescrParserA(this);
+                                        //CP_MASK_COMPARE_ALL> confDescrParserA(this);

                                 pUsb->getConfDescr(bAddress, 0, i, &confDescrParserA);
                                 if(bNumEP == (uint8_t)(totalEndpoints(BOOT_PROTOCOL)))

With this patch above the converter recognizes interface 0 as a keyboard now, but setProtocol() fails with hrSTALL(05).

I think this is a bug of the keyboard, not intended design. But ... not sure.

Waiting for device:
Listening:

Device disconnected.
Waiting for new device:.....
Listening:

TMK:ca653136+/LUFA

USB configured.

Keyboard start.
usb_state: 12
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
Ci vid:3233
pid:6301
klass:00
subklass:00
AC1
AC2
A2 driver:00
BM Init
Ci Addr:01
Ci NC:01
HID_PROTOCOL_KEYBOARD
Ci Ci bNumEP:02
Cnf:01
bIfaceNum:00
bNumIface:00

Interface:00
crST:05
SetProto:05
rcode:05
BUSRST
host.Task: 2420
usb_state: A0
usb_state: 12
tmk commented 3 years ago

Descriptors extracted by usb_desc_dump and parsed by USB Descriptor and Request Parser:

https://gist.github.com/tmk/6c9b88c117725446dd768a4270847019

The keyboard doesn't have Boot keyboard interface, it seems Interface0 should be that.

tmk commented 1 year ago

Ducky fixed the issue in new firmware seemingly. https://github.com/felis/USB_Host_Shield_2.0/issues/738#issuecomment-1251195227

TODO: New firmware 1.0.10 is available and should be tested again. https://www.duckychannel.com.tw/en/Support/Detail/19

dinovo1 commented 1 year ago

Updated a brand new Ducky One 2 Mini (DKON2061ST) to firmware 1.0.10. Still does not work with the TMK. Please let me know if there's any additional info I can provide to help solve this.

dinovo1 commented 1 year ago

Is there some older firmware version I can downgrade to and get it to work?

tmk commented 1 year ago

Can you share its USB Descriptor here?

Please check 'Troubleshoot' in the first post to get USB Descriptor. https://geekhack.org/index.php?topic=69169.0

dinovo1 commented 1 year ago

I got this using USB Tree Viewer (didn't want to reflash my TMK).

=========================== USB Port1 ===========================

Connection Status : 0x01 (Device is connected) Port Chain : 1-1

  ========================== Summary =========================

Vendor ID : 0x3233 (DuckyChannel International Co., Ltd.) Product ID : 0x6301 USB Version : 1.1 Port maximum Speed : Full-Speed Device maximum Speed : Full-Speed Device Connection Speed : Full-Speed Self powered : no Demanded Current : 100 mA Used Endpoints : 5

  ======================== USB Device ========================

    +++++++++++++++++ Device Information ++++++++++++++++++

Device Description : USB Composite Device Device Path : \?\USB#VID_3233&PID_6301#DK-V1.10-201231#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE) Kernel Name : \Device\USBPDO-12 Device ID : USB\VID_3233&PID_6301\DK-V1.10-201231 Hardware IDs : USB\VID_3233&PID_6301&REV_0000 USB\VID_3233&PID_6301 Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0026 (GUID_DEVCLASS_USB) Driver : system32\DRIVERS\usbccgp.sys (Version: 6.1.7601.18328 Date: 2013-11-26) Driver Inf : C:\Windows\inf\usb.inf Legacy BusType : PNPBus Class : USB Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASSUSB) Service : usbccgp Enumerator : USB Location Info : Port#0001.Hub_#0001 Container ID : {58e72224-931a-5b00-b1a2-3d6b228565d4} Manufacturer Info : (Standard USB Host Controller) Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) Status : 0x0180400A (DN_DRIVER_LOADED, DN_STARTED, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) Problem Code : 0 Address : 1 HcDisableSelectiveSuspend: 0 EnableSelectiveSuspend : 0 SelectiveSuspendEnabled : 0 EnhancedPowerMgmtEnabled : 0 IdleInWorkingState : 0 WakeFromSleepState : 0 Power State : D0 (supported: D0, D3, wake from D0) Child Device 1 : USB Input Device Device ID : USB\VID_3233&PID_6301&MI_00\6&62897EB&0&0000 Class : HIDClass Driver KeyName : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}\0033 (GUID_DEVCLASS_HIDCLASS) Service : HidUsb Location : 0000.0004.0000.001.000.000.000.000.000 LocationPaths : PCIROOT(0)#PCI(0400)#USBROOT(0)#USB(1)#USB(1) Child Device 1 : HID Keyboard Device Device Path 1 : \?\HID#VID_3233&PID_6301&MI_00#7&14fd6a88&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} (GUID_DEVINTERFACE_HID) Device Path 2 : \?\HID#VID_3233&PID_6301&MI_00#7&14fd6a88&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd} (GUID_DEVINTERFACE_KEYBOARD) Kernel Name : \Device\000000ec Device ID : HID\VID_3233&PID_6301&MI_00\7&14FD6A88&0&0000 Class : Keyboard Driver KeyName : {4d36e96b-e325-11ce-bfc1-08002be10318}\0003 (GUID_DEVCLASS_KEYBOARD) Service : kbdhid Child Device 2 : USB Input Device Device ID : USB\VID_3233&PID_6301&MI_01\6&62897EB&0&0001 Class : HIDClass Driver KeyName : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}\0034 (GUID_DEVCLASS_HIDCLASS) Service : HidUsb Location : 0000.0004.0000.001.000.000.000.000.000 LocationPaths : PCIROOT(0)#PCI(0400)#USBROOT(0)#USB(1)#USB(1) Child Device 1 : HID-compliant mouse Device Path 1 : \?\HID#VID_3233&PID_6301&MI_01#7&1cd4e4a&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd} (GUID_DEVINTERFACE_MOUSE) Device Path 2 : \?\HID#VID_3233&PID_6301&MI_01#7&1cd4e4a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} (GUID_DEVINTERFACE_HID) Kernel Name : \Device\000000ed Device ID : HID\VID_3233&PID_6301&MI_01\7&1CD4E4A&0&0000 Class : Mouse Driver KeyName : {4d36e96f-e325-11ce-bfc1-08002be10318}\0004 (GUID_DEVCLASS_MOUSE) Service : mouhid Child Device 3 : USB Input Device Device ID : USB\VID_3233&PID_6301&MI_02\6&62897EB&0&0002 Class : HIDClass Driver KeyName : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}\0031 (GUID_DEVCLASS_HIDCLASS) Service : HidUsb Location : 0000.0004.0000.001.000.000.000.000.000 LocationPaths : PCIROOT(0)#PCI(0400)#USBROOT(0)#USB(1)#USB(1) Child Device 1 : HID Keyboard Device Device Path 1 : \?\HID#VID_3233&PID_6301&MI_02#7&2a37fc13&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd} (GUID_DEVINTERFACE_KEYBOARD) Device Path 2 : \?\HID#VID_3233&PID_6301&MI_02#7&2a37fc13&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} (GUID_DEVINTERFACE_HID) Kernel Name : \Device\000000ee Device ID : HID\VID_3233&PID_6301&MI_02\7&2A37FC13&0&0000 Class : Keyboard Driver KeyName : {4d36e96b-e325-11ce-bfc1-08002be10318}\0002 (GUID_DEVCLASS_KEYBOARD) Service : kbdhid Child Device 4 : USB Input Device Device ID : USB\VID_3233&PID_6301&MI_03\6&62897EB&0&0003 Class : HIDClass Driver KeyName : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}\0032 (GUID_DEVCLASS_HIDCLASS) Service : HidUsb Location : 0000.0004.0000.001.000.000.000.000.000 LocationPaths : PCIROOT(0)#PCI(0400)#USBROOT(0)#USB(1)#USB(1) Child Device 1 : HID-compliant consumer control device Device Path : \?\HID#VID_3233&PID_6301&MI_03#7&1707dfd5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} (GUID_DEVINTERFACE_HID) Kernel Name : \Device\000000ef Device ID : HID\VID_3233&PID_6301&MI_03\7&1707DFD5&0&0000 Class : HIDClass Driver KeyName : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}\0035 (GUID_DEVCLASS_HIDCLASS)

    ---------------- Connection Information ---------------

Connection Index : 0x01 (Port 1) Connection Status : 0x01 (DeviceConnected) Current Config Value : 0x01 (Configuration 1) Device Address : 0x03 (3) Is Hub : 0x00 (no) Device Bus Speed : 0x01 (Full-Speed) Number Of Open Pipes : 0x04 (4 pipes to data endpoints) Pipe[0] : EndpointID=1 Direction=IN ScheduleOffset=0 Type=Interrupt wMaxPacketSize=0x8 bInterval=1 -> 196 Bits/ms = 24500 Bytes/s Pipe[1] : EndpointID=2 Direction=IN ScheduleOffset=0 Type=Interrupt wMaxPacketSize=0x4 bInterval=1 -> 158 Bits/ms = 19750 Bytes/s Pipe[2] : EndpointID=3 Direction=IN ScheduleOffset=0 Type=Interrupt wMaxPacketSize=0x40 bInterval=1 -> 718 Bits/ms = 89750 Bytes/s Pipe[3] : EndpointID=4 Direction=IN ScheduleOffset=0 Type=Interrupt wMaxPacketSize=0x4 bInterval=1 -> 158 Bits/ms = 19750 Bytes/s Data (HexDump) : 01 00 00 00 12 01 10 01 00 00 00 08 33 32 01 63 ............32.c 00 00 01 02 03 01 01 01 00 03 00 04 00 00 00 01 ................ 00 00 00 07 05 81 03 08 00 01 00 00 00 00 07 05 ................ 82 03 04 00 01 00 00 00 00 07 05 83 03 40 00 01 .............@.. 00 00 00 00 07 05 84 03 04 00 01 00 00 00 00 ...............

---------------------- Device Descriptor ----------------------

bLength : 0x12 (18 bytes) bDescriptorType : 0x01 (Device Descriptor) bcdUSB : 0x110 (USB Version 1.1) bDeviceClass : 0x00 (defined by the interface descriptors) bDeviceSubClass : 0x00 bDeviceProtocol : 0x00 bMaxPacketSize0 : 0x08 (8 bytes) idVendor : 0x3233 (DuckyChannel International Co., Ltd.) idProduct : 0x6301 bcdDevice : 0x0000 iManufacturer : 0x01 (String Descriptor 1) Language 0x0409 : "Ducky" iProduct : 0x02 (String Descriptor 2) Language 0x0409 : "Ducky One2 Mini RGB" iSerialNumber : 0x03 (String Descriptor 3) Language 0x0409 : "DK-V1.10-201231" bNumConfigurations : 0x01 (1 Configuration) Data (HexDump) : 12 01 10 01 00 00 00 08 33 32 01 63 00 00 01 02 ........32.c.... 03 01 ..

------------------ Configuration Descriptor -------------------

bLength : 0x09 (9 bytes) bDescriptorType : 0x02 (Configuration Descriptor) wTotalLength : 0x006D (109 bytes) bNumInterfaces : 0x04 (4 Interfaces) bConfigurationValue : 0x01 (Configuration 1) iConfiguration : 0x00 (No String Descriptor) bmAttributes : 0x80 D7: Reserved, set 1 : 0x01 D6: Self Powered : 0x00 (no) D5: Remote Wakeup : 0x00 (no) D4..0: Reserved, set 0 : 0x00 MaxPower : 0x32 (100 mA) Data (HexDump) : 09 02 6D 00 04 01 00 80 32 09 04 00 00 01 03 00 ..m.....2....... 01 00 09 21 10 01 00 01 22 40 00 07 05 81 03 08 ...!...."@...... 00 01 09 04 01 00 01 03 00 02 00 09 21 10 01 00 ............!... 01 22 34 00 07 05 82 03 04 00 01 09 04 02 00 01 ."4............. 03 00 01 00 09 21 10 01 00 01 22 2D 00 07 05 83 .....!...."-.... 03 40 00 01 09 04 03 00 01 03 00 00 00 09 21 10 .@............!. 01 00 01 22 39 00 07 05 84 03 04 00 01 ..."9........

    ---------------- Interface Descriptor -----------------

bLength : 0x09 (9 bytes) bDescriptorType : 0x04 (Interface Descriptor) bInterfaceNumber : 0x00 (Interface 0) bAlternateSetting : 0x00 bNumEndpoints : 0x01 (1 Endpoint) bInterfaceClass : 0x03 (HID - Human Interface Device) bInterfaceSubClass : 0x00 (None) bInterfaceProtocol : 0x01 (Keyboard) iInterface : 0x00 (No String Descriptor) Data (HexDump) : 09 04 00 00 01 03 00 01 00 .........

    ------------------- HID Descriptor --------------------

bLength : 0x09 (9 bytes) bDescriptorType : 0x21 (HID Descriptor) bcdHID : 0x0110 (HID Version 1.10) bCountryCode : 0x00 (00 = not localized) bNumDescriptors : 0x01 Data (HexDump) : 09 21 10 01 00 01 22 40 00 .!...."@. Descriptor 1: bDescriptorType : 0x22 (Class=Report) wDescriptorLength : 0x0040 (64 bytes) Error reading descriptor : ERROR_OPERATION_ABORTED (due to a obscure limitation of the Win32 USB API, see UsbTreeView.txt)

    ----------------- Endpoint Descriptor -----------------

bLength : 0x07 (7 bytes) bDescriptorType : 0x05 (Endpoint Descriptor) bEndpointAddress : 0x81 (Direction=IN EndpointID=1) bmAttributes : 0x03 (TransferType=Interrupt) wMaxPacketSize : 0x0008 (8 bytes) bInterval : 0x01 (1 ms) Data (HexDump) : 07 05 81 03 08 00 01 .......

    ---------------- Interface Descriptor -----------------

bLength : 0x09 (9 bytes) bDescriptorType : 0x04 (Interface Descriptor) bInterfaceNumber : 0x01 (Interface 1) bAlternateSetting : 0x00 bNumEndpoints : 0x01 (1 Endpoint) bInterfaceClass : 0x03 (HID - Human Interface Device) bInterfaceSubClass : 0x00 (None) bInterfaceProtocol : 0x02 (Mouse) iInterface : 0x00 (No String Descriptor) Data (HexDump) : 09 04 01 00 01 03 00 02 00 .........

    ------------------- HID Descriptor --------------------

bLength : 0x09 (9 bytes) bDescriptorType : 0x21 (HID Descriptor) bcdHID : 0x0110 (HID Version 1.10) bCountryCode : 0x00 (00 = not localized) bNumDescriptors : 0x01 Data (HexDump) : 09 21 10 01 00 01 22 34 00 .!...."4. Descriptor 1: bDescriptorType : 0x22 (Class=Report) wDescriptorLength : 0x0034 (52 bytes) Error reading descriptor : ERROR_OPERATION_ABORTED (due to a obscure limitation of the Win32 USB API, see UsbTreeView.txt)

    ----------------- Endpoint Descriptor -----------------

bLength : 0x07 (7 bytes) bDescriptorType : 0x05 (Endpoint Descriptor) bEndpointAddress : 0x82 (Direction=IN EndpointID=2) bmAttributes : 0x03 (TransferType=Interrupt) wMaxPacketSize : 0x0004 (4 bytes) bInterval : 0x01 (1 ms) Data (HexDump) : 07 05 82 03 04 00 01 .......

    ---------------- Interface Descriptor -----------------

bLength : 0x09 (9 bytes) bDescriptorType : 0x04 (Interface Descriptor) bInterfaceNumber : 0x02 (Interface 2) bAlternateSetting : 0x00 bNumEndpoints : 0x01 (1 Endpoint) bInterfaceClass : 0x03 (HID - Human Interface Device) bInterfaceSubClass : 0x00 (None) bInterfaceProtocol : 0x01 (Keyboard) iInterface : 0x00 (No String Descriptor) Data (HexDump) : 09 04 02 00 01 03 00 01 00 .........

    ------------------- HID Descriptor --------------------

bLength : 0x09 (9 bytes) bDescriptorType : 0x21 (HID Descriptor) bcdHID : 0x0110 (HID Version 1.10) bCountryCode : 0x00 (00 = not localized) bNumDescriptors : 0x01 Data (HexDump) : 09 21 10 01 00 01 22 2D 00 .!...."-. Descriptor 1: bDescriptorType : 0x22 (Class=Report) wDescriptorLength : 0x002D (45 bytes) Error reading descriptor : ERROR_OPERATION_ABORTED (due to a obscure limitation of the Win32 USB API, see UsbTreeView.txt)

    ----------------- Endpoint Descriptor -----------------

bLength : 0x07 (7 bytes) bDescriptorType : 0x05 (Endpoint Descriptor) bEndpointAddress : 0x83 (Direction=IN EndpointID=3) bmAttributes : 0x03 (TransferType=Interrupt) wMaxPacketSize : 0x0040 (64 bytes) bInterval : 0x01 (1 ms) Data (HexDump) : 07 05 83 03 40 00 01 ....@..

    ---------------- Interface Descriptor -----------------

bLength : 0x09 (9 bytes) bDescriptorType : 0x04 (Interface Descriptor) bInterfaceNumber : 0x03 (Interface 3) bAlternateSetting : 0x00 bNumEndpoints : 0x01 (1 Endpoint) bInterfaceClass : 0x03 (HID - Human Interface Device) bInterfaceSubClass : 0x00 (None) bInterfaceProtocol : 0x00 (None) iInterface : 0x00 (No String Descriptor) Data (HexDump) : 09 04 03 00 01 03 00 00 00 .........

    ------------------- HID Descriptor --------------------

bLength : 0x09 (9 bytes) bDescriptorType : 0x21 (HID Descriptor) bcdHID : 0x0110 (HID Version 1.10) bCountryCode : 0x00 (00 = not localized) bNumDescriptors : 0x01 Data (HexDump) : 09 21 10 01 00 01 22 39 00 .!...."9. Descriptor 1: bDescriptorType : 0x22 (Class=Report) wDescriptorLength : 0x0039 (57 bytes) Error reading descriptor : ERROR_OPERATION_ABORTED (due to a obscure limitation of the Win32 USB API, see UsbTreeView.txt)

    ----------------- Endpoint Descriptor -----------------

bLength : 0x07 (7 bytes) bDescriptorType : 0x05 (Endpoint Descriptor) bEndpointAddress : 0x84 (Direction=IN EndpointID=4) bmAttributes : 0x03 (TransferType=Interrupt) wMaxPacketSize : 0x0004 (4 bytes) bInterval : 0x01 (1 ms) Data (HexDump) : 07 05 84 03 04 00 01 .......

  -------------------- String Descriptors -------------------
         ------ String Descriptor 0 ------

bLength : 0x04 (4 bytes) bDescriptorType : 0x03 (String Descriptor) Language ID[0] : 0x0409 (English - United States) Data (HexDump) : 04 03 09 04 .... ------ String Descriptor 1 ------ bLength : 0x0C (12 bytes) bDescriptorType : 0x03 (String Descriptor) Language 0x0409 : "Ducky" Data (HexDump) : 0C 03 44 00 75 00 63 00 6B 00 79 00 ..D.u.c.k.y. ------ String Descriptor 2 ------ bLength : 0x28 (40 bytes) bDescriptorType : 0x03 (String Descriptor) Language 0x0409 : "Ducky One2 Mini RGB" Data (HexDump) : 28 03 44 00 75 00 63 00 6B 00 79 00 20 00 4F 00 (.D.u.c.k.y. .O. 6E 00 65 00 32 00 20 00 4D 00 69 00 6E 00 69 00 n.e.2. .M.i.n.i. 20 00 52 00 47 00 42 00 .R.G.B. ------ String Descriptor 3 ------ bLength : 0x20 (32 bytes) bDescriptorType : 0x03 (String Descriptor) Language 0x0409 : "DK-V1.10-201231" Data (HexDump) : 20 03 44 00 4B 00 2D 00 56 00 31 00 2E 00 31 00 .D.K.-.V.1...1. 30 00 2D 00 32 00 30 00 31 00 32 00 33 00 31 00 0.-.2.0.1.2.3.1.

tmk commented 1 year ago

Thank you for the descriptor. They didn't fix the descriptor to mark a interface as boot device. I fixed compatibility list on the thread.

I still have an idea on converter firmware fix to support this keyboard. Let me know when you have time and willing to flash your converter to debug it.

dinovo1 commented 1 year ago

Thanks for your reply. At this point I am so dependent on my TMK converter that I don't want risk interrupting my workflow. I would be interested in buying another one (as a backup) and then we can use that one to flash and debug (maybe you can already send it to me flashed with the changes you had in mind?). what do you think?

tmk commented 1 year ago

I'm happy to flash improved firmware for testing when the converter is shipped, of course. Please refer this URL when you place an order, so that I make sure to do that.

dinovo1 commented 1 year ago

Just sent you a direct email with a request for a paypal invoice. Thanks!

tmk commented 1 year ago

The keyboard doesn't support SET_PROTOCOL request, which ends with STALL. After the STALL the keybaord stop working for no reason.

Waiting for device:
Listening:
Device disconnected.
Waiting for new device:.......
Listening:
_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
Ci read:0012
left:0000
vid:3233
pid:6301
klass:00
subklass:00
AC1
AC2
A2 driver:00
BM Init
Ci read:0008
left:0000
Addr:01
Ci read:0012
left:0000
NC:01
bootIf[]:00
HID_PROTOCOL_KEYBOARD
[gC]Ci read:0009
left:0000
Cl:006D
Ci ConfVal: 01
Iface: 00
    Class: 03
    SubClass: 00
    Protocol: 01
Iface: 01
    Class: 03
    SubClass: 00
    Protocol: 02
read:0040
left:002D
Iface: 02
    Class: 03
    SubClass: 00
    Protocol: 01
Iface: 03
    Class: 03
    SubClass: 00
    Protocol: 00
read:002D
left:0000
[gC]Ci read:0009
left:0000
Cl:006D
Ci ConfVal: 01
Iface: 00
    Class: 03
    SubClass: 00
    Protocol: 01
[xE1]hidboot:EndpointXtract:iface: 00
hidboot:EndpointXtract:bNumEP: 01
[xE++] Iface: 01
    Class: 03
    SubClass: 00
    Protocol: 02
read:0040
left:002D
Iface: 02
    Class: 03
    SubClass: 00
    Protocol: 01
[xE1]hidboot:EndpointXtract:iface: 02
Iface: 03
    Class: 03
    SubClass: 00
    Protocol: 00
read:002D
left:0000
bNumEP:02
Cnf:01
bootIf[]:00
bIfaceNum:00
bNumIface:00
Interface:00
crST:05
SET_PROTOCOL: 05
SET_IDLE: 00
Ci read:0040
left:0040
read:0000
left:0040
RPIPE: 00
BM configured
Init:00
AttemptConfig2:00
Configuring:00
host.Task: 2340
usb_state: 90
speed: full
Co 
tmk commented 1 year ago

Fixed at https://github.com/tmk/USB_Host_Shield_2.0/commit/204bc5d1aeb85f88a0ee980d1450e8b7ca56d0dd and available on repo and keymap editor now.

Waiting for device:.........
Listening:
_state: 12
Device disconnected.
Waiting for new device:.
Listening:
TMK:8fd2ba/LUFA:d6a7df/UHS2:069220
USB configured.
Loop start.
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
Ci read:0012
left:0000
vid:3233
pid:6301
klass:00
subklass:00
AC1
AC2
A2 driver:00
BM Init
Ci read:0008
left:0000
Addr:01
Ci read:0012
left:0000
NC:01
bootIf[]:00
HID_PROTOCOL_KEYBOARD
[gC]Ci read:0009
left:0000
Cl:006D
Ci ConfVal: 01
    Iface: 00
        Class: 03
        SubClass: 00
        Protocol: 01
    Iface: 01
        Class: 03
        SubClass: 00
        Protocol: 02
read:0040
left:002D
    Iface: 02
        Class: 03
        SubClass: 00
        Protocol: 01
    Iface: 03
        Class: 03
        SubClass: 00
        Protocol: 00
read:002D
left:0000
[gC]Ci read:0009
left:0000
Cl:006D
Ci ConfVal: 01
    Iface: 00
        Class: 03
        SubClass: 00
        Protocol: 01
[xE1]hidboot:EndpointXtract:iface: 00
hidboot:EndpointXtract:bNumEP: 01
[xE++]  Iface: 01
        Class: 03
        SubClass: 00
        Protocol: 02
read:0040
left:002D
    Iface: 02
        Class: 03
        SubClass: 00
        Protocol: 01
[xE1]hidboot:EndpointXtract:iface: 02
    Iface: 03
        Class: 03
        SubClass: 00
        Protocol: 00
read:002D
left:0000
bNumEP:02
Cnf:01
bootIf[]:00
bIfaceNum:00
bNumIface:00
Interface:00
skip SET_PROTOCOLSET_IDLE: 00
Ci read:0040
left:0040
read:0000
left:0040
RPIPE: 00
BM configured
Init:00
AttemptConfig2:00
Configuring:00
host.Task: 2342
usb_state: 90
speed: full
Co input 1: 00 00 07 00 00 00 00 00
00 00 07 00 00 00 00 00 
dinput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
input 1: 00 00 16 00 00 00 00 00
00 00 16 00 00 00 00 00 
sinput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
input 1: 00 00 04 00 00 00 00 00
00 00 04 00 00 00 00 00 
ainput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
usb_state: 12
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
Ci read:0012
left:0000
vid:3233
pid:6301
klass:00
subklass:00
AC1
AC2
A2 driver:00
BM Init
Ci read:0008
left:0000
Addr:01
Ci read:0012
left:0000
NC:01
bootIf[]:00
HID_PROTOCOL_KEYBOARD
[gC]Ci read:0009
left:0000
Cl:006D
Ci ConfVal: 01
    Iface: 00
        Class: 03
        SubClass: 00
        Protocol: 01
    Iface: 01
        Class: 03
        SubClass: 00
        Protocol: 02
read:0040
left:002D
    Iface: 02
        Class: 03
        SubClass: 00
        Protocol: 01
    Iface: 03
        Class: 03
        SubClass: 00
        Protocol: 00
read:002D
left:0000
[gC]Ci read:0009
left:0000
Cl:006D
Ci ConfVal: 01
    Iface: 00
        Class: 03
        SubClass: 00
        Protocol: 01
[xE1]hidboot:EndpointXtract:iface: 00
hidboot:EndpointXtract:bNumEP: 01
[xE++]  Iface: 01
        Class: 03
        SubClass: 00
        Protocol: 02
read:0040
left:002D
    Iface: 02
        Class: 03
        SubClass: 00
        Protocol: 01
[xE1]hidboot:EndpointXtract:iface: 02
    Iface: 03
        Class: 03
        SubClass: 00
        Protocol: 00
read:002D
left:0000
bNumEP:02
Cnf:01
bootIf[]:00
bIfaceNum:00
bNumIface:00
Interface:00
skip SET_PROTOCOLSET_IDLE: 00
Ci read:0040
left:0040
read:0000
left:0040
RPIPE: 00
BM configured
Init:00
AttemptConfig2:00
Configuring:00
host.Task: 2340
usb_state: 90
speed: full
Co input 1: 00 00 04 00 00 00 00 00
00 00 04 00 00 00 00 00 
ainput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
input 1: 00 00 05 00 00 00 00 00
00 00 05 00 00 00 00 00 
binput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
input 1: 00 00 06 00 00 00 00 00
00 00 06 00 00 00 00 00 
cinput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
usb_state: 12
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
Ci read:0012
left:0000
vid:3233
pid:6301
klass:00
subklass:00
AC1
AC2
A2 driver:00
BM Init
Ci read:0008
left:0000
Addr:01
Ci read:0012
left:0000
NC:01
bootIf[]:00
HID_PROTOCOL_KEYBOARD
[gC]Ci read:0009
left:0000
Cl:006D
Ci ConfVal: 01
    Iface: 00
        Class: 03
        SubClass: 00
        Protocol: 01
    Iface: 01
        Class: 03
        SubClass: 00
        Protocol: 02
read:0040
left:002D
    Iface: 02
        Class: 03
        SubClass: 00
        Protocol: 01
    Iface: 03
        Class: 03
        SubClass: 00
        Protocol: 00
read:002D
left:0000
[gC]Ci read:0009
left:0000
Cl:006D
Ci ConfVal: 01
    Iface: 00
        Class: 03
        SubClass: 00
        Protocol: 01
[xE1]hidboot:EndpointXtract:iface: 00
hidboot:EndpointXtract:bNumEP: 01
[xE++]  Iface: 01
        Class: 03
        SubClass: 00
        Protocol: 02
read:0040
left:002D
    Iface: 02
        Class: 03
        SubClass: 00
        Protocol: 01
[xE1]hidboot:EndpointXtract:iface: 02
    Iface: 03
        Class: 03
        SubClass: 00
        Protocol: 00
read:002D
left:0000
bNumEP:02
Cnf:01
bootIf[]:00
bIfaceNum:00
bNumIface:00
Interface:00
skip SET_PROTOCOLSET_IDLE: 00
Ci read:0040
left:0040
read:0000
left:0040
RPIPE: 00
BM configured
Init:00
AttemptConfig2:00
Configuring:00
host.Task: 2339
usb_state: 90
speed: full
Co input 1: 00 00 14 00 00 00 00 00
00 00 14 00 00 00 00 00 
qinput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
input 1: 00 00 1A 00 00 00 00 00
00 00 1A 00 00 00 00 00 
winput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
input 1: 00 00 08 00 00 00 00 00
00 00 08 00 00 00 00 00 
einput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
input 1: 00 00 15 00 00 00 00 00
00 00 15 00 00 00 00 00 
rinput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
input 1: 00 00 17 00 00 00 00 00
00 00 17 00 00 00 00 00 
tinput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
input 1: 00 00 1C 00 00 00 00 00
00 00 1C 00 00 00 00 00 
yinput 1: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 
usb_state: 12