Pico Commissioner Bug #118

Closed
opened 2025-03-14 17:49:38 +08:00 by kasumikira · 20 comments
kasumikira commented 2025-03-14 17:49:38 +08:00 (Migrated from github.com)

If I flash pico_fido_waveshare_rp2350_one-6.4-eddsa1.yubikey5.uf2 directly, everything works well. The pico key can be successfully recognized as Yubikey 5A.

Image
However, once I use Pico Commissioner to modify some of the settings, the pico key's uid and vid all become 0x0000

Image

I have tried webusb and webauthn both, but none works correctly. I guess it's pico commissioner's fault.

If I flash pico_fido_waveshare_rp2350_one-6.4-eddsa1.yubikey5.uf2 directly, everything works well. The pico key can be successfully recognized as Yubikey 5A. ![Image](https://github.com/user-attachments/assets/6df325b6-6ab9-4cbb-a6c1-0e0c28606926) However, once I use [Pico Commissioner](https://www.picokeys.com/pico-commissioner/) to modify some of the settings, the pico key's uid and vid all become 0x0000 ![Image](https://github.com/user-attachments/assets/b1c0b835-b101-4938-9d5e-d0a753b13b2b) I have tried webusb and webauthn both, but none works correctly. I guess it's pico commissioner's fault.
polhenarejos commented 2025-03-14 19:13:42 +08:00 (Migrated from github.com)

Where did you get pico_fido_waveshare_rp2350_one-6.4-eddsa1.yubikey5.uf2?

Where did you get `pico_fido_waveshare_rp2350_one-6.4-eddsa1.yubikey5.uf2`?
kasumikira commented 2025-03-14 19:46:35 +08:00 (Migrated from github.com)
https://www.picokeys.com/pico-patcher/
polhenarejos commented 2025-03-14 20:03:33 +08:00 (Migrated from github.com)

This is an obsolete tool not maintaned anymore. Try using a fresh install and commission it.

This is an obsolete tool not maintaned anymore. Try using a fresh install and commission it.
kasumikira commented 2025-03-14 20:06:51 +08:00 (Migrated from github.com)

I did try a fresh install, but it became even worse. No matter how I commission it, the vid and pid all stay at 0 while other options function well.

I did try a fresh install, but it became even worse. No matter how I commission it, the vid and pid all stay at 0 while other options function well.
polhenarejos commented 2025-03-14 20:08:13 +08:00 (Migrated from github.com)

Put a screenshot of the commission you are trying.

Put a screenshot of the commission you are trying.
kasumikira commented 2025-03-14 20:11:05 +08:00 (Migrated from github.com)

Image

![Image](https://github.com/user-attachments/assets/5323065f-1ba3-4203-93f4-567927ccd53f)
polhenarejos commented 2025-03-14 20:22:47 +08:00 (Migrated from github.com)

It's hard to reproduce.

Please open Developer Console of your browser and paste what getPhyData() returns.

It's hard to reproduce. Please open Developer Console of your browser and paste what `getPhyData()` returns.
kasumikira commented 2025-03-14 20:37:21 +08:00 (Migrated from github.com)
{
    "0": 0,
    "1": 16,
    "2": 80,
    "3": 4,
    "4": 7,
    "5": 5,
    "6": 1,
    "7": 8,
    "8": 15,
    "9": 6,
    "10": 0,
    "11": 2,
    "12": 10,
    "13": 0,
    "14": 0,
    "15": 0,
    "16": 0
}
```json { "0": 0, "1": 16, "2": 80, "3": 4, "4": 7, "5": 5, "6": 1, "7": 8, "8": 15, "9": 6, "10": 0, "11": 2, "12": 10, "13": 0, "14": 0, "15": 0, "16": 0 } ```
xmengnet commented 2025-03-14 20:47:56 +08:00 (Migrated from github.com)

same issue

Image

same issue ![Image](https://github.com/user-attachments/assets/37cd49c1-6082-4a8b-a904-7f7b419a6632)
xmengnet commented 2025-03-14 20:49:23 +08:00 (Migrated from github.com)

same issue 同样的问题

Image

{
"0": 0,
"1": 16,
"2": 80,
"3": 4,
"4": 7,
"5": 5,
"6": 5,
"7": 8,
"8": 15,
"9": 6,
"10": 0,
"11": 0,
"12": 10,
"13": 0,
"14": 0,
"15": 0,
"16": 0,
"17": 9,
"18": 121,
"19": 117,
"20": 98,
"21": 105,
"22": 99,
"23": 111,
"24": 32,
"25": 121,
"26": 117,
"27": 98,
"28": 105,
"29": 107,
"30": 101,
"31": 121,
"32": 0
}

> same issue 同样的问题 > > ![Image](https://github.com/user-attachments/assets/37cd49c1-6082-4a8b-a904-7f7b419a6632) { "0": 0, "1": 16, "2": 80, "3": 4, "4": 7, "5": 5, "6": 5, "7": 8, "8": 15, "9": 6, "10": 0, "11": 0, "12": 10, "13": 0, "14": 0, "15": 0, "16": 0, "17": 9, "18": 121, "19": 117, "20": 98, "21": 105, "22": 99, "23": 111, "24": 32, "25": 121, "26": 117, "27": 98, "28": 105, "29": 107, "30": 101, "31": 121, "32": 0 }
polhenarejos commented 2025-03-14 21:17:42 +08:00 (Migrated from github.com)

The data looks good. I do not know what is happening, whether is a fault of the browser or the board.

Which browser and version? OS?

The data looks good. I do not know what is happening, whether is a fault of the browser or the board. Which browser and version? OS?
kasumikira commented 2025-03-14 21:42:58 +08:00 (Migrated from github.com)

In fact, I find that the old version of pico commissioner works.

Image

Maybe a recent update broke the commissioner.

In fact, I find that the [old version](https://web.archive.org/web/20241230232822/https://www.picokeys.com/pico-commissioner/#expand) of pico commissioner works. ![Image](https://github.com/user-attachments/assets/3bb20fb4-d91c-4dd2-9f27-165e525256c2) Maybe a recent update broke the commissioner.
Raito00 commented 2025-03-14 21:43:33 +08:00 (Migrated from github.com)

Looks like i have the same problem with my Raspberry pico2.
I try with Windows - Chrome, Edge, Mozilla
also Arch Linux - Chrome

Looks like i have the same problem with my Raspberry pico2. I try with Windows - Chrome, Edge, Mozilla also Arch Linux - Chrome
polhenarejos commented 2025-03-14 23:33:47 +08:00 (Migrated from github.com)

I need to know exactly what you do:

  • Nuke the board
  • Install the firmware
  • Commission it (without a PIN)

Is that correct?

I need to know exactly what you do: - Nuke the board - Install the firmware - Commission it (without a PIN) Is that correct?
kasumikira commented 2025-03-15 00:04:30 +08:00 (Migrated from github.com)

Correct. I believe I didn't make a mistake. Also, I tried the old version from wayback machine(whose link was already given in my previous comment), and everything there function well through webauthn commission.

Correct. I believe I didn't make a mistake. Also, I tried the old version from wayback machine(whose link was already given in my previous comment), and everything there function well through webauthn commission.
polhenarejos commented 2025-03-15 01:48:22 +08:00 (Migrated from github.com)

It's strange because the differences are minimum, a couple of new options and nothing else. To me and other people work as is, I don't know why it doesn't to you.

It's strange because the differences are minimum, a couple of new options and nothing else. To me and other people work as is, I don't know why it doesn't to you.
kasumikira commented 2025-03-15 14:28:35 +08:00 (Migrated from github.com)

I finally locate the problem.
You have byteArray.push(PHY_ENABLED_CURVES, (curves >> 24) & 0xFF, (curves >> 16) & 0xFF, (curves >> 8) & 0xFF, curves & 0xFF); on you website (link), but there is no such option in your source code.
In fact, you committed the CURVE support 4 days ago (7191cda6d3) ,but the new version is not released. So, currently, we are using the "latest" firmware with a commissioner prepared for future release.
So, now you may comment out the code related in this link until you have released the new version. Also, you may consider adding a default branch to your switch block in order to make your code more robust.

I finally locate the problem. You have `byteArray.push(PHY_ENABLED_CURVES, (curves >> 24) & 0xFF, (curves >> 16) & 0xFF, (curves >> 8) & 0xFF, curves & 0xFF);` on you website ([link](https://www.picokeys.com/wp-content/cache/autoptimize/14/autoptimize_single_fab9c29b6b12a2325de34e849f56a3af.php)), but there is no such option in your source code. In fact, you committed the CURVE support 4 days ago (https://github.com/polhenarejos/pico-keys-sdk/commit/7191cda6d330ceb474769edbf56c80c598018082) ,but the new version is not released. So, currently, we are using the "latest" firmware with a commissioner prepared for future release. So, now you may comment out the code related in this [link](https://www.picokeys.com/wp-content/cache/autoptimize/14/autoptimize_single_fab9c29b6b12a2325de34e849f56a3af.php) until you have released the new version. Also, you may consider adding a `default` branch to your `switch` block in order to make your code more robust.
polhenarejos commented 2025-03-15 17:58:36 +08:00 (Migrated from github.com)

You are right. However adding a default is not the solution because it doesn’t know the length of an unknown field. I have refactor de code to migrate to TLV support, which will break the backwards compatibility.

You are right. However adding a default is not the solution because it doesn’t know the length of an unknown field. I have refactor de code to migrate to TLV support, which will break the backwards compatibility.
arkistokauppinen commented 2025-03-28 17:28:23 +08:00 (Migrated from github.com)

I have the same bug with Waveshare rp2040/2350 zero and EPS32-S3-Zero boards. PID and VID go to 0000:0000 when I try to use Pico Commissioner. Doesn't matter if it was Edge or Chrome. Same problem with WIndows 10, Windows 11 and Debian linux.

I once got a github development version of rp2040 to work, but that's an exception. None of that works on the website versions. (The ESP32-S3 Development version appears as a faulty USB device.)

I have the same bug with Waveshare rp2040/2350 zero and EPS32-S3-Zero boards. PID and VID go to 0000:0000 when I try to use Pico Commissioner. Doesn't matter if it was Edge or Chrome. Same problem with WIndows 10, Windows 11 and Debian linux. I once got a github development version of rp2040 to work, but that's an exception. None of that works on the website versions. (The ESP32-S3 Development version appears as a faulty USB device.)
polhenarejos commented 2025-03-28 17:29:47 +08:00 (Migrated from github.com)

It should work with nightly development build. Did you try it?

It should work with nightly development build. Did you try it?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/pico-fido#118