Jelling is a simple daemon for Linux which receives OTP tokens from FreeOTP.
* systemd >= 221
* bluez >= 5.42
# meson build
# ninja -C build
# ninja -C build install
-
Start and enable Jelling:
| Device | OS | Adv. | Connect | Discovery | Pair | GATT |
|---|---|---|---|---|---|---|
| iPhone 6+ | iOS 11.2 | ✔ | ✔ | ✔ | ✔ | ✔ |
| Nexus 5x | LineageOS 14.1 | ✔ | ✔ | ✘ | ✘ | ✘ |
| Pixel | Android 8.1 beta | ✔ | ✘ | ✘ | ✘ | ✘ |
-
Make sure your phone and computer are NOT paired.
-
Start Jelling on your computer.
-
Install and open LightBlue on your phone.
-
Does LightBlue see your computer within a few seconds (<30)? If so, advertisement is working.
-
Click on your computer in LightBlue. Does it successfully connect? Do you see Jelling among the list of services? The Jelling Service UUID is:
B670003C-0079-465C-9BA7-6C0539CCD67F. If so, connection and service discovery are working. If not, you'll have to get Bluetooth packet logs to see whether connection or service discovery is failing. -
Click on the service. Do you see the Jelling characteristic? The Jelling Characteristic UUID is:
B670003C-0079-465C-9BA7-6C0539CCD67F. Is it listed as write-only? If so, discovery is working. -
Attempt to perform a write operation in LightBlue against the characteristic. A good test value is
30(which is hex for0in ASCII). Does the device attempt to pair? Does it succeed? If so, pairing is working. -
If pairing succeeds, perform the previous step again. This time, instead of pairing it should perform the actual GATT write. Does your computer type
0? If so, the GATT write is working. -
Submit a pull request which updates the above table with your test results.