Open rpn32 opened 1 year ago
Does setting USB_SUSPEND_WAKEUP_DELAY
to 200 or the like help?
@drashna, when I originally ran into this issue I tried USB_SUSPEND_WAKEUP_DELAY, SPLIT_USB_TIMEOUT, SPLIT_USB_TIMEOUT_POLL and SPLIT_WATCHDOG_TIMEOUT with various values but nothing helped.
Today I was able to recreate the same issue with version 0.22.10 of QMK. None of the above settings help, but I am still able to get it to work by adding a 16ms delay to USB_Init() in lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c.
@rpn32 have the same problem. can you, please, show how exactly do you implement a delay? i`m not in clang and googled solutions looks pretty ugly for me)
Describe the Bug
I have been using a custom split keyboard with Elite-C v4 (ATMega32U4) microcontrollers that communicate over serial using a USB-C cable.
With the latest QMK Firmware, the keyboard functions after flashing, but stops working after unplugging it from the computer and then plugging it back in.
Wireshark showed "GET DESCRIPTOR Response" failing with "Broken pipe (-EPIPE) (-32)" after the host sent a "GET DESCRIPTOR Request DEVICE" message.
I found that adding at least a 16ms delay to the USB_Init function in the LUFA USB drivers resolved the issue.
It seems as if QMK isn't finished setting up the device descriptor in memory by the time it is used in the get_usb_descriptor function of tmk_core, but I can't confirm it because I don't have a serial to usb adapter.
Keyboard Used
Custom Split Keyboard
Link to product page (if applicable)
No response
Operating System
Debian GNU/Linux 12 (bookworm)
qmk doctor Output
Is AutoHotKey / Karabiner installed
Other keyboard-related software installed
No response
Additional Context
No response