BitBoxSwiss / bitbox-wallet-app

The BitBoxApp for desktop and mobile.
https://bitbox.swiss/app
Apache License 2.0
255 stars 82 forks source link

Bug: Stuck at unlock for devices with old firmware #2192

Closed cstenglein closed 1 year ago

cstenglein commented 1 year ago

I got two old Bitbox02 devices laying around: a multi and a btc-only one.

Both can not be unlocked with the current app release. The devices say "See the BitBox App" while the App says "Unlock" and the Unlock sequence doesn't trigger.

The btc-only one had firmware 9.8.0 on it, which I managed to update to 9.11.0 with an older app version (9.11.0 now works with the current app).

The multi one didn't work with the older app version (4.33.0) so I tried 4.30.0 which also didn't work. Releases prior to 4.30.0 only show a white screen.

OS: Ubuntu 23.04

benma commented 1 year ago

I just tested v9.8.0 on BitBoxApp 4.38.0 on Ubuntu and it unlocks and upgrades fine :thinking: Since v9.8 and the current version, nothing notable changed related to the unlock process too, so it would be unexpected that it behaved differently in that step.

What version is the multi?

cstenglein commented 1 year ago

Attached you can find the logs. I replaced the deviceId with DEVICE_ID.

debug_log_bitbox.txt

Looks like it's 9.6.0 for the multi edition and the attestation throws an error.

laOtraNBA commented 1 year ago

I have a similar problem...I can unlock the device but after a couple of seconds, the device says "See the BitBox App" again and I can't do anything. I have noticed that if i wait some seconds, I can introduce the pin again and its works well.

Tested in BB02 firmware version 9.14.1 and BitboxApp version 4.38.0 over Windows.

benma commented 1 year ago

@laOtraNBA that sounds like a different issue altogether. What OS are you on?

laOtraNBA commented 1 year ago

I'm on Windows 11. The app doesn't work really well on that OS. It crashes a lot, I'm not even able to see the seed words...

I don't have any problem "opening" the BB02 with Sparrow when I need to sign a TX.

benma commented 1 year ago

@laOtraNBA do you have Citrix installed by any chance? We've had reports of Citrix interfering. Otherwise please send your log.txt and a detailed description of the issue(s) to support@bitbox.swiss. Thanks.

cstenglein commented 1 year ago

@benma Got the same issue when using a dev device (multi edition) with firmware v9.14.1:

log_dev_device.txt

laOtraNBA commented 1 year ago

@laOtraNBA do you have Citrix installed by any chance? We've had reports of Citrix interfering. Otherwise please send your log.txt and a detailed description of the issue(s) to support@bitbox.swiss. Thanks.

Sorry for the delay. I don't even know what is Citrix xD. I will send the log file to you, thanks.

laOtraNBA commented 1 year ago

@benma I have opened the App alone and it works properly but, if I open Sparrow at the same time and I try to see the seed words on the BB02, the App throws an error. If you need more detail I can provide it but I think that this can be a good starting point.

level=error msg="Received an error from when querying the BitBox02" device=bitbox02 error="USB command ID mismatch, 4278190080 != 3186143700 > github.com/digitalbitbox/bitbox02-api-go/communication/u2fhid.(Communication).readFrame > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/vendor/github.com/digitalbitbox/bitbox02-api-go/communication/u2fhid/u2fhid.go:158 > github.com/digitalbitbox/bitbox02-api-go/communication/u2fhid.(Communication).Query > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/vendor/github.com/digitalbitbox/bitbox02-api-go/communication/u2fhid/u2fhid.go:188 > github.com/digitalbitbox/bitbox02-api-go/api/firmware.(Device).rawQueryV7 > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/vendor/github.com/digitalbitbox/bitbox02-api-go/api/firmware/query.go:58 > github.com/digitalbitbox/bitbox02-api-go/api/firmware.(Device).rawQuery > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/vendor/github.com/digitalbitbox/bitbox02-api-go/api/firmware/query.go:108 > github.com/digitalbitbox/bitbox02-api-go/api/firmware.(Device).query > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/vendor/github.com/digitalbitbox/bitbox02-api-go/api/firmware/query.go:132 > github.com/digitalbitbox/bitbox02-api-go/api/firmware.(Device).DeviceInfo > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/vendor/github.com/digitalbitbox/bitbox02-api-go/api/firmware/system.go:57 > github.com/digitalbitbox/bitbox-wallet-app/backend/devices/bitbox02/handlers.(Handlers).getDeviceInfo > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/backend/devices/bitbox02/handlers/handlers.go:133 > github.com/digitalbitbox/bitbox-wallet-app/backend/handlers.NewHandlers.func3.1.1 > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/backend/handlers/handlers.go:177 > github.com/digitalbitbox/bitbox-wallet-app/backend/handlers.(Handlers).apiMiddleware.func1 > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/backend/handlers/handlers.go:998 > net/http.HandlerFunc.ServeHTTP > C:/Program Files/Go/src/net/http/server.go:2122 > github.com/digitalbitbox/bitbox-wallet-app/backend/handlers.ensureAPITokenValid.func1 > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/backend/handlers/handlers.go:977 > net/http.HandlerFunc.ServeHTTP > C:/Program Files/Go/src/net/http/server.go:2122 > github.com/gorilla/mux.(*Router).ServeHTTP > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/vendor/github.com/gorilla/mux/mux.go:210 > github.com/digitalbitbox/bitbox-wallet-app/backend/bridgecommon.BackendCall.func1 > C:/Users/marko/go/src/github.com/digitalbitbox/bitbox-wallet-app/backend/bridgecommon/bridgecommon.go:106 > runtime.goexit > C:/Program Files/Go/src/runtime/asm_amd64.s:1598" group=handlers

benma commented 1 year ago

@laOtraNBA indeed you can only have one app connected to the BitBox02 at once. Windows unfortunately does not allow opening a connection with exclusive access, unlike macOS and Linux.

benma commented 1 year ago

@cstenglein your log file says 'unknown error' :see_no_evil: does it happen repeatedly? Could the adapter/cable be defective? Try another USB port.

cstenglein commented 1 year ago

@benma I tried to use the BitBox directly on the Laptop, now it worked!

Looks like it's not the cable or the bitbox, but only one of my USB-C ports. If I use the other, it works.

Kinda weird, since it works with the other BitBoxes (always using the same port for that).

Thank you very much, closing the issue :)