问题标签 [l2cap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2680 浏览

android - Kit Kat 中的 Android BT 堆栈

我想知道是否有其他人遇到与其他设备的 L2CAP 连接问题。我有一台在 Android 4.1 下运行良好的设备,但现在我使用的是 Kit Kat,它不再工作了。我可以在具有特定服务名称属性的 BT 套接字上侦听,以使设备可以发现电话,但这不再有效。

我的想法是添加 Bluedroid 和删除 Bluez 堆栈。BLE 运行良好,但我失去了经典的 BT 功能。我已经用 BT 调试方式重建了 OS 映像,我可以看到一个奇怪的事件,它似乎试图通过 BLE 连接 L2CAP,即使设备不是 BLE。基本上有很多 ATT 和 GATT 调用,我认为经典的 BT 设备不应该发生这些调用。我也尝试过删除 BLE 功能并重建堆栈,但这并没有解决问题,这似乎表明 L2CAP over BT 根本不受支持(基本上它有相同的问题,即不连接但没有GATT/ATT 通话)。关于经典 BT 的 Bluedroid 中是否存在 L2CAP 功能的任何想法?有没有办法替换堆栈或使用更新版本的 Bluez(支持 BLE)?非常感谢任何帮助或想法。

谢谢

0 投票
5 回答
47428 浏览

android - Android BLE 连接时间间隔

我正在使用 Android BLE API 在 Nexus 4 上开发 BLE 应用程序。我有几个问题/疑问:

1)有没有办法设置/覆盖BLE中央设备的连接或通知间隔。我发现对于 Android,默认连接间隔固定为 7.5 毫秒。有没有办法更改此连接/通知延迟间隔设置。

来源:http ://processors.wiki.ti.com/index.php/Bluetooth_SensorTag?DCMP=lprf-stdroid&HQS=lprf-stdroid-pr-wiki1#Supported_Android_devices

2)在连接到远程设备时,我遇到了随机时间间隔后断开连接的问题。有很多人在使用 Android 4.3 API 进行 BLE 连接时遇到连接断开的问题,称 android 不稳定。有什么解决办法吗?

编辑

我在这里观察到的其他情况是,当需要时间重新连接时,它会附带一些 L2CAP 日志......按照日志

知道如何通过 L2CAP 清除 cahce mantain 吗?

0 投票
1 回答
2236 浏览

bluetooth-lowenergy - 使用 Bluez 的 l2test 与 LE 设备通信

我正在尝试让 BLE 加密狗(主设备)与嵌入式 BLE 设备(从设备)连接,之后他们可以使用 L2CAP 数据包进行通信。使用 Bluez 5.18,我可以使用 hcitool lescan 看到从站广告,并且可以使用 hcitool lecc 与其连接。接下来我想通过发送和接收 L2CAP 数据包与从机进行通信。如何做到这一点?我已经尝试了 l2test 的各种选项来做到这一点,但没有成功。我用过

-V le_random 地址类型

-M 指定加密狗为主

-J 65 指定通道 id 为 0x41

-i hci1 指定加密狗

我尝试过的模式是

-u 连接和接收

-n 连接并保持沉默

-r 监听和接收

-w 收听并发送

尝试连接时,如果我使用 le_random 地址类型,则会收到 Invalid arguments(22) 错误。否则它说主机已关闭(112)。如何使用 BLE 设备与 L2CAP 层通信?任何帮助是极大的赞赏。问候。

0 投票
1 回答
2604 浏览

python-2.7 - PyBluez 蓝牙 L2CAP

我的问题是我得到:

从这行代码:

我不明白为什么我会收到这个错误。

我使用它的原因是因为我想将键盘事件发送到通过蓝牙连接的设备。

0 投票
1 回答
3667 浏览

linux - Linux 上的蓝牙 LE 超时过多?

