วิธีแก้ปัญหาความล่าช้าโดยใช้เมาส์ที่เชื่อมต่อผ่านบลูทู ธ และชุดหูฟัง A2DP


13

ฉันมีเมาส์Logitech M555bสำหรับใช้กับแล็ปท็อป HP Elitebook 8570w ที่ใช้ Kubuntu 12.04 ทำงานได้ทันทีหลังจากเชื่อมต่อโดยใช้โมดูลควบคุมบลูทู ธ ของ KDE

อย่างไรก็ตามหลังจากผ่านไปครู่หนึ่ง (ดูเหมือนว่าสุ่ม) มันเริ่มล้าหลัง การเคลื่อนไหวล่าช้าออกไปประมาณ 500ms ในช่วงเวลาสั้น ๆ โดยปกติแล้วจะกู้คืนหลังจากเวลาผ่านไปเช่นกัน แต่อาจใช้เวลาสักครู่ การกระทำทั้งหมดจะล่าช้า: การเคลื่อนไหวคลิกเลื่อน นอกจากนี้การเคลื่อนไหวสามารถเปลี่ยนแปลงเร็วในช่วงเวลาเหล่านี้

การแก้ปัญหาที่มักจะทำงานให้กับช่วงเวลาสั้น ๆ เดียวกันของเวลาคือการถอดใหม่เชื่อมต่อเมาส์ สามารถทำได้โดยใช้โมดูลควบคุมบลูทู ธ ของ KDE เดียวกัน

ฉันลองทำอะไรแล้ว

  • การรันในเวลาบูต:

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

    หากต้องการปิดใช้งานคุณสมบัติประหยัดพลังงานบนhci0อุปกรณ์Bluetooth

  • ตรวจสอบแบตเตอรี่ของเมาส์ (มีอายุเพียงหนึ่งสัปดาห์แบตเตอรี่ใหม่อื่น ๆ : ผลลัพธ์เดียวกัน)

  • การตรวจสอบบันทึกและข้อความเคอร์เนลเกี่ยวกับรายการที่เกี่ยวข้องกับบลูทู ธ : ไม่มีข้อความที่คาดหวังในเวลาเชื่อมต่อ
  • ฉันทำงานเคอร์เนล3.5.0-13-genericตามที่บัญญัติไว้ในxorg-edgers PPA การบูตเคอร์เนล 3.2 แม่นยำทำให้ผลลัพธ์ในลักษณะเดียวกัน

ข้อมูลอื่น ๆ ที่อาจช่วย:

  • มันเกิดขึ้นเมื่อไม่มีการเชื่อมต่อ Bluetooth อื่น ๆ ที่ใช้งานอยู่ในเครื่อง
  • อาการที่คล้ายกันนี้เกิดขึ้นกับชุดหูฟังสเตอริโอบลูทู ธ (A2DP) ของฉันด้วย แต่หลังจากนั้นเสียงก็ล้าและข้าม การสลับโปรไฟล์บลูทู ธ ตามที่อธิบายไว้ที่นี่จะช่วยได้ สรุป: มันไม่ใช่เมาส์ที่ผิดปกติ
  • ชุดหูฟังทำงานได้ดีเสมอโดยใช้ Thinkpad T61p ที่ตายแล้วของฉันที่มีบลูทู ธ ในตัว
  • โมดูลบลูทู ธ ในแล็ปท็อปของฉันเชื่อมต่อผ่าน USB และแสดงเป็น

    0a5c:21e1 Broadcom Corp. 
    
  • การปิดอะแดปเตอร์บลูทู ธ ในตัวและใช้งานได้ดีโดยไม่ล่าช้า

    0a5c:2046 Broadcom Corp. Bluetooth Device
    

ฉันเป็นมือถือและมีคนรอบตัวฉันกำลังใช้บลูทู ธ ในที่ทำงาน (ส่วนใหญ่ A2DP) มันเกิดขึ้นที่บ้านซึ่งเพื่อนบ้านของฉันอาจใช้บลูทู ธ ด้วย มันอาจจะเป็นแค่การรบกวนวิทยุ แต่ฉันคิดว่าการเชื่อมต่อบลูทู ธ ก็ควรจะกระโดดไปยังอีกช่องทางหนึ่ง และยิ่งไปกว่านั้นมันทำงานได้อย่างถูกต้องทันทีเมื่อเชื่อมต่อใหม่

ดังนั้นฉันคิดว่านี่เป็นปัญหาไดรเวอร์ซอฟต์แวร์และฉันต้องการดีบัก มีวิธีใดบ้างที่จะได้รับการบันทึกอย่างละเอียดมากขึ้นในโมดูล Bluetooth (-hid)?


จนกว่าฉันจะเปลี่ยนเมนบอร์ดฉันมีพอร์ต USB ที่ไม่ดีบนคอมพิวเตอร์ของฉัน คุณได้ลองใช้อุปกรณ์ที่แตกต่างกันสำหรับเสียบโมดูลบลูทู ธ ของคุณหรือไม่? คุณอาจลองนำคอมพิวเตอร์ของคุณไปเที่ยวต่างประเทศปิดรถยนต์และโทรศัพท์มือถือแล้วดูว่ายังคงมีปัญหาจากการขาดคลื่นรบกวน RF หรือไม่
John S Gruber

ฉันพบดองเกิล Bluetooth 2.0 USB รุ่นเก่าและอันนี้ใช้งานได้ดี ดูเหมือนว่า0a5c:21e1 Broadcom Corp.ปัญหาเฉพาะใน Linux
gertvdijk

