Feitian MultiPass FIDO has 3 ways to work as a hardware token: BLE, NFC and USB. I'd like to use it either with NFC or BLE because the USB input can be occupied, and I have a feeling anyway that the USB usage would require some udev rule modifications (https://github.com/Yubico/libu2f-host/blob/master/70-u2f.rules) just like it did with my other token for my Linux desktop.
NFC: simply didn't work. I held the key to the back of the phone, moving it around a little (not sure where is the NFC sensor exactly). Since I read somewhere that the NFC is very weak in the key (which can be an advantage for security because an attacker would have a harder time to pick the signal up from distance), I even stripped my phone of it's thin OnePlus carbon protective cover, but didn't help either.
BLE: I press the button long and the BLE pairing icon starts to blink on the key. The Google U2F BLE setup page shows the device. Here you'd click on the device and you'd need to enter the 6 digits on it. When I select the device from the list though, the app errors out with the very descriptive "Something went wrong" error message. (That's what the Linux desktop Chrome did as well, extremely descriptive error message for sure).
So how can I get this to work? Here is some logcat: https://pastebin.com/X6HLK7a0
Two errors I see:
Not sure how related it is:
E WCNSS_FILTER: do_ioctl,tty_clock_flag=USERIAL_OP_CLK_OFF,clock=USERIAL_OP_CLK_ON
Related for sure:
E BluetoothEventManager: Got bonding state changed for 78:8C:EB:56:23:F1, but we have no record of that device.
D StatusBarManagerService: manageDisableList userId=0 what=0x0 pkg=Window{ 3d9a72b u0 Something went wrong } token=android.os.Binder@20e9287 which=1
E BluetoothEventManager: Got bonding state changed for 78:8C:EB:56:23:F1, but we have no record of that device.
The debug entry wedged in between the two errors might be accidental. I don't see it always. Any help is appreciated, I'd like to transition to hardware tokens to be protected against SIM hijacks.
One more thing: my OxygenOS
is rooted because I had to use a hack to be able to run DayDream apps. Because of that I cannot use Google Pay. I hope rooting is not the reason why I cannot pair the key.