Как узнать каких драйверов не хватает в linux

Обновлено: 03.07.2024

1. lscpu

Команда lscpu выдает информацию о процессоре и его составляющих. В ней нет каких-либо дополнительных параметров или функциональных возможностей.

Утилита общего назначения, которая сообщает подробную и краткую информацию о нескольких различных аппаратных устройствах, таких как процессор, память, диск, контроллеры usb, сетевые адаптеры и т.д. Команда lscpu извлекает информацию из различных файлов /proc.

Если вы хотите больше узнать о команде lshw, то обратите внимание на пост Получаем интфомацию в Linux об аппаратных частях компьютера с помощью команды lshw .

Утилита hwinfo является еще одной универсальной утилитой зондирования аппаратуры, которая может сообщить подробную и краткую информацию о многих различных аппаратных компонентах, причем может сообщить больше, чем утилита lshw.

Отфильтруйте информацию о конкретном устройстве с помощью команды grep.

Выдается список устройств scsi/sata, например, жестких дисков и оптических приводов.

Эта команда показывает информацию о контроллерах usb и подробные сведения о подключенных к ним устройствах. По умолчанию выдается краткая информация. Для того, чтобы о каждом порте usb получить подробную информацию, используйте параметр "-v".

В системе, информация о которой приведена выше, один порт usb используется для подключения мыши.

7. Inxi

Inxi является мега скриптом bash, состоящим из 10000 строк кода, с помощью которого из разных источников и команд системы будет получена подробная информация об аппаратном обеспечении и будет создан отчет в виде, позволяющим его читать пользователям, которые не являются техническими специалистами.


Перечисляется информация о всех блочных устройствах, которыми являются разделы жестких дисков и других устройств хранения данных, например, оптических приводов и флэш-накопителей

Отчеты о различных разделах, об их точках монтирования и о том, сколько в каждом разделе есть свободного места.

Улучшенный вариант команды df , написанной на языке python, который выдает информацию в цвете, что выглядит лучше, чем информация, выдаваемая командой df

11. fdisk

Fdisk является утилитой, предназначенной для изменения разделов жестких дисков, и ей также можно пользоваться для получения информации о списке имеющихся разделов.

12. mount

Команда mount используется для монтирования/демонтирования, а также для просмотра смонтированных файловых систем.

Опять же, используйте команду grep для отфильтровывания информации только о тех файловых системах, которые вам интересны

С помощью команды free проверьте объем используемой, свободной и общий объема оперативной памяти, имеющейся в системе.

14. dmidecode

Команда dmidecode отличается от всех других команд. Она извлекает информацию об оборудовании, читая для этого данные из структур данных SMBOIS (которые также называются таблицами DMI).

Подробности смотрите на странице man.

15. Файлы /proc

Во многих виртуальных файлах каталога /proc содержится информация об аппаратном обеспечении и о конфигурациях. Ниже приведены некоторые из них.

Информация о процессоре/памяти

Информация о Linux/ядре

16. hdparm

Команда hdparm получает информацию об устройствах sata, например, жестких дисков.

Заключение

В каждой из команд используется чуть-чуть иной способ извлечения информации, и вам для, чтобы получить определенную информацию об оборудовании, возможно, потребуется попробовать более одной команды. Но все они есть в большинстве дистрибутивов Linux и их легко можно установить из репозиториев, используемых по умолчанию.

Методы поиска драйверов в Linux (Как организовано ?)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Методы поиска драйверов в Linux

также интересно каким образом ставятся и запускаются драйвера(просто подгрузкой модулей или есть еще чтото ?)

можно конечно просто поставить готовый rpm , но я почти не встречал ОТДЕЛЬНЫЕ rpm пакеты для ОДНОГО устройства (NVIDIA и ATI не в счет)

И еще где хранится база драйверов в дистрибутиве ? в каком виде

Дабы не оффтопить: vendor/device id находится с помощью lspci, lspci -n, а также lsusb.
Далее с этими цифрами в гугл, плюс "linux" или конкретный дистр.
Находится если не ссылка на "драйвера", то описание, как данный девайс заставить работать (и можно ли).

