Skip to content

UHK80 via USB gets stuck in disconnected state #1542

@pcooke9

Description

@pcooke9

FW v16.3.0-322c293 master branch
Bridge cable and both halves connected via USB to Windows 11 PC

The UHK80 stops communicating to host via USB and the OLED display says "Disconnected". Tapping layer switchers etc., shows that the UHK is still responding to keypresses, as the LEDs and OLED reflect the changes.

I'm not sure what causes it, but it's pretty rare and I don't know how to intentionally reproduce it. So far, it only seems to affect USB host connections. After it happens, connecting a dongle to the same PC works fine, but USB remains disconnected. And of course, Agent doesn't see the UHK either.

It seems to happen when I've been AFK for a while, but the PC is still on (not sleeping). I don't normally put the UHK80 in deep sleep mode, but rather occasionally use powerMode toggle lock (can't remember if it was locked when the disconnects happened).

I left it in the stuck disconnected state for several hours to see if anything changed, but nope. Using the reboot macro command allows the connection to reestablish.


The last time it got stuck in the disconnected state, I connected a UART adapter to see what I could find (unfortunately, not beforehand though🫤). I'll try to leave it connected to see if I can capture anything useful pre-disconnect next time.🤞

In this stuck disconnected state, the UHK turns off the lights and goes into LightSleep power mode (as expected when nothing is connected). UART output shows repeated <wrn> udc_nrf: USB Address incorrect 0x02 messages.

Tapping a layer switcher key enters Awake power mode and OLED displays USB: remote wakeup request failed: -1.

UART output when tapping layer switcher:

<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
USB: remote wakeup request failed: -1
Entered Awake power mode
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
Entered LightSleep power mode
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02

When tapping a normal alpha key, etc.:

<wrn> udc_nrf: USB Address incorrect 0x02
USB: remote wakeup request failed: -1
Entered Awake power mode
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
<wrn> UsbReports: Send failed: no connection selected: Socket is not connected

Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
<wrn> UsbReports: Send failed: no connection selected: Socket is not connected

<wrn> udc_nrf: USB Address incorrect 0x02

When tapping a mouse key or the touchpad:

<wrn> udc_nrf: USB Address incorrect 0x02
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
<wrn> UsbReports: Send failed: no connection selected: Connection reset by peer

Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
Can't send report - selected connection is not ready!
<wrn> UsbReports: Send failed: no connection selected: Connection reset by peer

<wrn> udc_nrf: USB Address incorrect 0x02

(I omitted a ton of Can't send report - selected connection is not ready! lines in that last one.)

Trying to use switchHost to select USB when it's in the disconnected state:

<wrn> udc_nrf: USB Address incorrect 0x02
<inf> Bt: BtManager: Scheduling scan/adv in 100ms. (HostConnection_Unselect)
<inf> Bt: BtManager: Start 'advertising' (0).
<inf> Bt: Adv: 'NUS' started
USB: remote wakeup request failed: -1
Entered Awake power mode
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
Selecting not ready host connection 1
<inf> Bt: BtManager: Scheduling scan/adv in 100ms. (ReserveConnections)
<inf> Conn: Host: 0(USB, Disconnected), Selected
<inf> Bt: BtManager: Start 'advertising' (0).
<inf> Bt: Adv: Selected connection is neither BLE HID nor NUS. Can't advertise!
<inf> Bt: Adv: Attempted to start advertising without any type! Ignoring.
<wrn> udc_nrf: USB Address incorrect 0x02

I've also seen a few of these, but don't know what was going on at the time:

<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> c2usb: CTRL EP 80 (stage 1) error: -113
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: USB Address incorrect 0x02
<wrn> udc_nrf: aborted IN ep 0x83
<err> c2usb: EP 83 error:-113
<wrn> udc_nrf: USB Address incorrect 0x02

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions