The following command sequence fails with an error and seems to leave an attached NitroKey 3 in an unusable (bootloader) mode:
- OS and environment: Relatively clean linux system (Linux Mint 22.3)
- Successful pynitrokey installation via 'pipx install pynitrokey'
- Firmware download via 'nitropy nk3 fetch-update --version v1.8.3 .'
- Firmware verification via 'nitropy nk3 validate-update firmware-nk3-v1.8.3.zip' (this step is of course unnecessary but was the sole reason for this situation)
- Firmware installation of successfully downloaded firmware via command 'nitropy nk3 update --version v1.8.3 firmware-nk3-v1.8.3.zip'
Output for the last command:
nitropy nk3 update --version v1.8.3 firmware-nk3-v1.8.3.zip
Command line tool to interact with Nitrokey devices 0.12.3
Current firmware version: v1.8.1
Updated firmware version: v1.8.3
Please do not remove the device or insert any other Nitrokey devices during the update. Doing so may damage the device.
Do you want to perform the firmware update now? [y/N]: y
Please press the touch button to reboot the device into bootloader mode ...
Critical error:
An unhandled exception occurred
Exception encountered: SPSDKConnectionError()
--------------------------------------------------------------------------------
Critical error occurred, exiting now
Unexpected? Is this a bug? Would you like to get support/help?
- You can report issues at: https://support.nitrokey.com/
- Writing an e-mail to support@nitrokey.com is also possible
- Please attach the log: <---SNIP---> with any support/help request!
- Please check if you have udev rules installed: https://docs.nitrokey.com/nitrokeys/nitrokey3/firmware-update#troubleshooting-linux
Logfile:
nitropy-20260714T143229-l75mg7n4.log
The udev-rules have NOT been installed prior to the execution of the above command sequence.
The log file itself indicates that the problem appears to be an access issue with "/dev/hidraw[X]".
Although the access issue occurs even before the output shown above, the script cheerfully continues as if nothing had happened.
The necessary permissions should and MUST BE CHECKED BEFORE performing an operation!
Since the output of relevant information for a nk3 stick ('nitropy list') works without any problems, the script should probably check whether write access to the according HID devices actually exists at all before guiding the user through the remaining installation steps (which will fail anyway due to the lack of necessary write permissions) ...
Output for 'ls -al /dev/hidraw*':
crw------- 1 <----------- SNIP ----------> /dev/hidraw0
crw------- 1 <----------- SNIP ----------> /dev/hidraw1
crw------- 1 <----------- SNIP ----------> /dev/hidraw2
crw------- 1 root root 241, 4 Jul 14 14:32 /dev/hidraw4
The device remains in bootloader mode. An update is still possible when executing nitropy nk3 update --version <YourVersion> --ignore-warning update-from-bootloader your-firmware-nk3-v1.x.x.zip as root.
The following command sequence fails with an error and seems to leave an attached NitroKey 3 in an unusable (bootloader) mode:
Output for the last command:
Logfile:
nitropy-20260714T143229-l75mg7n4.log
The udev-rules have NOT been installed prior to the execution of the above command sequence.
The log file itself indicates that the problem appears to be an access issue with "/dev/hidraw[X]".
Although the access issue occurs even before the output shown above, the script cheerfully continues as if nothing had happened.
The necessary permissions should and MUST BE CHECKED BEFORE performing an operation!
Since the output of relevant information for a nk3 stick ('nitropy list') works without any problems, the script should probably check whether write access to the according HID devices actually exists at all before guiding the user through the remaining installation steps (which will fail anyway due to the lack of necessary write permissions) ...
Output for 'ls -al /dev/hidraw*':
The device remains in bootloader mode. An update is still possible when executing
nitropy nk3 update --version <YourVersion> --ignore-warning update-from-bootloader your-firmware-nk3-v1.x.x.zipas root.