Хм, я всего лишь простой смертный, просто с этим не сталкивался, недавно подумал, а что если поставить другую сетевую карту ? И почувствовал что не представляю как установить в Linux нужный драйвер (ведь наверняка его нет на диске идущем с устройством(хотя последняя надежда что он есть в моем дистрибутиве)) Программ же аналогичных DriverMax (Win) под Linux я не встречал.

Гугл хорошо, но комплект нужных файлов без скитаний по информационным джунглям лучше

за команды спасибо

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

для того, что-бы поставить девайс обычно достаточно переписать цифры и буквы с устройства(или с самого большого чипа) в гугл. Добавив Linux и название дистра. А дальше - читайте, как это ставится, и ставится-ли вообще.

Для многих устройств есть более прямой путь: идите на сайт производителя, и скачайте драйвер.

Часто вообще ничего делать не надо - устройство само распознаётся.

Скоро придёт
Осень

Вот хорошая статейка,как искать подходящие дрова для вашего железа

Дабы не оффтопить: vendor/device id находится с помощью lspci, lspci -n, а также lsusb.
Далее с этими цифрами в гугл, плюс "linux" или конкретный дистр.
Находится если не ссылка на "драйвера", то описание, как данный девайс заставить работать (и можно ли).

Увы, коллега, это неизлечимо.
Люди всегда будут плевать на правила, на поиск, на использование опыта предшественников и т.д.
Бороться с этим бесполезно, взывать к здравому смыслу и увещевать тоже.
Ибо у кого он есть - пользуется им сразу.
Можно только спокойно и буднично заворачивать таких граждан.
Только тогда, постукавшись о закрываемую перед носом раз за разом дверь, некоторые может быть о чём-то задумаются.
Ну а кто не задумается - так на нет и суда нет.

Когда я нажал на дополнительные драйверы в Ubuntu 12.04, я не смог увидеть никаких драйверов. Как я могу проверить, какие драйверы установлены для WiFi в среде Ubuntu.

Пожалуйста, добавьте вывод lspci | grep -i network к вашему вопросу. В действительности невозможно (или полезно) перечислить все доступные драйверы устройств в Linux (даже если они ограничены определенным классом устройств). Однако вы можете перечислить все доступные драйверы, которые способны обрабатывать определенное устройство и, что более важно, тот, который в настоящее время запрашивает устройство, то есть драйвер, используемый для его «управления».

Следующие команды выполняются в терминале. Откройте один с помощью Ctrl + Alt + T .

Для того, чтобы проверить , какие драйвера беспроводного адаптер использует , вы можете выполнить следующую команду:

  • lshw перечисляет информацию на вашем оборудовании
  • -C network фильтрует выходные данные, чтобы показать только сетевой класс.

В выходных данных ищите запись с description: Wireless interface .

Вот вывод из моей Ubuntu:

В configuration строке (строка перед последней) вы увидите driver , какая карта используется в данный момент. Я выделил это в выводе.

В качестве альтернативы вы можете использовать команду:

  • lspci выводит информацию о ваших картах, подключенных по PCI
  • -nnk поручает lspci вывести больше информации об этих картах (включая используемый драйвер)
  • | направляет вывод в следующую команду
  • grep 0280 фильтрует вывод , чтобы показать строки , содержащие 0280 , который является кодом PCI класса для беспроводных контроллеров PCI в Ubuntu.
  • -A2 показывает еще две строки информации.

Вот вывод из моей Ubuntu:

Определив используемый драйвер, вы можете использовать следующую команду, чтобы показать больше информации о нем:

Чтобы проверить, какие беспроводные драйверы у вас установлены , но не обязательно используются чем-либо, вы можете выполнить следующую команду:

Приведенная выше команда выведет список всех драйверов, которые вы установили. Вероятно, это будет исчерпывающий список, потому что это предустановленные драйверы на вашей Ubuntu, чтобы люди могли использовать свои беспроводные драйверы, как только они установят Ubuntu.

