Контроллер Wirenboard 6.7.2 невозможно настроить на режим iBeacon маяка, используя его собственный BLE адаптер(Realtek RTL8723BU)

Контроллер Wirenboard 6.7.2 невозможно настроить на режим iBeacon маяка, используя его собственный BLE адаптер

После подачи команд в консоли:

hciconfig hci0 up
hciconfig hci0 leadv 3
hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 06 1A FF 4C 00 02 15 C7 C1 A1 BF BB 00 4C AD 87 04 9F 2D 29 17 DE D2 00 00 00 00 C8 00

Он не обнаруживается в поиске BLE маяков(для примера использовалась программа Beacon Scanner для Android)

После установки в USB порт другого BLE адаптера(TP-Link UB400) и перезагрузки(usb адаптер сразу же определился как hci0 а встроеный стал hci1), в результате тех же самых команд, маяк в сканнере обнаруживается и успешно сигнализирует свое расстояние до него.

Добрый день!

Скажите пожалуйста, как при этом настроен Wi-Fi? Если он выключен, то, пожалуйста включите. Например так:

ifconfig wlan1 up && iw wlan1 connect nosuchssid

Включен, в режим точки, под паролем, команды которые вы привели в примере на результат не влияют, маяк в поиске все еще не видно

А для чего это будет использоваться, если не секрет? Обычно маяками делают подвижные портативные устройства

У меня эта команда тоже не работает (маяка не видно), но вижу, что заголовок BLE advertisement у вас не такой, как в первом результате в гугле.

Вот такой пример работает у меня:

hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 ee 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00

Первые восемь байт после 0x0008 - заголовок, тут немножко про это есть: linux - Wrong payload when using BlueZ stack as peripheral - Stack Overflow

На какой uuid настраивает эта команда ? я попробовал со встроенным и со внешним BLE адаптером - после исполнения этой команды в Beacon Scanner никаких устройств не обнаруживается. Как вы решили что устройство работает как маяк ?

После описаной мною команды, в сканере должно быть видно вот такое устройство.


Так же если вы можете его найти как маяк(с отображением расстояния до устройства) в любой другой программе на Android или iOS, напишите.

hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 ee 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00

ну это же написано в первой ссылке в гугле, которую я ещё и приложил в прошлом сообщении…

Поставил Beacon Scanner и проверил в нём.

Попробуйте выключить leadv: hciconfig hci0 noleadv, потом установить командой пакет, потом включить leadv. Похоже, влияет именно это.

Вот последовательность рабочая с вашим пакетом:

root@wirenboard-AYSDI5ZH:~# hciconfig hci0 down
root@wirenboard-AYSDI5ZH:~# hciconfig hci0 up
root@wirenboard-AYSDI5ZH:~# hciconfig hci0 noleadv

root@wirenboard-AYSDI5ZH:~# hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 06 1A FF 4C 00 02 15 C7 C1 A1 BF BB 00 4C AD 87 04 9F 2D 29 17 DE D2 00 00 00 00 C8 00
< HCI Command: ogf 0x08, ocf 0x0008, plen 32
  1E 02 01 06 1A FF 4C 00 02 15 C7 C1 A1 BF BB 00 4C AD 87 04 
  9F 2D 29 17 DE D2 00 00 00 00 C8 00 
> HCI Event: 0x0e plen 4
  02 08 20 00 

root@wirenboard-AYSDI5ZH:~# hciconfig hci0 leadv 3

Да, все заработало