Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Next Previous Contents


10. Драйверы других устройств

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

10.1 Устройства Ethernet (`ether=')

Разные драйверы используют различные параметры, но все они, по крайней мере, совместно используют имеющиеся значения IRQ, базовый адрес порта I/O и имя. В наиболее универсальной форме это выглядит примерно так:


        ether=irq,iobase[,param_1[,param_2,...param_8]]],name

The first non-numeric argument is taken as the name. The param_n values (if applicable) usually have different meanings for each different card/driver. Typical param_n values are used to specify things like shared memory address, interface selection, DMA channel and the like.

Первый не цифровой аргумент воспринимается как имя. Обычно значения param_n (если применимо) имеют различные назначения для разных карт/драйверов.

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


        ether=0,0,eth1

Обратите внимания, что нулевые значения IRQ и базы I/O в предыдущем примере заставляют драйвер сделать автопробу.

ВАЖНОЕ ЗАМЕЧАНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ МОДУЛЕЙ: вышеупомянутое не будет пробовать вторую карточку, если вы используете драйвер(ы) как run-time загружаемые модули (вместо вкомпилированных в ядро). Большинство дистрибутивов Linux используют голое (bare bones) ядро в комбинации с большим выбором модульных драйверов. ether= применяется только для драйверов, вкомпилированных непосредственно в ядро.

Ethernet-HowTo содержит полную и расширенную информацию по использованию нескольких карт и какие значения param_n используются для конкретных карт/драйверов. Более подробную информацию по своей конкретной карте интересующиеся могут найти в соответствующем разделе этой документации. Ethernet-HowTo

10.2 Драйвер флоппи-диска (`floppy=')

Существует множество опций драйвера флоппи-диска, и все они перечислены в README.fd в linux/drivers/block. Их слишком много, чтобы приводить здесь. Поэтому, укажем только те опции, которые могут понадобиться для установки Linux на минимальном оборудовании.

floppy=0,daring Сообщает драйверу флоппи что ваш флоппи-контроллер должен использоваться с осторожностью (запрещает все рискованые операции).

floppy=thinkpad Сообщает драйверу флоппи, что у вас ноутбук. Ноутбуки используют инвертированное значение сигнала смены диска.

floppy=nodma Сообщает драйверу флоппи не использовать DMA для передачи данных. Это необходимо на HP Omnibooks, у которого нет работающего DMA канала для драйвера флоппи. Эта опция полезна также, если вы часто получаете сообщения "Unable to allocate DMA memory" (Не могу распределить память DMA). Если у вас FDC без FIFO (8272А или 82072), применение `nodma' не рекомендуется. Для 82072А и позже все ОК. Модель FDC указывается при загрузке. Также вам необходим, по крайней мере, 486 для применения nodma.

floppy=nofifo Полностью запрещает FIFO. Необходимо, если при доступе к флоппи-диску вы получаете сообщения 'Bus master arbitration error' от сетевой карточки (или от другого устройства).

floppy=broken_dcl Не использовать сигнал смены диска (DCL - Disc Change Line), но каждый раз при повторном открытии узла устройства (device node) предполагается что диск был заменен. Необходим для некоторых машин, где сигнал замены диска поврежден или не поддерживается. Это должно считаться как временная мера, поскольку делает дисковые операции менее эффективными из-за лишних сбрасываний кэша и несколько ненадежно. При наличии DCL проблем проверьте ваше кабельное соединение и установку перемычек. Хотя известны некоторые старые приводы, а также некоторые лаптопы, не имеющие DCL.

floppy=debug Выводит (дополнительно) отладочные сообщения.

floppy=messages Выводит информирующие сообщения для некоторых операций (подтверждение замены диска, предупреждения о перегрузке и недогрузке (over and underruns ?), и об автодетекции).

10.3 Драйвер звука (`sound=')

Драйвер звука также может принимать аргументы загрузки для изменения вкомпилированных значений. Делать это не рекомендуется, поскольку это достаточно сложно, а документация для этого в ядре загадочно исчезла (намек). Вы выиграете, если будете использовать звук как модуль, или вкомпилируйте свои собственные значения.

Если, тем не менее, вы выбрали это, то обработка аргумента производится в файле dev_table.c in linux/drivers/sound. Принимается аргумент загрузки в следующем виде:


        sound=device1[,device2[,device3...[,device11]]]

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

D - второй канал DMA (ноль не применяется)

T - тип устройства: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16-MIDI,... Список типов звуковых карт до 26 (не забудьте преобразовать обратно в hex для использования в командной строке) находится в файле linux/include/linux/soundcard.h, а от 27 до 999 (новейшие модели) можно найти в файле linux/drivers/sound/dev_table.h.

aaa - адрес I/O в hex.

I - номер прерывания в hex (т.е. 10=a, 11=b, ...)

d - первый канал DMA.

Как вы видите, это довольно утомительно, поэтому вы действительно выигрываете при использовании модульного драйвера или компиляции своих собственных значений, как рекомендовалось. Применение параметра загрузки `sound=0' полностью запрещает драйвер звука.

10.4 Драйвер Bus Mouse (`bmouse=')

Драйвер busmouse поддерживает только один параметр, который является значением используемого аппаратного IRQ.

10.5 Драйвер MS Bus Mouse (`msmouse=')

Драйвер MS mouse поддерживает только один параметр, который является значением используемого аппаратного IRQ.

10.6 Драйвер принтера (`lp=')

Этим аргументом загрузки вы можете сообщить драйверу принтера какие порты использовать, а какие -- нет. Последнее удобно для запрета захвата драйвером принтера всех доступных параллельных портов, чтобы их могли использовать другие драйверы (например, PLIP, PPA).

Формат аргумента -- несколько пар i/o, IRQ. Например, lp=0x3bc,0,0x378,7 будет использовать порт на 0x3bc без IRQ (голосующий режим -- polling mode) и порт 0x378 с IRQ 7. Порт 0x278 (если есть) не будет пробоваться (probe), поскольку автопробинг выполняется при отсутствии аргумента lp=. Для полного отключения драйвера принтера можно использовать lp=0.


Next Previous Contents