Результат для: lshw -c Network * -network НЕЗАВИСИМОЕ описание: Продукт сетевого контроллера: BCM43228 802.11a / b / g / n Производитель: Broadcom Corporation физический идентификатор: 0 информация шины: pci @ 0000: 02: 00.0 версия: 00 ширина: 64 биты часы: возможности 33MHz: вечер MSI PCIExpress bus_master cap_list конфигурация: латентность = 0 ресурсов: память: f7e00000-f7e03fff * описание -network: Ethernet интерфейс продукта: NetXtreme BCM5761 Gigabit Ethernet PCIe производитель: Broadcom Corporation Но беспроводная связь не работает, как разобраться в проблеме, есть ли у меня установка какого-либо дополнительного драйвера. Я нашел два драйвера 1) Используемый драйвер ядра: sdhci-pci 2) Используемый драйвер ядра: tg3, но Wi-Fi все еще не работает

Следующий метод включает установку дополнительного программного обеспечения, имя которого - hardinfo .

Вы можете искать и устанавливать hardinfo, из USC

из терминала (CTRL + ALT + T) примените следующую команду

Найдите hardinfo из Dash (написав: hardinfo), откройте его и перейдите к PCI-устройствам, если ваш беспроводной адаптер является встроенным PCI-устройством.

введите описание изображения здесь

Рядом с модулями ядра находится текущий загруженный драйвер указанного беспроводного адаптера. В примере картинка ath9k

Если беспроводной адаптер является устройством USB, перейдите к соответствующей записи в левом списке в разделе « Устройства» .

Когда компьютеры назывались «электронно-вычислительными машинами», они были размерами в среднем с кухонный гарнитур и занимались почти исключительно вычислениями. Ввод и вывод данных воспринимался пользователями ЭВМ — учёными-математиками — как нечто необходимое, но к работе ЭВМ имеющее лишь косвенное отношение. Учёного было довольно просто обучить, чтобы он составлял программы и оформлял входные данные для расчётов одним каким-нибудь способом, например, при помощи перфокарт. Подключение к компьютеру какого-нибудь другого устройства было делом трудоёмким, так как требовало усилий и электронщика, и программиста. Да и нужно это было нечасто.

Нынешний компьютер — игрушка не учёного, а любого рядового обывателя. Это бытовой прибор. Мало того, компьютер — это «самый умный» бытовой прибор: если имеется какой-нибудь другой бытовой прибор (скажем, кофеварка), прогрессивный обыватель тут же задумывается, нельзя ли обучить компьютер управлять этим прибором (скажем, варить кофе за минуту до приезда хозяина). В идеале получается «электронный дом», в котором работу любого оборудования можно контролировать, не вставая из-за рабочего места, или даже не садясь за него — посредством сети Интернет.

Самое поверхностное суждение об оборудовании и компьютере — что для подключения прибора нужна волшебная субстанция по имени «драйвер». Есть драйвер — компьютер оборудование «видит», нет драйвера — «не видит».

Это суждение во многом неверно.

Что такое «оборудование»?

Что и как можно подключить к компьютеру? Во-первых, на поверхности его корпуса обычно наблюдается множество разнообразных отверстий и разъёмов, очевидно предназначенных для того, чтобы туда что-то подключали. Уже подключены: клавиатура, мышь, монитор, возможно — принтер, наушники или колонки. Много отверстий остаётся неиспользованными, но и аппаратуры в «электронном доме» ещё много — от КПК до той же кофеварки (если на ней есть соответствующий разъём).

Во-вторых, внутри компьютера имеются специальные разъёмы для подключения к ним плат расширения: устройств, выглядящих не как бытовой прибор, а скорее как деталь самого компьютера. Таковы видеоадаптеры, сетевые адаптеры, «внутренние» модемы и т. п. Эти устройства — главный источник «Саги о Драйверах», потому что их много, и создатели каждого такого устройства желают сохранить его устройство втайне от конкурентов, прилагая к ним вместо документации ту самую волшебную субстанцию с пометкой «нажмите кнопку “ Пуск ” и попытайтесь расслабиться: от вас уже ничего не зависит».

