0

我一直在尝试使用 createL2capChannel 或 createInsecureL2capChannel (和 iOS)从 Android 连接到已创建 BTPROTO_L2CAP SOCK_SEQPACKET 蓝牙套接字的树莓派,它正在接受,运行 Bluez 5.50 但他们在 LE Credit Based Flow 步骤失败.

使用 nRF BLE 嗅探器运行 WireShark 我看到它在基于 LE Credit 的连接响应中失败,不支持 LE_PSM:

Command: LE Credit Based Connection Response
    Command Code: LE Credit Based Connection Response (0x15)
    Command Identifier: 0x02
    Command Length: 10
    Destination CID: Null identifier (0x0000)
    MTU: 0
    MPS: 0
    Initial Credits: 0
    LE Result: Connection Refused - LE_PSM Not Supported (0x0002)

我尝试了各种 PSM:0x1001、0xf3、0x25,没有任何区别。我还看到 BlueKitche BTStack 工作,所以我知道 iOS / Android 代码是可以的。

有谁知道如何实际配置 Bluez 以正确支持 Pi 上基于 LE L2Cap CoC 信用的流程?

4

1 回答 1

0

感谢 Bluez Slack 频道。我按照https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools/l2test.c#n573从 do_listen() 获取正确的设置。

于 2021-04-20T10:28:43.680 回答