Nitrokey 3A NFC | Firmware Update (1.2.2 -> 1.5.0) bricht ab

Hallo,

den Stick hatte ich vor einiger Zeit über Python Kommandozeile auf Firmware v1.2.2 aktualisiert. Nun scheitert das Update mit einem Fehler. Ausprobiert bisher:

  • alles mit pipx aktualisiert, administrative Kommandozeile, vorgegangen wie in der Dokumentation beschrieben
  • nitropy neu installiert
  • aktuelle Nitrokey App 2 heruntergeladen und ausgeführt. Meldung nach Berühren des Stick nach Aufforderung, der Stick sei entfernt worden
  • beides jeweils auf zwei unterschiedlichen PCs durchgeführt, auf beiden das selbe Ergebnis.
380        INFO pynitrokey.cli Timestamp: 2023-08-14 01:10:26.400551
380        INFO pynitrokey.cli OS: uname_result(system='Windows', node='LT01', release='10', version='10.0.22621', machine='AMD64')
380        INFO pynitrokey.cli Python version: 3.9.13
380        INFO pynitrokey.cli Cli arguments: ['nk3', 'update']
385        INFO pynitrokey.cli pynitrokey version: 0.4.39
387        INFO pynitrokey.cli cryptography version: 39.0.2
391        INFO pynitrokey.cli ecdsa version: 0.18.0
393        INFO pynitrokey.cli fido2 version: 1.1.2
396        INFO pynitrokey.cli pyusb version: 1.2.1
399        INFO pynitrokey.cli spsdk version: 1.10.1
797        INFO  libusbsio Loading SIO library: C:\Program Files\Nitrokey\Nitropy\libusbsio\libusbsio.dll
851        INFO  libusbsio HID enumeration[2508159091696]: initialized
852       DEBUG  libusbsio HID enumeration[2508159091696]: device #0: ITE Device(8910)
853       DEBUG  libusbsio HID enumeration[2508159091696]: device #1: ITE Device(8910)
853       DEBUG  libusbsio HID enumeration[2508159091696]: device #2: ITE Device(8910)
853       DEBUG  libusbsio HID enumeration[2508159091696]: device #3: HIDI2C Device
853       DEBUG  libusbsio HID enumeration[2508159091696]: device #4: ITE Device(8910)
853       DEBUG  libusbsio HID enumeration[2508159091696]: device #5: HIDI2C Device
853       DEBUG  libusbsio HID enumeration[2508159091696]: device #6: HIDI2C Device
854       DEBUG  libusbsio HID enumeration[2508159091696]: device #7: HIDI2C Device
854       DEBUG  libusbsio HID enumeration[2508159091696]: device #8: ITE Device(8910)
854       DEBUG  libusbsio HID enumeration[2508159091696]: device #9: Nitrokey 3
854        INFO  libusbsio HID enumeration[2508159091696]: finished, total 10 devices
855       DEBUG pynitrokey.nk3.bootloader.nrf52 Skipping device 20a0:42b2 with ports ['COM4']
868        INFO pynitrokey.nk3.updates Firmware version before update: v1.2.2
871       DEBUG urllib3.connectionpool Starting new HTTPS connection (1): api.github.com:443
1143      DEBUG urllib3.connectionpool https://api.github.com:443 "GET /repos/Nitrokey/nitrokey-3-firmware/releases/latest HTTP/1.1" 200 None
1146       INFO pynitrokey.nk3.updates Latest firmware version: v1.5.0
1147       INFO pynitrokey.nk3.updates Current firmware version: v1.2.2
1147       INFO pynitrokey.nk3.updates Updated firmware version: v1.5.0
2936       INFO pynitrokey.nk3.updates Trying to download firmware update from URL: https://github.com/Nitrokey/nitrokey-3-firmware/releases/download/v1.5.0/firmware-nk3-v1.5.0.zip
2938      DEBUG urllib3.connectionpool Starting new HTTPS connection (1): github.com:443
3288      DEBUG urllib3.connectionpool https://github.com:443 "GET /Nitrokey/nitrokey-3-firmware/releases/download/v1.5.0/firmware-nk3-v1.5.0.zip HTTP/1.1" 302 0
3291      DEBUG urllib3.connectionpool Starting new HTTPS connection (1): objects.githubusercontent.com:443
3595      DEBUG urllib3.connectionpool https://objects.githubusercontent.com:443 "GET /github-production-release-asset-2e65be/366410832/a5d4a727-d5a9-4286-9021-490387debc48?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230813%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230813T231029Z&X-Amz-Expires=300&X-Amz-Signature=1a2cf064b3ec47b37303319d35ae61a882848933ccb4cce4d2720910f0925c78&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=366410832&response-content-disposition=attachment%3B%20filename%3Dfirmware-nk3-v1.5.0.zip&response-content-type=application%2Foctet-stream HTTP/1.1" 200 906155
3933      DEBUG       root print: Current firmware version:  v1.2.2
3933      DEBUG       root print: Updated firmware version:  v1.5.0
3933      DEBUG       root print: Please do not remove the Nitrokey 3 or insert any other Nitrokey 3 devices during the update. Doing so may damage the Nitrokey 3.
6277      DEBUG       root print: Please press the touch button to reboot the device into bootloader mode ...
9565      DEBUG pynitrokey.nk3.device.\\?\hid#vid_20a0&pid_42b2&mi_01#8&b0595f8&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} ignoring OSError after reboot
Traceback (most recent call last):
  File "pynitrokey\nk3\device.py", line 92, in reboot
  File "pynitrokey\nk3\device.py", line 133, in _call
  File "fido2\hid\__init__.py", line 191, in call
  File "fido2\hid\windows.py", line 230, in read_packet