В-третьих, ещё более внутри компьютера есть какие-то устройства, которые нельзя ни отключить, ни подключить, однако они используются при работе, имеют какое-то название и на разных компьютерах могут весьма отличаться. Например, звуковые подсистемы могут быть интегрированными, а могут быть выполненными в виде платы расширения, отличаясь редкостным разнообразием моделей и однообразием функций (разъём для микрофона, разъём (ы) для колонок, линейный вход. что-то ещё?). Или устройство, к которому подключаются жёсткие диски: оно может быть рассчитано на 1 диск, 2, 4, иногда — более, иметь разные дополнительные свойства. и тоже требовать «драйвера» — по крайней мере, поддержки со стороны системы.

Что точно отличает один прибор от другого — это внешний вид разъёма, с помощью которого они подключаются к компьютеру. Очевидно, приборами, подключаемыми к разъёмам разного типа, машина управляет существенно по-разному. Более того, разъёмы настолько различны, что соединительный кабель одного типа просто не влезет в разъём другого 1 . Но всё равно, это не решает проблемы идентификации: например, мышь, подключённая к разъёму (порту) USB, отлично работает, а с цифровой фотокамерой как-то спроста не получается. Опять «драйвер» нужен?

Можно добавить, что некоторое оборудование вообще не нуждается в том, чтобы машине объявляли о его существовании: так, что бы ни подключалось к аналоговому звуковому входу, работать оно будет одинаково, компьютер не отличит колонки от наушников, да и отсутствия их не заметит. Словом, наружное наблюдение не даёт достаточно информации о том, как работать с оборудованием. На помощь должна прийти документация, но если в ней опять встретится слово «драйвер», оно может означать что угодно: слишком оно неопределённое.

Как распознаётся оборудование?

Попробуем внести определённость. Какую информацию относительно подключаемого прибора получает компьютер, и как он её получает?

  • определяет тип подключённого устройства
  • управляет им (может, например, выключить или включить)
  • передаёт на это устройство данные и/или принимает их оттуда

Шин в компьютере несколько (грубо говоря — по количеству различных типов разъёмов). Есть совсем «глупые» шины — например, порт последовательного ввода-вывода (к нему подключаются мыши и прочая аппаратура «старого образца»). Глупость их в том, что информацию о типе подключённого оборудования приходится задавать вручную — либо заранее, либо с помощью наводящих вопросов пользователю.

Есть шины весьма умные, способные опросить и понять множество характеристик подключённого устройства. Такова, например, шина PCI — наиболее распространённое на сегодня оборудование для подключения плат расширения. Любопытный пользователь может посмотреть список устройств, подключённых к шине PCI с помощью команды lspci (от «list PCI», команда из пакета pciutils ):


Из устройств на иллюстрации только одно — видеокарта Radeon 7200 2 — в действительности является платой расширения, все остальные интегрированы в системную плату (бывает и по-другому). Тип устройства — «Multimedia audio controller», «Ethernet controller», «VGA compatible controller» и т. п. — лишь небольшая часть информации, которую шине рассказали о себе подключённые к ней устройства.

К шине PCI в качестве устройства подключена другая шина — USB, служащая для подсоединения внешних устройств. Она тоже довольно умная, а ещё отличается тем, что устройства подключаются к ней и отключаются от неё довольно часто. Существует команда lsusb (из пакета, естественно, usbutils ), но ей, как и lspci приходится пользоваться нечасто (она даже убрана в каталог /usr/sbin , с глаз пользовательских долой):


Пример показывает пять USB-шин (это совпадает с данными lspci ), к первой из которых подключён flash-диск, а ко второй — мышь 3 . Как правило, устройство определяется шиной, после чего специально обученная системная программа производит все действия, необходимые для того, чтобы этим устройством можно было воспользоваться. Например, для flash-диска потребовалось дополнительно загрузить модуль ядра usb_storage , да вдобавок смонтировать содержимое диска в каталог /media/usbdisk .

