我一直在尝试使用 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 信用的流程?