gpt4 book ai didi

bluetooth - 执行 hciconfig hci0 reset 时出现无效参数问题

转载 作者:行者123 更新时间:2023-12-05 06:16:51 26 4
gpt4 key购买 nike

我在 5.0 以上的内核中观察到这个问题。以及启用了扩展广告的 Controller 。我目前已经使用 bluez-5.50 进行了测试。

问题与“MGMT_ADV_FLAG_SEC_MASK”标志有关,这是我可以从代码中得到的。但是这个flag什么时候修改,怎么修改,我不明白。

配置:内核 5.4.24(任何 5.0+ 内核都会出现问题),bluez 5.50我正在执行以下步骤:1. hciattach 启用 BLE 扩展 ADV 的 Controller 。2. hciconfig hci0 重置。

扩展扫描 rsp 命令出现以下错误(在 hciconfig hci0 重置序列期间):

LE Set Extended Scan Response Data (0x08|0x0038) ncmd 1
Status: Invalid HCI Command Parameters (0x12)

我得到这个是因为下面写在 core_v5.2 中:"如果广告集不可扫描且主机使用此命令而不是丢弃现有数据,则 Controller 应返回错误代码无效 HCI 命令参数 (0x12)。如果广告集使用可扫描的传统广告 PDU 和Operation 不是 0x03 或 Scan_Response_Data_Length 参数超过 31 个八位字节, Controller 应返回错误代码 Invalid HCI Command Parameters (0x12)。如果 Operation 不是 0x03 且 Scan_Response_Data_Length 为零, Controller 应返回错误代码 Invalid HCI Command Parameters ( 0x12) "

所以在我的扩展 HCI 命令扩展广告设置命令中,就在扩展扫描 rsp 设置之前:

*LE Set Extended Advertising Parameters (0x08|0x0036) plen 25 

Handle: 0x00
Properties: 0x0010
Use legacy advertising PDUs: ADV_NONCONN_IND

此遗留广告是由于内核代码中检查的 MGMT_ADV_FLAG_SEC_MASK 而设置的。我想知道 Controller LE 功能的哪个参数或任何其他参数需要正确设置。

在我的蓝牙 Controller 中不支持多 ADV,支持扩展 ADV。

最佳答案

知道问题了,它是针对内核 5.4.24 的扩展 adv。在内核版本 5.7.7 中。我在文件 hci_request.c 中发现了这个差异,函数 get_adv_instance_scan_rsp_len,当前(内核 5.4.24)代码是:

static u8 get_adv_instance_scan_rsp_len(struct hci_dev *hdev, u8 instance)
{
struct adv_info *adv_instance;

/* Ignore instance 0 */
if (instance == 0x00)
return 0;

在 5.7.7 中改为:

static u8 get_adv_instance_scan_rsp_len(struct hci_dev *hdev, u8 instance)
{
struct adv_info *adv_instance;

/* Instance 0x00 always set local name */
if (instance == 0x00)
return 1;

这应该改变的是,它应该满足下面的条件,目前还没有。所以基本上应该设置扫描 rsp 数据 cmd 不会失败的可扫描标志:

 } else if (get_adv_instance_scan_rsp_len(hdev, instance)) {
if (secondary_adv)
cp.evt_properties = cpu_to_le16(LE_EXT_ADV_SCAN_IND);
else
cp.evt_properties = cpu_to_le16(LE_LEGACY_ADV_SCAN_IND);

关于bluetooth - 执行 hciconfig hci0 reset 时出现无效参数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61935284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com