OSError: [WinError 1167] Das Gerät ist nicht angeschlossen.
9567      DEBUG pynitrokey.nk3.updates Trying to connect to bootloader (try 1 of 3)
9567      DEBUG pynitrokey.cli.nk3 Searching Nitrokey 3 bootloader device (try 1 of 30)
9626       INFO  libusbsio HID enumeration[2508184090080]: initialized
9627      DEBUG  libusbsio HID enumeration[2508184090080]: device #0: ITE Device(8910)
9628      DEBUG  libusbsio HID enumeration[2508184090080]: device #1: ITE Device(8910)
9628      DEBUG  libusbsio HID enumeration[2508184090080]: device #2: ITE Device(8910)
9631      DEBUG  libusbsio HID enumeration[2508184090080]: device #3: HIDI2C Device
9631      DEBUG  libusbsio HID enumeration[2508184090080]: device #4: ITE Device(8910)
9631      DEBUG  libusbsio HID enumeration[2508184090080]: device #5: HIDI2C Device
9631      DEBUG  libusbsio HID enumeration[2508184090080]: device #6: HIDI2C Device
9631      DEBUG  libusbsio HID enumeration[2508184090080]: device #7: HIDI2C Device
9632      DEBUG  libusbsio HID enumeration[2508184090080]: device #8: ITE Device(8910)
9632       INFO  libusbsio HID enumeration[2508184090080]: finished, total 9 devices
9635      DEBUG pynitrokey.cli.nk3 No Nitrokey 3 bootloader device found, continuing
10138     DEBUG pynitrokey.cli.nk3 Searching Nitrokey 3 bootloader device (try 2 of 30)
10186      INFO  libusbsio HID enumeration[2508184089408]: initialized
10186     DEBUG  libusbsio HID enumeration[2508184089408]: device #0: ITE Device(8910)
10186     DEBUG  libusbsio HID enumeration[2508184089408]: device #1: ITE Device(8910)
10186     DEBUG  libusbsio HID enumeration[2508184089408]: device #2: ITE Device(8910)
10187     DEBUG  libusbsio HID enumeration[2508184089408]: device #3: HIDI2C Device
10187     DEBUG  libusbsio HID enumeration[2508184089408]: device #4: ITE Device(8910)
10187     DEBUG  libusbsio HID enumeration[2508184089408]: device #5: HIDI2C Device
10187     DEBUG  libusbsio HID enumeration[2508184089408]: device #6: HIDI2C Device
10187     DEBUG  libusbsio HID enumeration[2508184089408]: device #7: HIDI2C Device
10187     DEBUG  libusbsio HID enumeration[2508184089408]: device #8: ITE Device(8910)
10187     DEBUG  libusbsio HID enumeration[2508184089408]: device #9: USB COMPOSITE DEVICE
10187      INFO  libusbsio HID enumeration[2508184089408]: finished, total 10 devices
10190      INFO spsdk.mboot.mcuboot Connect: USB COMPOSITE DEVICE (0x20A0, 0x42DD) path=b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'
10190     DEBUG spsdk.mboot.interfaces.usb Open Interface
10190      INFO libusbsio.hidapi.dev Opening HID device at path: 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}''
10190     ERROR libusbsio.hidapi.dev HID device 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'' opening failed.
12004     DEBUG pynitrokey.nk3.updates Starting firmware update
12004      INFO spsdk.mboot.mcuboot CMD: ReceiveSBfile(data_length=456768)
12004      INFO spsdk.mboot.mcuboot CMD: GetProperty('MaxPacketSize', index=0)
12004     DEBUG spsdk.mboot.mcuboot TX-PACKET: Tag=GetProperty, Flags=0x00, P[0]=0x0000000B, P[1]=0x00000000
12004     DEBUG spsdk.mboot.interfaces.usb OUT[16]: 01, 00, 0C, 00, 07, 00, 00, 02, 0B, 00, 00, 00, 00, 00, 00, 00
12004    WARNING spsdk.mboot.mcuboot CMD: Unable to get MAX PACKET SIZE, using: 32
12004      INFO spsdk.mboot.mcuboot CMD: Max Packet Size = 32
12007     DEBUG spsdk.mboot.mcuboot TX-PACKET: Tag=ReceiveSBFile, Flags=0x01, P[0]=0x0006F840
12007     DEBUG spsdk.mboot.interfaces.usb OUT[12]: 01, 00, 08, 00, 08, 01, 00, 01, 40, F8, 06, 00
12007      INFO spsdk.mboot.mcuboot Closing: USB COMPOSITE DEVICE (0x20A0, 0x42DD) path=b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'
12007     DEBUG spsdk.mboot.interfaces.usb Close Interface
12007     DEBUG pynitrokey.nk3.updates Received connection error
Traceback (most recent call last):
  File "spsdk\mboot\interfaces\usb.py", line 220, in write
  File "libusbsio\libusbsio.py", line 1357, in wrapper
  File "libusbsio\libusbsio.py", line 1342, in _check_device_open