Специальный каталог /sys отражает представление системы о присоединённых к ней устройствах. В частности, все найденные на шинах устройства перечислены в виде подкаталогов /sys/bus/шина/devices . Если устройство установлено, а умная шина, наподобие PCI или USB, его не заметила — скорее всего неполадка аппаратная (несовместимое или неисправное устройство, таракан в разъёме и т. п.).

Увы. Бывает и так: устройство (видеокарта, модем, кофеварка) на шине появилось, а воспользоваться им не удаётся. Видимо, чего-то не хватает. драйвера?

Что такое «драйвер» и где он находится?

А в самом деле, чего может не хватать, если устройство распозналось, марка устройства — известна и как передавать данные по шине — тоже известно? Не хватает главного: сведений о том, какие данные надо передавать, чтобы добиться от устройства желаемого эффекта. Что передать по шине USB, чтобы кофеварка выключилась? Какие байты записать в последовательный порт модема, чтобы он повесил трубку? Что сделать с видеокартой, чтобы. всё было быстро и непременно 3d!?

В последнем случае нет никакой зримой информации о том, что устройством действительно можно пользоваться — до тех пор, пока не запущена соответствующая прикладная программа с соответствующими настройками (особенно это касается «глупых» шин наподобие последовательного порта). И в любом случае самостоятельная установка «драйвера» должна сопровождаться вдумчивым чтением документации к нему.

Опять «устройство»?

В документации Linux термин «устройство» (device) часто используется не в значении «прибор», а в значении «элемент каталога /dev ». Что это такое?

Прибор подключается к машине, как правило, для того, чтобы передавать на него какие-то данные и/или получать их оттуда. Если задача компьютера — управлять внешним устройством, это всё равно можно рассматривать как передачу управляющих данных и приём диагностических. Во многих случаях передачу данных проще всего вести в синхронном (поточном) режиме, точно так же, как это делается при работе с файлом: открыть файл — записать данные — закрыть файл или открыть — прочитать — закрыть. Если бы можно было представить внутренность прибора в виде файла, работа с ним пошла бы легче: это означало бы, что система знает, как и куда передавать данные, а дело пользовательской программы — эти данные понимать 4 .

В большинстве случаев именно так и устроено в Linux. После того, как система распознала внешнее устройство, а служба hotplug , при необходимости, загрузила соответствующий модуль ядра, в каталоге /dev заводится новый «файл», содержимое которого отражает содержимое подключённого устройства, не занимая при этом места на жёстком диске. Такой файл называется файлом-дыркой, его можно представить как отверстие в файловой системе, через которое видно не содержимое жёсткого диска, а данные, попадающие туда с «другой стороны» — со стороны подключённого внешнего устройства. Например, гибкий диск в дисководе представляется в виде файла-дырки /dev/fd0 , (от floppy disk 0), а мышь — в виде /dev/mouse (строго говоря /dev/mouse — этот обычно символьная ссылка на актуальный файл-дырку — скажем /dev/psaux , порт PS/2).

В документации вместо «файл-дырка» чаще всего пишут просто «устройство» (device), а устройство-прибор — «внешним устройством». Если соответствующего устройства в каталоге /dev/ нет — значит, в цепочке его распознавания есть слабое звено.

Стоит напомнить, что файл-дырка, однако, не обязан существовать и непременно соответствовать одному внешнему устройству. Устройства, подключаемые ко второму последовательному порту, например, всегда видны как /dev/ttyS1 (а к первому — как ttyS0 ). Фактически, ttyS — это файл-дырка шины, настолько простой, что дальнейшее выяснение типа устройства перекладывается на программу пользователя.

Кто виноват и что делать?

1Однако можно, например, подключить наушники вместо микрофона, причём они, скорее всего, будут работать микрофоном. правда, очень тихо.

2Она подключена к шине AGP, которая архитектурно похожа на PCI, поэтому система различия не делает.

3Некоторая путаница может возникнуть из-за того, что строгого соответствия между разъёмами на корпусе и номерами шин нет: «кто первый встал, того и тапки».

Читайте также: