Patching VID/PID failed #14
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?
Since my build attempt failed (see other issue) I downloaded a prebuilt binary for a "pico". I then used https://www.picokeys.com/ to patch the firmware with some other VID/PID but when the board is connected the USB descriptor still identifies it as 0xFEFF:0xFCFD. The result is the same if I use patch_vidpid.sh. I guess needless to say but gpg does not recognize the key with the patched firmware.
I added a ZIP-file containing the original binary and the response
pico_openpgp_pico-2.0.zip
I compared both files in the zip and
yubikeyone has not FEFF:FCFD VID/PID and has Yubikey onesAre you sure you are flashing it correctly?
Yes I am sure, flashing is done with internal firmware i the nano-board which is mounted as a USB-disk in my file system:
olof@olof-HP-ProBook-6450b:
$ cd Downloads//Downloads$ ls *.uf2olof@olof-HP-ProBook-6450b:
pico_openpgp_pico-2.0.1050_0407.uf2 pico_openpgp_pico-2.0.yubikey5.uf2
pico_openpgp_pico-2.0.uf2
olof@olof-HP-ProBook-6450b:
/Downloads$ cp pico_openpgp_pico-2.0.yubikey5.uf2 /media/olof/RPI-RP2//Downloads$ sudo dmesgolof@olof-HP-ProBook-6450b:
...
[ 449.556247] usb 2-1.3: USB disconnect, device number 4
[ 453.320490] usb 2-1.3: new full-speed USB device number 5 using ehci-pci
[ 453.434736] usb 2-1.3: config 1 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 0, changing to 10
[ 453.435717] usb 2-1.3: New USB device found, idVendor=feff, idProduct=fcfd, bcdDevice= 5.00
[ 453.435726] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 453.435731] usb 2-1.3: Product: Pico Key
[ 453.435735] usb 2-1.3: Manufacturer: Pol Henarejos
[ 453.435738] usb 2-1.3: SerialNumber: E6616407E32C2227
Copy that output:
Hello! This is my first post on this repository, so first of all I would like to thank @polhenarejos for a nice project :)
I also have this issue, but it seems I have managed to at least locate the source of the problem:
-DUSB_VID=0x1050 -DUSB_PID=0x0407Hex diff between cases 1. and 2. shows that there is another instance of VID and PID in the binary, which is not handled by the patching script:
I am using Waveshare RP2040-One clone, so I am building with
-DPICO_BOARD=waveshare_rp2040_one.The reason why the patching script does not change VID/PID in this case is probably because this occurence does not conform to expected form (it is not followed by expected byte sequence).
Did you try using Pico Patcher from the web?
I did, the resulting uf2 file is identical to the one patched with the script. It seems like the whole issue is that the patch does not modify all occurrences of VID/PID in the binary.
PHY is overriding patching. It'll be corrected in next release.