USB-гарнитура вызывает странное поведение системы
У меня есть гарнитура Sennheiser, которая вызывает странное поведение системы при подключении, в том числе:
- Повреждение графики: весь системный текст, например часы панели инструментов, переключается на совершенно другой шрифт, и экран иногда мигает черным. Меню появляются в окнах, где они должны быть скрыты (например, терминал). Я подозреваю, что система не в состоянии читать файлы конфигурации где-то здесь.
- Программы не запускаются или запускаются медленно: при запуске многие из моих виджетов панели инструментов (состояние сети, монитор загрузки) не загружаются, но как только я отключаю гарнитуру, они встают на место. Если я попытаюсь запустить Chrome с панели задач, в течение доброй минуты или двух ничего не происходит.
- Повреждение файла: когда Chrome наконец запускается, он сообщает, что мой профиль на диске поврежден. Я предполагаю, что блокировка доступа к диску также приводит к графическому искажению выше.
Как только я отключаю гарнитуру, система в основном возвращается в нормальное состояние.
Я не вижу такого поведения в Windows, гарнитура там работает нормально, и Sennheiser утверждает, что она на 100% совместима с Windows/Mac/Linux. Я пробовал несколько компьютеров с разными версиями Ubuntu и несколько USB-кабелей, все с одинаковым поведением, поэтому это явно несовместимость между гарнитурой и Ubuntu.
Просматривая журналы, я вижу некоторые странные ошибки USB, когда гарнитура подключена, но я не знаю, как их интерпретировать: http://pastebin.com/yGyGcHMP
Что я могу сделать, чтобы это исправить, или, по крайней мере, сузить корень?
Вот некоторые обходные пути, которые я пробовал:
Отключение гарнитуры с помощью modprobe и xorg: внесение в черный список snd_usb_audio через modprobe решает проблему, но также отключает микрофон моей веб-камеры, так что на самом деле это не вариант... Мне нужен какой- то микрофон. Гарнитура также обеспечивает HID, и этот модуль, очевидно, не может быть отключен, поэтому я также должен добавить это в xorg.conf:
Section "InputClass" Identifier "Sennheiser Communications" MatchVendor "Sennheiser Communications" Option "Ignore" "true" EndSection
Отключение гарнитуры путем деавторизации USB-устройства: это обходной путь, который я сейчас использую. Очевидно, что это не позволяет мне использовать гарнитуру в Ubuntu, но, по крайней мере, позволяет избежать еще более изнурительного обходного пути отсоединения гарнитуры каждый раз, когда я загружаюсь в Ubuntu. Я добавил следующее правило udev:
SUBSYSTEM=="usb", ATTR{idVendor}=="1395", ATTR{idProduct}=="740a", ATTR{authorized}="0"