The software does not transition to idle mode sometimes #262

Open
opened 2026-02-23 07:30:53 +08:00 by xwin · 2 comments
xwin commented 2026-02-23 07:30:53 +08:00 (Migrated from github.com)

I am running the software on the waveshare RP-2350 Zero board with NeoPixel LED. The LED colors, as I understand them, are RED for the active mode, GREEN for the initialization mode, BLUE for the idle mode.
If the unit is just powered up it will transition to flashing BLUE color, very slowly pulsating the LED. However sometimes after authentication is completed, the device will never transition into the idle mode and continues flashing RED LED. It does not always happen and sometimes the device behaves as expected.
The waveshare board has RUN button which is effectively a reset button and after pressing that, the device reboots an will become idle after maybe 5-10 seconds.
I am not sure how to debug this, is there a way to expose a serial port in addition to the FIDO2 device interface?
I also tried the same version of software on Pico2W board but LED there does not work at all in a pre-built image so maybe it behaves just the same.

I am running the software on the waveshare RP-2350 Zero board with NeoPixel LED. The LED colors, as I understand them, are RED for the active mode, GREEN for the initialization mode, BLUE for the idle mode. If the unit is just powered up it will transition to flashing BLUE color, very slowly pulsating the LED. However sometimes after authentication is completed, the device will never transition into the idle mode and continues flashing RED LED. It does not always happen and sometimes the device behaves as expected. The waveshare board has RUN button which is effectively a reset button and after pressing that, the device reboots an will become idle after maybe 5-10 seconds. I am not sure how to debug this, is there a way to expose a serial port in addition to the FIDO2 device interface? I also tried the same version of software on Pico2W board but LED there does not work at all in a pre-built image so maybe it behaves just the same.
xwin commented 2026-03-02 10:35:45 +08:00 (Migrated from github.com)

I did some more investigating and it looks like the software does not handle usb power suspension transition without sending CTAPHID_INIT packet over USB. The software must handle usb suspend/resume transition and put the device into an idle state.

I did some more investigating and it looks like the software does not handle usb power suspension transition without sending CTAPHID_INIT packet over USB. The software must handle usb suspend/resume transition and put the device into an idle state.
polhenarejos commented 2026-03-02 16:33:25 +08:00 (Migrated from github.com)

The red light should never be displayed. It means the usb has not been mounted and therefore, it cannot be used. It doubtly will be resolved implementing unuseful tasks handling idle state. I think there’s a deeper problem beneath.

The red light should never be displayed. It means the usb has not been mounted and therefore, it cannot be used. It doubtly will be resolved implementing unuseful tasks handling idle state. I think there’s a deeper problem beneath.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/pico-fido#262