Загрузка сетевых драйверов

Загрузка сетевых драйверов

Первым шагом в настройке сетевых устройств является загрузка соответствующих драйверов. Как было сказано в главе 1, драйверы подготавливаются к работе одним из двух способов: драйвер может быть непосредственно включен в состав ядра Linux либо скомпилирован в виде отдельного модуля. В первом случае загрузка сетевого драйвера не вызывает затруднений. Драйверам некоторых сетевых карт приходится передавать параметры, используя для этого опции загрузки. Если вы применяете LILO, параметры передаются посредством опции append, содержащейся в файле /etc/lilo.conf. Например, приведенная ниже строка сообщает ядру о том, что устройство eth0 (первая сетевая карта) подключено через порт с номером 0x240.

append="ether=0,0,0x240,eth0"

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

Если драйвер скомпилирован как отдельный модуль, параметры передаются ему посредством файла /etc/modules.conf (в некоторых системах этот файл имеет имя /etc/conf.modules). Например, данный файл может содержать следующие строки:

alias eth0 ne options ne io=0x240

Приведенные выше две строки сообщают системе о том, что для устройства eth0, подключенного через порт ввода-вывода 0x240, должен использоваться драйвер, содержащийся в модуле ne. В большинстве случаев в подобном указании нет необходимости. Оно нужно в основном тогда, когда в системе присутствует несколько сетевых интерфейсов. Инструментальные средства настройки, содержащиеся в составе многих дистрибутивных пакетов, позволяют автоматизировать этот процесс. Вам достаточно выбрать из списка модель сетевой карты и драйвер, после чего требуемые записи будут автоматически включены в файл /etc/modules.conf.

Если вы включили требуемую запись в файл /etc/modules.conf, то при попытке активизировать сетевой интерфейс система Linux автоматически загрузит сетевой драйвер. Если по каким-либо причинам вы хотите сделать это вручную, воспользуйтесь командой insmod.

# insmod ne

В результате выполнения этой команды модуль ne будет загружен и готов к использованию. Если средства автозагрузки модулей работают ненадежно, вам, возможно, придется включить указанную выше команду в файл /etc/rc.d/rc.local или /etc/rc.d/boot.local.

В некоторых случаях передача данных происходит с помощью протоколов PPP, SLIP или PLIP, а компьютеры соединяются через последовательные или параллельные порты. При этом приходится отдельно загружать драйвер, предназначенный для управления устройством, и драйвер, поддерживающий протокол обмена данными. Такие драйверы подготавливаются так же, как и драйверы сетевых карт: они либо встраиваются непосредственно в ядро, либо компилируются в виде отдельных модулей. В некоторых случаях требуются дополнительные драйверы. Например, для использования модема, подключенного через интерфейс USB, требуются два или три драйвера.