Если устройство в Linux работать не хочет: где скачать драйвера для линукс?

Если устройство в Linux работать не хочет, то не надо пытаться скачать где-то драйвера для Linux и сразу кричать "Linux - отстой, Windows рулит", потому как часто решение - в шаге от вас. Немного терпения, и всё скорее всего получится.

Устройство в Линукс не работает - что делать?
Для того, чтобы попробовать решить проблему, требуется:

1. Точно узнать название устройства и подробности его работы. Лучший способ - посмотреть логи, большинство которых находится в каталоге /var/log (они доступны для просмотра только пользователю root)

  • Если устройство подключается к USB - пишем в консоли lsusb > lsusb.txt
  • Если это встроенное устройство или подключено к ISA/PCI, пишем lspci > lspci.txt
  • Так же для обращения в поиск и форум потребуется вывод команды dmesg
  • Если проблема с видеокартой или вообще видеоподсистемой - сохраняйте /var/log/X.org.conf или /var/log/XFree86.conf (у кого он остался)

2. Учитесь читать и анализировать логи - в них часто не только ответ на ваш вопрос, но и путь к его решению. Это приходит с опытом, но надо же с чего-то начинать...
Пример: пользователь жалуется, что в ноутбуке при подключении USB-мыши Линукс зависает. Это в общем не характерное для Линукс поведение, тем более в случае USB-шины, может быть вызвано:
а) кривым драйвером (что редко) или
б) кривым оборудованием (что чаще).

Опытный факт: если в оборудование работает неправильно, ядро об этом будет сыпать сообщениями типа Warning и FATAL часто, пока проблема не решится.

Смотрим логи dmesg: одна из строк выглядит так

PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved
Кто владеет английским на уровне школы, тот может догадаться, что в BIOS какая-то ошибка. Смотрим дальше:

PCI: Bus #03 (-#06) is hidden behind transparent bridge #02 (-#03) (try 'pci=assign-busses')
Please report the result to linux-kernel to fix this permanently
Так и есть: а вот и возможное решение нашей проблемы! Об этой проблеме ядро "скажет" ещё не раз:

PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
PCI: Cannot allocate resource region 3 of device 0000:00:00.0
Какой-то регион 3, какие-то устройства... не сразу можно понять. Интересно, где это себя проявляет?

ACPI: PCI Interrupt 0000:00:13.2[A] -> GSI 19 (level, low) -> IRQ 17
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 1
Это USB-устройства - всё сходится. Зависание Линукса при втыкании USB-мыши происходит благодаря кривизне рук программистов, написавших BIOS. Теперь понятно не только кто в этом виноват и куда копать, но и один из возможных методов решения.

Помогает либо установка более нового ядра, чем то, которое уже стоит, либо, как ни странно, установка более старого.

3. Локализуем проблему. Что именно не работает?
  • Если это принтер, за это отвечает подсистема CUPS, поэтому официальный сайт в помощь: проверьте, поддерживается ли ваш принтер и если да, то в какой степени. Попробуйте установить более свежую версию CUPS, походите по форумам - желательно с логами, версией ядра и подробным описанием проблемы.
  • Если это сканер - наш рулевой это подсистема SANE и гугление по словам sane linux _модель_сканера_.
  • Работу звуковых карт обеспечивает проект ALSA, где можно так же узнать о поддержке оборудования. Для этого имеет смысл так же попробовать установить или собрать самому более свежее ядро Линукс (в ядре содержится большое количество драйверов).
  • За сенсоры и термодатчики на материнских платах отвечает проект lm85, который состоит из драйверов ядра и утилит работы с ними.
  • Источники бесперебойного питания (UPS) поддерживаются пакетом apcups.

Попытаться устранить проблему при помощи гугления по методу _имя_проекта_ linux _название устройства_. Очень и очень часто решение есть и ждёт своего часа. Если гугление и прочие методы не принесли желаемого результата - остаётся подождать, пока проблему решат и / или добавят драйвер устройства в ядро или программы связанных с устройством проектов. В конце концов, двойную загрузку (dual boot) с другими операционными системами никто не отменял.

Ссылки и благодарности

Пост был вдохновлён комментарием _Yuriy_ на opennet, в котором говорилось, что "написать обзор может каждый дурак, а вот что делать, когда устройство не пашет?" Насчёт первой части утверждения можно и поспорить, а во второй части есть сермяжная правда - надеюсь, кому-нибудь этот пост пригодится.

