0

私は createL2capChannel または createInsecureL2capChannel (および iOS) を使用して Android から Raspberry Pi への接続を取得しようとしましたが、これは受け入れている BTPROTO_L2CAP SOCK_SEQPACKET Bluetooth ソケットを作成し、Bluez 5.50 を実行していますが、LE クレジット ベースのフロー ステップで失敗しています。 .

nRF BLE スニファーを使用して WireShark を実行すると、LE_PSM がサポートされていない LE クレジット ベースの接続応答で失敗していることがわかります。

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 コードは問題ないことがわかりました。

PiでLE L2Cap CoCクレジットベースのフローを正しくサポートするようにBluezを実際に構成する方法を知っている人はいますか?

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 に答える