I'm using bluetoothctl
5.53 to scan for BLE advertisement. Initially, I tried bluetoothctl scan on
but I'm not seeing the device advertising. I scanned with the nRfConnect app and was able to verify that the device is indeed advertising. Just not seeing it with the bluetoothctl
.
After some searches, I found the following setting allows me to discover the advertising BLE device:
$bluetoothctl
[bluetooth]# menu scan
[bluetooth]# transport le
[bluetooth]# scan on
After looking through the bluez documentation, I saw this and it suggested the default bluetoothctl
should be able to discover BLE devices:
string Transport (Default "auto")
Transport parameter determines the type of
scan.
Possible values:
"auto" - interleaved scan
"bredr" - BR/EDR inquiry
"le" - LE scan only
If "le" or "bredr" Transport is requested,
and the controller doesn't support it,
org.bluez.Error.Failed error will be returned.
If "auto" transport is requested, scan will use
LE, BREDR, or both, depending on what's
currently enabled on the controller.
Doc here: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/adapter-api.txt#n95
However, this StackOverflow post suggests that the default filter might blocking me from seeing a lot of advertising devices: How to use bluetoothctl like hcitool lescan to report repeated proximity beacons
I also ran this to clear the filter setting, but I'm still not seeing any BLE devices
$bluetoothctl
[bluetooth]# menu scan
[bluetooth]# clear
[bluetooth]# back
[bluetooth]# scan on
So my question is:
- why am I not seeing BLE device advertising with just
bluetoothctl scan on
? - is there a way to set the
transport le
permanently? So that everytime I dobluetoothctl scan on
it looks for BLE devices?