首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HCI套接字上的L2CAP连接?

HCI套接字上的L2CAP连接?
EN

Stack Overflow用户
提问于 2013-10-28 16:09:38
回答 2查看 3.6K关注 0票数 2

访问L2CAP的通常方法是创建一个L2CAP套接字,并在其上调用connect()连接到您想要访问的蓝牙设备。这通常都很好用。但是,我正在使用LinuxKernel3.0在ARM设备上尝试这样做,而且似乎存在一个严重的错误,如果没有最后创建通道的所有数据,您就无法拥有多个L2CAP连接。(也就是说,如果我用两个l2cap套接字连接到两个蓝牙传感器,那么两个设备的所有通知都是最后通过套接字打开的,而套接字首先打开时没有任何消息。)但是,如果我将过滤器设置在HCI套接字上,我可以看到ACL数据是通过适当的连接句柄传递的,因此我可以在那里正确地获取数据。

所以..。我想要更改我的代码,以便只使用HCI套接字。

我的问题是,我不知道怎么做(甚至可能)。在HCI中有一个“创建逻辑链接命令”,看起来它会创建一个L2CAP连接,但是这些参数对我来说没有任何意义。在我通过LE建立HCI连接之后,我得到了一个“连接完整事件”,它给了我一个2八进制的"Connection_Handle“。不过,"create“命令需要一个1八进制的"Physical_Link_Handle”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-09 15:11:37

在BLE中,只要建立连接,就可以使用L2CAP。

你不需要connect或其他任何东西。一旦您接收到LE连接完成事件,您就可以开始通过L2CAP进行通信了。

您提到的其他命令和数据不是LE,它们仅用于BR/EDR。

票数 0
EN

Stack Overflow用户

发布于 2013-10-30 13:39:37

“创建逻辑链接命令”是针对AMP控制器的,与L2CAP无关。使用LE,您可以通过固定通道自动拥有一个“连接”,只需在CID 4上以ACL数据包的形式发送ATT命令。ACL数据包利用从HCI LE连接事件返回的连接句柄。

(请回答#bluez IRC频道的某人,我不记得是谁)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19639722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档