Hi,
I’ve updated today 2 of my Nitrokey 3 devices (NK3 mini + NK3A) from firmware version 1.7.0 to 1.7.1 via NitrokeyApp2 2.3.0.
The first one (mini) went smooth but the second one failed at 58% and is since that dead. From the application log I see at the bottom the following messages:
124221 DEBUG libusbsio.hidapi.dev HID device 123540642930272 writing[60]: 0x0200380099e81e1bf5f78041e9fd7336e2878ed703daef0b61d423bbe59ae6ac881ab693afd058f8e09bf8cf16a62077312122f4f94bb89651073d44
124222 DEBUG libusbsio.hidapi.dev HID device 123540642930272 wrote 60 bytes
124222 DEBUG spsdk.mboot.protocol.bulk_protocol OUT[60]: 02, 00, 38, 00, 26, E2, 43, C7, 8D, C7, 5B, D1, 3D, 70, FE, 1C, E6, 7A, 73, AD, A4, 65, EC, B6, 15, BC, A2, F1, 44, CC, 1C, FC, C3, 1E, 1B, AD, D7, E2, 97, 98, A3, 2F, 5E, F8, DE, 0D, 69, 18, 75, 0B, 79, 52, 25, 52, 23, 9E, EA, BD, 4C, 56
124223 DEBUG libusbsio.hidapi.dev HID device 123540642930272 writing[60]: 0x0200380026e243c78dc75bd13d70fe1ce67a73ada465ecb615bca2f144cc1cfcc31e1badd7e29798a32f5ef8de0d6918750b79522552239eeabd4c56
129305 DEBUG libusbsio.hidapi.dev HID device 123540642930272 wrote -1 bytes
129305 ERROR spsdk.mboot.mcuboot RX: SPSDK: Invalid size of written bytes has been detected: -1 != 60
131307 DEBUG libusbsio.hidapi.dev HID device 123540642930272 read[0]: None
131308 ERROR spsdk.utils.interfaces.device.usb_device Cannot read from HID device, error=0
131308 INFO spsdk.mboot.mcuboot Closing: identifier='usb', device=MCU HID GENERIC DEVICE (0x20A0, 0x42DD)path=b'/dev/hidraw6' sn=''
131308 DEBUG spsdk.utils.interfaces.device.usb_device Closing the Interface: MCU HID GENERIC DEVICE (0x20A0, 0x42DD)path=b'/dev/hidraw6' sn=''
131308 INFO libusbsio.hidapi.dev HID device 123540642930272 closed
131308 INFO nitrokeyapp.device_data Nitrokey 3 failed to update - Failed to perform firmware update
144401 INFO nitrokeyapp.update path: /dev/hidraw5
144402 WARNING pynitrokey.trussed.device No CTAPHID device at path /dev/hidraw5
Traceback (most recent call last):
File "pynitrokey/trussed/device.py", line 107, in open
File "fido2/hid/__init__.py", line 269, in open_device
File "fido2/hid/linux.py", line 55, in get_descriptor
FileNotFoundError: [Errno 2] No such file or directory: '/dev/hidraw5'
144405 INFO libusbsio HID enumeration[123540641401120]: initialized
144405 DEBUG libusbsio HID enumeration[123540641401120]: device #0: MCU HID GENERIC DEVICE
144405 INFO libusbsio HID enumeration[123540641401120]: finished, total 1 devices
144405 WARNING pynitrokey.trussed.bootloader.lpc55 No HID device at /dev/hidraw5
144413 INFO nitrokeyapp.device_data Nitrokey 3 failed to update - Failed to open Nitrokey 3 device at /dev/hidraw5
153411 INFO nitrokeyapp.gui device removed event
153412 INFO libusbsio HID enumeration[45439344]: initialized
153412 INFO libusbsio HID enumeration[45439344]: finished, total 0 devices
153420 INFO nitrokeyapp.gui nk3 disconnected: [<nitrokeyapp.device_data.DeviceData object at 0x705c5fbdfc70>]
153421 INFO nitrokeyapp.gui device removed event
153422 INFO libusbsio HID enumeration[45879648]: initialized
153422 INFO libusbsio HID enumeration[45879648]: finished, total 0 devices
153429 INFO nitrokeyapp.gui failed removing device
Anyone having a similar issue and is there any option to unbrick the device? When I insert the device, it’s not recognized by the Linux system I’m running. I did carefully open the case but there seems no button to boot into some bootloader or something.
Unfortunately this is the 2nd time one of my NK3 devices didn’t survive a firmware update and I’m getting the impression either I’m extremely pursued by misfortune or the devices are rather fragile.