OTP not work on ESP32S3 #130

Closed
opened 2025-03-24 10:34:59 +08:00 by wbchn · 14 comments
wbchn commented 2025-03-24 10:34:59 +08:00 (Migrated from github.com)

After flashed v6.4 on ESP32S3(SuperMini), plugin in MacOS(15.3), passed in webauthn.

But I fount the key not work good on OTP: setup Yubico OTP on slot 1, Static password on slot2, but i none work when i touch the boot button, neither the OTP nor the Static Password was typed into the active text input box.

Is there anything wrong with ESP32S3?

More information:

$ ykman info
Device type: YubiKey 5A
...
Enabled USB interfaces: OTP, FIDO, CCID

Applications
Yubico OTP  	Enabled
FIDO U2F    	Enabled
FIDO2       	Enabled
OATH        	Enabled
PIV         	Not available
OpenPGP     	Not available
YubiHSM Auth	Not available

$ ykman otp chalresp --generate 1
Using a randomly generated key (hex): 92c632ca6af7f3b5f33eb6f986f01f01907aad90
Program a challenge-response credential in slot 1? [y/N]: y
challenge-response credential stored in slot 1.
$ ykman otp static --generate 2 --length 38
Slot 2 is already configured. Overwrite configuration? [y/N]: y
Static password stored in slot 2.

$ ykman otp info
Slot 1: programmed
Slot 2: programmed

Wrong message with ykman otp calculate:

$ ykman otp calculate -T 1
ERROR: The connection type required for this command is not supported/enabled on the YubiKey.
After flashed v6.4 on ESP32S3(SuperMini), plugin in MacOS(15.3), passed in webauthn. But I fount the key not work good on OTP: setup `Yubico OTP` on slot 1, `Static password` on slot2, but i none work when i touch the boot button, neither the OTP nor the Static Password was typed into the active text input box. Is there anything wrong with ESP32S3? More information: ``` $ ykman info Device type: YubiKey 5A ... Enabled USB interfaces: OTP, FIDO, CCID Applications Yubico OTP Enabled FIDO U2F Enabled FIDO2 Enabled OATH Enabled PIV Not available OpenPGP Not available YubiHSM Auth Not available $ ykman otp chalresp --generate 1 Using a randomly generated key (hex): 92c632ca6af7f3b5f33eb6f986f01f01907aad90 Program a challenge-response credential in slot 1? [y/N]: y challenge-response credential stored in slot 1. $ ykman otp static --generate 2 --length 38 Slot 2 is already configured. Overwrite configuration? [y/N]: y Static password stored in slot 2. $ ykman otp info Slot 1: programmed Slot 2: programmed ``` Wrong message with `ykman otp calculate`: ``` $ ykman otp calculate -T 1 ERROR: The connection type required for this command is not supported/enabled on the YubiKey. ```
polhenarejos commented 2025-03-25 07:01:21 +08:00 (Migrated from github.com)

Paste the output of lsusb -v -d 1050:

Paste the output of `lsusb -v -d 1050:`
wbchn commented 2025-03-25 12:45:14 +08:00 (Migrated from github.com)

Since the Pico Commissioner not working now, I used command python3 pico-fido-tool.py -p $PIN phy vidpid 1050:0407 to update pid vid.

Here is the output on my MacOS:

    USB 3.1 Bus:

      Host Controller Driver: AppleEmbeddedUSBXHCIASMedia3142
      PCI Device ID: 0x2142
      PCI Revision ID: 0x0000
      PCI Vendor ID: 0x1b21

        Yubico Yubikey:

          Product ID: 0x0407
          Vendor ID: 0x1050
          Version: 7.00
          Serial Number: 341C1D97BACC0000
          Speed: Up to 12 Mb/s
          Manufacturer: Pol Henarejos
          Location ID: 0x02400000 / 1
          Current Available (mA): 500
          Current Required (mA): 2
          Extra Operating Current (mA): 0

that's different on Linux:

