trustcrypto/OnlyKey-App

"BRYO>Y" on TOTP inputs

Closed this issue · 2 comments

Not sure where to ask this, but I've had a recurring issue between my old Razer Arch laptop and my newer ASUS Nix laptop and on an older and newer model of the OnlyKey where if I just plug in the key and press or hold any button with a to use a TOTP profile, I just get BRYO>Y echoed out.

The only way to remedy this has been to open App via Brave (no Electron app in Nixpkgs), unplug, reauthenticate, then after loading the USB works as intended everywhere on the OS. The This is a bit of a hassle and isn't working as expected. Is there something I'm missing as far as a service needing to be running?

udev rules (not sure how to escape the cat # comments for console highlighting):

$ rg "OnlyKey" /etc/udev/rules.d/
/etc/udev/rules.d/99-local.rules
13:# UDEV Rules for OnlyKey, https://docs.crp.to/linux.html
$ cat /etc/udev/rules.d/99-local.rules                                                                             
\# Don't manage interfaces created by nixos-container.
ENV{INTERFACE}=="v[eb]-*", ENV{NM_UNMANAGED}="1"

KERNEL=="tun", TAG+="systemd"

\# Miscellaneous devices.
KERNEL=="kvm",                  MODE="0666"
KERNEL=="kqemu",                MODE="0666"

\# Needed for gpm.
SUBSYSTEM=="input", KERNEL=="mice", TAG+="systemd"

\# UDEV Rules for OnlyKey, https://docs.crp.to/linux.html
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", MODE:="0666"


\# The udev rules were updated upstream without an explanation as you can
\# see in [this comment][commit]. Assuming that hey have changed the
\# idVendor/idProduct, I've kept the old values.
\# TODO: Contact them upstream.
\#
\# [commit]: https://github.com/trustcrypto/trustcrypto.github.io/commit/0bcf928adaea559e75efa02ebd1040f0a15f611d
\#
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", GROUP+="plugdev"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", GROUP+="plugdev"

For TOTP you have to have the OnlyKey app or webapp to set time on onlykey. If not it prints NOTSET.
https://docs.crp.to/usersguide.html#google-authenticator-otg

For the BRYO>Y I suspect maybe this is NOTSET but you have a different keyboard profile set that maps to different keys.

That's exactly what happened -- via Dvorak. Documentation makes sense too. Closing, and hopefully this may help another user in the future via search engine.