This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Hide HOGP (HID) from computers/handhelds (stelth-mode)

Hi,

I'm using Hid over GATT for a basic BLE button-pad device (peripheral). The HOGP was choosen to get events and automatic reconnections etc as the central is a Linux machine with BlueZ 5.x.

The question is now how to best "hide" my nrf51822 device from the rest of the world. Since it's HID a iOS phone will upon my device starting to advertise, immediately propose to pair to it (and steal it).

I did a quick scan in the HID-docs but can't find any built-in way to act under "stelth-mode".

One idea was to just change the UUID to a custom-one but still run HOGP under the hood, but that would require some tweaks to the BlueZ side (maybe trivial, haven't checked this yet), if anyone has done this, I'd be interested in how it's best done in the massievly flexible bluez-world.

Let me know if there are other ways to achieve a convenient semi-standard profile, but hard-coded to only work and be discoverable (or respond to connections) from my linux machine.

thanks /d

  • If you're bonded with your LInux Central, you should use whitelisting to deny any other device to connect. When you have a bond, you could also remove all data from the advertisement packet if you want to, since the Central that already knows you should still choose to connect based on your Bluetooth address.

    You can take a look at the applications in the SDK that use the bond manager (and specifically its whitelist_get() function, for example in ble_app_proximity for nRF6310) for an example of how this can be done.

Related