Как установить драйвер в alt linux
Когда компьютеры назывались «электронно-вычислительными машинами», они были размерами в среднем с кухонный гарнитур и занимались почти исключительно вычислениями. Ввод и вывод данных воспринимался пользователями ЭВМ — учёными-математиками — как нечто необходимое, но к работе ЭВМ имеющее лишь косвенное отношение. Учёного было довольно просто обучить, чтобы он составлял программы и оформлял входные данные для расчётов одним каким-нибудь способом, например, при помощи перфокарт. Подключение к компьютеру какого-нибудь другого устройства было делом трудоёмким, так как требовало усилий и электронщика, и программиста. Да и нужно это было нечасто.
Нынешний компьютер — игрушка не учёного, а любого рядового обывателя. Это бытовой прибор. Мало того, компьютер — это «самый умный» бытовой прибор: если имеется какой-нибудь другой бытовой прибор (скажем, кофеварка), прогрессивный обыватель тут же задумывается, нельзя ли обучить компьютер управлять этим прибором (скажем, варить кофе за минуту до приезда хозяина). В идеале получается «электронный дом», в котором работу любого оборудования можно контролировать, не вставая из-за рабочего места, или даже не садясь за него — посредством сети Интернет.
Самое поверхностное суждение об оборудовании и компьютере — что для подключения прибора нужна волшебная субстанция по имени «драйвер». Есть драйвер — компьютер оборудование «видит», нет драйвера — «не видит».
Это суждение во многом неверно.
Что такое «оборудование»?
Что и как можно подключить к компьютеру? Во-первых, на поверхности его корпуса обычно наблюдается множество разнообразных отверстий и разъёмов, очевидно предназначенных для того, чтобы туда что-то подключали. Уже подключены: клавиатура, мышь, монитор, возможно — принтер, наушники или колонки. Много отверстий остаётся неиспользованными, но и аппаратуры в «электронном доме» ещё много — от КПК до той же кофеварки (если на ней есть соответствующий разъём).
Во-вторых, внутри компьютера имеются специальные разъёмы для подключения к ним плат расширения: устройств, выглядящих не как бытовой прибор, а скорее как деталь самого компьютера. Таковы видеоадаптеры, сетевые адаптеры, «внутренние» модемы и т. п. Эти устройства — главный источник «Саги о Драйверах», потому что их много, и создатели каждого такого устройства желают сохранить его устройство втайне от конкурентов, прилагая к ним вместо документации ту самую волшебную субстанцию с пометкой «нажмите кнопку “ Пуск ” и попытайтесь расслабиться: от вас уже ничего не зависит».
В-третьих, ещё более внутри компьютера есть какие-то устройства, которые нельзя ни отключить, ни подключить, однако они используются при работе, имеют какое-то название и на разных компьютерах могут весьма отличаться. Например, звуковые подсистемы могут быть интегрированными, а могут быть выполненными в виде платы расширения, отличаясь редкостным разнообразием моделей и однообразием функций (разъём для микрофона, разъём (ы) для колонок, линейный вход. что-то ещё?). Или устройство, к которому подключаются жёсткие диски: оно может быть рассчитано на 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Некоторая путаница может возникнуть из-за того, что строгого соответствия между разъёмами на корпусе и номерами шин нет: «кто первый встал, того и тапки».
Переход со свободных драйверов nouveau и radeon на Nvidia и fglrx соответственно сопряжён с определёнными сложностями, и для его осуществления следует выполнить целую последовательность действий. Обратный переход выполняется аналогичным образом.
Содержание
1. Если вы ещё ни разу не обновляли дистрибутив, убедитесь, что apt настроен на нужный репозитарий. Это удобно сделать с помощью команды apt-repo.
2. Обновить ядро до последней версии в используемом репозитории: Открыть терминал и получить права пользователя root:
или нажать <Ctrl+<Alt>+<F1>(или F2. F6) и войти как root:
Обновить индекс содержимого репозитория:
3. Перезагрузить компьютер c новым ядром.
4. Открыть терминал и получить права пользователя root: su -
5. установить модули для текущего используемого вами ядра:
где ваше ядро можно определить при помощи команды uname -r, например
в этом случае "ваше-ядро" называется std-def.
Внимание! Вместо 6 и 7 пунктов (ниже) можно из графики выполнить вызов центр управления системой асс и выбрать в нём нужный драйвер (см. настройку дисплея в нём), также автоматом будут сделаны все необходимые настройки. Совет подходит для p7 и выше.
6. Создать файл /etc/modprobe.d/blacklist-video.conf со следующим содержимым:
7. Создать файл: /etc/X11/xorg.conf.d/50-driver.conf со следующим содержимым:
или, соответственно fglrx
Если используется /etc/X11/xorg.conf (например, дистрибутив старого поколения), файл 50-driver.conf создавать не надо, а изменения следует делать в соответствующей секции
8. Перегенерируем загрузочную запись (от root):
Возможная проблема:
Несмотря на blacklist-video.conf, radeon и nouveau могут быть загружены всё равно, например, если они попали в initrd.
В случае такой проблемы можно удалить их совсем (см. Удаление модулей свободных драйверов для используемого ядра). Однако, следует помнить, что возвращать модуль, возможно, придётся из архива репозитария, если будет необходимость сохранить старое ядро. Архивы ведутся для Sisyphus и стабильных репозитариев, начиная с p7/t7.
1. Удаляем модуль
При этом, если ядер окажется, всё же, более одного, apt-get завершится с ошибкой, но выведет весь список с версиями. Так что, это можно использовать, если Вы не знаете, как записать версию.
2. Пересобрираем initrd:
в последнем случае сразу и переустанавливается текущий загрузчик
3. Переустановить загрузчик при необходимости.
Для управления переключениями видеокартами через amdcccle (Catalyst) необходимо дать из под рута команду
после этого появится пункт в amdcccle для переключения между intel/amd или amd/amd в зависимости от железа. Есть одно НО необходимо как минимум перезапустить X-сервер о чем и будет написано в amdcccle после совершения манипуляции.
В Windows мы привыкли, что перед тем, как новое оборудование будет работать, для него необходимо установить драйвера. Не важно будет ли это USB устройство, веб-камера или видеокарта. Драйвера в Windows выпускаются производителями и распространяются через интернет или на диске в комплекте с оборудованием.
В Linux, драйвера тоже необходимы, но ситуация состоит с ними немного по-другому. Здесь все свободные драйвера Linux встроены в ядро и если ваше оборудование будет работать с этой операционной системой, то, скорее всего, оно будет работать из коробки. Свободные драйвера разрабатываются производителями оборудования или же независимыми разработчиками. Также производители могут не открывать код своих драйверов, тогда они считаются проприетарными и не включаются в ядро, а доустанавливаются вручную.
Давайте рассмотрим подробнее работу с драйверами linux и Windows.
Как драйвера устройств работают в Windows
После установки Windows вам необходимо установить драйвера устройств, предоставляемые производителями - драйверы материнской платы, набора микросхем, драйверы видеокарты, звука, сети, wifi и многое другое.
Если оборудование не работает в WIndows, то обычно вы можете найти драйвер чтобы заставить его работать. Обычно достаточно подыскать подходящий драйвер на просторах сети.
Как работают драйвера Linux
В Linux ситуация с драйверами очень сильно отличается. Большинство драйверов для вашего оборудования распространяются в виде открытого программного обеспечения и интегрированы в дистрибутив Linux. Эти драйверы linux, как правило, являются частью ядра Linux, но здесь есть исключение - драйверы видеокарты являются частью программного обеспечения Xorg, а драйверы принтера включены в набор CUPS (система печати).
Это значит, что большинство доступных для linux драйверов уже установлены на вашем компьютере, включены вместе с ядром, в виде модулей ядра или вместе с графическим сервером или сервером печати. Установка драйверов Linux почти не нужна. Драйвера в Linux разработаны, в основном, энтузиастами, но иногда их выпускают сами производители оборудования, которые вносят свой вклад в развитие ядра Linux и других проектов, например, это Intel, AMD, а также другие, более мелкие производители.
Все драйвера установлены из коробки, а значит вам не придется искать драйвера для каждого устройства в вашей системе и вручную их устанавливать. Система автоматически определит ваше оборудование и сама загрузит нужные драйвера в linux. Но здесь есть одно исключение - это проприетарные драйвера ядра linux и прошивки.
Установка проприетарных драйверов Linux
Некоторые производители не хотят открывать исходный код своих драйверов, поэтому для поддержки оборудования выпускают проприетарные драйвера в Linux с закрытым исходным кодом. Большинство дистрибутивов Linux не включают такие драйвера в свой состав, а значит они не смогут их автоматически определить и загрузить.
Чаще всего нам приходится сталкиваться с проприетарными драйверами для видеокарт, например, для NVIDIA, которые обеспечивают лучшую производительность в играх на Linux. Конечно, есть драйверы ядра Linux с открытым исходным кодом, которые заставят вашу видеокарту работать, но они не могут обеспечить достаточный уровень производительности в 3D играх. Некоторые драйвера wifi по прежнему закрыты, поэтому ваше оборудование не будет работать пока вы их не установите.
Установка драйверов в Linux зависит от вашего дистрибутива. В Ubuntu и основанных на ней дистрибутивах есть специальный инструмент - Дополнительные драйверы.
Программа определит, какие проприетраные драйверы устройств Linux можно установить и предложит скачать и установить их. В Linux Mint тоже есть инструмент менеджер драйверов, он работает аналогично инструменту в Ubuntu. Fedora - против проприетарных драйверов Linux и здесь нет никакого способа их установить. Во многих дистрибутивах проприетарные драйверы устройств linux можно найти в неофициальных репозиториях. Каждый дистрибутив решает эту проблему по-разному.
Установка прошивок в Linux
Не все могут делать драйвера с открытым кодом или проприетарные драйвера. Некоторым драйверам необходимы прошивки, чтобы правильно работать с устройствами. Например, прошивки нужны для работы некоторых модулей wifi или сетевых интерфейсов.
Чтобы установить прошивки в Linux необходимо скачать и установить пакет linux-firmware, это можно сделать с помощью следующей команды в Ubuntu:
sudo apt install linux-firmware
А в RPM дистрибутивах:
sudo yum install linux-firmware
Также возможно придется установить другие прошивки. Чтобы посмотреть подробнее, что нужно, и как установить, посмотрите лог ядра dmesg.
Как установить драйверы для принтера в Linux
Возможно, вам понадобится поставить драйвера linux для принтера. Однако при использовании инструмента для конфигурации принтеров - CUPS вы можете выбрать нужный драйвер из баз данных. Как правило, программа определяет производителя вашего принтера, а в списке вы можете выбрать точную модель принтера.
Вы также можете попытаться определить принтер по описанию PostScript или PPD файла. Эти файлы часто входят в состав драйвера принтера для Windows и вы можете найти PPD файл, который сделает работу вашего принтера лучше. Файл PPD можно выбрать в процессе работы CUPS.
Принтер может стать головной болью в Linux и многие из них могут не работать должным образом или даже вообще не работать. Так что при выборе принтера лучше сразу смотреть только те, которые точно будут работать с Linux.
Как заставить работать другое программное обеспечение
Иногда вам может понадобиться поставить драйвера linux для другого оборудования, которые не предоставляются автоматически. Например, NVIDIA предоставляет собственный инсталлятор для своего драйвера. Но тем не менее лучше использовать драйвера упакованные для вашего дистрибутива, они будут работать лучше.
В общем, если в Linux что-то не работает из коробки, и если оно все еще не работает после установки драйвера или прошивки, то, скорее всего, оно уже не будет работать вообще. Если вы используете старую версию Linux, может помочь обновление до самой новой версии. Это обеспечит лучшую аппаратную поддержку и обновления. Но если что-то все еще не работает, то , скорее всего, оно уже работать не будет.
Найти подробную информацию, как настроить работу того или иного оборудования в вашем дистрибутиве можно на различных форумах. Обычно, если у вас не очень новое устройство, другие пользователи уже сталкивались с этими проблемами, но они их уже решили, и вы можете найти эти ответы.
Выводы
Вы не должны возиться с драйверами слишком много. Драйвера в Linux с открытым исходным кодом и они интегрированы в ядро. В большинстве случаев вам не нужно устанавливать их или изменять, система автоматически определит оборудование и загрузит автоматические драйверы. Когда вы установили Linux, ваше оборудование должно работать либо сразу, либо после установки нескольких проприетарных драйверов.
Вы можете устанавливать и драйвера linux, размещенные на официальных сайтах производителей, но проприетарные драйвера могут работать не настолько хорошо, как подготовленные для вашей системы.
В настоящее время при работе с операционными системами подразумевается, что она всегда подключена к Интернету. Поэтому диски с драйверами сетевых карт больше не входят в комплект при продаже. И может возникнуть ситуация, что невозможно установить драйвер устройства, поскольку нет сетевого соединения, а сетевого соединения нет, потому что невозможно установить драйвер устройства. Рассмотрим несколько способов, как вырваться из этого замкнутого круга.
1. Использование проводного соединения
Если вы не можете настроить Wi-Fi подключение, то соедините компьютер с роутером проводом. Обычно Ethernet кабели уже входят в комплект роутеров. Есть высокий шанс, что ваш Linux поддерживает чипсет Ethernet гнезда и он работает без дополнительных пакетов. Обычно проводные соединения не требуют особой настройки.
2.Подключить USB адаптер для которого драйвера присутствуют в ядре Linux
Подойдёт практически любой USB адаптер кроме самых экзотических — в ядре Linux есть драйвера практически для всего. То есть вы получите Интернет и сможете сделать обычную установку.
3. Офлайн установка пакетов
На Linux с Интернетом вы можете скачать пакеты вручную:
А затем установить их на компьютере без Интернета:
В теории это всего две команды, но на практике возможны следующие проблемы:
Чтобы пакеты подошли, дистрибутив, на котором вы скачиваете должен быть таким же и такой же версии, где вы затем будете устанавливать пакеты. Иначе вам нужно искать ссылки для каждого пакета для вашего дистрибутива и скачивать вручную
У каждого из этих пакетов могут быть зависимости, а у тех зависимостей могут быть другие зависимости…
В общем, посмотреть зависимости можно командой:
Или вариант попроще, запустите команду (делать установку необязательно):
и посмотрите, какие пакеты будут предложены для установки. Скопируйте названия этих пакетов и загрузите с помощью «apt download».
4. Установка пакетов с Live или установочного диска
В репозиториях в качестве источника пакетов нужно прописать CD диск.
Для этого выполните команду:
Если, например, вы добавляете образ Wheezy, будет сгенерирован следующий результат:
Читайте также: