Ubuntu 如何控制BT协议栈中的LMP消息?

Ubuntu 如何控制BT协议栈中的LMP消息?,ubuntu,bluetooth,wireless,bluez,hci,Ubuntu,Bluetooth,Wireless,Bluez,Hci,我正在为蓝牙(经典不可编程)进行测试设置。我正在研究的一个例子是,当自适应跳频(AFH)不起作用时,即BT继续希望79个可用信道,而不管当前是否存在干扰。 应使用以下命令关闭AFH: hciconfig hci0 afhmode 0 当hciconfig查询时,此命令成功地将AFH模式的状态设置为“已禁用”,但我的问题出现在这里:在链路设置阶段传输的LMP_set_AFH消息将AFH_模式PDU设置为“已启用”,即使我在链路设置开始之前已禁用它。根据标准,我需要此消息包含AFH_模式PDU“已

我正在为蓝牙(经典不可编程)进行测试设置。我正在研究的一个例子是,当自适应跳频(AFH)不起作用时,即BT继续希望79个可用信道,而不管当前是否存在干扰。 应使用以下命令关闭AFH:

hciconfig hci0 afhmode 0
当hciconfig查询时,此命令成功地将AFH模式的状态设置为“已禁用”,但我的问题出现在这里:在链路设置阶段传输的LMP_set_AFH消息将AFH_模式PDU设置为“已启用”,即使我在链路设置开始之前已禁用它。根据标准,我需要此消息包含AFH_模式PDU“已禁用”


我的问题是:有没有办法控制协议栈的LMP部分?我相信解决我问题的办法就在那里。我对任何工具,编程语言。。。等可以帮助我做到这一点。

你是如何检查LMP消息的,是使用嗅探器还是ubuntu中的任何实用程序,因为hcidump只能检查控制器/主机命令/事件我有机会使用BT空气嗅探器检查整个通信流,基带向上…希望你使用sudo权限更改afh模式,我没有FTS需要进一步检查,还需要在设备连接/扫描期间检查规格,是否必须启用afh模式>我对此也很感兴趣。我使用的是Bluez4.98;如果有人能给我指出正确的方向,我将不胜感激。AFAIK对hci.c进行更改似乎没有帮助