我想让 USB 蓝牙适配器在 Debian Squeeze 或 Wheezy 上启动(或插入时)时可被发现。
如果我hciconfig
最初使用,我可以在这种模式下看到设备:
UP RUNNING PSCAN
手动使用hciconfig hci0 piscan
效果很好。这会将设备置于此模式(并且可以发现该设备):
UP RUNNING PSCAN ISCAN
许多文件(例如,关于Debian 维基或者这个Ubuntu问题) 指向 中的设置/etc/bluetooth/hcid.conf
。看来iscan enable; pscan enable;
这个文件中的设置应该有效。不幸的是,我使用的 Bluez 版本 (4.x) 没有这个文件(即使bluez-compat
安装了该软件包)。
/etc/bluetooth/main.conf
说:
# How long to stay in discoverable mode before going back to non-discoverable
# The value is in seconds. Default is 180, i.e. 3 minutes.
# 0 = disable timer, i.e. stay discoverable forever
DiscoverableTimeout = 0
但这是行不通的。设备以 模式启动PSCAN
,但不是PSCAN ISCAN
。
即使手动,以下命令也取自Debian 维基不起作用:
dbus-send --system --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable
PSCAN ISCAN
是否有推荐的方法在启动时(或插入加密狗时)将设备设置为模式?
答案1
你可以试试这个:
hciconfig hci0 piscan
在/etc/rc.local
(最后一行“exit 0”之前)添加bash命令。
注意:您添加到的任何 bash 命令都/etc/rc.local
将在尚未加载环境变量的情况下执行。所以用的是绝对路径!
答案2
此时,有Debian Wiki 中的另一个选项:
hciconfig hci0 piscan
这对我有用。
不幸的是,我仍然没有找到如何为本地设备设置 pin 码。 (可能是我的英语知识浅薄,但在许多文档中我很困惑他们在谈论什么引脚)。
答案3
的参数bluetooth-agent
设置 PIN。
现在将以下内容附加到/etc/inittab
(使用nano
- 并替换为您自己的):
#Bluetooth Channel 22
PA22:23:respawn:/usr/bin/bluetooth-agent 1234
BS22:23:once:/usr/bin/sdptool add --channel=22 SP
BT22:23:once:/usr/bin/rfcomm -r watch 0 22 /sbin/agetty -L rfcomm0 115200
另请参阅此问题。
答案4
看到这个蓝牙 - Arch wiki
默认情况下,蓝牙适配器重启后不会开机,需要在配置文件 /etc/bluetooth/main.conf 底部的 [Policy] 部分添加 AutoEnable=true 行: