Saya mencoba mengatur (mentransmisikan) daya pancar dongle Bluetooth dengan menggunakan chipset Broadcom dan CSR hciconfig
, misalnya:
hciconfig hci0 inqtpl 3
Tapi apa pun parameter valid yang saya lewati, membaca nilai setelahnya selalu menghasilkan 0, seperti:
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
Ketika saya memberikan nilai yang tidak valid, saya mendapatkan pesan kesalahan:
Can't set inquiry transmit power level on hci0: Input/output error (5)
Jadi jelas parameternya diperiksa validitasnya. Saya cukup yakin itu diperiksa oleh chipset, karena saya mendapatkan hasil yang sama ketika mengirim perintah HCI yang sesuai secara manual.
Kedua chipset juga menyatakan mereka mendukung fitur ini:
# 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>
[...]
Apakah saya mendapatkan sesuatu yang salah, atau hanya karena kedua chipset yang saya gunakan tidak mendukung fitur ini?
Jawaban:
Hanya untuk mengecek:
dapatkah Anda mendapatkan nilai maksimum dan standar melalui bccmd psget? ex:
Dan begitu nilai-nilai tersebut diterima, dapatkah Anda mencoba sesuatu di antara rentang tersebut dengan menetapkan 0x1 misalnya?
Juga iirc, 1 adalah maksimum dari perangkat keras dan 0,5 adalah daya transit 50%, yang dapat menjadi driver khusus sehingga mungkin info sampah dalam kasus Anda.
Saya hampir yakin bahwa ada proses toko yang harus Anda panggil setelah mengatur daya transit agar perangkat mulai menggunakannya, untuk mencegah perangkat mencoba mengatur daya transit yang salah segera.
Apakah ini membantu apa pun:
http://www.spinics.net/lists/linux-bluetooth/msg16546.html
sumber
bccmd
.bccmd psget 0x0017
menghasilkanCan't execute command: No such device or address (6)
dengan modul CSR saya, sambil0x0001
bekerja.bccmd pslist
mengembalikan daftar yang agak pendek dari 7 perintah yang tidak termasuk 0x0017. Selain itu,bccmd buildname
nyatakanodj_4hci_rom_vm_bt2.1_23e_0806121029_encr128
. Mungkin firmware terlalu lama? Bisakah saya memperbaruinya?bccmd
untuk mendukung pembacaan / pengaturan kekuatan standar & maksimum tx (bab 3.9 & 3.10 di eestud.kku.ac.th/~moo/datasheet/Bluetooth/BlueCore/… ). Saya telah dapat mengatur nilai-nilai tersebut ke 0 atau 4, tidak ada yang lain. Menetapkan nilai-nilai itu tampaknya tidak memiliki dampak praktis pada rentang dongle. Menariknya,hciconfig inqtpl
sekarang melaporkan4
jika saya menetapkan nilai ke4
...Mencoba:
sumber
ini bekerja dengan perangkat keras saya berdasarkan CSR8510 A10
sumber