LINUX PLIP MINI-HOWTO: Połączenie PLIP miêdzy DOS-em a Linux-em
Następna strona
Poprzednia strona
Spis treści
10. Połączenie PLIP miêdzy DOS-em a Linux-em
Po pierwszym wydaniu tego mini-HOWTO wiele ludzi pisało z prośbą o
inforamcjê o połączeniu pomiêdzy Dos-em a Linux-em. To doprowadziło mnie do
dodania tego paragrafu.
Ten fragment pochodzi z artykułu James'a McDuffie'go
mcduffie@scsn.net,
który znalazłem w Linux Gazette. Traktuje on o szybkiej instalacji polączenia
PLIP miêdzy Linuxem i DOS-em przy użyciu Windows i Trumpet Winsock i podaje
adreswspaniałego programu umożliwiającego uruchamianie programów pracujących
pod X-Windows na MS-Windows.
Nastêpna sekcja jest dodatkiem przysłanym przez James'a Vahn'a
jvahn@short.circuit.com, gdzie opisuje
on jak zestawiæ połączenie i jak rozwiązaæ niektóre problemy.
Zakładam, że już zestawiłeś poprawnie połączenie PLIP po stronie Linuxa i
masz odpowiedni kabel. W przeciwnym razie powróc do poprzednich paragrafów.
Teraz po stronie DOS-a potrzebujesz po pierwsze potrzebujesz sterownika
pakietów. Możesz go znaleźæ tutaj:
ftp.crynwr.com/drivers/plip.zipProgram pracuje po DOS-em jako standardowy sterownik pakietów Ethernet.
Jeśli chcesz używaæ PLIP z Windows potrzebujesz także Trumpet Winsock.
Jest to interfejs TCP/IP. Możesz znaleźæ też takie oprogramowanie pod DOS-a.
Powróæmy teraz do komputera z Linuxem i dodajmy na nim adres komputera
pracującego pod DOS do /etc/hosts. Jeśli Twój DOS-owy komputer nie
ma zarejestrowanego adresu IP, możesz wybraæ jakikolwiek adres (pamiêtaj o
zarezerwowanych adresach podanych w paragrafie 3).
Teraz załóżmy, że wybrałeś nazwê linux dla komputera pracującego pod Linux i
dos dla komputera DOS-owego. Musisz napisaæ:
ifconfig plip1 linux pointopoint arp up
route add dos
Oczywiście jeśli chcesz to zautomatyzowaæ dodaj nastêpujące polecenia do
/etc/rc.d/rc.inet1:
/sbin/ifconfig plip1 linux pointopoint arp up
/sbin/routte add dos
To ustanawia interfejs i dołącza do niego rutowanie. Oczywiście, jeżeli
używasz drugiego portu równoległego musisz jako interfejs wpisaæ plip2
zamiast plip1.
Wróæ do komputera z DOS/Windows i edytuj autoexec.bat. Musisz dodaæ
nastêpujące linie:
c:\plip\plip.com 0x60
c:\tcpip\winsock\winpkt.com 0x60
Oczywiście, zakładam, że umieściłeś plik plip.com w katalogu
c:\plip a plik winpkt.com w c:\tcpip, w przeciwnym
razie powinieneś dodaæ odpowiednie ścieżki dostêpu.
To ustawiam program plip.com na wektorze pakietów 0x60 i ładuje
winpkt.com na tym samym wektorze. Jeśli używasz innego portu niż lpt1 to
bêdziesz musiał dodaæ numer przerwania i adres i/o jako parametry przy
wywołaniu plip.com. Teraz przejdziemy do konfiguracji Trumpet Winsock.
Musisz wyłączyæ obsługê SLIP i PPP i wpisaæ 60 do okienka
zatytułowanego Packet vector. Nastêpnie wpisz adres IP komputera, jako
domyślną bramkê adres IP komputera Linux-owego oraz adres serwera nazw,
którym może byæ Twój komputer lub komputer u twojego dostawcy internetowego.
Zamknij setup i zrestartuj Winsock, a wszystko powinno już działaæ. Umieśæ
Winsock w grupie startup i masz wszystko zautomatyzowane.
Jeśli chcesz korzystaæ z Internetu pod Windows poprzez komputer Linux-owy,
musisz ustawiæ IP Masquerading. Wiêcej informacji zobaczysz w NET-3-HOWTO.
Znalazłem także program, który pozwala uruchamiaæ programy X-Windows pod
Windows! Możesz go znaleźæ pod adresem
www.tucows.comSkonfiguruj go zgodnie z zaleceniami i zatelnetuj siê z komputera
pracującego pod Windows i ustaw zmienną DISPLAY na ten komputer
(na przykład DISPLAY=duncan:0.0) i uruchom żądany program. Nie ma nic
lepszego jak uruchamianie xv pod Windows!
10.1 Doświadczenia z połąæzeniem PLIP miêdzy DOS-em a Linux-em.
UWAGA: Otrzymałem ten domkument od James'a Vahn'a
jvahn@short.circuit.com
i umieściłem go tutaj w niezmienionej postaci. Oznacza to, że wszelkie
pytania należy kierowaæ do niego, a nie do mnie. Jego doświadczenia z
połączeniem PLIP z komputerem z DOS-em wyposażonym tylko w stacje dysków
elastycznych są doskonałym przykładem na to jak poradziæ sobie z różnymi
problemami.
Ostatnia aktualizacja: 11/07/1996
Mój komputer wyposażony jedynie w stacjê dysków elastycznych pracujący pod
DOS-em jest połączony z komputerem Linuxowym. Pierwszy port na komputerze
z Linuxem jest wykorzystywany przez drukarkê. Oba komputery są stale
podłączone i telnetujê siê z komputera DOS-owego na Linux-owy. To moje uwagi
i spostrzeżenia.
Kiedy jądro wykrywa ilośæ portów równoległych w komputerze i uruchamia
wszystkie z nich, chyba, że wykluczysz niektóre z nich z przeszukiwania.
Jedną z metod jest ładowanie sterowników jako modułów.
gniibe@mri.co.jp napisał:
===========================
Cały czas polecam używanie PLIP/LP jako modułów z tego wzglêdu, że:
moduły są elastyczne na zmiany w konfiguracji
rekompilacja jądra nie jest łatwa dla początkujących
koegzystencja PLIP i IP jest możliwa jedynie przez moduły
Mając zainstalowaną w modułach obsługê PLIP i LP, możesz podaæ, który port
jest używany przez PLIP, a który przez LP. Oto przykład:
# insmod lp.o io=0x378
# insmod plip.o io=0x278 irq=2
Możesz nawet używaæ obu portów równoległych:
# insmod plip.o io=0x278,0x3bc irq=2,5
W powyższym przykładzie,
plip0 jest przydzielony adres 0x278, a numer przerwania to 2,
plip1 jest przydzielony adres 0x3bc, a numer przerwania to 5.
============================
Używanie modułów jest chyba najlepszym rozwiązaniem. Kolejna metoda pokazuje
jak zmieniæ kod źródłowy jądra, aby umożliwiæ jednoczesne działanie PLIP i
LP na różnych portach bez użycia modułów. Jeśli nie jesteś na ty z modułami,
ten sposób może byæ szybszy w realizacji.
Bêdziesz musiał zmodyfikowaæ dwa pliki źródłowe jądra. Ja używam jądra
1.2.13 i wniosłem kilka poprawek do ../linux/drivers/net/Space.c.
Spójrz na fragment około 205 lini, gdzie znajdują siê definicje PLIP
i upewnij siê, czy porty i numery przerwañ odpowiadają Twoim. Sprawdź także
jakim driverom one odpowiadają (plip0, plip1, plip2). W moim przypadku port
0x278 używa przerwania 5 (zworki na karcie są tak ustawione), ale
Space.c definiuje go tak aby używał przerwania 2. Wolałem dokonaæ zmian
w tym miejscu niż otwieraæ obudowê i przestawiaæ zworki. Alternatywą jest
ustawienie przerwania później jako parametr ifconfig, ale jądro bêdzie
startowało ze złym numerem przerwania dla PLIP, a to może byæ dla Ciebie
dokuczliwe. Zmiana jest niewielka.
Nastêpny, trudniejszy krok to:
W pliku ../drivers/char/lp.c znajdziesz taki fragment w okolicach
38 lini:
struct lp_struct lp_table[] = {
{ 0x3bc, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
{ 0x378, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
/* { 0x278, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
* 0x278 reserved for plip1
*
* };
* #define LP_NO 3
*/
};
#define LP_NO 2
Zauważ zmiany: jeden port jest zakomentowany, wiêc tylko dwa porty są
zdefiniowane. Port 0x3bc nie bêdzie prawdopodobnie pracował dla PLIP,
ponieważ przerwanie dla tego portu jest wadliwe. Zostało to zauważone na
przykładzie starych adapterów monochromatycznych MDA.
Wykonałeś kopie zapasowe przed modyfikacjami, prawda? Teraz skompiluj nowe
jądro z obsługą drukarki, sieci, fikcyjnego interfejsu oraz plip.
Skonfiguruj system. To jest mój plik /etc/rc.d/rd.inet1:
#!/bin/bash
#
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0
/sbin/ifconfig dummy 200.0.0.1
/sbin/route add -net 200.0.0.0 netmask 255.255.255.0
/sbin/ifconfig plip1 arp 200.0.0.1 pointopoint 200.0.0.2 up
/sbin/route add 200.0.0.2
/sbin/ifconfig dummy down
Zauważ, że arp jest używany przy połączeniach Linux-DOS. Nie jest
używany przy połączeniach Linu-Linux.
Do pliku /etc/hosts możesz dodaæ:
200.0.0.1 console1
200.0.0.2 console2
Komputer z DOS-em nazywa siê console2. Zwróc uwagê na ostrzeżenia
Andre'a dotyczące tych adresów. Lepiej używaæ oficjalne schematy
adresowania.
Przeładuj system, aby zmiany zadziałały. Podczas startu powinieneś zobaczyæ
nastêpującą sekwencjê:
lp0 at 0x03bc, using polling driver
lp1 at 0x0378, using polling driver
[....]
NET3 PLIP version 2.0 gniibe@mri.co.jp
plip1: Parallel port at 0x278, using assigned IRQ 5.
Komenda route powinna pokazaæ coś takiego:
Kernel routing table
Destination Gateway Genmask Flags MSS Window Use Iface
console2 * 255.255.255.255 UH 1436 0 136 plip1
loopback * 255.0.0.0 U 1936 0 109 lo
a ifconfig plip1 powinien pokazaæ:
plip1 Link encap:10Mbps Ethernet HWaddr FC:FC:C8:00:00:01
inet addr:200.0.0.1 P-t-P:200.0.0.2 Mask:255.255.255.0
UP POINTOPOINT RUNNING MTU:1500 Metric:1
RX packets:132 errors:0 dropped:0 overruns:0
TX packets:136 errors:0 dropped:0 overruns:0
Interrupt:5 Base address:0x278
Spójrz na /etc/inetd.conf i zobacz, czy telnet jest odkomentowany.
Możesz przeczytaæ podrêcznik systemowy "man" dla tcpd, oraz o używaniu
/etc/hosts.allow (ALL: LOCAL) i /etc/hosts.deny (ALL:
ALL). Powinieneś mieæ także możliwośæ wykonania "telnet localhost"
Teraz strona DOS-a. Jeszcze raz, bądź nieufny w stosunku do portu 0x3bc
jeśli taki u Ciebie istnieje.
Ja używam programu telnet dostarczanego przez NCSA i sterownik
PLIP dostarczany przez Crynwr. To wszystko możesz znaleźæ na
nastêpujących serwerach:
ftp.ncsa.uiuc.edu/Telnet/DOS/ncsa/tel2308b.zip
ftp.crynwr.com/drivers/plip.zipUpewnij siê, czy używasz wersji 2.3.08 klienta telnetu i wersji 11.1
sterownika PLIP. Znajdź i przeczytaj SUPPORT.DOC.
PLik CONFIG.TEL. Wiêkszośæ tego pliku pozostaje nie zmieniona. Aby
zaoszczêdziæ miejsce wyciąłem linie, które pozostawiłem niezmienione. Drugi
port na tym komputerze jest ustawiony jako 0x278 na 5 przerwaniu.
myip=200.0.0.2
netmask=255.255.255.0 # subnetting mask
hardware=packet # network adapter board (packet driver interface)
interrupt=5 # IRQ which adapter is set to
ioaddr=60 # software interrupt vector driver is using
#
#[...lots unchanged...]
#
# at the end of the file, put this line:
name=console1 ; hostip=200.0.0.1 ; nameserver=1 ; gateway=1
(console1 jest nazwą komputera z Linuxem, możesz użyæ jakiejkolwiek
nazwy).
Złożyłem kabel długości 12 stóp łączący oba komputery. Standardowy
11-kontaktowy kabel drukarkowy powinien także pracowaæ. Plik plip.c
pokazuje schemat połączenia. Mimo, że mój kabel posiada połączenie 17-17,
myślê, że nie jest on do niczego używany i nie było go na gotowym (kupionym)
kablu.
@echo off
plip.com 0x60 5 0x278
telbin -s console1
Te komendy powinny Ciê połączyæ z komputerem Linux-owym na
/dev/ttyp. Klient telnetu NCSA posiada 8 wirtualnych ekranów,
a także może działaæ jako serwer ftp. Interfejs PLIP umożliwia dobrą
przpustowośæ. Osiągam prêdkości rzêdu 6.5K/s na moich antykach. Mam
nadziejê, że bêdziesz miał wiêksze osiągi. :-)
Następna strona
Poprzednia strona
Spis treści
Wyszukiwarka
Podobne podstrony:
DOSEMU HOWTO pl 10 (2)Shadow Password HOWTO pl 10 (2)amd101 io pl10plip pl 14plip pl 2plip pl 4avd100 io pl10printing howto pl 10acx100 io pl10SMB HOWTO pl 10 (2)ext2fs undeletion pl 10acx200 io pl10ca64sm io pl10plip pl 3Cyrillic HOWTO pl 10 (2)ca10 is pl10więcej podobnych podstron