Как установить мощность передачи Bluetooth?

Я пытаюсь установить (запрос) мощность передачи ключей Bluetooth с помощью чипсетов Broadcom и CSR с использованием hciconfig , например:

 hciconfig hci0 inqtpl 3 

Но какой бы ни был действительный параметр I, чтение значения после этого всегда дает 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 

Когда я передаю недопустимые значения, появляется сообщение об ошибке:

 Can't set inquiry transmit power level on hci0: Input/output error (5) 

Таким образом, очевидно, что параметр проверен на достоверность. Я уверен, что это проверено на чипсетах, так как я получаю одинаковые результаты при отправке соответствующих команд 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 report> <non-flush flag> <LSTO> <inquiry TX power> [...] 

Я получаю что-то не так, или просто потому, что оба чипсета, которые я использую, не поддерживают эту функцию?

Просто дважды проверьте:

вы можете получить максимальное значение и значение по умолчанию через bccmd psget? например:

 bccmd psget 0x0017 

И как только эти значения будут получены, вы можете попробовать что-то между этим диапазоном, например, установив 0x1?

Кроме того, iirc, 1 является максимальным количеством аппаратного обеспечения, а 0,5 – транзитной мощностью 50%, что может быть специфичным для водителя, поэтому в вашем случае может быть информация о мусоре.

Я был почти уверен, что вам необходимо позвонить после установки транзитной мощности, чтобы устройство начало использовать его, чтобы устройство не пыталось сразу установить неисправную транзитную мощность.

Помогает ли это чему-либо:
http://www.spinics.net/lists/linux-bluetooth/msg16546.html

Пытаться:

 sudo bccmd psget -s 0x0000 0x0017