libusbsio.libusbsio.LIBUSBSIO_Exception: LIBUSBSIO: HID DEVICE is not open.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 362, in _perform_update
  File "pynitrokey\nk3\bootloader\lpc55.py", line 103, in update
  File "spsdk\mboot\mcuboot.py", line 664, in receive_sb_file
  File "spsdk\mboot\mcuboot.py", line 118, in _process_cmd
  File "spsdk\mboot\interfaces\usb.py", line 223, in write
spsdk.mboot.exceptions.McuBootConnectionError: MBoot: Connection issue -> LIBUSBSIO: HID DEVICE is not open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 340, in _get_bootloader
  File "pynitrokey\nk3\updates.py", line 215, in update
  File "pynitrokey\nk3\updates.py", line 364, in _perform_update
pynitrokey.cli.exceptions.CliException: Failed to perform firmware update
MBoot: Connection issue -> LIBUSBSIO: HID DEVICE is not open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "spsdk\mboot\interfaces\usb.py", line 176, in close
  File "libusbsio\libusbsio.py", line 1357, in wrapper
  File "libusbsio\libusbsio.py", line 1342, in _check_device_open
libusbsio.libusbsio.LIBUSBSIO_Exception: LIBUSBSIO: HID DEVICE is not open.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 341, in _get_bootloader
  File "pynitrokey\nk3\base.py", line 25, in __exit__
  File "pynitrokey\nk3\bootloader\lpc55.py", line 73, in close
  File "spsdk\mboot\mcuboot.py", line 287, in close
  File "spsdk\mboot\interfaces\usb.py", line 179, in close
