Я пытаюсь установить (передаваемую) мощность передачи ключей Bluetooth с чипсетами Broadcom и CSR, используя hciconfig
, например:
hciconfig hci0 inqtpl 3
Но какой бы верный параметр я ни передавал, чтение значения впоследствии всегда дает 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? например:
И как только эти значения будут получены, вы можете попробовать что-то между этим диапазоном, установив, например, 0x1?
Кроме того, iirc, 1 - это максимум аппаратного обеспечения, а 0,5 - это 50% транзитной мощности, хотя это может зависеть от конкретного драйвера, что может быть мусорной информацией в вашем случае.
Я был почти уверен, что есть магазин, которому нужно позвонить после настройки транзитного питания, чтобы устройство начало его использовать, чтобы устройство не пыталось сразу установить неисправное транзитное питание.
Помогает ли это что-нибудь:
http://www.spinics.net/lists/linux-bluetooth/msg16546.html
источник
bccmd
.bccmd psget 0x0017
даетCan't execute command: No such device or address (6)
с моим модулем CSR, пока0x0001
работает.bccmd pslist
возвращает довольно короткий список из 7 команд, который не включает 0x0017. Кроме того,bccmd buildname
говоритсяodj_4hci_rom_vm_bt2.1_23e_0806121029_encr128
. Может быть, прошивка просто слишком старая? Могу ли я обновить его?bccmd
установил патч для поддержки чтения / установки значений по умолчанию и максимальной мощности передачи (главы 3.9 и 3.10 в eestud.kku.ac.th/~moo/datasheet/Bluetooth/BlueCore/… ). Я был в состоянии установить эти значения либо 0 или 4, ничего больше. Однако установка этих значений не оказывает никакого практического влияния на диапазон ключа. Интересно, хотяhciconfig inqtpl
теперь сообщает,4
если я установлю значения,4
хотя ...Пытаться:
источник
это работает с моим оборудованием на основе CSR8510 A10
источник