Bus 001 Device 079: ID 1050:0407 Yubico.com Yubikey 4/5 OTP+U2F+CCID
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 [unknown]
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x1050 Yubico.com
  idProduct          0x0407 Yubikey 4/5 OTP+U2F+CCID
  bcdDevice            7.00
  iManufacturer           1 Pol Henarejos
  iProduct                2 Yubico Yubikey
  iSerial                 3 341C1D97BACC0000
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x00db
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          4 Yubico Yubikey Config
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0
      iInterface              5 Yubico Yubikey HID Interface
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      34
          Report Descriptors:
            ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval              10
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0
      iInterface              6 Yubico Yubikey HID Keyboard Int
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      83
          Report Descriptors:
            ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               5
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        11 Chip/SmartCard
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0
      iInterface              7 Yubico Yubikey CCID OTP FIDO In
      ChipCard Interface Descriptor:
        bLength                54
        bDescriptorType        33
        bcdCCID              1.10  (Warning: Only accurate for version 1.0)
        nMaxSlotIndex           0
        bVoltageSupport         1  5.0V
        dwProtocols             3  T=0 T=1
        dwDefaultClock       3580
        dwMaxiumumClock      3580
        bNumClockSupported      0
        dwDataRate           9600 bps
        dwMaxDataRate        9600 bps
        bNumDataRatesSupp.      0
        dwMaxIFSD             254
        dwSyncProtocols  00000000
        dwMechanical     00000000
        dwFeatures       00040840
          Auto parameter negotiation made by CCID
          Short and extended APDU level exchange
        dwMaxCCIDMsgLen      2048
        bClassGetResponse    echo
        bClassEnvelope       echo
        wlcdLayout           none
        bPINSupport             0
        bMaxCCIDBusySlots       1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0
      iInterface              8 (error)
      ** UNRECOGNIZED:  35 21 10 01 00 01 03 00 00 00 fc 0d 00 00 fc 0d 00 00 00 80 25 00 00 80 25 00 00 00 fe 00 00 00 00 00 00 00 00 00 00 00 40 08 04 00 00 08 00 00 ff ff 00 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)
Since the Pico Commissioner not working now, I used command `python3 pico-fido-tool.py -p $PIN phy vidpid 1050:0407` to update pid vid. Here is the output on my MacOS: ``` USB 3.1 Bus: Host Controller Driver: AppleEmbeddedUSBXHCIASMedia3142 PCI Device ID: 0x2142 PCI Revision ID: 0x0000 PCI Vendor ID: 0x1b21 Yubico Yubikey: Product ID: 0x0407 Vendor ID: 0x1050 Version: 7.00 Serial Number: 341C1D97BACC0000 Speed: Up to 12 Mb/s Manufacturer: Pol Henarejos Location ID: 0x02400000 / 1 Current Available (mA): 500 Current Required (mA): 2 Extra Operating Current (mA): 0 ``` that's different on Linux: ``` Bus 001 Device 079: ID 1050:0407 Yubico.com Yubikey 4/5 OTP+U2F+CCID Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 [unknown] bDeviceSubClass 0 [unknown] bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1050 Yubico.com idProduct 0x0407 Yubikey 4/5 OTP+U2F+CCID bcdDevice 7.00 iManufacturer 1 Pol Henarejos iProduct 2 Yubico Yubikey iSerial 3 341C1D97BACC0000 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x00db bNumInterfaces 4 bConfigurationValue 1 iConfiguration 4 Yubico Yubikey Config bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 2mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 iInterface 5 Yubico Yubikey HID Interface HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 34 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 10 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 iInterface 6 Yubico Yubikey HID Keyboard Int HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 83 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 5 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 11 Chip/SmartCard bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 iInterface 7 Yubico Yubikey CCID OTP FIDO In ChipCard Interface Descriptor: bLength 54 bDescriptorType 33 bcdCCID 1.10 (Warning: Only accurate for version 1.0) nMaxSlotIndex 0 bVoltageSupport 1 5.0V dwProtocols 3 T=0 T=1 dwDefaultClock 3580 dwMaxiumumClock 3580 bNumClockSupported 0 dwDataRate 9600 bps dwMaxDataRate 9600 bps bNumDataRatesSupp. 0 dwMaxIFSD 254 dwSyncProtocols 00000000 dwMechanical 00000000 dwFeatures 00040840 Auto parameter negotiation made by CCID Short and extended APDU level exchange dwMaxCCIDMsgLen 2048 bClassGetResponse echo bClassEnvelope echo wlcdLayout none bPINSupport 0 bMaxCCIDBusySlots 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 [unknown] bInterfaceProtocol 0 iInterface 8 (error) ** UNRECOGNIZED: 35 21 10 01 00 01 03 00 00 00 fc 0d 00 00 fc 0d 00 00 00 80 25 00 00 80 25 00 00 00 fe 00 00 00 00 00 00 00 00 00 00 00 40 08 04 00 00 08 00 00 ff ff 00 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Device Status: 0x0000 (Bus Powered) ```
wbchn commented 2025-03-25 12:49:57 +08:00 (Migrated from github.com)

