Aha, I'm solving my own problem, I think. I'm going to explain in detail both so Yubico can correct/help me and so anyone Googling these errors finds an explanation.
I was thinking about that lsusb and tried to run it as 'lsusb -vv' for more details. It said "Couldn't open device, some information will be missing".
That made me wonder if it was a permissions issue. I closed Chrome and started it again from the command line to watch for output. As soon as as the registration modal pops up, Chrome emits:
Code:
[15535:15567:1024/113843:ERROR:hid_service_linux.cc(166)] Cannot open '/dev/hidraw2': FILE_ERROR_ACCESS_DENIED
[15535:15567:1024/113843:ERROR:hid_service_linux.cc(166)] Cannot open '/dev/hidraw0': FILE_ERROR_ACCESS_DENIED
[15535:15567:1024/113843:ERROR:hid_service_linux.cc(166)] Cannot open '/dev/hidraw1': FILE_ERROR_ACCESS_DENIED
[15535:15571:1024/113850:ERROR:channel.cc(316)] RawChannel read error (connection broken)
[15535:15567:1024/113949:ERROR:hid_service_linux.cc(166)] Cannot open '/dev/hidraw2': FILE_ERROR_ACCESS_DENIED
[15535:15571:1024/114030:ERROR:channel.cc(316)] RawChannel read error (connection broken)
Looking in /dev, /dev/hidraw2 appears and disappears as I plug in or remove the key. So I ran 'sudo chmod go+rw /dev/hidraw2' to give all users permission to the device. The error persisted.
Thinking maybe Chrome was remembering it did not have access to the device, I closed it, removed the key, inserted the key, added the permissions, restarted Chrome. It worked!
Quote:
You have now completed registration and U2F device enrollment!
I also tried varying the order. Closed Chrome, removed the key. Inserted the key, started Chrome, added permissions, registered successfully. So it doesn't matter when Chrome starts, it only matters that the user has permissions to the device before Chrome first attempts to use it.
So now the question is a more general one of how to get Ubuntu to give users permission to the device automatically. I'm asking some Ubuntu people for help, but if Yubico knows (you must have tested on Linux?), please help!
When that question is answered, this can be marked [SOLVED].