56.3. Что такое «драйвер» и где он находится?
В самом деле, чего может не хватать, если устройство распозналось, марка устройства известна и как передавать данные по шине — тоже известно? Не хватает главного: сведений о том, какие данные надо передавать, чтобы добиться от устройства желаемого эффекта. Что передать по шине
USB, чтобы кофеварка выключилась? Какие байты записать в последовательный порт модема, чтобы он повесил трубку? Что сделать с видеокартой, чтобы всё было быстро и непременно 3d!?
Это вот «какие данные» — и есть «драйвер». Драйвер может быть где угодно, на любом уровне системы: от модуля ядра до пользовательской программы и даже её конфигурационного файла.
Типичные варианты:
Драйвер — модуль ядра, подсказывающий шине, как правильно обращаться с устройством. Это, как правило, относится к PCI-устройствам и стандартным USB-устройствам. Подключается к ядру командой modprobe имя_модуля
(или insmod
). Распознанные и классифицированные устройства (те, для которых есть драйвер- модуль ядра) отображаются в виде подкаталогов /sys/class/класс_устройства/
.
Драйвер видеокарты — модуль графической подсистемы X11 (X.Org). Подгружается при старте графической оболочки, достаточно лишь указать его в настройках X.Org (с помощью конфигуратора или вручную в файле /etc/X11/xorg.conf
). Часто требуется и специальный модуль ядра (возможно, несколько), организующий доступ к видеопамяти.
Драйверы принтера и модема — описание характеристик для, соответственно, подсистемы печати и программы-«звонилки». Что с ними делать дальше, расскажет документация.
Драйвер — прикладная программа или дополнение (plug-in) к ней (например, драйвер сканера — дополнение утилиты sane
, а с некоторыми цифровыми проигрывателями звука «iRiver
» можно взаимодействовать с помощью утилиты ifp
из пакета ifp-line). Здесь главное — название программы, а драйвер, скорее всего, уже включён в дистрибутив.
В последнем случае нет никакой зримой информации о том, что устройством действительно можно пользоваться — до тех пор, пока не запущена соответствующая прикладная программа с соответствующими настройками (особенно это касается «глупых» шин, наподобие последовательного порта). И в любом случае, самостоятельная установка «драйвера» должна сопровождаться вдумчивым чтением документации к нему.