EDIT: One of my 2 keys has died. There are what seems like golden bubbles under the epoxy, over one of the chips and those were not there before. I've emailed SoloKeys and I'm waiting for a reply, but for now, I've stopped using the Solo V2 altogether :(
I recently received the two Solo V2 hardware tokens I ordered as part of their crowdfunding campaign, back in March 2022. It did take them longer than advertised to ship me the tokens, but that's hardly unexpected from such small-scale, crowdfunded undertaking.
I'm mostly happy about my purchase and I'm glad to get rid of the aging Tomu boards I was using as U2F tokens1. Still, beware: I am not sure it's a product I would recommend if what you want is simply something that works. If you do not care about open-source hardware, the Solo V2 is not for you.
The Good
I first want to mention I find the Solo V2 gorgeous. I really like the black and gold color scheme of the USB-A model (which is reversible!) and it seems like a well built and solid device. I'm not afraid to have it on my keyring and I fully expect it to last a long time.
I'm also very impressed by the modular design: the PCB sits inside a shell, which decouples the logic from the USB interface and lets them manufacture a single board for both the USB-C and USB-A models. The clear epoxy layer on top of the PCB module also looks very nice in my opinion.
I'm also very happy the Solo V2 has capacitive touch buttons instead of physical "clicky" buttons, as it means the device has no moving parts. The token has three buttons (the gold metal strips): one on each side of the device and a third one near the keyhole.
As far as I've seen, the FIDO2 functions seem to work well via the USB
interface and do not require any configuration on a Debian 12 machine. I've
already migrated to the Solo V2 for web-based 2FA and I am in the process of
migrating to an SSH ed25519-sk
key. Here is a guide I recommend if
you plan on setting those up with a Solo V2.
The Bad and the Ugly
Sadly, the Solo V2 is far from being a perfect project. First of all, since the crowdfunding campaign is still being fulfilled, it is not currently commercially available. Chances are you won't be able to buy one directly before at least Q4 2023.
I've also hit what seems to be a pretty big firmware bug, or at least, one that
affects my use case quite a bit. Invoking gpg
crashes the Solo V2 completely
if you also have scdaemon
installed. Since scdaemon
is necessary to use
gpg
with an OpenPGP smartcard, this means you cannot issue any gpg
commands
(like signing a git commit...) while the Solo V2 is plugged in.
Any gpg
commands that queries scdaemon
, such as gpg --edit-card
or gpg
--sign foo.txt
times out after about 20 seconds and leaves the token
unresponsive to both touch and CLI commands.
The way to "fix" this issue is to make sure scdaemon
does not interact with
the Solo V2 anymore, using the reader-port
argument:
-
Plug both your Solo V2 and your OpenPGP smartcard
-
To get a list of the tokens
scdaemon
sees, run the following command:$ echo scd getinfo reader_list | gpg-connect-agent --decode | awk '/^D/ {print $2}'
-
Identify your OpenPGP smartcard. For example, my Nitrokey Start is listed as
20A0:4211:FSIJ-1.2.15-43211613:0
-
Create a file in
~/.gnupg/scdaemon.conf
with the following linereader-port $YOUR_TOKEN_ID
. For example, in my case I have:reader-port 20A0:4211:FSIJ-1.2.15-43211613:0
-
Reload
scdaemon
:$ gpgconf --reload scdaemon
Although this is clearly a firmware bug2, I do believe GnuPG is also
partly to blame here. Let's just say I was not very surprised to have to battle
scdaemon
again, as I've had previous issues with it.
Which leads me to my biggest gripe so far: it seems SoloKeys (the company) isn't really fixing firmware issues anymore and doesn't seems to care. The last firmware release is about a year old.
Although people are experiencing serious bugs, there is no official way to report them, which leads to issues being seemingly ignored. For example, the NFC feature is apparently killing keys (!!!), but no one from the company seems to have acknowledged the issue. The same goes for my GnuPG bug, which was flagged in September 2022.
For a project that mainly differentiates itself from its (superior) competition by being "Open", it's not a very good look... Although “SoloKeys is still an unprofitable open source side business of its creators”3, this kind of attitude certainly doesn't help foster trust.
Conclusion
If you want to have a nice, durable FIDO2 token, I would suggest you get one of the many models Yubico offers. They are similarly priced, are readily commercially available, are part of a nice and maintained software ecosystem and have more features than the Solo V2 (OpenPGP support being the one I miss the most). Yubikeys are the practical option.
What they are not is open-source hardware, whereas the Solo V2 is. As bunnie very well explained on his blog in 2019, it does not mean the later is inherently more trustable than the former, but it does make the Solo V2 the ideological option. Knowledge is power and it should be free.
As such, tread carefully with SoloKeys, but don't dismiss them altogether: the Solo V2 is certainly functioning well enough for me.
-
Although U2F is still part of the FIDO2 specification, the Tomus predate this standard and were thus not fully compliant with FIDO2. So long and thanks for all the fish little boards, you've served me well! ↩
-
It appears the Solo V2 shares its firmware with the Nitrokey 3, which had a similar issue a while back. ↩
-
This is a direct quote from one of the Solo V2 firmware maintainers. ↩