我正在尝试在树莓派上使用hcitool进行lescan。

命令输出

Set scan parameters failed: Input/output error.

我不确定这里到底发生了什么。我的iPhone在这里做广告。

我正在使用IOGear的BLE加密狗。

但是,如果重新启动计算机,则在发出lescan命令后,它将显示一个MAC地址,而在多次发出lescan命令后,它将开始显示相同的错误。就像lescan命令不能多次发出一样吗?

最佳答案

对我而言,这种情况确实经常发生。我正在使用它进行开发,并且有时会发生。我还能够在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

(所有命令均为 super 用户)

并关闭所有可能访问蓝牙的应用程序。例如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

08-06 07:34