Bluetooth bağlantılı fare ve A2DP kulaklık kullanarak gecikme nasıl ayıklanır?


13

Ben kendi Logitech M555b Kubuntu 12.04 çalıştıran benim HP EliteBook 8570w dizüstü bilgisayar ile kullanım için fareyi. KDE Bluetooth kontrol modülünü kullanarak bağlandıktan hemen sonra iyi çalışır.

Bununla birlikte, bir süre sonra (görünüşte rastgele), gecikmeye başlar. Hareketler kısa bir süre için yaklaşık 500 ms geciktiriliyor. Genellikle bir süre sonra iyileşir, ancak dakikalar sürebilir. Tüm eylemler erteleniyor: hareketler, tıklama, kaydırma. Buna ek olarak, hareketler bu zamanlarda dalgalı olabilir.

Her zaman aynı kısa süre için çalışan bir geçici çözüm , fareyi yeniden bağlamaktır. Bu, aynı KDE Bluetooth kontrol modülü kullanılarak yapılabilir.

Zaten ne denedim?

  • Bunu önyükleme zamanında çalıştırma:

    echo on > `readlink -f /sys/class/bluetooth/hci0`/../../../power/level
    

    Bluetooth hci0cihazındaki güç tasarrufu özelliklerini devre dışı bırakmak için .

  • Farenin pillerini kontrol edin (sadece bir haftalık, diğer yeni piller: aynı sonuç)

  • Bluetooth ile ilgili girişlerle ilgili günlükleri ve çekirdek mesajlarını kontrol etme: bağlantı zamanında beklenen mesajların hiçbiri.
  • Ben xorg-edgers PPA3.5.0-13-generic sağlanan çekirdek çalıştırıyorum . Düzenli 3.2 Hassas çekirdek önyükleme aynı davranışla sonuçlanır.

Yardımcı olabilecek diğer bazı bilgiler:

  • Makinede başka Bluetooth bağlantısı etkin olmadığında olur.
  • Bluetooth stereo (A2DP) kulaklığımda da benzer belirtiler var, ancak daha sonra ses gecikiyor ve atlanıyor. Bluetooth profillerini burada açıklandığı gibi değiştirmek yardımcı olur. Sonuç: Hatalı olan fare değildir.
  • Kulaklık, dahili Bluetooth özellikli, şimdi ölü Thinkpad T61p'imi kullanarak her zaman iyi çalıştı.
  • Dizüstü bilgisayarımdaki bluetooth modülü USB ile bağlı ve

    0a5c:21e1 Broadcom Corp. 
    
  • Dahili Bluetooth adaptörünün kapatılması ve başka bir adaptörün kullanılması gecikmeden sorunsuz çalışır.

    0a5c:2046 Broadcom Corp. Bluetooth Device
    

Mobilim ve çevremdeki birkaç kişi işyerinde Bluetooth kullanıyor (çoğunlukla A2DP). Komşularımın muhtemelen Bluetooth kullandıkları evde de oluyor. Bu olabilir sadece radyo paraziti olabilir, ama ben Bluetooth bağlantıları sadece başka kanala hop gerektiğini düşünüyorum. Dahası, yeniden bağlanırken anında düzgün çalışır.

Bu yüzden bir yazılım sürücüsü sorunu olduğunu düşünüyorum ve hata ayıklamak istiyorum. Bluetooth (-hid) modüllerinde daha ayrıntılı günlük kaydı almanın bir yolu var mı?


Anakartla değiştirilinceye kadar bilgisayarımda kötü bir USB bağlantı noktası vardı. Bluetooth modülünüzü takmak için farklı bir tane kullanmayı denediniz mi? Ayrıca, bilgisayarınızı ülkeye gezmek için almayı, arabanızı ve cep telefonunuzu kapatmayı ve RF parazitinin yokluğunda hala bir sorun olup olmadığını görebilirsiniz.
John S Gruber

Daha eski bir Bluetooth 2.0 USB dongle buldum ve bu bir cazibe gibi çalışıyor. 0a5c:21e1 Broadcom Corp.Linux'ta belirli bir sorun gibi görünüyor .
gertvdijk