spsdk.mboot.exceptions.McuBootConnectionError: MBoot: Connection issue -> Unable to close device 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'' VID=8352 PID=17117 SN=''
12508     DEBUG pynitrokey.nk3.updates Trying to connect to bootloader (try 2 of 3)
12508     DEBUG pynitrokey.cli.nk3 Searching Nitrokey 3 bootloader device (try 1 of 30)
12558      INFO  libusbsio HID enumeration[2508184120032]: initialized
12558     DEBUG  libusbsio HID enumeration[2508184120032]: device #0: ITE Device(8910)
12559     DEBUG  libusbsio HID enumeration[2508184120032]: device #1: ITE Device(8910)
12559     DEBUG  libusbsio HID enumeration[2508184120032]: device #2: ITE Device(8910)
12559     DEBUG  libusbsio HID enumeration[2508184120032]: device #3: HIDI2C Device
12559     DEBUG  libusbsio HID enumeration[2508184120032]: device #4: ITE Device(8910)
12559     DEBUG  libusbsio HID enumeration[2508184120032]: device #5: HIDI2C Device
12559     DEBUG  libusbsio HID enumeration[2508184120032]: device #6: HIDI2C Device
12559     DEBUG  libusbsio HID enumeration[2508184120032]: device #7: HIDI2C Device
12559     DEBUG  libusbsio HID enumeration[2508184120032]: device #8: ITE Device(8910)
12559     DEBUG  libusbsio HID enumeration[2508184120032]: device #9: USB COMPOSITE DEVICE
12560      INFO  libusbsio HID enumeration[2508184120032]: finished, total 10 devices
12561      INFO spsdk.mboot.mcuboot Connect: USB COMPOSITE DEVICE (0x20A0, 0x42DD) path=b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'
12561     DEBUG spsdk.mboot.interfaces.usb Open Interface
12561      INFO libusbsio.hidapi.dev Opening HID device at path: 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}''
12561     ERROR libusbsio.hidapi.dev HID device 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'' opening failed.
12562    WARNING pynitrokey.cli An unhandled exception occurred
Traceback (most recent call last):
  File "spsdk\mboot\interfaces\usb.py", line 220, in write
  File "libusbsio\libusbsio.py", line 1357, in wrapper
  File "libusbsio\libusbsio.py", line 1342, in _check_device_open
libusbsio.libusbsio.LIBUSBSIO_Exception: LIBUSBSIO: HID DEVICE is not open.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 362, in _perform_update
  File "pynitrokey\nk3\bootloader\lpc55.py", line 103, in update
  File "spsdk\mboot\mcuboot.py", line 664, in receive_sb_file
  File "spsdk\mboot\mcuboot.py", line 118, in _process_cmd
  File "spsdk\mboot\interfaces\usb.py", line 223, in write
spsdk.mboot.exceptions.McuBootConnectionError: MBoot: Connection issue -> LIBUSBSIO: HID DEVICE is not open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 340, in _get_bootloader
  File "pynitrokey\nk3\updates.py", line 215, in update
  File "pynitrokey\nk3\updates.py", line 364, in _perform_update
pynitrokey.cli.exceptions.CliException: Failed to perform firmware update
MBoot: Connection issue -> LIBUSBSIO: HID DEVICE is not open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pynitrokey\cli\__init__.py", line 130, in main
  File "click\core.py", line 1130, in __call__
  File "click\core.py", line 1055, in main
  File "click\core.py", line 1657, in invoke
  File "click\core.py", line 1657, in invoke
  File "click\core.py", line 1404, in invoke
  File "click\core.py", line 760, in invoke
  File "click\decorators.py", line 38, in new_func
  File "pynitrokey\cli\nk3\__init__.py", line 447, in update
  File "pynitrokey\cli\nk3\update.py", line 140, in update
  File "pynitrokey\nk3\updates.py", line 215, in update
  File "contextlib.py", line 169, in __exit__
RuntimeError: generator didn't stop after throw()
12563     DEBUG       root print: Critical error:
12563     DEBUG       root print: An unhandled exception occurred
12564     ERROR       root generator didn't stop after throw()
Traceback (most recent call last):
  File "spsdk\mboot\interfaces\usb.py", line 220, in write
  File "libusbsio\libusbsio.py", line 1357, in wrapper
  File "libusbsio\libusbsio.py", line 1342, in _check_device_open
libusbsio.libusbsio.LIBUSBSIO_Exception: LIBUSBSIO: HID DEVICE is not open.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 362, in _perform_update
  File "pynitrokey\nk3\bootloader\lpc55.py", line 103, in update
  File "spsdk\mboot\mcuboot.py", line 664, in receive_sb_file
  File "spsdk\mboot\mcuboot.py", line 118, in _process_cmd
  File "spsdk\mboot\interfaces\usb.py", line 223, in write
