问题标签 [hci]

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 投票
0 回答
1083 浏览

linux - hciconfig -a 连接超时 (110) , bluez, btusb

我在我的树莓派上遇到了这个问题。

在我的 python 程序运行一段时间后,似乎一个(或多个)蓝牙适配器将“锁定”并且 hciconfig -a 将输出::连接超时(110)

当使用多个适配器时,问题似乎更频繁地出现。

我正在从事的项目涉及使用多个(有时是单个)USB 蓝牙适配器将文件推送到手机。执行以下操作的 python 程序:

1.自动检测适配器- #hciconfig -a
2.配置它们- #hciconfig CMD
3.查询设备- #hcitool -i inq
4.Obex 推送文件(可能与其他线程和其他同时)-bluez dbus

我的系统中的一些信息:

...

有什么想法/或建议吗?

有更新版本的 btusb 吗?我看了看,但我大多是空手而归

注意:我有点像 Linux 新手(虽然我正在学习)=-)

...

PS:这些论坛似乎暗示可能已经修复了类似的东西:
https://bbs.archlinux.org/viewtopic.php?id=183411
https://bbs.archlinux.org/viewtopic.php?id=183038
但是引用的问题似乎与 Atheros 适配器芯片组有关,而我正在使用 Broadcom 芯片组。此外,我可以为 rpi 获得的最新版本的 linux 似乎是 13.13 标头和 linux-raspberrypi 13.12

0 投票
1 回答
2807 浏览

linux - 无需配对即可在BT设备的树莓派上获取蓝牙信号强度

我喜欢为我现有的家庭自动化系统创建一种室内跟踪系统。我想过使用BLE。我已经在我的 Raspberry Pi 上成功设置hcitool,我可以毫无问题地连接到我的 iPhone。但是我如何在不连接它们的情况下获得我的树莓派和我的 iPhone 之间的信号强度。我已经尝试使用sudo hcitool cc [BTADDRESS]未经身份验证的方式连接到我的 iPhone,但看起来 iPhone 不允许这些连接保持打开状态。我认为这一定是一种无需连接两个设备即可获得信号强度的方法。我想用它来确定我的 Raspberry Pi 到我的 iPhone 的距离。我可以计算我需要发现我的 iPhone 的时间吗?

0 投票
1 回答
3735 浏览

c - Bluez BLE 连接 Linux

我对 Linux 和蓝牙开发非常陌生,我不确定 和 之间的sudo hcitool lecc <bdaddr>区别sudo gatttool -b <dbaddr> -I?我不需要任何 GATT 服务;我只想要两个设备之间的连接。

我正在模糊地看着这个被广泛引用的教程,并且正在考虑调整cmd_leccBluez /tools/hcitool.c 中的方法,但我无法使用hcitool lecc.

当我使用 连接gatttool时,我能够成功连接,但是使用hcitool lecc返回错误“无法创建连接:连接超时”,并且没有与 BLE 设备建立连接。但是,运行sudo hcitool con显示活动连接显示有一个:“未知句柄 0 状态 2 lm SLAVE”。如果无法建立连接,为什么还要将连接注册为活动状态hcitool

