Аннотация |
Этот howto предназначен для того, чтобы помочь Вам установить и настроить TokenRing (в том числе, как установить патч в ядро). Обязательно прочитайте весь документ до того, как приступbть к установке драйвера Token-Ring для Linux. |
Mark Swanson, Peter De Schrijver, David Morris, Paul Norton и другим, кого я возможно упустил. Спасибо всем, кто находит время поддерживать этот драйвер. А также packrat за поддержку linux-tr listserv.
Я не гарантирую, что информация в данном howto в точности подойдет Вашей системе. Но у большинства людей не возникало никаких проблем.
ИСПОЛЬЗУЙТЕ ДАННЫЙ HOWTO НА СВОЙ СОБСТВЕННЫЙ СТРАХ И РИСК.
Если у Вас возникают проблемы с драйвером, то не стесняйтесь писать мне на mike.e@emissary.aus-etc.com. Вы также можете воспользоваться списком рассылки Token-Ring. Для этого необходимо отправить письмо по адресу majordomo@emissary.aus-etc.com, написав в письме:
subscribe linux-tr |
This document is copyright (c) 1995-1998 by Michael Eckhoff. You may make copies of this document in whole or in part, in any medium physical or electronic, as long as the copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, please notify me so that I can make sure that you have the most current information available.
Авторские права на русский перевод этого текста принадлежат ╘ 2000 ASPLinux Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu> или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу <linux-howto@asplinux.ru>
Удостоверьтесь в том, что Ваша Token-Ring-карта поддерживается данным драйвером. В настоящее время драйвер поддерживает только карты на основе чипсета Tropiс.
Карты, работающие с данным драйвером:
3Com 3C619B Token Link
3Com 3C619C Token Link
HyperRing Classic 16/4
IBM Turbo 16/4 ISA adapter**
IBM Token Ring Auto 16/4 ISA adapter
IBM Token Ring Auto 16/4 adapter /A
IBM Token Ring 16/4 adapter /A
IBM Token Ring adapter /A
IBM Token Ring adapter II (4 Megabit only)
IBM 16/4 ISA Token Ring card (16bit)
IBM 16/4 ISA Token Ring card (8bit)
Madge Blue (100% IBM compatible)
Рекомендую в настоящее время использовать адаптеры с 16КБ разделяемой памяти.
Карты, использование которых с данным драйвером может вызвать проблемы:
На самом деле эта карта будет прекрасно работать с драйвером Token-Ring под Linux, однако Вам надо будет запустить карту в режиме, совместимом с Auto 16/4. Самый простой путь его установить - использовать диски LANAID, поставляемые вместе с Вашей картой, и воспользоваться командой:
LANAIDC /FAST=AUTO16 |
Эта карта не работает. Не путайте ее с IBM Token Ring adapter II (4mbit), который работает без проблем. Это DMA/Busmaster-адаптер для ISA.
Эта карта может как работать, так и не работать. У меня было много писем от людей, у которых была такая карта, причем у одних она работала без проблем, а у других не работала вообще.
В настоящее время ни один из IBM PCI-адаптеров не поддерживается.
Данный адаптер в настоящее время не поддерживается, но работал. Этот драйвер должен поддерживать и полнодуплексный (Full Duplex) режим.
Если Вы работаете с ядром версии 2.0 и выше, то обратитесь к следующему разделу данного документа. Все, перечисленное ниже, касается, главным образом, ядер версий 1.2.
Возьмите Token Ring патч по адресу:
ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/TokenRing.patch-1.2.0.gz |
ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/net-tools-1.2.0.patched.tar.gz |
Mkdir /usr/src/patches - основной каталог для хранения патчей Mkdir /usr/src/patches/token - сюда разместите патч Token Ring |
Эта инструкция предназначена для внесения исправлений в ядро версии 1.2. Если у Вас ядро версии 2.0, то пересоберите его и ответьте yes или module, на вопрос о поддержке Token-Ring. Вам надо сделать следующее:
Установить Token-Ring-карту в систему и сконфигурировать ее в зависимости от того, для чего Вы хотите ее использовать. Будет хорошо, если есть возможность сперва проверить работоспособность карты под DOS, а только потом устанавливать ее под Linux. Скорее всего карта будет работать под Linux с теми же настройками, что и под DOS. Если карта поддерживает режим PnP, постарайтесь заблокировать его сразу, как только она начнет работать.
Сделайте резервные копии каталога с исходными текстами ядра. Это пригодится, если понадобится полностью удалить Token-Ring-патч и вернуться к оригинальному состоянию исходных текстов.
cd /usr/src tar cvzhf linuxbak.tar.gz linux |
Разархивируйте патч Token-Ring.
cd /usr/src/patches/token gzip -d TokenRing.patch-1.2.0.gz |
Модифицируйте ваше ядро патчем Token-Ring
cd /usr/src/linux patch -p1 < /usr/src/patches/token/TokenRing.patch-1.2.0 |
patch -p1 < <directory-of-patchfile>/TokenRing.patch-1.2.0 |
Найдите все rej-файлы патча и внесите, если надо, необходимые изменения
find . -name \*.rej -print |
Найдите orig-файлы и удалите их
find . -name \*.orig -print | xargs rm |
Конфигурация и сборка ядра
Если у вас есть раздел подкачки, то удостоверьтесь в том, что он активен.
cd /usr/src/linux make config |
Token Ring support (CONFIG_TR) [y] |
IBM Tropic chipset based adaptor support (CONFIG_IBMTR) [y] |
make dep make clean make zImage |
Настройка LILO. Сперва переименуйте каталог /vmlinuz в vmlinuz.old Затем копируйте ядро в /vmlinuz. На моей системе для этого необходимо было бы скопировать /usr/src/linux/arch/i386/boot/zImage в /vmlinuz и отредактировать /etc/lilo.conf для загрузки ядра. Теперь из командной строки запустите LILO, набрав "lilo"
Сейчас Вы должны быть готовы к перезагрузке вашей системы и использованию Token-Ring-карты в Вашем компьютере. ,Пожалуйста прочитайте раздел "установки, специфичные для дистрибутивов".
Пакет NetTools содержит много основных утилит работы с сетевыми устройствами. NetTools включает в себя программы arp, rarp, route, ifconfig и netstat и т.п. Эти программы не знают о Token Ring изначально, поэтому Вам необходимо модифицировать NetTools для того, чтобы эти утилиты могли более эффективно работать с драйвером Token Ring.
Текущая версия NetTools предназначается для ядра 1.2.x. Если Вы используете ядро версии 2.0, то Ваша версия NetTools, скорее всего, новее. Однако можно взять последнюю версию NetTools по адресу
ftp://tapac.inka.de/pub/comp/Linux/networking/NetTools/ |
(1) Скопируйте и разархивируйте исходные тексты NetTools в каталог исходных текстов.
cp net-tools-1.2.0.patched.tar.gz /usr/src tar -zxvof /usr/src/net-tools-1.2.0.tar.gz |
(5) Соберите NetTools.
cd /usr/src/net make install |
У меня самого возникало с этим драйвером несколько проблем. Если у Вас проблемы с Token Ring, а Вы используете Linux с ядром 1.2.х, пожалуйста, обновите его до 2.0. На момент написания этого документа, текущей версией ядра была 2.0.33. В патчи Token-Ring было внесено много усовершенствований со времен версии 1.2.x. Большинство этих исправлений не было перенесено назад.
Я бы не советовал вам использовать этот патч для ядер 2.0. В эти ядра уже встроена поддержка Token-Ring. Хотя существуют пробные патчи, поднимающие версию до 2.1.
Может ли Token Ring собираться как модуль?
Да, это можно сделать, причем Token-Ring при этом будет довольно хорошо работать. Имеется дополнительный параметр, который Вы можете использовать для компиляции Token Ring в качестве модуля. Если Вам когда-нибудь понадобится "обмануть" программы, например загрузочные диски RedHat, то в конфигурации Token-Ring-карты (для NFS/FTP и т.п.) используйте параметр "device", отличный от tr0. Вероятно возникнут проблемы, если попробовать использовать этот трюк с несколькими Token-Ring-совместимыми адаптерами. Он предназначен, главным образом, для нескольких несовместимых устройств. Пример:
/sbin/insmod ibmtr device=eth0 |
Я получаю ошибку с кодом "0011". Что это значит?
Удостоверьтесь, что Вы подсоединены к сети, и что у Вас есть loopback-коннектор на Token-Ring-карте. Это сообщение может означать, что не открыта сеть. В 99,99% оно означает, что Вы не подключены к ней.
Если на машине установлена звуковая карта, использующая порт 0x220, то она может конфликтовать с Token-Ring-картой, использующей порт 0xa20. Если возникла данная ситуация, то попробуйте поменять порт Token-Ring-карты на 0xa24, или переместите/удалите звуковую карту.
Также у меня сохранились некоторые письма, касающиеся Token Ring под Linux. В некоторых сообщениях для экономии места я удалил не очень интересные части.
От: "Mr. Chuck Rickard" <chuck@gl.umbc.edu> Тема: Re: Token Ring патч для ядра Я поменял параметр "device" на tr0, но при сборке получил сообщение "tr0: Can't assign device to adapter", и параметр "device" снова стал tr1. У Вас есть какие-нибудь идеи по этому поводу? Спасибо! Chuck Rickard (chuck@umbc8.umbc.edu) |
От: David Morris <dwm@shell.portal.com> |
От: Mike Glover <glover@credit.erin.utoronto.ca> Тема: Token ring проблемы. Спасибо за ответ. Вот мой файл /var/adm/messages: May 2 10:03:14 linux kernel: tr0: Unable to assign adapter to device. May 2 10:03:14 linux kernel: tr1: Unable to assign adapter to device. Устройство tr0 не может связаться с адаптером, это смущает меня. Документации очень мало и я не знаю как поступить при таком сообщением. Я знаю, что я не ввел никакие параметры tr-карты, но я не знаю где это делать. Железо: PC-клон (Dell OMNIPLEX 560, если быть точным) tr-карта Olicom 16/4 Adapter. У меня есть tr-драйвер для DOS и под DOS моя карта работает. Мне кажется, что я чего-то не доделываю в Linux. |
Olicom 16/4 Adapter не использует Tropic-чипсет. Попробуйте использовать одну из карт, которые указаны в самом начале данного howto.
От: Mike Glover <glover@credit.erin.utoronto.ca> Тема: Нашел IBM-карту... Я взял IBM tr-карту и добился немного большего, но все еще не могу полностью установить ее. (Я изменял /etc/rc.d/rc.inet1 ifconfig от eth0 до tr0). Вот часть моего файла /var/adm/messages : May 2 16:23:07 linux kernel: IPX Portions Copyright (c) 1995 Caldera, Inc. May 2 16:23:07 linux kernel: tr0: PIOaddr: a20 seg/intr: b8 mmio base: 000dc000 intr: 0 May 2 16:23:07 linux kernel: tr0: Channel ID string not found for PIOaddr: a20 May 2 16:23:07 linux kernel: tr0: Expected for ISA: 5049434f3631313039393020 May 2 16:23:07 linux kernel: tr0: found: 000902003021111000182000 May 2 16:23:07 linux kernel: tr0: Expected for MCA: 4d4152533633583435313820 May 2 16:23:07 linux kernel: tr0: Unable to assign adapter to device. May 2 16:23:07 linux kernel: tr1: Unable to assign adapter to device. May 2 16:23:07 linux kernel: PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS Это Вам говорит о чем-нибудь? Мне - практически ни о чем. |
От: David Morris <dwm@shell.portal.com> |
От: Mike Glover <glover@credit.erin.utoronto.ca> Тема: Уже почти... Я вижу в моем файле messages следующее: May 3 14:50:24 linux kernel: tr0: now opening the board... May 3 14:50:24 linux kernel: tr0: board opened... May 3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec. Donald resets adapter, but resetting May 3 15:11:47 linux kernel: the IBM tokenring adapter takes a long time. It might not even help when the May 3 15:11:47 linux kernel: ring is very busy, so we just wait a little longer and hope for the best. May 3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec. Donald resets adapter, but resetting May 3 15:11:47 linux kernel: the IBM tokenring adapter takes a long time. It might not even help when the May 3 15:11:47 linux kernel: ring is very busy, so we just wait a little longer and hope for the best. May 3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec. Donald resets adapter, but resetting Запись Arrg появляется только тогда, когда я запускаю telnet, rlogin или ftp на удаленной машине. Как только это происходит, процесс связи надолго зависает. Я попробовал удалить все устройства из моего компьютера (такие как SCSI-карта) и работать только с tr-картой. Так что проблема не в аппаратной части. Вот переключатели DIP на карте: 1 Up | 2 Down | 3 Down | Согласно руководству эти переключатели устанавливают 4 Up | базовый адрес CC000, что вполне подходит для моей машины. 5 Up | 6 Down | 7 Down + Эти устанавливают IRQ=2, что тоже меня устраивает 8 Down + 9 Up X Первичный сетевой адаптер. 10 Up = 16 KB RAM. Это хорошо? 11 Down = 12 Up # 16 Mbps скорость данных. Я буду удивлен, если дело в DIP-переключателях, мне кажется, у меня неправильно сконфигурирована таблица маршрутизации и другие сетевые настройки. Mike |
Эта проблема полностью устранена в ядре 2.0, исправления не были перенесены в ядро 1.2, поэтому, я советую переходить на ядро 2.0.
Если у Вас еще не запущен "netconfig", то сделайте это сейчас. Настройте все так, как если бы ваша машина находилась в Ethernet. Отредактируйте /etc/rc.d/rc.inet1 так, чтобы сперва проверялось устройство tr0, а потом eth0. У вас должна быть следующая строка:
/sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK} |
/sbin/ifconfig tr0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK} |
В дистрибутиве RedHat 4.0+ имеется прекрасная панель управления XWindows, предназначенная для конфигурирования модулей и устройств. Если Вы устанавливаете tr-адаптер в стандартной комплектации RedHat 4.0+, то там уже должна быть поддержка Token Ring, собираемая в в качестве модуля. Попробуйте использовать команду:
modprobe ibmtr |
Если в Вашем дистрибутиве действительно есть поддержка tr-адаптера, то, скорее всего, больше ничего не надо делать.
Самый простой способ сконфигурировать Ваш интерфейс - это использовать панель управления (control-panel). Сперва загрузите новое сетевое устройство Token Ring. При этом автоматически должен загружаться драйвер ibmtr. Затем перейдите в конфигурацию сети и добавьте новое устройство - tr, присвойте ему ip-адрес и т.п. После перезагрузки Ваш Linux RedHat 4.0+ будет работать с Token Ring.
Пожалуйста, обратите внимание, что уже в течении длительного времени мне не приходилось настраивать ни одну из моих RedHat систем, поэтому данные инструкции я пишу по памяти. По крайней мере, они должны направить Вас на путь, по которому необходимо следовать при настройке.