Open tlaurion opened 2 years ago
Hi!
Edit:
Thanks! You're right, only 0.11+ were upgraded, 0.10 device is a Librem Key. Edited OP.
Right as well for user report, was 0.13.
I would correct flashing references to clarify this as well. 0.11 software upgradeable would help redirection support. Also note that RPI can be used as flasher and should also be referenced (why have multiple flashers if RPI can be used and is handy for multiple purposes for a lot of users.)
Note on current instructions.
Debian-11 based appvm under Qubes OS.
sudo apt install python3-pip
can be installed with volatilility under a qube (will not persist reboot)pip3 install --user pynitrokey
installs pynitrokey in user (private volume) and persists reboot.nitropy pro enable-update
, disconnects device from qube (not same ID).nitropy pro update nitrokey-pro-firmware-v0.14-to_update.bin
not successful, complaining "Cannot connect to the device: Bus 001 Device 003: ID 20a0:42b4"curl https://raw.githubusercontent.com/Nitrokey/libnitrokey/master/data/41-nitrokey.rules | sudo tee /usr/lib/udev/rules.d/41-nitrokey.rules
sudo udevadm control --reload-rules; sudo udevadm trigger
as said on console from nitropy pro update
was not successful, and would require the udev rules download, reload and trigger calls to be followed by a prompt asking the user to physically unplug and replug dongle and redo the steps above from "Pass dongle to qube" to "nitropy pro update nitrokey-pro-firmware-v0.14-to_update.bin".@szszszsz that was my successful experience upgrading 0.11 dongles to 0.14, hope this finds a way into the documentation somehow.
Notes:
@szszszsz
Hello there,
Physical flashing documentation specifies roughly https://github.com/Nitrokey/nitrokey-pro-firmware#flashing
"This approach requires soldering wires to the contact pads or to use an adapter with pogo pins and some kind of mounting (recommended)."
Any picture or more specifics to share?
@tlaurion Hi! I do not think we ended up with the proper mounting for the development, but will pass the question further and get back if there would be anything of use. We do have pogo pins on a header for the production purposes, though its not public. You can see it in action here:
About the actual soldering via contact pads for the SWD connection, the details are just below:
@tlaurion Attaching image of the pogo pin adapter below (centered on the actual pins connecting to the PCB):
Edit:
Conclusion: Nitrokey Pro v2 can be upgraded from nitropy (software based firmware upgrades) if dongle is at least having firmware 0.11+
For <0.11: user will need to go the currently documented routes under firmware upgrade guide with external programmer.
SWD programmer can be a RPI :) https://nosmd.com/raspberrypi-swdprogrammer/#rpiprogrammer-target
Hello there.
A user reported a Nitrokey Pro delivery delayed of 6 weeks. He decided to not trust received dongle and reflash it with newer firmware through dfu external programmer, which at the time was 0.14 RC4, which had GPIO mapping inversed, which led to issue https://github.com/osresearch/heads/issues/1170 being opened.The user bought programmer and went the manual way since it was unclear that a software method was available.
I was able to upgrade with that tool from Nitrokey's firmware:
But for some reason, attempting to upgrade 0.9 was not possible. I got firware version from heads through
hotp_verification info
0.10 and 0.11 firmware version behaves the following way:
nitropy pro enable-update
triggers an internal reboot of the dongle, and the ID is different on next boot and rightfully in update mode.nitropy pro update nitrokey-pro-firmware-v0.14-to_update.bin
is successful.0n 0.9 connected dongle:
nitropy pro enable-update
reports success putting dongle in update mode, but the dongle doesn't reboot in update mode. The stays attached to affected qubes where tools are installed.nitropy pro update nitrokey-pro-firmware-v0.14-to_update.bin
cannot find dongle in update mode and suggests to run precedent command, which has no effect.sudo udevadm trigger
doesn't detect a change in device, while runningnitropy pro enable-update
confirms device was not in update mode, and reports success into putting it in update mode.Questions needing answers:
Some unrelated issues here: