Я не вижу никаких устройств Bluetooth, когда я устанавливаю оснастку bluez и использую либо hcitool, который ничего не дает:
$ sudo hcitool dev
Devices:
$
или bluetoothctl:
$ sudo bluetoothctl
Agent registered
[bluetooth]# list
[bluetooth]# show
No default controller available
[bluetooth]#
Когда я использую hciconfig, я получаю сообщение об ошибке «Отказано в доступе»:
$ sudo hciconfig Не удается открыть сокет HCI. Отказано в разрешении $
Я вижу следующие сообщения в dmesg, которые указывают, что AppArmor отрицает попытки :
21346.997174] audit: type=1400 audit(1562448858.001:1396): apparmor="DENIED" operation="create" profile="snap.bluez.hcitool" pid=6030 comm="hcitool" family="bluetooth" sock_type="raw" protocol=1 requested_mask="create" denied_mask="create
Что мне нужно сделать, чтобы включить устройство Bluetooth, найти идентификатор устройства, а также иметь возможность поиска новых устройств.
Я вручную подключил оснастку: штекер для bluez и bluetooth-control, и теперь у меня есть следующие подключения:
$ snap connections
Interface Plug Slot Notes
bluetooth-control bledetect101:bluetooth-control :bluetooth-control manual
bluetooth-control bluez:bluetooth-control :bluetooth-control manual
bluetooth-control hidra-ble-gateway:bluetooth-control :bluetooth-control manual
bluez bluez:client bluez:service -
network bledetect101:network :network -
network hidra-ble-gateway:network :network -
uhid bluez:uhid :uhid -
$
После этого выполнения bluez.hciconfig приводит к отображению устройства bluetooth:
$ sudo hciconfig dev
hci0: Type: Primary Bus: SDIO
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0
Тем не менее, это показано как вниз и попытки поднять или сбросить это не удается:
$ sudo hciconfig hci0 up
Can't init device hci0: Input/output error (5)
$ sudo hciconfig hci0 reset
Can't init device hci0: Input/output error (5)
$
Есть идеи? Как уже упоминалось, это на RPI3 B + под управлением Ubuntu Core 18.04. вывод uname -a:
Linux localhost 4.15.0-1040-raspi2 #43-Ubuntu SMP PREEMPT Tue Jun 25 10:45:04 UTC 2019 armv7l armv7l armv7l GNU/Linux
Существует ошибка, и она использует неправильный микропрограммный dir. Как временное приспособление можно использовать эту команду:
sudo ln -s /lib/firmware /etc/firmware
Для проверки его, можно использовать
sudo hciattach /dev/ttyAMA0 bcm43xx 921600 -