Volgograd

Волгоград Linux User Group

Организована 23 ноября 2002 года

Проект заморожен Птн Июл 6 02:11:14 MSD 2012


Вход:  Пароль:  

ГраблеВодство/TandT/usbportdisable


Это старая версия ГраблеВодство/TandT/usbportdisable за 2011-04-22 21:00:21..
У меня возникла мелкая, но вредная неприятность – видимо, из-за статики испортился контроллер USB в ноутбуке. Это, судя по интернету, довольно частая беда ноутбуков выпуска первых лет тысячелетия. Проявляется беда в том, что при подгрузке модуля ehci_hcd система начинает сыпать в логи сообщениями о потерянных кадрах и прерываниях, потом начинает регулярно замирать, а потом виснет намертво.

Известны и варианты лечения:
1. Перепаять чип на материнской плате
2. Использовать опцию ядра irqpoll (говорят, что acpi=noirq тоже помогает, но у меня ноутбук)
3. Не грузить ehci_hcd и жить только на USB-1.0, который обычно выживает.

У каждого есть недостатки
1. Стоит денег, плюс потенциально кривые руки мастера в недрах ноутбука – дешевле новый купить.
2. Все существенно тормозит.
3. Скорость максимум 1,2 Мб/с

Я выбрал 3 пункт как самый легкий и полностью меня устраивающий – мыши и USB-1 для нормальной работы за глаза.

Однако в последнее время мне часто нужно работать с внешними накопителями. Пришлось купить PCMCIA USB 2.0 контроллер. И сразу вылезла проблема – ehci_hcd при загрузке захватывает все порты, как собственно ноутбука, так и внешние. Это чревато зависанием системы или нестабильной работой.

Придуманный мной метод обхода
1. При загрузке использовать опцию irqpoll
2. В rc.local вставить строку вида