准系统 Linux 蓝牙配对

准系统 Linux 蓝牙配对

我有一个小型嵌入式 ARM 盒子,没有任何 KVM,只有一个串行控制台、网络和一个蓝牙 USB 适配器。

系统使用Buildroot框架自动编译并合理运行。

我可以通过串行线或通过 ssh 访问该盒子。

我正在运行蓝牙堆栈,并且可以看到 hci0:

hci0:   Type: BR/EDR  Bus: USB
        BD Address: 00:15:83:3D:0A:57  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING PSCAN ISCAN AUTH
        RX bytes:7576 acl:27 sco:0 events:267 errors:0
        TX bytes:1396 acl:27 sco:0 commands:130 errors:0

我可以扫描,也可以从外面“可见”。

我需要与我的 Android 手机配对,并且找到了它的地址,但我没有找到任何处理身份验证的方法。

# hcitool scan
Scanning ...
        A0:F8:95:54:C8:00       Wiko MCondarelli
# rfcomm connect hci0 A0:F8:95:54:C8:00 1
Can't connect RFCOMM socket: Operation now in progress

结果如下:

< HCI Command: Inquiry (0x01|0x0001) plen 5
    lap 0x9e8b33 len 8 num 0
> HCI Event: Command Status (0x0f) plen 4
    Inquiry (0x01|0x0001) status 0x00 ncmd 1
> HCI Event: Inquiry Result with RSSI (0x22) plen 15
    bdaddr A0:F8:95:54:C8:00 mode 1 clkoffset 0x6d1c class 0x5a020c rssi -77
> HCI Event: Inquiry Result with RSSI (0x22) plen 15
    bdaddr A0:F8:95:54:C8:00 mode 1 clkoffset 0x6d1c class 0x5a020c rssi -77
> HCI Event: Inquiry Result with RSSI (0x22) plen 15
    bdaddr A0:F8:95:54:C8:00 mode 1 clkoffset 0x6d1c class 0x5a020c rssi -76
> HCI Event: Inquiry Complete (0x01) plen 1
    status 0x00
< HCI Command: Remote Name Request (0x01|0x0019) plen 10
    bdaddr A0:F8:95:54:C8:00 mode 1 clkoffset 0x6d1c (valid)
> HCI Event: Command Status (0x0f) plen 4
    Remote Name Request (0x01|0x0019) status 0x00 ncmd 1
> HCI Event: Remote Name Req Complete (0x07) plen 255
    status 0x00 bdaddr A0:F8:95:54:C8:00 name 'Wiko MCondarelli '
< HCI Command: Create Connection (0x01|0x0005) plen 13
    bdaddr A0:F8:95:54:C8:00 ptype 0xcc18 rswitch 0x01 clkoffset 0x6d1c (valid)
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5
> HCI Event: Command Status (0x0f) plen 4
    Create Connection (0x01|0x0005) status 0x00 ncmd 1
> HCI Event: Link Key Request (0x17) plen 6
    bdaddr A0:F8:95:54:C8:00
> HCI Event: Connect Complete (0x03) plen 11
    status 0x10 handle 42 bdaddr A0:F8:95:54:C8:00 type ACL encrypt 0x00
    Error: Connection Accept Timeout Exceeded

我一定要“传统”配对,因为:

# hciconfig hci0 sspmode 1
Can't set Simple Pairing mode on hci0: Input/output error (5)

上述命令的跟踪是:

< HCI Command: Write Simple Pairing Mode (0x03|0x0056) plen 1
    mode 0x01
> HCI Event: Command Status (0x0f) plen 4
    Write Simple Pairing Mode (0x03|0x0056) status 0x01 ncmd 1
    Error: Unknown HCI Command

据我了解,这意味着我的硬件不支持“安全简单配对”。在我的系统上,我有 BlueZ v3.57,但没有 hcid、蓝牙代理、密码代理或 bluez-simple-agent。

如何仅使用基本工具进行配对?如果这是不可能的:我需要安装到我的盒子上的最低限度是多少?

相关内容