raspberry raspberry-pi bluetooth-lowenergy bluez

raspberry pi - raspberry - hcitool lescan muestra error de E/S



bluetooth raspberry pi 3 python (5)

Eso pasa a menudo muy a menudo para mí. Estoy desarrollando con esto y simplemente sucede de vez en cuando. También pude reproducir tu error en 5 minutos ;-) Estoy ejecutando bluez v.5.17. Sin embargo, puedo ejecutar lescan más de una vez sin este error.

hcitool lescan Set scan parameters failed: Input/output error

tratar:

hciconfig hci0 down hciconfig hci0 up

y verifique el estado después de las palabras.

si esto no funciona o se cuelga en estado ABAJO, intente:

service bluetooth restart service dbus restart

(todos los comandos como superusuario)

Y cierre todas las aplicaciones que puedan acceder a bluetooth. Por ejemplo hcidump.

Si eso no funciona, normalmente debe desconectarlo. Pero hay otro truco sucio para hacer esto. Funciona al configurar el autorizado a 0 y a 1 de nuevo. Esto obliga al dongle usb a init.

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

Estoy tratando de hacer un lescan usando hcitool en el pi de frambuesa.

El comando se imprime

Set scan parameters failed: Input/output error.

No estoy seguro, qué pasa exactamente aquí. Mi iPhone está publicitando aquí.

Estoy usando un dongle BLE de IOGear.

Sin embargo, si reinicio mi máquina, muestra la dirección MAC después de emitir el comando lescan , y comienza a mostrar el mismo error después de emitir el comando lescan un par de veces más. ¿Es como que el comando lescan no puede emitirse más de una vez?


Para aquellos que encuentran esta pregunta ahora, se corrigió a partir de Bluez v5.41. Todo lo que necesita es descargar e instalar. Puede descargar la última versión de http://www.bluez.org/download/ .


sudo hcitool lescan

Solo use sudo y escaneará


La actualización a bluez v5.43 solucionó esto por mí.

Para actualizar a la versión más nueva de bluez, debe realizar una instalación "manual" ( no apt-get), descargando desde el sitio web de bluez . Recomiendo este video tutorial si eres nuevo instalando paquetes o necesitas ayuda.

Después de instalar el último bluez, tuve que ejecutar un par de comandos antes de que funcionara.

  1. systemctl daemon-reload : reinicia el daemon del sistema.

  2. sudo service bluetooth restart : reinicia el servicio Bluetooth.

  3. sudo hciconfig hci0 up : Esto fue necesario para mi Raspberry Pi 3, con el BT incorporado que se encuentra en hci0 .

Después de estos comandos, sudo hcitool lescan y sus variantes parecen funcionar.


Es posible que HCI esté actualmente en uso. En mi caso, debo detener Node-Red y funciona. Así que ten cuidado, que el HCI no está en uso.

Reiniciar el HCI es una forma de resolver el problema temporalmente, pero no resuelve el problema correctamente.