The ykman otp works now:

ykman otp calculate -T 1
166195

In the active text inputbox, still has nothing typed(expect 44 otp characters) when i touch the key(short or long press):

Image
The ykman otp works now: ``` ykman otp calculate -T 1 166195 ``` In the active text inputbox, still has nothing typed(expect 44 otp characters) when i touch the key(short or long press): <img width="616" alt="Image" src="https://github.com/user-attachments/assets/63d4767b-c7d3-4326-966a-881b0d88fbae" />
polhenarejos commented 2025-03-31 06:33:11 +08:00 (Migrated from github.com)

Can you use the development version? Some fixes regarding OTP have been pushed there.

Can you use the development version? Some fixes regarding OTP have been pushed there.
wbchn commented 2025-03-31 16:05:53 +08:00 (Migrated from github.com)

Can you use the development version? Some fixes regarding OTP have been pushed there.

Thanks for your reply. The night development version still not working on my ESP32S3.

I tried in this way:

  1. There is no burn button on ESP32 Flasher online page
  2. I flashed with Nightly Development pico_fido_esp32-s3.bin (md5sum: 01e210580f19dad949d181f8ee496d55) with esptool
  3. Update vendor and product name on Pico Commissioner page
  4. The Passkeys works fine, but the OTP(slot 1) and Static password(slot2) still not work, nothing typed to secret key input box when i add account in Yubico Authenticator app.