Orijinal sorunla ilgili başka bir güncelleme. Linux çekirdeği 3.7.x'te olduğumdan beri bu dahili adaptörde de yok gibi görünüyor - hepsi çok iyi çalışıyor. Muhtemelen burada bir hatayı vurdu düzeltildi. Daha fazla ayrıntıyı anlamak için zamanım olduğunda bunu bir hata olarak rapor edeceğim.
gertvdijk

Yanıtlar:


6

Bluetooth cihazlarınızı izlemek ve derinlemesine bilgi edinmek hcidumpiçin paketteki yardımcı programı kullanmayı deneyebilirsiniz bluez-hcidump:

sudo apt-get install bluez-hcidump

Paket açıklamasında aşağıdakilere dikkat edilmelidir:

Hcidump yardımcı programı Bluetooth etkinliğinin izlenmesine olanak tanır. Bluetooth trafiğinin sökülmesini sağlar ve RFCOMM, SDP ve BNEP gibi daha üst düzey protokollerden gelen paketleri görüntüleyebilir.

Yardımcı programı kullanarak çıktıyı cihazınızdan ekrana veya dosyaya kaydedebilirsiniz; hciXkendi bluetooth cihazınız nerede (hci0 varsayılan değerdir ve hiçbir şey belirtmezseniz kullanılır -i), şunları çalıştırabilirsiniz:

sudo hcidump -x -i hciX

Komuta ekleyerek dökümü dosyaya kaydedebilirsiniz ve -w ~/outputözellikle ses verileri hakkında bilgi edinmek istiyorsanız, -Aanahtarı kullanabilir ve böylece SCO ses verilerini ayıklayabilirsiniz, ancak bu durumda her zaman bir çıktı dosyası belirtmeniz gerekir:

sudo hcidump -x -A -i hciX -w ~/output

Kaydedilmiş bir döküm dosyasını kullanarak

sudo hcidump -r ~/output

Araştırmak isteyebileceğiniz çok daha spesifik seçenekler var; varsayılan olarak tüm paketler boşaltıldığından, isterseniz paket türüne göre filtreleyebilirsiniz. Daha fazla bilgi için lütfen çevrimiçiman hcidump veya Ubuntu kılavuzlarına bakın .

Diğer tek seçenek yüklemek wiresharkve cihazlarınızı tespit edip edemeyeceğini görmek; eğer yapabilirse, burada belirtildiği gibi usb ve bluetooth trafiğini analiz edebilecektir , ancak hcidumpdaha iyi sonuçlar vermelidir.


Teşekkürler! Bu konuda garip olan hcidump, sorunu çalıştırırken görünmüyor. Ayrıca, onu çalıştırmaya başladığımda, sorun hemen yok oluyor. Bu hata ayıklama sondası yeniden üretilemez hale geliyor gibi görünüyor.
gertvdijk

2

Garip ses sorunlarını çözmek için USB izlemeyi kullanırken biraz şansım oldu. Bazen içerikten veya paketlerin zamanlamasından bir şey belirleyebilirsiniz. Benim durumumda, duyduğum gürültüye karşılık gelen paket uzunluğunda ara sıra bir değişiklik oldu.

İşte Wireshark'tan bazı bilgiler veren bir sayfa .

Sadece aşağıdakileri yaparak bir iz alabilirsiniz:

  1. sudo modprobe usmon
  2. cd / sys / çekirdek / hata ayıklama / usb / usbmon
  3. sudo kedi 0u | tee ~ / myusbtrace> / dev / null
  4. testini yap
  5. 3. adımdan süreci öldür

İşte linux projesinden, izlediğiniz şeyi nasıl daraltacağınız da dahil olmak üzere bu konuda bilgiler.

İkinci sütun zamanı içeriyor gibi göründüğünden, nasıl arttığına dikkat etmelisiniz. Düzgün başlar ve daha sonra gerginleşirse, sorun bluetooth bölümünde olabilir.

USB veya bluetooth olabilecek bir sorun olduğunda izleme düzensiz paketler gösteriyorsa, ancak düzensiz paketlerin yönü USB veriyolunun diğer tarafında bir şey yerine çekirdek veya sürücü olup olmadığını gösterebilir.


Çok faydalı, teşekkürler. Mümkünse küçük bir ödül teklif ederdim. :)
gertvdijk
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.