18 комментариев: |высказаться!| RSS-лента дискуссии.|
Яков комментирует...

Поправьте линк на linuxprinting.org ;)

Roman Sozinov комментирует...

В качестве десктоп-системы пока использую XP (так как имеется лицензия), но все твои посты про железо в Linux'е читаю с интересом и сохраняю себе на будущее - скоро накопится критическая масса и тогда полностью перееду в Linux.
+ готовлю жену к переменам ;)

Анонимный комментирует...

Кто бы помог наладить работу микрофона в линукс на моем стареньком Делл Inspiron 5000e. Боюсь что так просто не получится. А за статью спасибо.

Pretorean комментирует...

пасибо, ценная информация

virens комментирует...

2 Яков пишет...
Поправьте линк на linuxprinting.org ;)
О, спасибо! Исправил. Так же мелкие стилистические баги пофиксены :-)


2 Roman Sozinov пишет...
В качестве десктоп-системы пока использую XP (так как имеется лицензия), но все твои посты про железо в Linux'е читаю с интересом и сохраняю себе на будущее
Если будете ставить убунту (а это лучше всего) - вам они могут и не понадобиться. :-) Там всё скучно и на полном автомате.

скоро накопится критическая масса и тогда полностью перееду в Linux.
Должна накопиться критическая масса раздражения от глюков и сбоев винды. :-)

+ готовлю жену к переменам ;)
А вы ей в качестве графической оболочки ГНОМ поставьте: не поверите, скорее всего даже обрадуется. Я одной знакомой ставил Убунту - так она сказала "ой, какая прелесть, игрушек сколько, и всё так просто - что ж ты раньше этот линукс не показал" :-)

2 Анонимный пишет...
Кто бы помог наладить работу микрофона в линукс на моем стареньком Делл Inspiron 5000e.
А на linux-on-laptops.net что-нибудь про это пишут? В alsamixer ползунок для микрофона от-mutt-или?

А за статью спасибо.
Пожалуйста.

2 Pretorean пишет...
пасибо, ценная информация
Если что-то упустил - не стесняйтесь, пишите в комментарии.

libc6 комментирует...

А ты поди им объясни, кто круче :) и что чтение логов или гугление это хорошо.
Смешно, блин. Серьезно. :)

Да, я тоже это полюбляю и иногда умею, и выход найти могу и решение собрать.
А вот было дело. Значит у моей жены на нуте хрюша, зло котороя. Как-то ее сестра припёрлась к нам с мобильником с ИК портом. Поднесли, подключились, работает. Фотки какие-то дурацкие поперекидывали. Без вопросов. До этого даже не пользовались никогда и не знали как это работает. Таинственный ИК порт!

Я себе представляю, что нужно сделать, чтобы у меня в базовом арче+ флюксе совершить подобное :) Это ж полдня шаманства будет..

Или вот еще. Сегодня утром приплыло новое ядро, в котором модуль звуковухи не работает. Вот не работает. Загружается устройства несоздает :) Жду когда пофиксят. На эксперименты полдня убил. А ведь хотел просто сеть в кваку побегать.

А, да. За статью спасибо ;)

virens комментирует...

2 libc6 пишет...
А ты поди им объясни, кто круче :) и что чтение логов или гугление это хорошо.
Это необходимо. Захотели отсутствия вирусов и большей производительности - извольте палец о палец ударить. Или обратно в винду, или выкладываем деньги за Мак, или включаем мозг. :-)


А вот было дело. Значит у моей жены на нуте хрюша, зло котороя. Как-то ее сестра припёрлась к нам с мобильником с ИК портом. Поднесли, подключились, работает.
Повезло - а у меня на старом ноутбуке оно глючило неимоверно. Иконка ИК-приёмника появляется, все дела, но часто при передаче файла всё обрывалось на части файла - и всё, кранты. Только перезагрука, а то и не одна. Ни логов, ни рецептов.

Я себе представляю, что нужно сделать, чтобы у меня в базовом арче+ флюксе совершить подобное :)
А ты на арч перешёл? Давно? :-)
Когда я настраивал блютус в Дебиане, мне потребовалось ровно 20 минут гугления и 1 простой скрипт. И всё пашет. В KDE это пашет просто автоматом: втыкаешь и работает.

Сегодня утром приплыло новое ядро, в котором модуль звуковухи не работает.
То есть как всплыло? Зачем ставить новые ядра, когда и старые работают? А такое бывает, хоть и не часто...

