solokeys / solo2-cli

Solo 2 library and CLI in Rust
https://docs.rs/solo2
Apache License 2.0
173 stars 31 forks source link

USB-C key fails to update #115

Open hitzemann opened 8 months ago

hitzemann commented 8 months ago

I can update my USB-A key without issues, but I cannot update the USB-C key. However they arrived with totally different firmwares. USB-A was already on a 2: one, USB-C is still on 0: I also tried this on different machines using macOS and Windows 10.

~ » solo2 -V solo2 0.2.2

~ » solo2 ls Solo 2 24C0505B74AFCA5F9479D2AAE5968B16 (CTAP+PCSC, firmware 0:20200101.0)

~ » RUST_BACKTRACE="1" solo2 update -y Downloading latest release from https://github.com/solokeys/solo2/ Fetched firmware version 2:20220822.0 (2.964.0) Tap button on key to confirm, or replug to abort... LPC55 Bootloader detected. The LED should be off. Writing new firmware... ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████░░ 307552/310672aborting thread 'main' panicked at /Users/simon/.cargo/registry/src/index.crates.io-6f17d22bba15001f/lpc55-0.2.1/src/bootloader/protocol.rs:299:29: unexpected status SbLoader(Signature) stack backtrace: 0: rust_begin_unwind at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:645:5 1: core::panicking::panic_fmt at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panicking.rs:72:14 2: lpc55::bootloader::protocol::Protocol::call_progress 3: lpc55::bootloader::Bootloader::receive_sb_file 4: solo2::device::Device::program 5: solo2::main note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.

~ » uname -a Darwin mba 23.2.0 Darwin Kernel Version 23.2.0: Wed Nov 15 21:53:34 PST 2023; root:xnu-10002.61.3~2/RELEASE_ARM64_T8103 arm64

~ » system_profiler SPUSBDataType USB:

USB 3.1 Bus:

  Host Controller Driver: AppleT8103USBXHCI

    Tester:

      Product ID: 0xb001
      Vendor ID: 0x1209
      Version: 3.c4
      Serial Number: 24C0505B74AFCA5F9479D2AAE5968B16
      Speed: Up to 12 Mb/s
      Manufacturer: SoloKeys Tester
      Location ID: 0x01100000 / 1
      Current Available (mA): 500
      Current Required (mA): 100
      Extra Operating Current (mA): 0

USB 3.1 Bus:

  Host Controller Driver: AppleT8103USBXHCI
JohnLGalt commented 8 months ago

It's not a hacker edition, is it?

hitzemann commented 8 months ago

It should not be. Both USB-A and USB-C were ordered as non-hacker edition.

But that's an interesting hint. A shows as Bus 001 Device 007: ID 1209:beee 1209 Solo 2 Security Key Serial: 5CE9DA5C86E5585FBBAF38468FC4A0F1 C shows as Bus 001 Device 008: ID 1209:b001 1209 Tester Serial: 24C0505B74AFCA5F9479D2AAE5968B16

Could it be a non-prod device?

JohnLGalt commented 8 months ago

Hmm. The fact that it says Tester does seem to indicate that. But I'm not associated with the company in any way, so you'd have to ask Connor Hayden.

Hayden is usually super quick to respond when sending email to the support channel, but it has been a long while since I contacted them, so YMMV.