spsdk.mboot.exceptions.McuBootConnectionError: MBoot: Connection issue -> LIBUSBSIO: HID DEVICE is not open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 340, in _get_bootloader
  File "pynitrokey\nk3\updates.py", line 215, in update
  File "pynitrokey\nk3\updates.py", line 364, in _perform_update
pynitrokey.cli.exceptions.CliException: Failed to perform firmware update
MBoot: Connection issue -> LIBUSBSIO: HID DEVICE is not open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pynitrokey\cli\__init__.py", line 130, in main
  File "click\core.py", line 1130, in __call__
  File "click\core.py", line 1055, in main
  File "click\core.py", line 1657, in invoke
  File "click\core.py", line 1657, in invoke
  File "click\core.py", line 1404, in invoke
  File "click\core.py", line 760, in invoke
  File "click\decorators.py", line 38, in new_func
  File "pynitrokey\cli\nk3\__init__.py", line 447, in update
  File "pynitrokey\cli\nk3\update.py", line 140, in update
  File "pynitrokey\nk3\updates.py", line 215, in update
  File "contextlib.py", line 169, in __exit__
RuntimeError: generator didn't stop after throw()
12565     DEBUG       root listing all connected devices:
12566     DEBUG       root :: 'Nitrokey FIDO2' keys
12566     DEBUG       root :: 'Nitrokey Start' keys:
12588     DEBUG       root :: 'Nitrokey 3' keys
12638      INFO  libusbsio HID enumeration[2508184135008]: initialized
12638     DEBUG  libusbsio HID enumeration[2508184135008]: device #0: ITE Device(8910)
12638     DEBUG  libusbsio HID enumeration[2508184135008]: device #1: ITE Device(8910)
12638     DEBUG  libusbsio HID enumeration[2508184135008]: device #2: ITE Device(8910)
12638     DEBUG  libusbsio HID enumeration[2508184135008]: device #3: HIDI2C Device
12638     DEBUG  libusbsio HID enumeration[2508184135008]: device #4: ITE Device(8910)
12638     DEBUG  libusbsio HID enumeration[2508184135008]: device #5: HIDI2C Device
12638     DEBUG  libusbsio HID enumeration[2508184135008]: device #6: HIDI2C Device
12639     DEBUG  libusbsio HID enumeration[2508184135008]: device #7: HIDI2C Device
12639     DEBUG  libusbsio HID enumeration[2508184135008]: device #8: ITE Device(8910)
12639     DEBUG  libusbsio HID enumeration[2508184135008]: device #9: USB COMPOSITE DEVICE
12639      INFO  libusbsio HID enumeration[2508184135008]: finished, total 10 devices
12640      INFO spsdk.mboot.mcuboot Connect: USB COMPOSITE DEVICE (0x20A0, 0x42DD) path=b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'
12640     DEBUG spsdk.mboot.interfaces.usb Open Interface
12640      INFO libusbsio.hidapi.dev Opening HID device at path: 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}''
12640     ERROR libusbsio.hidapi.dev HID device 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'' opening failed.
12640      INFO spsdk.mboot.mcuboot CMD: GetProperty('UniqueDeviceIdent', index=0)
12641     DEBUG spsdk.mboot.mcuboot TX-PACKET: Tag=GetProperty, Flags=0x00, P[0]=0x00000012, P[1]=0x00000000
12641     DEBUG spsdk.mboot.interfaces.usb OUT[16]: 01, 00, 0C, 00, 07, 00, 00, 02, 12, 00, 00, 00, 00, 00, 00, 00
12641      INFO spsdk.mboot.mcuboot Closing: USB COMPOSITE DEVICE (0x20A0, 0x42DD) path=b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'
12641     DEBUG spsdk.mboot.interfaces.usb Close Interface
12641     DEBUG       root Unable to list devices. See log for the details.
12641     ERROR       root Unable to list devices
Traceback (most recent call last):
  File "spsdk\mboot\interfaces\usb.py", line 220, in write
  File "libusbsio\libusbsio.py", line 1357, in wrapper
  File "libusbsio\libusbsio.py", line 1342, in _check_device_open
