我正在尝试使用 Broadcom 和 CSR 芯片组设置蓝牙加密狗的(查询)传输功率hciconfig
,例如:
hciconfig hci0 inqtpl 3
Run Code Online (Sandbox Code Playgroud)
但是无论我传递什么有效参数,之后读取该值总是会产生 0,如下所示:
hci0: Type: BR/EDR Bus: USB
BD Address: 00:02:72:D6:6B:25 ACL MTU: 1021:8 SCO MTU: 64:1
Inquiry transmit power level: 0
Run Code Online (Sandbox Code Playgroud)
当我传递无效值时,我收到一条错误消息:
Can't set inquiry transmit power level on hci0: Input/output error (5)
Run Code Online (Sandbox Code Playgroud)
所以很明显,参数被检查了有效性。我很确定它是由芯片组检查的,因为在手动发送适当的 HCI 命令时我得到了相同的结果。
两种芯片组还声明它们支持此功能:
# hciconfig hci0 features
hci0: Type: BR/EDR Bus: USB
BD Address: 00:02:72:D6:6B:25 ACL MTU: 1021:8 SCO MTU: 64:1
Features page 0: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
[...]
<err. data …
Run Code Online (Sandbox Code Playgroud) bluetooth ×1