Open johnnyasantoss opened 4 years ago
I think it's not in the bootloader mode. Please check that.
Oh :man_facepalming: That was the issue. Would be cool if the script could detect this and remind me to enter bootloader mode as the web version does.
I changed the title, this is a good first issue. We’re going to fix it.
I was checking the src code and saw that there's a check (which for now is ignoring the result from the called method) for that in this section https://github.com/solokeys/solo-python/blob/4f6a09c852967db99b288c6a75c5bfc9c82b14ee/solo/cli/update.py#L92-L97 and here https://github.com/solokeys/solo-python/blob/4f6a09c852967db99b288c6a75c5bfc9c82b14ee/solo/client.py#L258-L267 this specific error is being ignored.
Seems the same issue appears the other way round: when in bootloader mode there is no clear message why solo key version
fails (led to me trying to debug solo-python while nothing was wrong)
% solo key version
Not using FIDO2 interface.
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/solo/client.py", line 193, in solo_version
return self.send_data_hid(0x61, b"")
File "/usr/lib/python3.8/site-packages/solo/client.py", line 142, in send_data_hid
return self.dev.call(cmd, data, event)
File "/usr/lib/python3.8/site-packages/fido2/hid.py", line 94, in call
raise CtapError(resp[0])
fido2.ctap.CtapError: CTAP error: 0x01 - INVALID_COMMAND
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/solo", line 8, in <module>
sys.exit(solo_cli())
File "/usr/lib/python3.8/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3.8/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/usr/lib/python3.8/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python3.8/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python3.8/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3.8/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3.8/site-packages/solo/cli/key.py", line 408, in version
res = solo.client.find(serial, udp=udp).solo_version()
File "/usr/lib/python3.8/site-packages/solo/client.py", line 195, in solo_version
data = self.exchange(SoloExtension.version)
File "/usr/lib/python3.8/site-packages/solo/client.py", line 165, in exchange_u2f
raise CtapError(ret)
fido2.ctap.CtapError: CTAP error: 0x01 - INVALID_COMMAND
Both issues seem to be obsolete. Should this ticket be closed?
I'm trying to update my solo key on a new laptop (with udev rules already installed) but it is failing.