我编写了一个应用程序,它在 Linux 上以非阻塞模式使用蓝牙 LE L2CAP 连接来读取/写入 ATT 数据包(使用socket(PF_BLUETOOTH, SOCK_SEQPACKET|SOCK_CLOEXEC, BTPROTO_L2CAP))。通常,当设备关闭或超出范围时,read()给出 errno=ETIMEDOUT。

但是,read()当蓝牙 LE 设备似乎仍在工作时,给出的 errno=ETIMEDOUT 比它应该更频繁。超时的原因是什么?超时是否可配置?

我的 Linux 配置是 3.13.0-24-generic;蓝牙核心版本 2.17。

0 投票
2 回答
395 浏览

bluetooth - Chrome:不支持蓝牙 L2CAP 协议

我想使用 chrome 应用程序连接我的蓝牙遥控器,但我收到以下错误“不支持蓝牙 L2CAP 协议”我想在不使用 Windows 支持的情况下将我的蓝牙遥控器或移动设备与 chrome 应用程序连接。请帮助问候

问候

0 投票
1 回答
672 浏览

macos - 如何建立 L2Capp 中断通道连接?

我试图打开 L2Cap HID 通道和中断通道,以便我可以将 HID 命令发送到蓝牙设备。

我已经完成了所有服务广告和设备配对并建立了基带连接。

隐藏控制通道可以正常打开。当我尝试创建我的 kBluetoothL2CAPPSMHIDInterrupt 连接时

l2capChannelQueueSpaceAvailable

调用委托方法(不确定这是什么意思),然后

l2capChannelOpenComplete

但连接立即关闭调用

l2capChannel 关闭

如何正确打开这些连接?

我花了很长时间研究 IOBlueTooth 框架和 bluetooth.org HID 规范,但几乎没有任何有用的信息(至少我能找到)。

当我追踪我的 L2Cap 通道时,我看到一些空值

mIncomingDataListener

mEventDataListener

. 我不知道如何设置这些,或者它们是否与我的问题有关....只是推测。

下面的代码片段是我迄今为止在建立与设备的连接后进行连接的尝试。

编辑:1

我附上了我的数据包日志。很奇怪,请求

k蓝牙L2CAPPSMSDP 0x0001

在没有我要求的情况下制作,然后一切都开始断开连接。

BT 数据包日志

0 投票
0 回答
303 浏览

java - java/Android蓝牙在做l2ping响应时如何通过android编程来判断?

当我的手机对蓝牙 l2ping 做出响应时,我如何以编程方式在 android 上的 java 中感知?

例如,在一个假设的时刻,我从 linux 发出命令:

然后我的手机对此作出反应。

我需要通过 java 编程在我的手机上捕获这个响应请求。

0 投票
0 回答
192 浏览

bluetooth - 如何将无连接链接与面向连接的 l2cap 通道相关联?

我正在研究 l2cap 规范。在这里,我发现面向连接和少连接的通道类型使用少连接的 ACL 链接来传输数据包。

请帮助我了解具有连接较少逻辑链接的面向连接的通道将如何处理数据?

如果这是一个愚蠢的问题,请告诉我在哪里可以澄清这个疑问。

0 投票
0 回答
2645 浏览

android - Android连接蓝牙L2CAP设备(PS4控制器),如何通过root?

我尝试将我的手机连接到使用 L2CAP 作为蓝牙连接协议的 L2CAP 设备(PS4 控制器)。

DualShock 4 控制器的文档:http ://www.psdevwiki.com/ps4/DS4-BT

Android 官方不再支持 L2CAP。由于android 4+,他们“隐藏”了它。(但仍然可以在源代码中到处找到)

资源:

https://android.googlesource.com/platform/frameworks/base/+/android-6.0.1_r31/core/java/android/bluetooth/BluetoothSocket.java

http://developer.android.com/intl/es/reference/android/bluetooth/BluetoothSocket.html

但正如我在互联网上阅读的那样,它不能被称为,只有低谷。

有谁知道它是否可以用 BlueDroid 完成?或者有一个关于如何用root来做的例子?

这是不可能的,因为它不允许调用另一个包中的函数 ->

非常感谢任何帮助或指导!