Подтвердить что ты не робот

Hcitool lescan показывает ошибку ввода-вывода

Я пытаюсь сделать lescan, используя hcitool на малине pi.

Команда выводит

Set scan parameters failed: Input/output error. 

Я не уверен, что именно происходит здесь. Мой iPhone рекламирует здесь.

Я использую ключ BLE от IOGear.

Однако, если я перезагружу свой компьютер, он отображает MAC-адрес после того, как я выдаю команду lescan, и начнет показывать ту же ошибку после того, как я выдаю команду lescan еще пару раз. Похоже, команда lescan не может быть выпущена более одного раза?

4b9b3361

Ответ 1

Это часто бывает часто для меня часто. Я развиваюсь вместе с ним, и это случается время от времени. Я также смог воспроизвести вашу ошибку в течение 5 минут;-) Я бегу bluez v.5.17. Однако я могу запустить lescan более одного раза без этой ошибки.

hcitool lescan
Set scan parameters failed: Input/output error

попробовать:

hciconfig hci0 down
hciconfig hci0 up

и проверьте состояние послесловия.

если это не работает или оно зависает в статусе DOWN, попробуйте:

service bluetooth restart
service dbus restart

(все команды в качестве суперпользователя)

И закройте все приложения, которые могут получить доступ к Bluetooth. Например, hcidump.

Если это не работает, вы обычно должны отключать его. Но есть еще один грязный взломать это. Он работает, снова установив авторизованный параметр 0 и 1. Это заставляет usb-ключ инициализировать.

lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 0a5c:21e8 Broadcom Corp. 


cd /sys/bus/usb/devices/

grep -i -s -r 0a5c *
…
1-1.2/idVendor:0a5c
…

cd 1-1.2

echo 0 > authorized
echo 1 > authorized

Ответ 2

Обновление до bluez v5.43 исправило это для меня.

Чтобы перейти на новейшую версию bluez, вам необходимо выполнить "ручную" установку (не apt-get), загрузив ее с веб-сайта bluez. Я рекомендую это видео, если вы устанавливаете новые пакеты или вам нужна помощь.

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

  1. systemctl daemon-reload: перезапускает системный демон.

  2. sudo service bluetooth restart: sudo service bluetooth restart службу Bluetooth.

  3. sudo hciconfig hci0 up: Это было необходимо для моего Raspberry Pi 3 со встроенным BT, найденным в hci0.

После этих команд sudo hcitool lescan и его варианты, похоже, работают.

Ответ 3

Тем, кто сейчас задает этот вопрос, он исправлен как из Bluez v5.41. Все, что вам нужно для загрузки и установки. Вы можете загрузить последнюю версию из http://www.bluez.org/download/.

Ответ 4

Возможно, что HCI в настоящее время используется. В моем случае я должен остановить Node -Red, и он работает. Поэтому следите за тем, чтобы HCI не использовался.

Перезапуск HCI - это способ, чтобы временно решить проблему, но она не решает проблему правильно.

Ответ 5

У меня была такая же ошибка с hcitool, в то время как bluetoothctl работал просто отлично. Затем я наткнулся на эту статью о том, что все "инструменты, использующие необработанный сокет, должны рассматриваться как устаревшие" (hcitool, hcicfg и т.д.).

Поэтому, возможно, просто откройте bluetoothctl и scan on команду scan on команде.

Ответ 6

Что мне помогло, так это открытие настроек Bluetooth в моем Ubuntu и ручное удаление неиспользуемых устройств. Сразу же начал работать lescan.

Ответ 7

sudo hcitool lescan

Просто используйте sudo и сканируйте