linux 蓝牙 串口,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上运行.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值