因此,我的问题有三个:

  1. 这两个命令有什么区别?
  2. 是否适合我的目的,或者我应该找出什么gatttool不起作用hcitool(遵循这样的事情
  3. 为什么sudo hcitool lecc <bdaddr>部分连接,即使它超时?

非常感谢。

0 投票
2 回答
2350 浏览

linux - 我在哪里可以找到 linux os 蓝牙 hcitool 命令

在 Linux 中,hcitool command有一个子命令cmd( hcitool cmd hex....)

问题: 有谁知道我在哪里可以找到可用命令的列表hcitool cmd?和他们的共同回应hexa

0 投票
0 回答
28 浏览

operating-system - 未分配的寄存器地址

问题:没有一个控制器(例如 PCI 和内存控制器)在内存或 I/O 地址空间中具有其 HCI 的寄存器地址。但是,操作系统仍然能够与这些控制器进行通信。描述操作系统必须做什么、如何做以及何时做。如果操作系统必须与计算机的某些部分通信才能实现这一点,请解释什么、为什么和何时。

0 投票
1 回答
733 浏览

bluetooth - 蓝牙配对问题

我们正在使用来自通用供应商的基于 USB 的加密狗在 iMx6 平台上测试 WEC2013 中的蓝牙。我们使用 WEC2013 BSP 提供的默认 HCI 传输层。

BT 已打开并能够扫描附近的所有设备。

我们启用了以下一组 sysgen 变量和注册表项。

系统变量:

注册表项:

我们观察到与设备配对的不同场景。

  1. 从板连接到手机(imx6+usb dongle 运行 WEC2013) 当通过 bthsettings UI 启动配对时,配对成功。它将触发两侧的 6 位自动密钥。

  2. 在不打开 bthsettings UI 的情况下从移动设备连接到电路板。这里配对成功一次。当 UI 未打开时(BT 在后台打开),从手机启动配对,两者都将使用自动 6 位密钥方法配对。但这会在内部调用 bthsettings UI,所以下次我们从手机进行配对时,手机端会要求手动插入密钥。只要在手机上输入键并按下配对,手机端就会出现配对拒绝通知。所以在这种情况下配对失败。

  3. 打开 bthsettings 时从手机连接到棋盘。这里配对失败。手机发起配对时,会调用手动插键界面,插键并按下配对时,手机端会提示配对失败,配对失败。

在这些失败的场景中,上层正在响应来自芯片的“Pin code request event”的“Pin code requestnegative reply command”。

我们需要有关此配对过程的输入。为什么会根据 UI 是否打开来调用自动密钥和手动密钥生成方法?为什么手动钥匙盒失败了?

我们是否缺少任何注册表项或堆栈功能?

0 投票
0 回答
1538 浏览

iphone - 自定义 (BLUEZ) HCI LE 广告报告格式

我希望能够自定义 HCI LE 广告报告,这样我就可以在不连接到 IOS 应用程序 (iPhone) 的情况下收集其他服务 UUID。

BLUEZ hcitool(通过 lescan 选项)为每个设备返回 HCI LE 广告报告,如下所示:

我检索此 HCI LE 广告报告的代码基于hcitool.c cmd_lescan函数,如下所示:

我能够转储 IOS 应用程序的 HCI LE EVENT 报告结果,如下所示:

不幸的是,HCI LE 广告报告仅允许单个 128 位 BLE 服务 UUID。有没有办法自定义报告以允许在不连接到 iPhone(IOS) 等设备的情况下收集更多信息?

0 投票
1 回答
1054 浏览

matlab - 使用 Matlab 和 HCI 命令从 ti sensortag 获取加速度计数据

我正在尝试使用 matlab 从 ti sensortag 获取传感器数据,我的工作基于 github 站点上发布的工作:

https://github.com/sid5291/SensorTag-Matlab

我正在尝试获取加速度计数据而不是温度和湿度数据(在原始工作中)

这是我的代码,建立了matlab和sensortag之间的连接,并且

  • 当我请求温度信息时,结果是正确的并且

  • 当我请求加速度计或陀螺仪数据时,结果错误



任何人都可以帮我解决这个问题吗

0 投票
1 回答
1264 浏览

android - HCI 蓝牙监听日志创建一个空的日志文件

每当我在开发人员选项中启用“HCI 蓝牙监听日志”时,我得到的只是一个 16 字节的空日志文件 (btsnoop_hci.log)。我确定蓝牙正在通信,因为我的应用程序工作正常。

我在 ZenFone 2 上安装了 Android 5.0.1(没有生根)。

编辑:我还注意到,即使我启用了 HCI 蓝牙日志记录选项,当我执行 adb shell cat /etc/bluetooth/bt_stack.conf BtSnoopLogOutput 时总是错误的。

EDIT2:即使在 root 设备并手动设置 BtSnoopLogOutput=true 之后,日志仍然为空

0 投票
1 回答
1563 浏览

ubuntu - 使用蓝牙 HID 代理模式 Ubuntu 15.10 的问题

我有一个罗技(品牌为戴尔)蓝牙键盘、鼠标和接收器加密狗。我通常让它们处于 HID 代理模式,因为这意味着我可以在不同机器之间更换加密狗,而不必每次都重新配对键盘和鼠标。这在我测试过的所有设备上都运行良好。

我刚刚将一台机器更新到 Ubuntu 15.10,当我插入加密狗时,它会将其识别为 HCI 并将其用作接收器而不是代理。当这台机器运行 15.04 时,它可以作为代理正常工作。要在 15.04 上将加密狗激活为 HCI,我过去必须在按住它的按钮时将其插入。在 15.10 上执行此操作似乎没有任何效果,因为它已经处于 HCI 模式。

在任一版本的 Ubuntu 中运行lsusb都会列出 HCI 和 HID 代理设备。在其他机器上使用加密狗(尽管我没有任何其他 15.10 机器可以测试)直接用作 HID 代理。

关于如何强制 Ubuntu 将其用作 HID 代理的任何想法?

(另外,如果更高层的人可以创建 ubuntu-15.10 标签;我没有足够的代表。)