libusbsio.libusbsio.LIBUSBSIO_Exception: LIBUSBSIO: HID DEVICE is not open.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 362, in _perform_update
  File "pynitrokey\nk3\bootloader\lpc55.py", line 103, in update
  File "spsdk\mboot\mcuboot.py", line 664, in receive_sb_file
  File "spsdk\mboot\mcuboot.py", line 118, in _process_cmd
  File "spsdk\mboot\interfaces\usb.py", line 223, in write
spsdk.mboot.exceptions.McuBootConnectionError: MBoot: Connection issue -> LIBUSBSIO: HID DEVICE is not open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 340, in _get_bootloader
  File "pynitrokey\nk3\updates.py", line 215, in update
  File "pynitrokey\nk3\updates.py", line 364, in _perform_update
pynitrokey.cli.exceptions.CliException: Failed to perform firmware update
MBoot: Connection issue -> LIBUSBSIO: HID DEVICE is not open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pynitrokey\cli\__init__.py", line 130, in main
  File "click\core.py", line 1130, in __call__
  File "click\core.py", line 1055, in main
  File "click\core.py", line 1657, in invoke
  File "click\core.py", line 1657, in invoke
  File "click\core.py", line 1404, in invoke
  File "click\core.py", line 760, in invoke
  File "click\decorators.py", line 38, in new_func
  File "pynitrokey\cli\nk3\__init__.py", line 447, in update
  File "pynitrokey\cli\nk3\update.py", line 140, in update
  File "pynitrokey\nk3\updates.py", line 215, in update
  File "contextlib.py", line 169, in __exit__
RuntimeError: generator didn't stop after throw()

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "spsdk\mboot\interfaces\usb.py", line 220, in write
  File "libusbsio\libusbsio.py", line 1357, in wrapper
  File "libusbsio\libusbsio.py", line 1342, in _check_device_open
libusbsio.libusbsio.LIBUSBSIO_Exception: LIBUSBSIO: HID DEVICE is not open.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "pynitrokey\cli\nk3\__init__.py", line 140, in list
  File "pynitrokey\nk3\bootloader\lpc55.py", line 85, in uuid
  File "spsdk\mboot\mcuboot.py", line 626, in get_property
  File "spsdk\mboot\mcuboot.py", line 118, in _process_cmd
  File "spsdk\mboot\interfaces\usb.py", line 223, in write
spsdk.mboot.exceptions.McuBootConnectionError: MBoot: Connection issue -> LIBUSBSIO: HID DEVICE is not open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "spsdk\mboot\interfaces\usb.py", line 176, in close
  File "libusbsio\libusbsio.py", line 1357, in wrapper
  File "libusbsio\libusbsio.py", line 1342, in _check_device_open
libusbsio.libusbsio.LIBUSBSIO_Exception: LIBUSBSIO: HID DEVICE is not open.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "pynitrokey\helpers.py", line 253, in local_critical
  File "pynitrokey\cli\__init__.py", line 114, in list
  File "pynitrokey\cli\__init__.py", line 107, in _list
  File "pynitrokey\cli\nk3\__init__.py", line 144, in list
  File "pynitrokey\nk3\base.py", line 25, in __exit__
  File "pynitrokey\nk3\bootloader\lpc55.py", line 73, in close
  File "spsdk\mboot\mcuboot.py", line 287, in close
  File "spsdk\mboot\interfaces\usb.py", line 179, in close
spsdk.mboot.exceptions.McuBootConnectionError: MBoot: Connection issue -> Unable to close device 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'' VID=8352 PID=17117 SN=''
12644     DEBUG       root print: --------------------------------------------------------------------------------
12644     DEBUG       root print: Critical error occurred, exiting now
12644     DEBUG       root print: Unexpected? Is this a bug? Would you like to get support/help?
12644     DEBUG       root print: - You can report issues at: https://support.nitrokey.com/
12644     DEBUG       root print: - Writing an e-mail to support@nitrokey.com is also possible
12645     DEBUG       root print: - Please attach the log: 'C:\Users\TMK\AppData\Local\Temp\nitropy.log.1qoqphyp' with any support/help request!
12645     DEBUG       root print: --------------------------------------------------------------------------------
12645      INFO spsdk.mboot.mcuboot Closing: USB COMPOSITE DEVICE (0x20A0, 0x42DD) path=b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'
12645     DEBUG spsdk.mboot.interfaces.usb Close Interface
12645     DEBUG pynitrokey.nk3.updates Received connection error
Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 340, in _get_bootloader
GeneratorExit

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "spsdk\mboot\interfaces\usb.py", line 176, in close
  File "libusbsio\libusbsio.py", line 1357, in wrapper
  File "libusbsio\libusbsio.py", line 1342, in _check_device_open
