启动时启用蓝牙可发现性

启动时启用蓝牙可发现性

我想让 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 行:

相关内容