pico fido 6.6 uf2 with yubikey 5 patch (waveshare rp2040 one) doesnot display passkeys on yubico authenticator app for android #172
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What works -
Accounts for TOTP work
What doesnt work
Passkeys section display Insert your yuikey
Any unexpected behaviour ?
Yes, Serial key on yubico authenticator windows 11 is different then on android
Logs from yubico authenticator android
Try changing Product Name to “Yubico Yubikey”.
Already changed product name encountering error even after changing name to
Yubico Yubikey
On Fri, 11 Jul, 2025, 7:36 pm Pol Henarejos, @.***>
wrote:
The failing command is GET VERSION. I bet there’s a supported curve at Pico Fido that is not recognized by the host, probably due to an old library version. Try upgrading fido library. It’hs hard to tell you what is exactly failing because the message is just “integer error”.
can you try it on android phone via otg ?
I did this setup, and it worked for me.
I build a debug version app to get not obfuscated log.
And dumped the data in
Cbor.decodeby frida.cbor.zip
Hope this can help you figure out what is the problem.
The problem is yubico's library doesn't support uint64
d295da3055/fido/src/main/java/com/yubico/yubikit/fido/Cbor.java (L223-L238)Temporarily fix method
Change 15 to 14
db679e4143/src/fido/cbor_get_info.c (L30)Comment these lines
db679e4143/src/fido/cbor_get_info.c (L154-L158)Really strange. I’ve been using yubico library without problems in PC/mac. Btw, there are other uint64 in other fields. You just commented VENDOR commands, which might be unsupported by this version if it’s really old.
ykman library support uint64 unpack but android's skip it, nice.
ed072c1b4f/fido2/cbor.py (L102-L113)From the spec:
So, it seems the app doesn't follow the spec.
Besides this, this app has been discontinued in favour of https://github.com/Yubico/yubioath-flutter
Could you check if it still happens with flutter?
Yes, all I talking about is flutter app, it use yubikit-android library.
f2af8092fb/android/build.gradleCan you confirm you are using version 7.2.3?
https://youtu.be/XS5c2NEbWik
I tested with Android 9 and
44c5ad4fixes this behavior.Tomorrow will be available in the nightly development build.
The nightly dev's build fix
uint64problem, but it has another issue.When I first plug in picokey (or press reset btn) and enter into
Passkeysmenu, it will not showing enter PIN textbox.It's likely
ctap_reqbuffer doesn't contain the data which sent from android app. Maybe not yet received whole data?113e720fca/src/usb/hid/hid.c (L342-L345)I cannot reproduce it in my Android 9.
The strange thing is that this log should fail before the previous GET INFO. In your previous post, you pasted a working log:
The changes I pushed are not related with this HID part. Sometimes, when CCID is claimed before HID, some things like this might happen randomly, probably due to a problem with the switch between CCID and HID interfaces; but I coulnd't find a reliable way to reproduce it. Usually, it disappears with a board reboot.
It's weird, I have this issue on my
OnePlus 7Tbut my brother'sOnePlus 12Rdoesn't.And I noticed
ctap_reqhas contains all zero at this situation, by adding this code afterdriver_init_hidcan solve it.