- Где в Linux хранятся драйверы?
- Являются ли драйверы частью ядра?
- Как проверить, загружен ли драйвер в Linux?
- Выполняет ли Linux автоматический поиск драйверов?
- Куда Windows и Linux устанавливают драйверы устройств?
- В чем разница между ядром и операционной системой?
- Как работают драйверы в Linux?
- Как просмотреть модули в Linux?
- Как узнать версию модуля Linux?
- Нужны ли мне драйверы для Linux?
- Как вывести список всех драйверов в Linux?
- Могу ли я использовать драйверы Windows в Linux?
- Как установить драйверы в Linux?
- Как установить драйвер вручную?
- Где я могу найти INF-файл драйвера?
- Драйверы и файлы устройств Linux
- Что такое драйверы устройств и файлы?
- Взаимодействие системы с файлами устройств
- Установка драйвера Linux
- Работа с оборудованием Linux («Сага о драйверах»)
- Что такое «команда»?
- Как распознается устройство?
- Что такое «драйвер» и где он находится?
- Повторное устройство?
- Видео-гайд: Linux где хранит драйвера
- Кто виноват и что делать?
Где в Linux хранятся драйверы?
Многие драйверы включены в дистрибутив ядра. Используйте их, используйте их. Эти драйверы хранятся, как мы видели, в каталоге /lib/modules/. Иногда имя файла модуля может указывать на тип поддерживаемого им оборудования.
Являются ли драйверы частью ядра?
Драйверы устройств являются частью ядра и, как и другой код ядра, если они неисправны они могут серьезно повредить систему. Плохо написанный драйвер может даже привести к сбою системы, возможно повреждению файловой системы и потере данных, интерфейсов ядра.
Как проверить, загружен ли драйвер в Linux?
Запустите команду lsmod, чтобы проверьте, загружен ли контроллер. (Ищите имя драйвера в выводе lshw, строка «настройки»). Если вы не видите модуль драйвера в списке, загрузите его с помощью команды modprobe.
Выполняет ли Linux автоматический поиск драйверов?
Ваша система Linux должна автоматически обнаруживать ваше оборудование и использовать драйверы оборудования.
Куда Windows и Linux устанавливают драйверы устройств?
Во всех версиях Windows драйверы хранятся в папке C:WindowsSystem32 в подпапках Drivers, DriverStore и DRVSTORE, если она есть на вашем устройстве. . Эти папки содержат все драйверы оборудования для вашей операционной системы.
В чем разница между ядром и операционной системой?
Основное различие между операционной системой и ядром заключается в том, что система это системная программа, которая управляет системными ресурсами, а ядро является важным компонентом (программой) в операционной системе. … С другой стороны, операционная система действует как интерфейс между пользователем и компьютером.
Как работают драйверы в Linux?
Драйверы Linux являются частью ядра, они компилируются как модуль или как модуль. Кроме того, драйверы могут быть собраны из заголовков ядра в дереве исходного кода. Вы можете увидеть установленные в данный момент модули ядра, набрав lsmod, и, если они установлены, просмотреть большинство устройств, подключенных через шину с помощью lspci.
Как просмотреть модули в Linux?
Linux предоставляет несколько команды для перечисления, загрузки и выпуска, обхода и проверки состояния модулей.
- depmod — генерировать modules.dep и карту.
- insmod — это простая программа для вставки модуля в ядро Linux.
- lsmod — показывает состояние модулей в ядре Linux.
файлы
Как узнать версию модуля Linux?
- Метод выполнения insmod /module_version.ko cat /sys/modules/module_version/ version # => ; 1.0 cat /sys/module/module_version/ srcversion #=> AB0F06618BC3A36B687CDC5 modinfo /module_version.ko создаст модули.
.
5 ответов- По умолчанию modprobe загружает модули из подкаталогов ядра, расположенных в каталоге /lib/modules/$ (uname -r). …
- Каждый модуль также можно загрузить, обратившись к его псевдонимам, хранящимся в /lib/modules/$(uname -r)/modules.
Нужны ли мне драйверы для Linux?
Для Linux требуются драйверы. Все операционные системы требуют драйверов для поддержки аппаратного обеспечения новее, чем версия операционной системы, которую вы используете.
Как вывести список всех драйверов в Linux?
В Linux файл /proc/modules показывает, какие модули ядра (драйвера) в данный момент загружены в память.
Могу ли я использовать драйверы Windows в Linux?
Драйверы являются неотъемлемой частью вашего компьютера. … Если вы используете операционную систему Linux, вы быстро обнаружите, что лишь немногие устройства, разработанные для Windows, имеют драйверы устройств Linux. Однако вы можете быстро преобразовать драйвер из Windows в Linux, установив на свой компьютер программу под названием NDISwrapper.
Как установить драйверы в Linux?
Как загрузить и установить драйвер в Linux
- Используйте команду ifconfig для получения списка текущих сетевых интерфейсов Ethernet. …
- После загрузки файла драйвера Linux разархивируйте и распакуйте драйверы. …
- Выберите и установите соответствующий пакет драйверов операционной системы. …
- Скачать драйвер. …
- Определите устройство eth NEM.
Как установить драйвер вручную?
Эта статья относится к:
- Вставьте адаптер в компьютер.
- Загрузите обновленный драйвер и разархивируйте его.
- Щелкните правой кнопкой мыши значок компьютера и выберите «Управление». …
- Откройте Диспетчер устройств. .
- Нажмите «Обзор моего компьютера» для поиска драйверов.
- Нажмите «Позвольте мне выбрать из списка драйверов устройств на моем компьютере» и нажмите «Далее».
Где я могу найти INF-файл драйвера?
Может быть поздно делиться, но есть более простой способ сделать это!
Исходный код
Драйверы и файлы устройств Linux
Архитектура операционной системы (ОС) Linux разработана таким образом, чтобы весь ее потенциал и вся ваша работа полностью соответствует файловой системе (ФС), хотя такая закономерность не очевидна. Одним из таких случаев является взаимодействие системы с устройством. Хотя такое явление кажется необычным. Однако без Pro Linux это главная архитектурная особенность: взаимодействие системы с ее компонентами, устройствами (ее контроллерами) происходит через ФС. Ключевым объектом взаимодействия являются специальные файлы для работы устройства (или устройств) — файлы устройств.
Что такое драйверы устройств и файлы?
Использование специального системного программного обеспечения (ПО). Система «знает», как получить аппаратные ресурсы компьютера, т.е. «железо». Таким программным обеспечением являются драйверы, основной задачей которых является управление устройством с помощью системных команд (и/или прошивки самого устройства), транслирующих команды между устройством и интерфейсом прикладного программирования (API) системы. Благодаря драйверам ядро системы можно разрабатывать независимо от аппаратного обеспечения. Но в то же время разработчики оборудования должны отслеживать изменения и функции системной платформы.
Современным ядрам Linux нелегко найти несовместимое оборудование из-за отсутствия драйверов. Потому что многие «железные» инновации быстро принимаются членами огромного сообщества разработчиков Linux. Сами производители оборудования готовы выступить и предоставить необходимую информацию для создания программного обеспечения устройства. Поэтому разработчики ядра уже включают драйверы в ядро Linux как его неотъемлемую часть. Однако пользовательская программа может служить драйвером. Так что драйвер можно использовать как из ядра, так и с помощью инструкции пользователя в виде специальной программы. При использовании пользовательских драйверов (т.е. тех, которые не являются частью ядра). Специальные файлы устройств создаются и используются в каталоге /dev . Действия, выполняемые с этими файлами, предназначены для работы с оборудованием через программное обеспечение. Ядро системы интерпретирует работу с файлом конкретного устройства как специальные команды — вызовы функций драйвера.
При выборе оборудования следует обращать внимание на официальную информацию от разработчиков об аппаратной поддержке целевой системы. В систему могут быть установлены только специально разработанные совместимые драйвера, т.е. для определенного типа версии системы. Иногда также можно использовать труд энтузиастов, которые изучили работу устройства и смогли собрать для него неофициальную версию драйвера.
Взаимодействие системы с файлами устройств
Как уже упоминалось, Linux хранит соответствующие специальные файлы в каталоге /dev для устройств. Каждому устройству система присваивает специальные номера: старший, младший. По этим номерам ядро определяет тип устройства, само устройство в системе, используя полученные данные, преобразует действия в файле устройства в функцию вызова этого устройства, используя соответствующий драйвер. Тип оборудования связан со старшим номером, конкретное устройство для этого типа (или контроллер) связано с второстепенным номером, также называемым номером модуля.
Файлы устройств делятся на два типа:
- блочные: чтение/запись файлов осуществляется блоками, размеры которых обычно кратны 512 байтам;
- символ: чтение/запись выполняется побайтно.
Для реализации взаимодействия с ядром драйверы обычно используют стандартный интерфейс, достаточный для выполнения всех системных функций, наиболее распространенными являются: ioctl, test, select, read, write, Receiver, Close, стоп, трансляция и далее.
Момент выполнения какой-либо операции над файлом устройства ядро ее отлавливает, в зависимости от типа этих операций вызывает соответствующую системную функцию и далее управление, работа с этой функцией передается программному обеспечению . Итак, Linux, работая с оборудованием, на самом деле работает с файлами.
Установка драйвера Linux
Когда (специальные) драйверы устанавливаются в операционной системе, разработчики часто предоставляют сценарии, которые выполняют все этапы обслуживания по установке и настройке программного обеспечения. Одним из таких действий является создание соответствующего файла устройства для установленного драйвера. В большинстве случаев пользователю больше ничего не нужно делать после выполнения скриптов установки. Если вы не перезагрузите операционную систему.
Однако, когда контроллер собран, например один. Из исходников или нет вспомогательных скриптов, выполняющих автоматическую установку. Вы должны добавить файлы системного оборудования вручную. С помощью команды mknod со следующим синтаксисом:
Здесь указывается тип устройства: b – блочное устройство, c – символьное устройство. Параметры старший и дополнительный определяют основной и дополнительный номера аппаратных файлов.
Для Linux существует специальная система udev . Который автоматически отслеживает аппаратные изменения ОС и предпринимает соответствующие действия (по умолчанию создает файлы). udev основан на демоне udevd . Который прослушивает все сообщения от ядра системы. Которые содержат информацию о состоянии устройства. Используя эти данные, а также инструкции по настройке, хранящиеся в каталогах /etc/udev/ и /lib/udev. демон udev выполняет добавление, удаление или базовую настройку системного оборудования.
Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter .
Источник
Работа с оборудованием Linux («Сага о драйверах»)
Когда компьютеры назывались «электронными компьютерами», они были размером с кухню набор и почти исключительно выполненные расчеты. Пользователи компьютеров (математики) воспринимали ввод и вывод данных как необходимые, но лишь косвенно связанные с работой компьютера. Было довольно легко научить ученых писать программы и тем или иным образом создавать исходные данные для расчетов, например, с помощью перфокарт. Подключение какого-либо другого устройства к компьютеру было кропотливой задачей, требующей усилий инженера-электронщика, а также программиста. Да и нужен был редко.
Современный компьютер — игрушка не для ученого, а для каждого рядового обывателя. Это прибор. Кроме того, компьютер является самым «умным» прибором: если есть какой-то другой прибор (скажем, кофемашина), продвинутый обыватель сразу задастся вопросом, можно ли научить компьютер управлять этим прибором . (например, сварить кофе за минуту до прихода хозяина). В идеальном случае получится «электронное домашнее хозяйство», в котором работой любого устройства можно будет управлять, не вставая с рабочего места и даже не сидя на нем, через Интернет.
Самое поверхностное суждение об оборудовании и компьютерах состоит в том, что для подключения устройства требуется волшебная субстанция, называемая «драйвером». При наличии драйвера компьютер «видит» устройство, при отсутствии драйвера «не видит».
Это суждение во многом неверно.
Что такое «команда»?
Что и как можно подключить к компьютеру? Во-первых, на поверхности вашего корпуса обычно много отверстий и разъемов, явно предназначенных для того, чтобы туда что-то подключать. Уже подключены: клавиатура, мышь, монитор, возможно принтер, наушники или колонки. Неиспользуемых отверстий много, но в «электронном хозяйстве» еще много техники осталось — от КПК до самой кофемашины (если у нее правильный разъем).
Во-вторых, внутри компьютера представляют собой специальные разъемы для подключения плат расширения — устройств, внешне не похожих на бытовую технику, а являющихся частью самого компьютера. Это видеоадаптеры, сетевые адаптеры, «внутренние» модемы и т. д. Эти устройства являются основным источником «Саги о драйверах», потому что их много и создатели каждого устройства хотят сохранить свое устройство секрет от конкурса в том, что вместо документации к ним прикрепляют ту самую магическую субстанцию с пометкой «нажми кнопку «Старт» и попробуй расслабиться: от тебя больше ничего не зависит».
В-третьих, далее в компьютер имеет некоторые устройства, которые не могут быть отключены или подключены, но используются в работе, имеют какое-то название и могут сильно отличаться на разных компьютерах. Например, звуковые подсистемы могут быть интегрированы или изготовлены в виде платы расширения, которая представляет редкую серию моделей и те же функции (гнездо микрофона, гнездо(а) динамика, линейный вход и т.д.). Что-то другое? ). Или устройство , к которому подключены жесткие диски : оно может быть рассчитано на 1 диск, 2, 4, иногда больше и может иметь различные дополнительные возможности. а также требуют «драйвер» — хотя бы поддержку системы.
Что именно отличает одно устройство от другого, так это внешний вид разъема, через который они подключаются к компьютеру. Очевидно, что устройства, подключенные к разным типам разъемов, управляются машиной существенно по-разному. Разъемы также настолько разные, что один тип соединительного кабеля просто не подходит к разъему другого 1 . Но проблему идентификации это все равно не решает: например, мышь, подключенная к USB-разъему ( порт ), работает нормально, а вот с цифровым фотоаппаратом как-то не работает. Вам снова нужен «драйвер»?
Можно добавить, что некоторые устройства могут вообще не рекламироваться на машине: так что все, что подключено к аналоговому аудиовходу, будет работать одинаково, компьютер не будет различать динамики и наушники, а вы будете не замечать его отсутствия. В конце концов, внешний надзор не дает достаточно информации о том, как работать с устройством. Документация должна прийти на помощь, но если снова появится слово «драйвер», это может означать что угодно: слишком расплывчато.
Как распознается устройство?
Попробуем внести определенность. Какую информацию компьютер получает о подключенном устройстве и как он ее получает?
Очевидно, что «с другой стороны» каждого разъема (скажем, USB, в который мы подключаем флешку) есть какое-то устройство, позволяющее их использовать (например, USB-мышь, USB-принтер и т. д.). ) .П) . Этот компьютер:
- определяет тип подключенного устройства
- управляет им (например, вы можете включить или выключить его)
- отправляет данные и/или получает данные от это устройство
Такое устройство называется шиной (bus). Этимология этого слова как в русском, так и в английском языке загадочна и восходит к доисторическим временам, когда компьютеры назывались «ЭВМ».
В компьютере несколько шин (грубо говоря из-за количества различных типов разъемов). Есть совсем «тупые» шины, например, последовательный порт ввода/вывода (подключаются мыши и прочие «старые» устройства). Глупость его заключается в том, что информацию о типе подключаемого устройства нужно задавать вручную либо заранее, либо через запросы, адресованные пользователю.
Существуют достаточно интеллектуальные шины, способные обнаруживать и понимать многие характеристики подключенного устройства. Такова, например, шина PCI, на сегодняшний день самое распространенное устройство для подключения карт расширения. Любознательный пользователь может посмотреть список устройств, подключенных к шине PCI, с помощью команды lspci (из «list PCI», команды из пакета pciutils):
К шине PCI подключена другая шина как устройство : USB, который используется для подключения внешних устройств. Он также довольно шустрый и также отличается тем, что устройства подключаются и отключаются от него достаточно часто. Есть команда lsusb (очевидно, из пакета usbutils), но она, как и lspci, используется редко (даже удалена из директории /usr/sbin, с глаз долой пользователя):
Специальная директория /sys отображает системный вид подключенного к нему устройства. В частности, все устройства, найденные на шинах, перечислены как подкаталоги /sys/bus/ bus /devices. Если устройство установлено, но не обнаружено интеллектуальной шиной, такой как PCI или USB, это, скорее всего, аппаратная проблема (несовместимое или неисправное устройство, мошенничество со слотами и т. д.).
О. Бывает и так: на шине появилось устройство (видеокарта, модем, кофеварка), но пользоваться им нельзя. Кажется, чего-то не хватает. Водитель?
Что такое «драйвер» и где он находится?
Чего собственно может не хватать, если устройство распознано, то маркирует устройство: известно ли и как передавать данные по шине: тоже известно? Отсутствует главное — информация о том, какие данные нужно передать, чтобы получить от устройства нужный эффект. Что отправить по шине USB, чтобы выключить кофемашину? Какие байты нужно записать в последовательный порт модема, чтобы повесить трубку? Что делать с видеокартой. Все было быстро и обязательно в 3D!?
Это «какие данные» и есть «контроллер». Драйвер может быть где угодно, на любом системном уровне: от модуля ядра до части пользовательской программы и даже ее конфигурационного файла. Типичные варианты:
- Драйвер — это модуль ядра , который сообщает шине, как правильно обращаться с устройством. Это часто происходит с устройствами PCI и стандартными устройствами USB. Подключитесь к ядру с помощью modprobe имя_модуля (или insmod ). Распознанные и классифицированные устройства (с драйвером модуля ядра) отображаются как подкаталоги /sys/class/ deviceclass / .
- Графический драйвер: Модуль графической подсистемы X11 (X.Org). Подгружается при старте графической оболочки, достаточно указать его в конфигурации X.Org (с помощью конфигуратора или вручную в файле /etc/X11/xorg.conf). Часто также требуется специальный модуль ядра (возможно, несколько) для организации доступа к видеопамяти.
- Драйверы принтера и модема: Описание подсистемы печати и функций номеронабирателя. Документация подскажет, что с ними делать дальше.
- Драйвер: прикладная программа или подключаемый модуль (например, драйвер сканера является подключаемым модулем для утилиты sane, а некоторые цифровые аудиоплееры «iRiver» могут использоваться с ifp из линейного пакета ifp). Тут главное название программы, и скорее всего драйвер уже есть в дистрибутиве.
Во втором случае нет никакой видимой информации о том, что устройство действительно можно использовать, пока не будет запущена соответствующая прикладная программа с правильной конфигурацией (особенно для «тупых» шин, таких как последовательные порт). И в любом случае самостоятельная установка «драйвера» должна сопровождаться внимательным чтением соответствующей документации.
Повторное устройство?
В документации Linux термин » устройство » (устройство) часто означает не «устройство», а скорее «запись в каталоге /dev». что такое?
Устройство обычно подключается к машине для передачи на нее некоторых данных и/или получения их от нее. Если задачей компьютера является управление внешними устройствами, он все равно может считаться передачей управляющих данных и получением диагностических данных. Во многих случаях проще передавать данные в синхронном (потоковом) режиме, как и при работе с файлом: открыть файл — записать данные — закрыть файл или открыть — прочитать — закрыть. Если бы можно было представить внутренности устройства в виде файла, с ним было бы проще работать: это значило бы, что система знает, как и куда передавать данные, а это уже на усмотрение программы пользователя. понимаю это. данные 4.
В большинстве случаев Linux работает так. После того, как внешнее устройство будет распознано системой и соответствующий модуль ядра будет загружен службой hotplug, при необходимости в каталоге /dev создается новый «файл», содержимое которого отражает содержимое подключенного устройства. , не занимая место на жестком диске. Говоря файл называется hole file , его можно представить как дыру в файловой системе, через которую вы видите не содержимое жесткого диска, а данные, которые поступают туда с «другого». side» — со стороны подключенного внешнего устройства. Например, гибкий диск в дисководе представлен как пустой файл /dev/fd0 (от f loppy d isk 0 ), а мышь представлена как /dev/mouse (точнее /dev/mouse ; обычно это символическая ссылка на настоящий файл дыры, например, /dev/psaux, порт PS/2).
В документации вместо «файл-дырка» обычно пишется просто «устройство» и устройство-устройство называется «внешнее устройство». Если в каталоге /dev/ нет подходящего устройства, то в цепочке рукопожатия есть слабое звено.
Видео-гайд: Linux где хранит драйвера
Обратите внимание, что файл отверстия не обязательно должен существовать и должен соответствовать внешнему устройству. Например, устройства, подключенные ко второму последовательному порту, всегда виден как /dev/ttyS1 (и на первом как ttyS0). На самом деле, ttyS — это настолько простой файл-заглушка, что дальнейшее определение типа устройства зависит от программы пользователя.
Другой пример — работа с компьютерами через шину USB. В системе зарегистрировано несколько шин USB и к каждой можно подключить одно или несколько устройств. Для них, вне зависимости от типа устройства, создаются файлы отверстий в форме usbdev. шина . номер , где каждому вновь подключенному устройству просто назначается другой номер . Некоторые аудиоплееры и цифровые камеры распознаются как флешки; затем в дополнение к файлу нетипизированной дырки создается один или несколько дисков (например, само дисковое устройство /dev/sda и один раздел с файловой системой /dev/sda1 , который монтируется на диск /media/usb). Другие камеры могут делать больше, чем обычный диск, например, передавать изображения и/или аудио, и для них есть специальные инструменты, такие как gphoto2. В этом случае никакие другие файлы, кроме /dev/usbdev, не создаются. шина . номер и gphoto2 угадывает тип подключенного устройства.
Кто виноват и что делать?
Устройство, которое только что было подключено к компьютеру, не опознано «само по себе» и программы, которые должны были с ним работать, не работают.
- Сначала посмотрите на системную консоль (Ctrl + Alt + F12 ) и файл /var/log/messages, возможно, диагностика системы даст мне знать, что происходит
- Проблемы могут быть связаны с аппаратным обеспечением (зарегистрированным в /sys/bus или с использованием lspci, как указано выше).
- Возможно, Hotplug или другая программа автоопределения не знает о конкретном подключенном устройстве (вам придется загрузить модуль вручную в режиме суперпользователя с помощью modprobe и отредактировать /etc/modules.conf, чтобы избежать этого каждый раз).
- Возможно, внешнее устройство было распознано и для него существует модуль, но служба udevd, которая кладет файлы дыр в /dev, выбрала другое имя или не инициализировала нужное устройство (нужно проанализировать содержимое /dev и, возможно, настроить udev или саму прикладную программу).
- Возможно, ваше устройство слишком новое или дистрибутив Linux устарел. В этом случае рекомендуется обновить части системы, содержащие «драйвер» (в зависимости от ситуации: модуль ядра, само ядро, графическую оболочку или ее библиотеку, прикладную программу и т. д.).
- Стоит проверить, что говорится о вашем устройстве в онлайн-источниках информации (здесь поможет lspci или аналогичные инструменты, а также http://www.google.com). Они, вероятно, посоветуют вам загрузить какой-нибудь готовый модуль ядра (конечно, они назовут его «драйвером») или посоветуют, какую программу использовать.
- Наконец, ваше устройство может быть несовместимо. Грустно, но факт: некоторым производителям оборудования дороги их маленькие секреты настолько, что они не только не документируют дизайн своих устройств, но и тщательно его скрывают. В результате сообщество Linux не может быстро оказать поддержку загадочному устройству. Производители предпочитают писать «драйверы» за свои деньги, хорошие или плохие, а жадные цепляются только за одну, самую распространенную сегодня пользовательскую программную платформу. И все же, к сожалению, это не Linux.
Вышеизложенное означает, что после каждого обновления системы устройство, которое ранее было трудно распознаваемым или вообще не распознавалось, может легко работать, особенно если устройство относительно новое. Кроме того, стоит обратить пристальное внимание на ситуацию, когда производитель устройства не только рекламирует поддержку Linux, но и предлагает «драйвера» собственного производства. И последнее, но не менее важное: если вы не знаете, как обращаться с «драйвером» самостоятельно, обратитесь к сообществу Linux! Либо вы получаете решение проблемы, либо вновь подтверждаете, что ее стоит решать, и тем самым приближаете решение.
1 Однако, например, вместо микрофона можно подключить наушники, а скорее всего будет работать как микрофон. очень спокойный.
2Он подключен к шине AGP, которая имеет схожую архитектуру с PCI, поэтому система не имеет никакого значения.
3Некоторая путаница может возникнуть из-за того, что нет строгого соответствия между разъемами кузова и номерами шин: «кто первый встал, тот и обулся».
Шрифт