Установка 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 EtherLink | 3c503, 3c503/16, 3c507, 3c509 |
Novell Eagle | NE1000, NE2000, NE1500, NE2100 |
Western Digital/SMC | WD8003, WD8013, SMC Elite, SMC Elite Plus, SMC Elite 16 Ultra |
Hewlett Packard | HP 27252, HP 27247B, HP J2405A |
D-Link | DE-600 pocket adaptor, DE-100, DE-200, DE-220-T, DE-650-T (PCMCIA) |
DEC | DE200 (32K/64K), DE202, DE100, DEPCA rev E |
Allied Teliesis | AT1500, AT1700 |
Чтобы воспользоваться одной из этих карт, можно установить ядро из одной из основных дистрибутивов Linux, так как они обычно имеют драйверы для всех перечисленных карт. Тем не менее, рекомендуется собирать ваше собственное ядро, включая только необходимый драйвер.
Автоматическое определение Ethernet
Во время загрузки, Linux попытается автоматически определить вашу сетевую карту и её тип. Карты ищутся по определённым адресам и в следующем порядке:
Карта | Адреса поиска |
---|---|
WD/SMC | 0x300, 0x280, 0x380, 0x240 |
SMC 16 Ultra | 0x300, 0x280 |
3c501 | 0x280 |
3c503 | 0x300, 0x310, 0x330, 0x350, 0x250, 0x280, 0x2a0, 0x2e0 |
NEx000 | 0x300, 0x280, 0x320, 0x340, 0x360 |
HP | 0x300, 0x320, 0x340, 0x280, 0x2C0, 0x200, 0x240 |
DEPCA | 0x300, 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. При возникновении проблем рекомендуется обращаться к документации и руководствам по теме или обсуждать вопросы на специализированных форумах.