การปรับปรุงอื่นเกี่ยวกับปัญหาดั้งเดิม นับตั้งแต่ฉันอยู่บน Linux kernel 3.7.x สิ่งนี้ดูเหมือนว่าจะหายไปในอะแดปเตอร์ภายในเช่นกัน - ทั้งหมดทำงานได้ดีมาก อาจได้รับข้อผิดพลาดที่นี่ตอนนี้คงที่ เมื่อฉันมีเวลาคิดรายละเอียดเพิ่มเติมฉันจะรายงานว่านี่เป็นข้อผิดพลาด
gertvdijk

คำตอบ:


6

คุณสามารถลองใช้hcidumpยูทิลิตี้จากแพ็คเกจbluez-hcidumpเพื่อตรวจสอบอุปกรณ์บลูทู ธ ของคุณและรับข้อมูลเชิงลึก:

sudo apt-get install bluez-hcidump

ในคำอธิบายแพ็คเกจจะสังเกตได้ว่า:

ยูทิลิตี hcidump อนุญาตให้ตรวจสอบกิจกรรมบลูทู ธ ให้การถอดแยกการรับส่งข้อมูล Bluetooth และสามารถแสดงแพ็กเก็ตจากโปรโตคอลระดับสูงเช่น RFCOMM, SDP และ BNEP

คุณสามารถใช้ยูทิลิตี้เพื่อบันทึกผลลัพธ์จากอุปกรณ์ของคุณไปยังหน้าจอหรือไฟล์ hciXอุปกรณ์บลูทู ธ ของคุณเองอยู่ที่ไหน(hci0 เป็นค่าเริ่มต้นและใช้หากคุณไม่ได้ระบุอะไรเลย-i) คุณสามารถเรียกใช้:

sudo hcidump -x -i hciX

คุณสามารถบันทึกดัมพ์ไปยังไฟล์โดยต่อท้ายคำสั่ง-w ~/outputและหากคุณต้องการทราบข้อมูลเสียงโดยเฉพาะคุณสามารถใช้-Aสวิตช์และแยกข้อมูลเสียง SCO ออกได้แม้ว่าในกรณีนี้คุณจะต้องระบุไฟล์เอาต์พุตเสมอ:

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

คุณสามารถดูไฟล์ดัมพ์ที่บันทึกไว้โดยใช้

sudo hcidump -r ~/output

มีตัวเลือกเฉพาะเจาะจงมากมายที่คุณอาจต้องการตรวจสอบ คุณสามารถกรองตามประเภทแพ็คเก็ตหากคุณต้องการตามค่าเริ่มต้นแพ็คเก็ตทั้งหมดจะถูกทิ้ง โปรดดูman hcidumpหรืออูบุนตู manpages ออนไลน์สำหรับข้อมูลเพิ่มเติม

อีกตัวเลือกเดียวคือติดตั้งwiresharkและดูว่าสามารถตรวจจับอุปกรณ์ของคุณได้หรือไม่; หากทำได้ก็จะสามารถวิเคราะห์ปริมาณการใช้งาน usb และบลูทู ธ ได้ตามที่ระบุไว้ที่นี่แต่hcidumpควรให้ผลลัพธ์ที่ดีกว่า


ขอบคุณ! ที่แปลกประหลาดเกี่ยวกับเรื่องนี้คือว่าในขณะที่เรียกใช้hcidumpปัญหาไม่ปรากฏขึ้น นอกจากนี้เมื่อฉันเริ่มต้นใช้งานปัญหาจะหายไปทันที โพรบการดีบักนี้ดูเหมือนจะไม่สามารถผลิตซ้ำได้
gertvdijk

2

ฉันโชคดีที่ใช้การติดตาม USB เพื่อแก้ปัญหาเสียงแปลก ๆ บางครั้งคุณสามารถกำหนดบางสิ่งบางอย่างจากเนื้อหาหรือช่วงเวลาของแพ็กเก็ต ในกรณีของฉันมันมีการเปลี่ยนแปลงเป็นครั้งคราวในความยาวของแพ็คเก็ตที่สอดคล้องกับเสียงที่ฉันได้ยิน

นี่คือหน้าจาก Wireshark ที่ให้ข้อมูลบางอย่าง

คุณสามารถรับการติดตามได้ง่ายๆโดยทำสิ่งต่อไปนี้:

  1. sudo modprobe usmon
  2. cd / sys / kernel / debug / usb / usbmon
  3. sudo cat 0u | ที ~ / myusbtrace> / dev / null
  4. ทำการทดสอบของคุณ
  5. ฆ่ากระบวนการจากขั้นตอนที่ 3

นี่คือข้อมูลจากโครงการ linux เกี่ยวกับสิ่งนี้รวมถึงวิธี จำกัด สิ่งที่คุณกำลังติดตาม

คอลัมน์ที่สองดูเหมือนจะมีเวลาดังนั้นคุณควรระมัดระวังในการเพิ่มขึ้น หากเริ่มต้นอย่างราบรื่นและต่อมารับปัญหาอาจอยู่ในส่วนบลูทู ธ

หากการติดตามแสดงแพ็คเก็ตที่ผิดปกติเมื่อมีปัญหาที่อาจเป็นได้ทั้ง USB หรือบลูทู ธ แต่ทิศทางของแพ็กเก็ตที่ผิดปกติอาจบ่งบอกว่ามันเป็นเคอร์เนลหรือไดรเวอร์มากกว่าสิ่งอื่นที่อยู่อีกด้านหนึ่งของบัส USB


มีประโยชน์มากขอบคุณ จะได้รับรางวัลเล็ก ๆ น้อย ๆ ถ้าเป็นไปได้ :)
gertvdijk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.