linux – 使用hciattach的蓝牙over uart?
我正在使用QN9021 SoC在控制器模式下工作(BLE蓝牙核心规范v4.0).它支持一些标准HCI命令以及一些供应商特定命令.我试图将它附加到我的ubuntu笔记本电脑中.
我使用的命令是hciattach. hciattach -s 9600 /dev/ttyUSBx any 9600 noflow nosleep hcidump在执行sudo hciconfig hci1时显示. HCI sniffer - Bluetooth packet analyzer ver 5.37 device: hci1 snap_len: 1500 filter: 0xffffffffffffffff > HCI Event: Command Complete (0x0e) plen 12 Read Local Supported Features (0x04|0x0003) ncmd 11 status 0x00 Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 > HCI Event: Command Complete (0x0e) plen 12 Read Local Version Information (0x04|0x0001) ncmd 11 status 0x00 HCI Version: 4.0 (0x6) HCI Revision: 0x400 LMP Version: 4.0 (0x6) LMP Subversion: 0x400 Manufacturer: Quintic Corp. (142) > HCI Event: Command Complete (0x0e) plen 10 Read BD ADDR (0x04|0x0009) ncmd 11 status 0x00 bdaddr 08:7C:BE:3E:34:BB > HCI Event: Command Complete (0x0e) plen 11 Read Buffer Size (0x04|0x0005) ncmd 11 status 0x00 ACL MTU 0:0 SCO MTU 0:0 > HCI Event: Command Complete (0x0e) plen 4 Read Class of Device (0x03|0x0023) ncmd 11 status 0x01 class 0x000000 Error: Unknown HCI Command hciconfig命令显示: hci1: Type: BR/EDR Bus: UART BD Address: 08:7C:BE:3E:34:BB ACL MTU: 0:0 SCO MTU: 0:0 DOWN RX bytes:192 acl:0 sco:0 events:15 errors:0 TX bytes:60 acl:0 sco:0 commands:15 errors:0 hci0: Type: BR/EDR Bus: USB BD Address: C4:8E:8F:66:3B:0E ACL MTU: 820:8 SCO MTU: 255:16 UP RUNNING PSCAN RX bytes:2457 acl:0 sco:0 events:196 errors:0 TX bytes:24646 acl:0 sco:0 commands:196 errors:0 我想知道如何防止内核或某些蓝牙内核模块发送不支持的HCI命令.我是否需要修补Linux内核源代码或为我的SoC编写模块. 注意: – 此项目无法更改SoC或为其编写固件以支持所有必需的命令. 编辑: 我知道我的SoC支持的HCI命令列表.我正在考虑创建一个模块来告诉内核和守护进程运行只向SoC发送支持的命令.我看一下linux内核源码(特别是在这个hci_core.c).我认为修改它可能会在经历这个link后解决问题.在这个链接中,一些开发人员提供了一个补丁来支持蓝牙加密狗.该补丁可防止hci_core.c文件将特定HCI命令发送到特定制造商的加密狗. 我想要的只是建议解决这个问题.我是否需要修改linux内核或为我的SoC编写模块? 注意: – 应用程序将在openwrt linux上运行. 解决方法
好的,今天我们找到了解决方案:
# hciattach -r /dev/ttyS0 bcsp 115200 也许这有助于某人 有用的提示:这个link可能会对你有所帮助.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – MD上的root用户启动失败(RAID1)LVM:udev事件定时
- linux-kernel – 如何更改dmesg的大小? [linux 2.4]
- virtualbox中的ubuntu无法进入系统的修复方法
- linux – iwconfig – 通过wifi在终端上连接网络
- LINUX教程:Smarty变量用法详解
- CentOS 7.0下使用yum安装MySQL
- linux – 在我的第一个qemu / kvm运行中可以改进什么?
- 如何在Linux中查看日志文件并在查看时应用自定义文件管理器
- linux – 是否有用于字节计算的命令行计算器?
- linux – 如果在Bash中工作,我怎么能这样做?