libusbsio.libusbsio.LIBUSBSIO_Exception: LIBUSBSIO: HID DEVICE is not open.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "pynitrokey\nk3\updates.py", line 341, in _get_bootloader
  File "pynitrokey\nk3\base.py", line 25, in __exit__
  File "pynitrokey\nk3\bootloader\lpc55.py", line 73, in close
  File "spsdk\mboot\mcuboot.py", line 287, in close
  File "spsdk\mboot\interfaces\usb.py", line 179, in close
spsdk.mboot.exceptions.McuBootConnectionError: MBoot: Connection issue -> Unable to close device 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'' VID=8352 PID=17117 SN=''
13147     DEBUG pynitrokey.nk3.updates Trying to connect to bootloader (try 3 of 3)
13147     DEBUG pynitrokey.cli.nk3 Searching Nitrokey 3 bootloader device (try 1 of 30)
13198      INFO  libusbsio HID enumeration[2508184135824]: initialized
13198     DEBUG  libusbsio HID enumeration[2508184135824]: device #0: ITE Device(8910)
13198     DEBUG  libusbsio HID enumeration[2508184135824]: device #1: ITE Device(8910)
13199     DEBUG  libusbsio HID enumeration[2508184135824]: device #2: ITE Device(8910)
13199     DEBUG  libusbsio HID enumeration[2508184135824]: device #3: HIDI2C Device
13199     DEBUG  libusbsio HID enumeration[2508184135824]: device #4: ITE Device(8910)
13199     DEBUG  libusbsio HID enumeration[2508184135824]: device #5: HIDI2C Device
13199     DEBUG  libusbsio HID enumeration[2508184135824]: device #6: HIDI2C Device
13199     DEBUG  libusbsio HID enumeration[2508184135824]: device #7: HIDI2C Device
13199     DEBUG  libusbsio HID enumeration[2508184135824]: device #8: ITE Device(8910)
13199     DEBUG  libusbsio HID enumeration[2508184135824]: device #9: USB COMPOSITE DEVICE
13199      INFO  libusbsio HID enumeration[2508184135824]: finished, total 10 devices
13201      INFO spsdk.mboot.mcuboot Connect: USB COMPOSITE DEVICE (0x20A0, 0x42DD) path=b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'
13201     DEBUG spsdk.mboot.interfaces.usb Open Interface
13201      INFO libusbsio.hidapi.dev Opening HID device at path: 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}''
13201     ERROR libusbsio.hidapi.dev HID device 'b'\\\\?\\hid#vid_20a0&pid_42dd#7&f9eab9b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'' opening failed.

Ich würde den Stick updaten und wenn die Fehlermeldung kommt nochmal das Update triggern. Das hat bei mir geklappt.

Das hatte ich auch schon mehrmals hintereinander versucht, der Stick war immer erst nach neu einstecken wieder ansprechbar, wurde von pynitrokey/App 2 nicht mehr erkannt, bleibt wohl im Bootloader-Mode stecken.

In VirtualBox eine Ubuntu-VM (mit Gasterweiterungen) aufgesetzt und versucht das Binary für Linux der Nitrokey App 2 zu nutzen, bekam es nur nicht zum Laufen.

Irgendwann hatte ich pip, pipx und pynitrokey soweit. Das Update der Firmware auf 1.5.0 lief ohne Probleme durch, war nur etwas tricky weil der Stick im Bootloader Mode (NXP USB Composite Device [0300]) nochmal an die VM durchgereicht werden muss. Gibt am Ende nur einen Fehler, weil der Stick danach erst auch wieder an die VM durchgereicht werden muss.

Die selbe Firmware erneut flashen auf den bisherigen Rechnern (beide Ryzen 5000), egal ob mit der App2 oder per Kommandzeile, der Vorgang bricht nach wie vor mit derselben Meldung ab.
In Linux keine Probleme, erneut flashen funktioniert.

Auf meinem älteren Intel-Laptop (5. Gen, Win10) auch noch ausprobiert, flashen funktioniert unter Windows problemlos mit der App 2.