Установка Ethernet

На данный момент Linux поддерживает множество различных марок Ethernet карт. Большая часть драйверов была разработана Donald Becker (becker@super.org). Он также автор целого ряда драйверов для карт, основанных на чипе National Semiconductor 8390, которые прославились как серия Becker драйверов. Существуют и драйверы для нескольких продуктов D-Link, включая D-Link адаптер, позволяющий подключение к Ethernet через параллельный порт. Драйвер для него был написан Bj0rn Ekwall (bj0rn@blox.se). DEPCA драйвер был создан David C. Davies (davies@wanton.lkg.dec.com).

Прокладка Ethernet кабеля

Если вы устанавливаете Ethernet впервые, следующие рекомендации будут полезными. Ethernet чрезмерно чувствителен к правильной прокладке кабеля. Кабель с обеих сторон должен быть завершён 50 Ом резистором и не должен иметь ответвлений. При использовании тонкого кабеля с T-образными BNC переходниками, они должны быть подсоединены непосредственно к плате.

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

Поддержка плат

Полный список поддерживаемых плат можно найти в Ethernet HOWTOs, размещенных на comp.os.linux.announce авторства Paul Gortmaker. Здесь представлен список наиболее популярных плат, поддерживаемых Linux. Однако, если вы нашли свою плату в этом списке, рекомендуется также проверить HOWTO для возможных дополнительных деталей.

3Com EtherLink3c503, 3c503/16, 3c507, 3c509
Novell EagleNE1000, NE2000, NE1500, NE2100
Western Digital/SMCWD8003, WD8013, SMC Elite, SMC Elite Plus, SMC Elite 16 Ultra
Hewlett PackardHP 27252, HP 27247B, HP J2405A
D-LinkDE-600 pocket adaptor, DE-100, DE-200, DE-220-T, DE-650-T (PCMCIA)
DECDE200 (32K/64K), DE202, DE100, DEPCA rev E
Allied TeliesisAT1500, AT1700

Чтобы воспользоваться одной из этих карт, можно установить ядро из одной из основных дистрибутивов Linux, так как они обычно имеют драйверы для всех перечисленных карт. Тем не менее, рекомендуется собирать ваше собственное ядро, включая только необходимый драйвер.

Автоматическое определение Ethernet

Во время загрузки, Linux попытается автоматически определить вашу сетевую карту и её тип. Карты ищутся по определённым адресам и в следующем порядке:

КартаАдреса поиска
WD/SMC0x300, 0x280, 0x380, 0x240
SMC 16 Ultra0x300, 0x280
3c5010x280
3c5030x300, 0x310, 0x330, 0x350, 0x250, 0x280, 0x2a0, 0x2e0
NEx0000x300, 0x280, 0x320, 0x340, 0x360
HP0x300, 0x320, 0x340, 0x280, 0x2C0, 0x200, 0x240
DEPCA0x300, 0x320, 0x340, 0x360

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

Если у вас установлено более одной карты или автоопределение не работает, необходимо явно указать ядру базовый адрес карты и её имя. Это можно сделать, передав определенные параметры при загрузке ядра.

В Net-3 вы можете использовать два различных способа для этого. Один из способов — это изменение или добавление информации в файл drivers/net/Space.c в исходном коде ядра, который содержит всю информацию о драйверах. Однако этот метод рекомендуется только тем, кто хорошо знаком с сетевым кодом. Более предпочтительный метод — это предоставление ядру этой информации при загрузке. Если вы используете загрузчик lilo, вы можете передавать параметры ядру, указав их в опции в файле lilo.conf.

Для указания информации о сетевой карте можно использовать следующий параметр: ether=irq,base addr,param1,param2,name. Первые четыре параметра являются числовыми, а последний — это имя устройства. Все числовые значения являются необязательными; если они опущены или равны нулю, ядро будет пытаться автоматически определить эти значения или будет использовать значения по умолчанию.

Параметр addr определяет базовый адрес ввода-вывода платы. Если он не указан, ядро будет пытаться автоматически определить этот адрес, исходя из списка стандартных адресов. Дополнительные параметры могут быть использованы в разных контекстах для разных драйверов. Например, для карт с разделяемой памятью, таких как WD80x3, они указывают начальный и конечный адреса этой области памяти.

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

Для управления автоматическим поиском можно использовать параметры ядра. Например, чтобы указать Linux установить вторую Ethernet плату на адрес 0x300 как eth1, вы можете передать следующие параметры ядру: Reserve=0x300,32 ether=0,0x300,eth1. Опция Reserve указывает, чтобы никакие драйверы не пытались использовать указанный диапазон адресов ввода-вывода.

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