Установка Ethernet

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

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

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

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

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

Полный список поддерживаемых плат доступен в Ethernet HOWTOs расположенных на comp.os.linux.announce Paul Gortmaker. Вот список наиболее широко известных платы, поддерживаемых Linux. Полный список в HOWTO приблизительно в три раза длиннее. Однако, даже если Вы нашли вашу плату в этом списке, проверите сначала HOWTO; иногда существуют важные детали относительно работы этих карт. На пример, некоторые DMA-основанные Ethernet платы используют тот же самый DMA канал что и Adaptec 1542 SCSI контролер. Если Вы не переместите один из них на другой DMA канал, не удивляйтесь, что ваша Ethernet плата пишет данные в произвольные места вашего жесткого диска. 3Com EtherLink поддерживаются и 3c503 и 3c503/16, как - 3c507 и 3c509. 3c501 также поддерживается, но слишком медленна, чтобы ее покупать. 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 картой. (4) DEC DE200 (32K/64K), DE202, DE100, и DEPCA rev E. Allied Teliesis AT1500 and AT1700.

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

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

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

------------------------------------------------------ +--------------+--------------------------+ |карта | адреса поиска | +--------------+-------------------------------------+ |WD/SMC | 0x300, 0x280, 0x380, 0x240 | - 66 - |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 |

+--------------+-------------------------------------+ +--------------+--------------------------+

Имеются два ограничения autoprobing. Во первых, он может не распознавать все платы должным образом. Это особенно касается некоторых из дешевых клонов известных плат, а также для некоторых WD80x3 плат. Вторая проблема состoит в том, что ядро находит не больше одной платы. Если Вы используете больше чем одну плату, или если autoprobe не в состоянии обнаружить вашу плату, Вы должны явно сообщить ядру основной адреса карты и имя.

В Net-3, для этого Вы может использовать две различных схемы Один путь состoит в том, чтобы изменить или добавить информацию в файл drivers/net/Space.c в исходном коде ядра, который содержит всю информацию относительно драйверов. Это рекомендуются только, если Вы знакомы с сетевым кодом. Лучший путь состoит в том, чтобы обеспечить ядро этой информацией при загрузке. Если Вы используете lilo для загрузки вашей системы, Вы можете передавать параметры ядру, определяя их через опцию в lilo.conf. Чтобы сообщить ядру о Ethernet устройстве, Вы можете передавать следующий параметр: ether=irq,base addr,param1,param2,name

Первые четыре параметра числовые, в то время как последний - имя устройства. Все числовые значения необязательные; если они опущены или равны нолю, ядро будет пробовать само обнаружить эти значения или использует значение установленное по умолчанию. Первый параметр устанавливает IRQ для устройства. Если он не указан, ядро будет пробовать обнаружить IRQ канал само. 3c503 драйвер имеет специальную особенность, которая позволяет ему выбирать свободный IRQ (из 5, 9, 3, 4) и конфигурировать плату для использования этой линии.

addr параметр задает основной адрес ввода-вывода платы; значение ноль сообщает ядру исследовать адреса внесенные в следующий список.

Следующие два параметра могут использоваться по-разному различными драйверами. Для плат с разделяемой памятью типа WD80x3, они определяют начальный и конечный адреса разделенной области памяти. Другие карты обычно используют param1 чтобы устанавливать уровень отладочной информации. От 1 до 7 обозначают увеличивающиеся уровни подробности, в то время как 8 выключает их; 0 обозначает значение установленное по умолчанию. 3c503 драйвер использует param2 чтобы выбрать внутренний transceiver (установленный по умолчанию) или внешний transceiver ( значение 1). Первый использует BNC; последний -- AUI порт.

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

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

addr в -1: Ether=0,-1, eth0