|
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
PLIP соединение между DOS и LinuxПосле выхода первой версии этого Mini-HowTo множество людей спрашивало меня о PLIP соединении между компьютерами с Linux и DOS (или Windows). Общий интерес побудил меня добавить этот раздел. Надеюсь, он многим поможет. Раздел основан на статье James McDuffie <mcduffie@scsn.net>, найденной мной в Linux Gazzette. Описываются основы настройки PLIP соединения между Linux и DOS, с использованием Windows и Trumpet WinSock. Также приведен адрес замечательной программы, позволяющей вам запускать X-Windows программы из Windows. Последняя часть - это приложение, присланное James Vahn jvahn@short.circuit.com , где он подробно рассказывает, как настроить это соединение и решить множество проблем. С любыми вопросами по этому разделу обращайтесь не ко мне, а к нему. Соединение DOS-LinuxПредполагается, что вы уже настроили поддержку PLIP на Linux, и у вас есть нужный кабель. Если нет, то обратитесь к предыдущим разделам. Итак, в первую очередь, для DOS нужен пакетный драйвер. Его можно найти здесь: ftp://ftp.crynwr.com/drivers/plip.zip Программа запускается под DOS и работает так же, как пакетный драйвер для сети. Если PLIP нужен для работы с Windows, то вам, кроме того, понадобится Trumpet Winsock. Он служит TCP/IP интерфейсом. Если работа с Windows не требуется, то вам, вероятно, следует поискать программное обеспечение для работы TCP/IP под DOS. Вернитесь к компьютеру с Linux и добавьте адрес компьютера с DOS в /etc/hosts. Если у DOS компьютера нет постоянного IP адреса, то можно взять любой (помните о предупреждении об IP адресах в разделе 3). Предположим, что вы выбрали для компьютера с Linux имя linux, а для компьютера с DOS - имя dos. Тогда вам нужно набрать:
Само собой разумеется, что если вам нужно делать это при каждой загрузке компьютера с Linux, то вы можете внести эти строки в файл /etc/rc.d/rc.inet1:
Эти команды настраивают интерфейс и добавляют путь к нему. Если у вас используется второй параллельный порт, то, естественно, вместо plip1 надо писать plip2. Вернитесь к машине с DOS/Windows и подправьте файл autoexec.bat, добавив в него следующие строки.
Предполагается, что вы поместили plip.com (пакетный драйвер) в каталог c:/plip, а winpkt.com в c:/tcpip, если нет, то исправьте пути. Первая команда настраивает plip.com на пакетный вектор (packet vector) 0x60, а вторая загружает программу winpkt.com, входящую в комплект trumpet winsock, на тот же вектор. Она необходима для того, чтобы сделать доступным пакетный вектор под Windows. Если кабель подсоединен не к lpt1, то укажите plip.com другой адрес ввода/вывода и irq. Перейдем к настройке Trumpet Winsock. Все, что нужно сделать - отключить SLIP или PPP и ввести 60 в поле "Пакетный вектор" (Packet vector). Затем введите выбранный вами IP адрес, в качестве шлюза по умолчанию, укажите IP адрес машины с Linux в качестве сервера имен (Name Server) - IP адрес вашего компьютера или адрес вашего Internet провайдера, если вы планируете подсоединяться к Internet (сейчас или позже). Закройте программу настройки и перезапустите Winsock. После этого все должно заработать. Если хотите, можете поместить winsock в группу автозагрузки. Если вам нужен доступ к Internet из Windows через Linux, то необходимо настроить IP-маскарадинг (IP Masquerading) - о том, как это сделать, читайте в NET-2-HOWTO. Смысл в том, чтобы компьютер с Windows был "спрятан" от остальной сети за IP адресом компьютера с Linux. Кроме того, я нашел программу, позволяющую запускать программы X-Windows из под Windows. Она находится на: Установите его в соответствии с указаниями, после чего можно зайти telnet-ом с компьютера c Windows, установить дисплей на него (например "DISPLAY=duncan:0.0") и запустить нужную программу. Нет ничего лучше, чем запускать xv под Windows! Опыт по PLIP соединению DOS-LinuxПРИМЕЧАНИЕ: Я получил этот документ от James Vahn jvahn@short.circuit.com, и поместил сюда без изменений. Это означает, что в любом вопросе, касающемся этого документа, он разбирается гораздо лучше меня, поэтому пишите, пожалуйста, ему, а не мне. Его опыт по PLIP соединению компьютера под DOS с одним только флоппи-дисководом с компьютером под Linux - отличный пример того, как можно справляться с общими проблемами. Последнее обновление сделано 11 июля 1996 Мой компьютер с одним только дисководом, работающий под DOS, соединен через PLIP со вторым портом принтера на машине с Linux. К первому порту принтера на Linux подключен принтер. Оба порта постоянно работают. Под DOS выполняется telnet на машину с Linux. Ниже идут заметки о том, как я этого добился. Если вы не исключили явно порты принтера из поиска, то ядро найдет их (причем все). Иначе PLIP ничего не получит. Один из способов - загружать драйвера по мере необходимости, как модули... <gniibe@mri.co.jp> пишет: Я по-прежнему рекомендую компилировать PLIP/LP, как модули ядра, так как
С PLIP/LP в виде модулей вы можете указать, какой порт используется PLIP, а какой - LP. Пример:
Вы даже можете использовать два параллельных порта:
В предыдущем примере, plip0 назначается адрес 0x278 и irq 2, plip1 назначается адрес 0x3bc и irq 5, соответственно. Использование модулей - это безусловно предпочтительный способ. Есть другой, показанный ниже - патч ядра для использования принтера и PLIP на разных портах без использования модулей. Если вы не знакомы с модульной концепцией, то вам, возможно, он покажется проще. Наверно придется изменить два файла из исходных текстов ядра. Я использовал ядро версии 1.2.13 и обнаружил, что в файл ../linux/drivers/net/Space.c нужно внести некоторые изменения для приведения его в соответствие с настройками моего компьютера. Проверьте определения PLIP в строке 205, чтобы убедиться, что IRQ и порт ввода/вывода соответствуют вашим, а также запомните, какое устройство будет использовано для PLIP (plip0, plip1, plip2). В моем случае, порт 0x278 использовал IRQ 5(так выставлены переключатели на карточке), в Space.c определен IRQ 2. Я не стал открывать компьютер и менять переключатели на плате, а подправил файл. Исправление очень простое - всего в один символ. Хотя можно указать IRQ позже через ifconfig, но в этом случае ядро будет загружаться с неправильным IRQ для PLIP, что, наверное, будет вас раздаржать. Дальнейший шаг потруднее: В .../drivers/char/lp.c где-то около строки 38 найдите следующее:
Обратите внимание на изменения, которые нужно внести - один порт должен быть закомментирован. Теперь для принтера определяются только два порта. Порт 0x3BC, как правило, не работает с PLIP - для него использовался IRQ со старых монохромных видеоадаптеров (MDA). Надеюсь, вы сделали резервные копии этих файлов. Теперь собираем новое ядро с поддержкой принтера, сети, plip и dummy. Настраиваем систему. Это мой файл /etc/rc.d/rc.inet1:
Обратите внимание, что для DOS-to-Linux соединения используется arp, необходимость в котором обычно отсутствует в соединениях Linux-to-Linux. В файл /etc/hosts добавляем имена машин, например:
Машина с DOS - это console2. Не забывайте о предупреждении Andrea насчет адресов - лучше использовать общепринятые схемы выделения адресов. Перезапускаем машину для загрузки нового ядра. При загрузке системы, (или позже командой dmesg) если вы патчили ядро, или при загрузке модулей:
Команда "route" выдает:
А "ifconfig plip1" выдает:
Проверьте, разрешен ли telnet в /etc/inetd.conf. Можно прочесть руководство по tcpd, /etc/hosts.allow (ALL: LOCAL) и /etc/hosts.deny (ALL: ALL). Команда "telnet localhost" должна нормально работать. С Linux-ом все, теперь DOS. Опять таки, осторожней с 0x3BC, если таковой имеется. Я использую NCSA telnet и Crynwr PLIP драйвер, которые можно найти на: ftp://ftp.ncsa.uiuc.edu/Telnet/DOS/ncsa/tel2308b.zip ftp://ftp.crynwr.com/drivers/plip.zip Обязательно используйте версию 2.3.08 NCSA telnet и версию 11.1 Crynwr PLIP драйвера. Пожалуйста, где-нибудь найдите и прочитайте Crynwr SUPPORT.DOC. Файл CONFIG.TEL. Большинство установок берется по умолчанию и, для экономии места, я постарался обрезать его, сохранив только необходимую (как я надеюсь) для вас информацию. Второй порт на этой машине имеет адрес 0x278 на IRQ 5.
(console1 - это имя машины с Linux, ставьте название вашей) Я установил 12-футовый нуль-кабель между машинами и (кроме того, что изначально он был разведен неправильно) все заработало без проблем. Стандартный 11-жильный параллельный нуль-кабель также должен работать. Я же сделал его сам, взяв разводку из файла plip.c. Хотя у моего кабеля было соединение 17-17, я не думаю, что оно для чего-то нужно, его нет на промышленно изготовляемых кабелях.
Эти команды должны подсоединить вас к Linux на /dev/ttyp. NCSA telnet поддерживает 8 виртуальных экранов и работает, как ftp сервер. Пропускная способность PLIP соединения достаточно хороша - я получал 6.5кб/сек при передаче файлов на своем антиквариате. Надеюсь, у вас будет больше. :-)
| |||||||||||||||||||||||||
|
CITForum © 1997–2025