> Can you use the development version? Some fixes regarding OTP have been pushed there. Thanks for your reply. The night development version still not working on my ESP32S3. I tried in this way: 1. There is no burn button on ESP32 Flasher online page 2. I flashed with [Nightly Development](https://github.com/polhenarejos/pico-fido/releases/tag/nightly-development) pico_fido_esp32-s3.bin (md5sum: 01e210580f19dad949d181f8ee496d55) with esptool 3. Update vendor and product name on Pico Commissioner page 4. The Passkeys works fine, but the OTP(slot 1) and Static password(slot2) still not work, nothing typed to secret key input box when i add account in Yubico Authenticator app.
polhenarejos commented 2025-03-31 16:11:59 +08:00 (Migrated from github.com)

I don't understand 4th step. You have to provide the secret key to the app, it will show nothing unless you introduce it.
Besides this, "Add Account" and OTP are different applets/protocols (YKOATH and Yubico OTP), they are not connected or linked at any level.

I don't understand 4th step. You have to provide the secret key to the app, it will show nothing unless you introduce it. Besides this, "Add Account" and OTP are different applets/protocols (YKOATH and Yubico OTP), they are not connected or linked at any level.
wbchn commented 2025-03-31 16:47:40 +08:00 (Migrated from github.com)

I just to find an activate input box, hope to get OTP when touched the key.

Also try to open a text editor instead of Add account dialog, no otp generated.

A Yubico OTP (one-time password) is a unique 44-character string that is generated by the YubiKey when it is touched
from: https://docs.yubico.com/yesdk/users-manual/application-otp/yubico-otp.html

I just to find an activate input box, hope to get OTP when touched the key. Also try to open a text editor instead of `Add account` dialog, no otp generated. > A Yubico OTP (one-time password) is a unique 44-character string that is generated by the YubiKey when it is touched > from: https://docs.yubico.com/yesdk/users-manual/application-otp/yubico-otp.html
polhenarejos commented 2025-03-31 18:17:05 +08:00 (Migrated from github.com)

You configure an OTP account and when you click on BOOTSEL once/twice it will write the password/totp/challenge whatever.

You configure an OTP account and when you click on BOOTSEL once/twice it will write the password/totp/challenge whatever.
wbchn commented 2025-03-31 21:17:45 +08:00 (Migrated from github.com)

Thank you for your response, and apologies for the confusion in my previous reply.

I had actually configured OTP(HTOP) earlier, before flashed development version:

$ ykman otp hotp 1
Enter a secret key (base32): IY2EEMBXxxxxx==
Program a HOTP credential in slot 1? [y/N]: y
HOTP credential stored in slot 1.

but when I press the button in the input field, I don’t see the expected 44-character string being generated.

Additionally, I’ve configured a Static Password in the long-press slot, but when I long-press the boot button in the input field, there is no password output either.

$ ykman otp static --generate 2 --length 38
Slot 2 is already configured. Overwrite configuration? [y/N]: y
Static password stored in slot 2.

I’m not sure if there’s something wrong with my configuration or if I’m using it incorrectly. Any advice would be appreciated!

Thank you for your response, and apologies for the confusion in my previous reply. I had actually configured OTP(HTOP) earlier, before flashed development version: ``` $ ykman otp hotp 1 Enter a secret key (base32): IY2EEMBXxxxxx== Program a HOTP credential in slot 1? [y/N]: y HOTP credential stored in slot 1. ``` but when I press the button in the input field, I don’t see the expected 44-character string being generated. Additionally, I’ve configured a Static Password in the long-press slot, but when I long-press the boot button in the input field, there is no password output either. ``` $ ykman otp static --generate 2 --length 38 Slot 2 is already configured. Overwrite configuration? [y/N]: y Static password stored in slot 2. ``` I’m not sure if there’s something wrong with my configuration or if I’m using it incorrectly. Any advice would be appreciated!
polhenarejos commented 2025-03-31 22:53:20 +08:00 (Migrated from github.com)
  1. HOTP is not Yubico OTP. See ykman otp yubiotp --help.
  2. Slot 2 is triggered by pressing twice instead of long press.
1. HOTP is not Yubico OTP. See `ykman otp yubiotp --help`. 2. Slot 2 is triggered by pressing twice instead of long press.
wbchn commented 2025-04-02 16:37:17 +08:00 (Migrated from github.com)

I programed these on slot 1, using press boot once on ESP32S3, none output.

  • Yubico OTP
  • Static password
  • OATH-HTOP
Image

Also tried programed on slot 2, press twice, none output.

I suspect the issue might be related to HID. I tried to dive into the code and found the implementation of otp_button_pressed, but unfortunately, I wasn’t sure how to properly debug it on the ESP32-S3, so I had to give up for now.

As a workaround, I bought an RP2050-Zero yesterday, and it seems to be working fine.

Thanks!

I programed these on slot 1, using press boot once on ESP32S3, none output. - Yubico OTP - Static password - OATH-HTOP <img width="316" alt="Image" src="https://github.com/user-attachments/assets/79ed879b-f6bf-433c-8f32-098ecf6dc150" /> Also tried programed on slot 2, press twice, none output. I suspect the issue might be related to HID. I tried to dive into the code and found the implementation of `otp_button_pressed`, but unfortunately, I wasn’t sure how to properly debug it on the ESP32-S3, so I had to give up for now. As a workaround, I bought an RP2050-Zero yesterday, and it seems to be working fine. Thanks!
wbchn commented 2025-04-02 16:44:06 +08:00 (Migrated from github.com)

By the way, I chose the ESP32-S3 because it supports capacitive touch. I was planning to modify the project to use a touch input instead of pressing the BOOT button.

When I tested with version 6.4, I found that if I initialized GPIO7 (other pins also worked) as a regular input, touching the pad could pull the pin low, which caused picok_board_button_read to return true. However, this behavior seems to have disappeared in the latest development branch.

Perhaps the RP2350 with TTP223(a touch pad detector IC) is a better fit after all.

By the way, I chose the ESP32-S3 because it supports capacitive touch. I was planning to modify the project to use a touch input instead of pressing the BOOT button. When I tested with version 6.4, I found that if I initialized GPIO7 (other pins also worked) as a regular input, touching the pad could pull the pin low, which caused picok_board_button_read to return true. However, this behavior seems to have disappeared in the latest development branch. Perhaps the RP2350 with TTP223(a touch pad detector IC) is a better fit after all.
wbchn commented 2025-04-05 10:25:58 +08:00 (Migrated from github.com)

@polhenarejos I used the development firmware on waveshare_rp2350_zero board, by short press and twice press, OTP and Static password output work fine.

@polhenarejos I used the development firmware on `waveshare_rp2350_zero` board, by short press and twice press, `OTP` and `Static password` output work fine.
wbchn commented 2025-04-19 22:11:48 +08:00 (Migrated from github.com)

Release v6.6 working fine on ESP32S3 now. Thanks @polhenarejos !

Release v6.6 working fine on ESP32S3 now. Thanks @polhenarejos !
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/pico-fido#130