linux - Linux 上的 gatttool 和 hcitool

标签 linux bluetooth

我正在尝试使用 gatttool 连接到设备在 Linux 上。我跑 hcitool lescan获取设备 MAC 地址,然后 gatttool -i hci1 -b <macaddr> -t random -I .然后我输入 connect .我按预期看到 [CON],但问题是它在大约 1 秒后自动消失,没有任何错误消息。我一直在寻找几个小时,但我不明白为什么会这样?

注意:我已经运行了hcitool lecc运行前gatttool有一次只是为了尝试一下,但在我看来,从那以后,gatttool连接不再正常工作(如上所述意外断开连接)。是不是因为我用过hcitool lecc ?如果是,是否有办法“撤消”它?

最佳答案

不确定这是否对您有帮助,因为我在我的 Raspberry Pi(最新的 wheezy 版本)和 bluez 5.18(2014 年 4 月发布)上看到了这种行为。

  1. 在执行 lecc 后,我可以从命令行连接到我的 BLE 外围设备,没有任何问题。我不认为你需要在 lecc 后重置。无论如何,如果你确实想重置你的 BT 加密狗,因为它处于某种时髦的状态,请查看 this excellent step-by-step guide重置 BT 加密狗。我遵循了这些步骤并获得了一致的结果。

  2. 我可以连接并查询primary,但通常情况下,在我可以手动输入primary之前连接断开.请参阅下面的结果。如果我在连接后使用向上/向下箭头快速滚动到主要,我可以毫无问题地看到此外围设备提供的主要服务。

~ $ sudo gatttool -I -i hci0 -m 48 -b 20:CD:39:A8:11:AF

[20:CD:39:A8:11:AF][LE]> connect

Attempting to connect to 20:CD:39:A8:11:AF

Connection successful

[20:CD:39:A8:11:AF][LE]> primary

Command Failed: Disconnected

关于linux - Linux 上的 gatttool 和 hcitool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22578433/

相关文章:

linux - 如何删除 Jenkins Maven 本地存储库中的旧 Artifact

audio - 开机10分钟后产生PulseAudio静态噪音

android - 连接到 GATT 服务器时从未调用过 onServicesDiscovered

iOS - CoreBluetooth didDiscoverPeripheral 仅调用一次

linux - 对标准输出与 monit 进程的去向感到困惑

c - LD_PRELOAD 是否可能只影响主可执行文件?

linux - 找不到 yarn 的“全局”文件或目录

c - 如何从 linux tun/tap 中逐个读取数据包

android - 调用AudioManager.setMode(MODE_NORMAL)时,如何修复具有Android 8.0和8.1.0特定SecurityException的Samsung?

android - 如何在android中创建MACROS