А вот у меня недавно была возможность протестировать XP ещё раз. Новая система, двуядерная и все пальцы веером. Кноппикс на ней, ясен пень, грузится без вопросов. 3D-десктоп с ходу не пашет, а так нормально. Видит диски, сетевые карты и всё такое. СТавим ЗлоХР. Видит только 130Гб из 250. Сетевой карты и звука нет, для принтера тем более, драйвера для навороченной карты поставил какие-то феерические: если окошко начать перемещать, оно это делает чуть ли не попиксельно. Комп за 1500$, хозяин в шоке. Как тебе "передовые технологии мелкософт"?

А, да. За статью спасибо ;)
Да не за что. Надеюсь она, Анрей, тебе не пригодится :-))

voland комментирует...

Спасибо за статью, очень интересно и познавательно.

Дмитрий комментирует...

Ктоб подсказал как заставить корректно SkyStar2 работать?
У него любимая привычка постепенное "засыпание" (szap говорит FE_HAS_LOCK имеется а потока нет,tcpdump -i dvb0_0 -n ничего не видит).Сменено две разных карты, несколько ядер. Раздел /usr/src/linux/Documentation/dvb/ весь перечитан.
Пока что самое лучщее найденное решение:
- скрипт с пинговкой каждые 5 сек сайта, пинга нет-выгрузка дров и повторная загрузка.
Стоит сейчас 2.6.19-gentoo-r5
2.6.20 с kernel.org - тоже самое

(2.6.20-gentoo-r7 не ставлю-там по непонятной причине(мои кривые руки при сборке?) пропала таблица nat в iptables)

mczim комментирует...

Привет, было бы наверно еще актуально написать в эту статью о том как определить на какой шине весит например вновь "воткнутая" флешка, просто у некоторых знакомых бывает такая ситуация, что они втсавляют флешку она не монтируется и не знаеют какой /dev/sda прописать для монтирования.

virens комментирует...

2 Дмитрий пишет...
Ктоб подсказал как заставить корректно SkyStar2 работать?
Смутно подозреваю, что это сетевая карта. Ни разу не видел. Так что я во всяком случае наверное не помогу.

2 mczim пишет...
Привет, было бы наверно еще актуально написать в эту статью о том как определить на какой шине весит например вновь "воткнутая" флешка
Ммм... а dmesg не спасает отцов русской демократии? :-) Есть ещё lsusb. Но в общем надо бы добавить. Спасибо за идею.

Michael de`Oz комментирует...

Полезная статейка. Но к счастью уже какое-то время такие проблемы не стоят. Даже не знаю как так получилось.

virens комментирует...

2 Michael de`Oz пишет...
Полезная статейка. Но к счастью уже какое-то время такие проблемы не стоят.
У меня почему-то тоже :-) Втыкаю оборудование - и оно работает. НО на форумах часто обратная ситуация - собственно, новичкам на форумах посвящается...

pioneer комментирует...

А я вот не могу модем настроить на ноутбуке. Перепробовал несколько способов, тяжело с винмодемами, однако.

petrkh комментирует...

Засыпание SkyStar2.
Борюсь таким способом:
1. создаю файл
в /etc/modprobe.d/dvb-core такого содержания:
options dvb-core\ dvb_shutdown_timeout=0
#(не получилось в одну строчку написать)
# если сигнал слабый dvbкарта все-равно засыпает
2. запускаю xskynet
"если кто не знает - программа для рыбалки со спутника"
dvb карта постоянно получает сигнал и не засыпает.
В винде такой способ не проходит. там с одного пида одновременно самому подключаться к инету и рыбачить нельзя.

petrkh комментирует...

options dvb-core dvb_shutdown_timeout=0
обратный слеш не нужен, писал строка переносилась, а в итоге правильно оказалось

Bob комментирует...

Спасибо, очень интересная и полезная статья.

Алексей комментирует...

Ну хорошо как работать с устройствами USB понятно стало. А вот как быть вот с таким случаем. После обновления Ubuntu 10.04 до 10.10 проблемки начались с видеокартой. После загрузки BIOS появляется вот такая надпись:""Fatal error incorected i915 (lib/modules/2.6.35-23 generic/kernel/drivers/gpu/-drm/i915/i915.ko):Nо such device." Пробывал загружаться со старой версией ядра ошибка не исчезает. Заранее благодарю!

Отправить комментарий

Подписаться на RSS-ленту комментариев к этому посту.