Як налагодити відставання за допомогою миші, підключеної Bluetooth та гарнітури A2DP?


13

Я володію мишкою Logitech M555b для використання зі своїм ноутбуком HP Elitebook 8570w під керуванням Kubuntu 12.04. Відмінно працює відразу після підключення за допомогою модуля управління KDE Bluetooth.

Однак через деякий час (здавалося б випадковий) він починає відставати. Рух затримується приблизно на 500 мс на короткий проміжок часу. Зазвичай воно також відновлюється через деякий час, але це може зайняти кілька хвилин. Усі дії затримуються: рухи, клацання, прокрутки. Крім того, рухи в ці часи можуть бути холодними.

Вирішення проблеми, яке завжди працює за той самий короткий проміжок часу, - це відключення повторного підключення миші. Це можна зробити за допомогою того ж модуля управління KDE Bluetooth.

Що я вже спробував?

  • Запуск цього під час завантаження:

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

    Щоб вимкнути будь-які функції енергозбереження на hci0пристрої Bluetooth .

  • Перевірте батареї миші (всього тиждень, інші нові батареї: такий же результат)

  • Перевірка журналів та повідомлень ядра про записи, пов’язані з Bluetooth: жоден бік не очікується повідомлень про час підключення.
  • Я запускаю ядро, 3.5.0-13-genericяк передбачено в PPA xorg-edgers . Завантаження звичайного 3.2 точного ядра призводить до такої ж поведінки.

Деякі інші відомості, які можуть допомогти:

  • Це відбувається, коли на апараті немає активних інших з'єднань Bluetooth.
  • Подібні симптоми виникають і в моїй гарнітурі стерео (A2DP) Bluetooth, але тоді це звуковий відставання та пропуск. Потім допомагає обмін профілями Bluetooth, як описано тут . Висновок: несправна не миша.
  • Гарнітура завжди працювала чудово, використовуючи мій уже мертвий Thinkpad T61p із вбудованим Bluetooth.
  • Модуль Bluetooth у моєму ноутбуці підключений через USB і відображається як

    0a5c:21e1 Broadcom Corp. 
    
  • Вимкнення вбудованого адаптера Bluetooth та використання іншого працює добре, без затримок.

    0a5c:2046 Broadcom Corp. Bluetooth Device
    

Я мобільний, і кілька людей навколо мене використовують Bluetooth на роботі (в основному A2DP). Це трапляється і вдома, де мої сусіди, ймовірно, також використовують Bluetooth. Це може бути просто радіоперешкода, але я думаю, що з'єднання Bluetooth повинні просто перейти на інший канал. І, крім того, він просто справно спрацьовує миттєво при повторному підключенні.

Тому я думаю, що це проблема драйвера програмного забезпечення, і я хотів би налагодити його. Чи є якийсь спосіб отримати більше деталізованого входу в модулі Bluetooth (-hid)?


Поки я не замінив материнську плату, у мене на комп’ютері був поганий порт USB. Ви спробували використати інший для підключення модуля Bluetooth? Ви також можете спробувати взяти комп’ютер на поїздку в країну, вимкнути автомобіль і мобільний телефон, і побачити, чи все ж таки проблема у відсутності втручання в РФ.
John S Gruber

Я знайшов старіший USB 2.0 USB-ключ, і цей працює як шарм. Схоже, специфічна 0a5c:21e1 Broadcom Corp.проблема в Linux.
gertvdijk

Ще одне оновлення про вихідний випуск. З тих пір, як я перебуваю на ядрі Linux 3.7.x, це здається зниклим і на внутрішньому адаптері - все працює дуже добре. Ймовірно, потрапила помилка тут зараз виправлена. Як тільки я встигну розібратися з деякими деталями, я повідомлю про це як про помилку.
gertvdijk

Відповіді:


6

Ви можете спробувати скористатися hcidumpутилітою з пакета bluez-hcidumpдля контролю своїх пристроїв Bluetooth та отримання поглибленої інформації:

sudo apt-get install bluez-hcidump

В описі упаковки зазначається, що:

Утиліта hcidump дозволяє контролювати активність Bluetooth. Він забезпечує розбирання трафіку Bluetooth і може відображати пакети з протоколів вищого рівня, таких як RFCOMM, SDP і BNEP.

Ви можете скористатися утилітою для реєстрації результатів зі свого пристрою на екран або файл; де hciXваш власний Bluetooth-пристрій (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- сторінки Ubuntu або онлайн .

Єдиний інший варіант - встановити wiresharkі подивитися, чи може він виявити ваші пристрої; якщо це можливо, він зможе проаналізувати трафік usb та bluetooth, як зазначено тут , але hcidumpмає дати кращі результати.


Спасибі! Особливістю цього є те, що під час запуску hcidumpпроблеми не з’являється. Крім того, щойно я запускаю його, питання негайно зникає. Цей зонд налагодження, здається, робить невідтворюваним.
gertvdijk

2

Мені пощастило використовувати трасування USB для вирішення дивних проблем зі звуком. Іноді ви можете визначити щось із вмісту чи термінів пакетів. У моєму випадку це була випадкова зміна довжини пакета, що відповідає шуму, який я чув.

Ось сторінка від Wireshark, яка містить деяку інформацію.

Ви можете отримати слід, виконавши наступне:

  1. sudo modprobe usmon
  2. cd / sys / kernel / debug / usb / usbmon
  3. судо кішка 0u | tee ~ / myusbtrace> / dev / null
  4. запустіть свій тест
  5. знищити процес з кроку 3

Ось інформація з проекту linux про це, зокрема, як звузити те, що ви шукаєте.

Здається, що другий стовпець містить час, тому слід уважно стежити за тим, як він збільшується. Якщо воно починається плавно і пізніше стає стрибковим, проблема може бути в розділі Bluetooth.

Якщо траєкторія показує нерегулярні пакети, коли виникає проблема, яка може бути або USB, або Bluetooth, але напрямок неправильних пакетів може вказувати, чи це ядро ​​або драйвер, а не щось з іншого боку шини USB.


Дуже корисно, дякую. Запропонував би невелику винагороду, якби це було можливо. :)
gertvdijk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.