Bluetooth iletim gücü nasıl ayarlanır?


9

hciconfigÖrneğin kullanarak Broadcom ve CSR yonga setleri ile Bluetooth dongle (sorgu) iletim gücünü ayarlamaya çalışıyorum :

hciconfig hci0 inqtpl 3

Ancak, hangi geçerli parametre geçersem, daha sonra değeri okumak her zaman 0 verir, şöyle:

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

Geçersiz değerleri ilettiğimde bir hata mesajı alıyorum:

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

Dolayısıyla, parametrenin geçerliliği kontrol edilir. Uygun HCI komutlarını manuel olarak gönderirken aynı sonuçları aldığım için yonga setleri tarafından kontrol edildiğinden eminim.

Her iki yonga seti de bu özelliği desteklediklerini belirtir:

# 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>
                [...]

Yanlış bir şey mi alıyorum, yoksa sadece kullandığım her iki yonga setinin de bu özelliği desteklememesi mi?


1
Güncelleme: Yeni bir dongle üreticisinden Avrupa CE işaretinin aksine kısıtlamalar nedeniyle bu özelliğin engellendiğini belirten bir not aldım.
domsom

Yanıtlar:


2

Sadece iki kez kontrol etmek için:

bccmd psget ile maksimum ve varsayılan değeri alabilir misiniz? örn:

bccmd psget 0x0017

Ve bu değerler alındığında, örneğin 0x1'i ayarlayarak bu aralık arasında bir şey deneyebilir misiniz?

Ayrıca iirc, 1 donanımın maksimum ve 0.5% 50 transit gücüdür, bu da sürücüye özgü olabilir, böylece durumunuzda çöp bilgisi olabilir.

Aygıtın kullanmaya başlaması için aktarım gücünü ayarladıktan sonra, aygıtın hemen hatalı bir aktarım gücü ayarlamaya çalışmasını önlemek için aramanız gereken bir mağaza işlemi olduğundan neredeyse emindim.

Bu herhangi bir şeye yardımcı olur mu:
http://www.spinics.net/lists/linux-bluetooth/msg16546.html


Cevabınız için teşekkürler, sadece biraz zaman geçirdim bccmd. CSR bccmd psget 0x0017modülüm Can't execute command: No such device or address (6)ile 0x0001çalışır , çalışırken . bccmd pslist0x0017 içermeyen 7 komutun oldukça kısa bir listesini döndürür. Ayrıca, bccmd buildnamedevletler odj_4hci_rom_vm_bt2.1_23e_0806121029_encr128. Belki de bellenim çok eski? Güncelleyebilir miyim?
domsom

Ayrıca bccmdvarsayılan ve maksimum tx güçlerini ( eestud.kku.ac.th/~moo/datasheet/Bluetooth/BlueCore/… ) 3.9 ve 3.10 bölümlerini okumayı / ayarlamayı desteklemek için yamalı . Bu değerleri 0 ya da 4 olarak ayarlayabildim, başka bir şey değil. Bu değerlerin ayarlanmasının, dongle'ın menzili üzerinde herhangi bir pratik etkisi olduğu görülmemektedir. İlginçtir ki hciconfig inqtplşimdi 4değerleri 4yine de ayarlayıp ayarlamadığımı raporlar ...
domsom

0

Deneyin:

sudo bccmd psget -s 0x0000 0x0017

Bu, Domsom'un Torxed'in cevabı hakkındaki yorumlarında açıklanan aynı sorunla karşılaştığında işe yaradı. Yama gerekmez.
Hydranix

0
bccmd psget -s 0x0000 0x0021
Default transmit power: 0x0004 (4)
localhost ~ # bccmd psset -r -s 0x0000 0x0021 0x0006
localhost ~ # bccmd psget -s 0x0000 0x0021
Default transmit power: 0x0006 (6)

CSR8510 A10 tabanlı donanımımla çalışıyor

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.