LINUX PLIP MINI-HOWTO Autor: Andrea Controzzi controzz@cli.di.unipi.it 22 lipca 1996 WWeerrssjjaa ppoollsskkaa:: BBaarrtteekk PPaappiieerrsskkii bbaarrtteekkpp@@ddoomm..vvrr..ppll v1.0, 10 wrze¶nia 1997 Dokument ten zosta³ napisany w standardzie ISO-8859-2. Orygina³ tego dokumentu znajduje siê pod adresem: ftp.icm.edu.pl/pub/Linux/sun site/docs/HOWTO ______________________________________________________________________ Spis tre¶ci 1. Wstêp: Co to jest PLIP i dlaczego powinienem go u¿ywaæ? 2. Wymagania sprzêtowe 3. Rekonfiguracja j±dra systemowego 4. Ustawianie plików konfiguracyjnych 5. Aktywacja po³±czenia PLIP 6. Komunikaty j±dra podczas startu 7. Czêsto Zadawane Pytania 8. Szybka instalacja PLIP 9. Wstawki umo¿liwiaj±ce jednoczesne dzi³anie PLIP i LP 9.1 PLIP i LP na tym samym porcie 9.2 PLIP i LP na osobnych portach 10. Po³±czenie PLIP miêdzy DOS-em a Linux-em 10.1 Do¶wiadczenia z po³±æzeniem PLIP miêdzy DOS-em a Linux-em. 11. Pytania? Komentarze? Napisz do mnie. 12. Gdzie mo¿na znale¼æ najnowsze wersje tego mini-HOWTO. 13. Podziêkowania 14. Prawa autorskie 15. Od t³umacza ______________________________________________________________________ Ten dokument HOWTO pozwoli Ci szczê¶liwie zbudowaæ i u¿ywaæ protoko³u interfejsu równoleg³ego (PLIP). Wszelkie pytania, poprawki, komentarze lub sugestie proszê przesy³aæ na mój adres E-Mail: controzz@cli.di.unipi.it Pisz do mnie kiedy tylko potrzebujesz pomocy. Czasami nie bêdê móg³ od razu odpowiedzieæ, ale na pewno odpowiem. Je¶li siê zdarzy, ¿e nie dostaniesz odpowiedzi po dwóch tygodniach, to znaczy, ¿e nasz system jest w k³opotach. Nie wahaj siê wtedy napisaæ ponownie. Moim obowi±zkiem jest daæ Ci odpowied¼. Po pierwsze, wiele technicznych informacji pochodzi z net-3-HOWTO autorstwa Terry'ego Dawson'a. To mini-HOWTO w ¿adnym stopniu nie pokrywa tamtego dokumentu. Moim celem jest pokazanie jak szybko zainstalowaæ sta³e po³±czenie PLIP, *TYLKO* to. Wszelkie pozosta³e informacje pochodz± z moich w³asnych do¶wiadczen i pomocy wielu u¿ytkowników, którzy przesy³ali mi komentarze i informacje. Przeczytaj net-3-HOWTO i inne dokumenty dla generalnej wiedzy o sieciach i plikach konfiguracyjnych, które bêdê sugerowa³ do zmian. Poni¿ej jest spis tre¶ci. Mo¿esz szybko odnale¼æ paragraf szukaj±c ci±gu znaków nn, gdzie nn jest numerem paragrafu. 11.. WWssttêêpp:: CCoo ttoo jjeesstt PPLLIIPP ii ddllaacczzeeggoo ppoowwiinniieenneemm ggoo uu¿¿yywwaaææ?? Jest wiele dróg prowadz±cych do utworzenia po³±czenia pomiêdzy kilkoma hostami. PLIP, podobnie jak SLIP pozwala na lokalne po³±czenia pomiêdzy dwoma maszynami poprzez porty równoleg³e. Po³±czenie PLIP jest bardzo podobne do SLIP (z kablem dzier¿awionym), ale u¿ywa portów równoleg³ych zamiast szeregowych. Port równoleg³y przesy³a wiêcej ni¿ jeden bit na raz. To oznacza, ¿e jest mo¿liwe osi±gniêcie wiêkszych prêdko¶ci ni¿ przy u¿yciu interfejsu szeregowego. Interfejs PLIP jest wystarczaj±co szybki, aby umo¿liwiæ takie funkcje funkcje tcp/ip jak NFS na satysfakcjonuj±cym poziomie. Mo¿esz wiêc mieæ swój komputer z Linuxem oraz inny komputer z minimalnym systemem, gdzie mo¿esz montowaæ ca³± resztê z g³ównej maszyny. Wad± jest to, ¿e wiêkszo¶æ u¿utkowników ma tylko jeden port równoleg³y. Znaczy to, ¿e nie bêdziesz móg³ jednocze¶nie drukowaæ i korzystaæ z PLIP. Do tej pory nawet posiadaj±c dwa lub nawet trzy porty równoleg³e nie mog³e¶ u¿ywaæ drukarki i PLIP naraz. Rozwi±zaniem by³o u¿ycie modu³ów lub innych tricków. Ta wada mo¿e byæ wyeliminowana poprzez zastosowanie wstawki do j±dra systemowego. Proszê zobaczyæ paragraf ``Wstawki umo¿liwiaj±ce jednoczesne dzia³anie PLIP i LP''. W koñcu mogê Ci podaæ sposób na ustawienie po³±czenia PLIP pomiêdzy DOS a Linuxem. 22.. WWyymmaaggaanniiaa sspprrzzêêttoowwee Sprzêtem wymaganym do zestawienia po³±czenia PLIP s± dwa wolne porty (po jednym w ka¿dej maszynie) i kabel. Teraz trochê o kablu. To jest fragment pliku plip.c z ¼róde³ kernela 1.2.13: Kabel u¿ywany do po³±czeñ jest de facto standardowym standardowym kablem równoleg³ym typu 'null cable'. Je¶li chcesz go wykonaæ sam, bêdziesz potrzebowa³ 12-¿y³owy kabel. Po³±czenia wygl±daj± nastêpuj±co: SLCTIN 17 - 17 GROUND 25 - 25 D0->ERROR 2 - 15 15 - 2 D1->SLCT 3 - 13 13 - 3 D2->PAPOUT 4 - 12 12 - 4 D3->ACK 5 - 10 10 - 5 D4->BUSY 6 - 11 11 - 6 Nie ³±cz pozosta³ych wtyków. S± to: D5,D6,D7 s± 7,8,9 STROBE jest 1, FEED jest 14, INIT jest 16 ekstra uziemnienia to 18,19,20,21,22,23,24 Radzê Ci przeczytaæ /usr/src/linux/drivers/net/README1.PLIP aby dowiedzieæ siê wiêcej o kablu. Wed³ug mnie powiniene¶ unikaæ budowania swego w³asnego kabla. W³asnorêcznie wykonany kabel mo¿e zaoszczêdziæ niewiele pieniêdzy, ale mo¿e spowodowaæ wiele bólów g³owy. Je¶li chcesz zbudowaæ swój w³asny kabel, pamiêtaj, ¿e robisz to na swoj± odpowiedzialno¶æ. Napisa³em to co zosta³o umieszczone w plip.c ale nie dajê ¿adnej gwarancji. Ostatnie s³owo o d³ugo¶ci kabla. D³ugie kable (wiêcej ni¿ 3 metry) mog± powodowaæ problemy zwi±zane z zak³óceniami radiowymi. Je¶li potrzebujesz d³ugi kabel to powiniene¶ u¿yæ dobrze ekranowanych kabli. Bardzo d³ugie kable nie s± zalecane. My¶lê, ¿e maksymaln± d³ugo¶ci± jest 15 metrów. Kiedy¶ kto¶ napisa³ mi, ¿e u¿ywa 30 metrowego kabla. Jednak je¶li kto¶ chce próbowaæ po³±czeñ PLIP miêdzy biurem a domem (200 metrów) i ma do wydania pieni±dze to proszê spróbowaæ. W najgorszym wypadku to nie bêdzie pracowaæ. 33.. RReekkoonnffiigguurraaccjjaa jj±±ddrraa ssyysstteemmoowweeggoo Powiniene¶ ju¿ wiedzieæ jak konfigurowaæ i kompilowaæ j±dro. W przeciwnym razie radzê pozytaæ dokumentacjê (_K_e_r_n_e_l_-_H_O_W_T_O lub inne). Dziêkujê za wspania³± pracê wykonan± przez guru od j±dra. Kompilacja j±dra jest teraz o wiele ³atwiejsza. Poni¿ej mo¿esz zobaczyæ co masz do zrobienia: UUWWAAGGAA::Zak³adam, ¿e u¿ywasz serii 2.0.xx j±dra. Bêdê te¿ zak³ada³, ¿e do konfiguracji u¿ywasz polecenia menuconfig, ale inne narzêdzia te¿ s± dozwolone. Poka¿ê Ci jak to zrobiæ u¿ywaj±c menuconfig: #make menuconfig Mocno polecam aby wybraæ: Loadable module support ---> i zaznaczyæ: [*] Enable loadable module support I je¶li to mo¿liwe (jêsli masz modules.2.0.0): [*] Kernel daemon support (e.g. autoload of modules) Potem powróæ i wybierz: Networking options ---> gdzie powiniene¶ zaznaczyæ przynajmniej to: [*] Network firewalls [*] TCP/IP networking [*] IP: forwarding/gatewaying potem powróc i wybierz: [*] Network device support <M> PLIP (parallel port) support Je¶li u¿ywasz modu³ów to radzê Ci ustawiæ PLIP jako modu³. Je¶li to zrobisz i chcesz jeszcze u¿ywaæ drukarkê to powêdruj do: Character devices ---> i ustaw jako modu³ <M> Parallel printer suppport Teraz umo¿liwi³e¶ wspomaganie przez j±dro dla PLIP. Je¶li bêdziesz teraz po raz pierwszy kompilowa³ j±dro to spójrz na inne opcje i opu¶æ program konfiguracyjny. W koñcu dokonaj kompilacji: #make dep; make clean #make zlilo oraz je¶li u¿ywasz modu³ów: #make modules #make modules_install 44.. UUssttaawwiiaanniiee pplliikkóóww kkoonnffiigguurraaccyyjjnnyycchh Po pierwsze pamiêtaj aby zrobiæ kopiê bezpieczeñstwa wszystkich plików, które bêdziesz zmienia³, #cp rc.inet1 rc.inet1.BACKUP mo¿e byæ dobrym rozwi±zaniem. Je¶li jeszcze tego nie zrobi³e¶ to musisz wybraæ adres IP dwóch maszyn. W moich przyk³adach bêdê u¿ywa³ kilka przyk³adowych IP, które ty wpiszesz w standardowym formacie xxx.xxx.xxx.xxx W /etc/rc.d/inet1.rc na obydwu maszynach dodaj to (lepiej w koñcowej czê¶ci pliku): /sbin/route add -net ${NETWORK} netmask ${NETMASK} gdzie NETWORK i NETMASK powinny byæ ustawione wcze¶niej. Je¶li nie wiesz jak to zrobiæ, proszê przeczytaj _N_E_T_-_2_-_H_O_W_T_O. Mo¿esz bezpiecznie pomin±æ te zmienne tylko w tych przypadkach: Je¶li jedynie chcesz po³±czyæ dwa komputery w autonomicznej sieci to mo¿esz wybraæ dowolne adresy IP, powiedzmy 200.0.0.1 i odpowiednio 200.0.0.2. W tym przypadku ustawiasz NETWORK="200.0.0.0" i NETMASK="255.255.255.0". To s± przyk³ady jakich bêdê u¿ywa³ w paragrafie ``Szybka instalacja PLIP'' (zobacz poni¿ej). UUWWAAGGAA:: 200.0.0.1 i 2 to tylko przyk³adowe IP. Nie radzê Ci ich u¿ywaæ, bo mog± one byæ adresami prawdziwych hostów w Internecie! Radzê wybraæ adres z puli adresów zarezerwowanych: 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 W pliku /etc/hosts na obydwu komputerach powiniene¶ dodaæ pozycje z adresem IP komputerów, które ³±czysz przez PLIP. W moim przyk³adzie, pozycjami tego pliku s±: 200.0.0.1 one #to jest adres pierwszego komputera 200.0.0.2 two #to jest adres drugiego komputera Gdzie one i two to nazwy, które wybra³e¶ dla tych dwóch hostów. Je¶li chcesz aktywowaæ NFS, to poza zaznaczeniem odpowiednich pól w konfiguracji j±dra, musisz dodaæ w pliku /etc/exports pozycje opisuj±ce katalogi, które chcesz udostêpniaæ. W moim przyk³adzie, aby mo¿liwe by³o zamontowanie katalogu /usr powiniene¶ dodaæ: /usr two (ro) 55.. AAkkttyywwaaccjjaa ppoo³³±±cczzeenniiaa PPLLIIPP Wreszcie, oto komendy, które musz± byæ wykonane z prawami root'a, które aktywuj± interfejs PLIP (oczywi¶cie wcze¶niej musi byæ poprawnie pod³±czony kabel). Po pierwsze nale¿y potwierdziæ, ¿e urz±dzenie lp nie jest aktywne: #cat /proc/devices Nie mo¿e siê pojawiæ nastêpuj±ca rzecz: 6 lp Ponownie u¿ywam nazw one i two jako przyk³ad. Na "one" musisz wydaæ polecenie: #ifconfig plip1 one pointopoint two up Sprawd¼ czy to pracuje... #ifconfig ..... ..... 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 NOARP MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 Interrupt:7 Base address:0x378 UUWWAAGGAA:: je¶li u¿ywasz modu³ów bez demona kerneld, który automatycznie ³aduje odpowiedni modu³ na ¿±danie, to pamiêtaj o: #insmod plip przed wydaniem polecenia ifconfig. Je¶li jeste¶ paranoikiem, sprawd¼, czy modu³ zosta³ za³adowany u¿ywaj±c polecenia: #lsmod Module: #pages: Used by: plip 3 0 Dodaj routing do two: #route add two I je¿eli chcesz NFS dla drugiego: #rpc.portmap #rpc.mountd #rpc.nfsd Na komputerze "two" komendy wygl±daj± tak samo, tylko ¿e musisz wpisaæ one zamiast two. Jeden z Twoich komputerów bêdzie mia³ prawdopodobnie tylko po³±czenie typu PLIP. Je¶li to prawda, mo¿esz tak¿e wydaæ polecenie: #route add default gw one na tym komputerze. W moim poni¿szym przyk³adzie, two jest laptopem, który jako jedyne u¿ywa po³±czenia PLIP z one, wiêc wyda³em powy¿sze polecenie na komputerze two. Wreszcie przetestuj po³±czenie za pomoc± #ping two z one oraz #ping one z two i zobacz czy wszystko pracuje. Oczywi¶cie komendy te mog± byæ wykonywane automatycznie przez skrypt lub podczas startu systemu. Musisz jedynie napisaæ skrypt, który wykonywa³by te komendy. Mo¿esz je wywo³aæ z prawami root-a lub mo¿esz dodaæ komendê do skryptu /etc/rc.d/rc.inet2 który jest uruchamiany podczas startu. Je¶li chcesz u¿ywaæ mojej ``Szybkiej Instalacji PLIP'', znajdziesz tam wszystkie pliki konfiguracyjne i skrypty. 66.. KKoommuunniikkaattyy jj±±ddrraa ppooddcczzaass ssttaarrttuu Po skonfigurowaniu i kompilacji j±dra systemowego z obs³ug± PLIP, zbadaj komunikaty za pomoc± komendy dmesg (8). Powiniene¶ zobaczyæ co¶ takiego: NET3 PLIP version 2.0 gniibe@mri.co.jp plip1: Parallel port at 0x378, using assigned IRQ 7. Oczywi¶cie, je¿eli u¿ywasz modu³ów to ujrzysz ten komunikat kiedy zostanie zainstalowany modu³ plip.c (#insmod plip.c) (przez Ciebie lub przez kerneld). W zale¿no¶ci od konfiguracji klogd i syslogd komunikaty plip-a mog± byæ rejestrowane w logach systemowych. Nie wpadaj w panikê je¿eli nie ujrzysz tych komunikatów. Je¶li lsmod pokazuje, ¿e modu³ jest za³adowany to w zupe³no¶ci wystarczy. 77.. CCzzêêssttoo ZZaaddaawwaannee PPyyttaanniiaa Ten paragraf (mam nadziejê) rozwi±¿ê Twoje problemy. Je¶li masz inne pytania, zawsze mo¿esz do mnie napisaæ. 1. Q: Otrzymujê nastêpuj±ce komunikaty podczas startu systemu: SIOCSIFADDR: No such device SIOCADDR: Network is unreachable a kiedy próbujê zestawiæ po³±czenie jak to zosta³o opisane powy¿ej, otrzymujê ponownie komunikaty o b³êdach: SIOCSIFADDR: No such device SIOCSIDDSTADDR: No such device SIOCADDRT: Network is unreachable mount clntudp_create: RPC: Port Mapper failure - RPC: Unable to send A: J±dro z ró¿nych przyczyn nie obs³uguje PLIP. Przyczyn± mo¿e byæ: · Nie zaznaczy³e¶ obs³ugi PLIP podczas konfiguracji j±dra. · Zaznaczy³e¶ obs³ugê drukarki podczas konfiguracji j±dra. · Skompilowa³e¶ PLIP jako modu³ i go nie za³adowa³e¶. 2. Q: Czy istnieje mo¿liwo¶æ ogs³ugi PLIP i LP jednocze¶nie, wykluczaj±c u¿ycie modu³ów, na przyk³ad przy dwóch portach równoleg³ych? A: Tak. S± na to dwa sposoby opisane w paragrafie ``Wstawki umo¿liwiaj±ce jednoczesne dzia³anie PLIP i LP'': · Mo¿esz za³o¿yæ wstawkê aby umo¿liwiæ jednoczesne dzia³anie PLIP i LP. · Mo¿esz za³o¿yæ inn± wstawkê do j±dra aby obs³ugiwa³o ono PLIP i LP na osobnych portach. 3. Q: Napisa³em skrypt, który ³±czy oba moje komputery. Zestawi³em po³±czenie automatycznie w rc.inet2, gdzie wywo³ujê skrypt uruchamiaj±cy ³±cze i uruchamiaj±cy VFS. Mój komputer two montuje zasoby komputeraone. Doda³em pozycje do /etc/fstab na komputerze two. Je¶li uruchamiam two gdy one jest wy³±czony, two zawiesza siê na kilka minut w momencie "mounting remote file systems...". A: Tak siê dzieje, poniewa¿ two czeka aby zamontowaæ zasoby one, lecz je¶li one jest wy³±czony to musisz poczekaæ a¿ two znudzi siê czekaniem. Aby tego unikn±æ, mo¿esz: · Zakomentowaæ w rc.inet2 komendê, za pomoc± której montowane s± zdalne systemy plików. · Wyrzuciæ wpisy w /etc/fstab na two i podmontowaæ zdalny system plików rêcznie je¶li bêdziesz tego potrzebowa³. 4. Q: Po³±czenie jest zestawione, ale ping zawodzi. Otrzymujê takie komunikaty od j±dra: plip1: timed out (1, 89) A: To oznacza, ¿e twoja strona po³±czenia pracuje, twój komputer wysy³a sygna³, ale druga strona nie odpowiada z nastêpuj±cych powodów: · Kabel nie jest odpowiednio pod³±czony lub jest popsuty. · Druga strona nie ma uruchomionego PLIP. · Jeste¶ po³±czony z laptopem, który nie ma odpowiedniego portu równoleg³ego, zobacz nastêpne pytanie. 5. Q: Zainstalowa³em PLIP, lecz je¶li u¿ywam ping to otrzymujê 100% strat w pakietach. £±czê mój komputer biurkowy z notebookiem. A: Niektóre porty równoleg³e w notebookach nie s± odpowiednie do po³±czeñ typu PLIP, poniewa¿ s± tylko portami drukarkowymi. Mog± tylko wysy³aæ dane. Niemo¿liwy jest ich odbiór. Niestety nie wiem co sprawiæ, aby one pracowa³y. Jedyn± nadziej± jest: · Popatrz na setup w swoim notebook-u. Mo¿e jest tam jaki¶ sposób konfigurowania portu równoleg³ego jako port równoleg³y, a nie jako port drukarki. · Spróbuj plip w trybie 0. Niestety, nie wiem jak to zrobiæ i czy jest to mo¿liwe w najnowszych wersjach j±dra. 6. Q: Jakie prêdko¶ci mogê osi±gn±æ u¿ywaj±c PLIP? A: To jest trudne pytanie, poniewa¿ jest wiele czynników wp³ywaj±cych na wydajno¶æ takiego po³±czenia: · Typ procesora na obydwu komputerach. · Typ portu równoleg³ego i jego konfiguracja. · Obci±¿enie systemu. · Do czego u¿ywasz PLIP. Dla przyk³adu mogê podaæ, ¿e powiniene¶ osi±gn±æ oko³o 40Kb/sek, o wiele szybciej ni¿ dla po³±czeñ szeregowych i porównywalnie ze s³abymi kartami ethernet. 7. Q: Czy co¶ siê stanie, kiedy bedê wiele razy k³ad³ ifconfig down i zetawia³ ifconfig up po³±czenie na interfejsie plip1? A: Wygl±da na to, ¿e bêdziesz musia³ dodaæ <tt/-arp/ do komendy <tt/ifconfig/, za wyj±tkiem pierwszego razu podczas startu systemu. Ja tego nie potrzebuje, ale kto¶ mo¿e. 8. Q: Przegl±da³em zarezerwowane adresy IP i podane przez Ciebie adresy 200.0.0.1 i 200.0.0.2 nie nale¿± do nich. Czy nie powinny one byæ zmienione? A: Tak, powinny. Tak jak podkre¶li³em na pocz±tku, wybra³em te adresy tylko ze wzglêdu na ich prostotê. Mo¿esz je dowolnie zmieniaæ. Oto wycinek z net-3-howto: RFC1597 zarezerwowa³ kilka adresów IP dla prywatnych sieci. Powiniene¶ ich u¿ywaæ, gdy¿ nie powoduj± nieprzyjemnych zdarzeñ gdy przypadkowo po³±czysz siê z Internet. Zarezerwowane adresy to: 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 9. Q: Czy jest sposób aby dok³adnie dostriæ parametry PLIP bez ingerencji w ¼ród³a? A: Tak! Spróbuj /usr/sbin/plipconfig. Poczytaj podrêcznik systemowy dotycz±cy tej komendy. 10. Q: Mam problemy z po³±czeniem dwóch hostów za pomoc± PLIP. Pierwszy ma najnowsze j±dro, a drugi wci±¿ u¿ywa starej serii 1.0.x PLIP. Czy to jest moim problemem? A: Tak, najlepiej jest u¿ywaæ tej samej wersji PLIP na obu koñcach po³±czenia. 11. Q: Obs³uga PLIP w niektórych wersjach j±dra 1.3.x nie pracuje. Co siê dzieje? A: Pamiêtaj, ¿e j±dra o numerach wersji 1.nieparzysty.x s± wersjami rozwojowymi. "Bogowie", którzy codziennie ciê¿ko pracuj± nad ulepszaniem Linuxa czêsto wypuszczaj± niestabilne wersje. Teraz wersje 2.0.x powinny byæ stabilne. 88.. SSzzyybbkkaa iinnssttaallaaccjjaa PPLLIIPP Przed napisaniem tego mini-HOWTO, stworzy³em zestaw plików potrzebny do szybkiej instalacji PLIP. W kilka minut, nie licz±c kompilacji j±dra powiniene¶ zestawiæ po³±czenie PLIP. Zarchiwizowane pliki mo¿esz znale¼æ na mojej stronie domowej: http://www.cli.di.unipi.it/~controzz/intro.html. Mo¿e kto¶ w koncu udostêpni moje pliki na publicznym serwerze ftp. 99.. WWssttaawwkkii uummoo¿¿lliiwwiiaajj±±ccee jjeeddnnoocczzeessnnee ddzzii³³aanniiee PPLLIIPP ii LLPP Najlepsz± drog± do jednoczesnego dzi³ania PLIP i LP jest u¿ycie modu³ów. Mo¿esz za³adowaæ modu³ plip.o i wyrzuciæ go kiedy bêdziesz chcia³ drukowaæ, lub na odwrót. Je¶li na prawdê potrzebujesz u¿ywaæ PLIP i LP naraz, wypróbuj poni¿sze wstawki. 99..11.. PPLLIIPP ii LLPP nnaa ttyymm ssaammyymm ppoorrcciiee W tej sytuacji mo¿esz spróbowaæ nastêpuj±cych wstawek do j±dra. Musisz zmodyfikowaæ nastêpuj±ce fragmenty kodu, lecz pamiêtaj wykonaæ kopiê bezpieczeñstwa: ______________________________________________________________________ --- begin --- ******** modifications to linux/drivers/char/lp.c *********************** 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, }, */ }; #define LP_NO 1 ******** modifications to linux/drivers/net/Space.c ******************** #if defined(PLIP) || defined(CONFIG_PLIP) extern int plip_init(struct device *); static struct device plip2_dev = { "plip2", 0, 0, 0, 0, 0x278, 2, 0, 0, 0, NEXT_DEV, plip_init, }; static struct device plip1_dev = { "plip1", 0, 0, 0, 0, 0x378, 7, 0, 0, 0, &plip2_dev, plip_init, }; /* static struct device plip0_dev = { "plip0", 0, 0, 0, 0, 0x3BC, 5, 0, 0, 0, &plip1_dev, plip_init, }; */ # undef NEXT_DEV # define NEXT_DEV (&plip1_dev) #endif /* PLIP */ ---end--- ______________________________________________________________________ Zrzeczenie: Otrzyma³em te wstawki i opublikowa³em je w niezmienionej postaci. Oznacza to, ¿e u¿ywasz ich na w³asn± odpowiedzialno¶æ. W najgorszym wypadku, skompilujesz jeszcze raz j±dro u¿ywaj±c starych plików. 99..22.. PPLLIIPP ii LLPP nnaa oossoobbnnyycchh ppoorrttaacchh Je¶li masz przynajmniej dwa porty równoleg³e, mo¿esz wypróbowaæ nastêpuj±ce wstawki, które umo¿liwi± pracê PLIP na jednym porcie, a LP na drugim. ______________________________________________________________________ --- begin --- 1. Comment out one line in kernel source file, drivers/char/lp.c. 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, }, */ }; 3 -> 2 2. Kernel configuration PLIP (parallel port) support (CONFIG_PLIP) [n] y Parallel Printer support [y] y 3. Kernel message at startup lp1 at 0x0378, using polling driver ..... NET3 PLIP version 2.0 gniibe@mri.co.jp plip2: Parallel port at 0x278, using assigned IRQ 5. ---end--- ______________________________________________________________________ Zrzeczenie jak w sekcji 8.1 1100.. PPoo³³±±cczzeenniiee PPLLIIPP mmiiêêddzzyy DDOOSS--eemm aa LLiinnuuxx--eemm 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.zip Program 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æ _6_0 do okienka zatytu³owanego _P_a_c_k_e_t _v_e_c_t_o_r. 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 _s_t_a_r_t_u_p 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.com Skonfiguruj 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! 1100..11.. DDoo¶¶wwiiaaddcczzeenniiaa zz ppoo³³±±ææzzeenniieemm PPLLIIPP mmiiêêddzzyy DDOOSS--eemm aa LLiinnuuxx--eemm.. UUWWAAGGAA:: 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ê _c_o_n_s_o_l_e_2. 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 _t_c_p_d, 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 _N_C_S_A i sterownik PLIP dostarczany przez _C_r_y_n_w_r. To wszystko mo¿esz znale¼æ na nastêpuj±cych serwerach: ftp.ncsa.uiuc.edu/Telnet/DOS/ncsa/tel2308b.zip ftp.crynwr.com/drivers/plip.zip Upewnij 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 (_c_o_n_s_o_l_e_1 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 _N_C_S_A 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. :-) 1111.. PPyyttaanniiaa?? KKoommeennttaarrzzee?? NNaappiisszz ddoo mmnniiee.. Je¶li masz jakie¶ pytania to mo¿esz siê ze mn± skontaktowaæ pod adresem controzz@cli.di.unipi.it Wszelkie komentarze, raporty o b³êdach s± mile widziane. Nastepna wersja bêdzie zawiera³a d³u¿sze FAQ, oczywi¶cie je¿eli bêdziecie przysy³ali pytania. 1122.. GGddzziiee mmoo¿¿nnaa zznnaallee¼¼ææ nnaajjnnoowwsszzee wweerrssjjee tteeggoo mmiinnii--HHOOWWTTOO.. Tym mini-HOWTO opiekuj± siê koordynatorzy HOWTO. Jest on wysy³any co miesi±c na grupê news comp.os.linux.answers i mo¿esz go znale¼æ w katalogu HOWTO na sunsite i jego mirrorach. Inn± drog± do odnalezienia tego HOWTO (w wersji oryginalnej) jest moja strona domowa: www.cli.di.unipi.it/~controzz/intro.html 1133.. PPooddzziiêêkkoowwaanniiaa Wielkie podziêkowania dla: · Rick Lim ricklim@freenet.vancouver.bc.ca za wstawki umo¿liwiaj±ce wspó³dzia³anie PLIP i IP. · Takeshi Okazaki GBA03552@niftyserve.or.jp za wstawki umo¿liwiaj±ce dzia³anie PLIP i LP na dwóch ró¿nych portach równoleg³ych. · Jim Van Zandt jrv@vanzandt.mv.com za rady dotycz±ce dydaktycznej czê¶ci tego HOWTO. · James Vahn jvahn@short.circuit.com za wspania³y dodatek PLIP pomiêdzy DOS-em i Linuxem. · Do wszystkich, którzy pisali na grupy news artyku³y dotycz±ce PLIP. Lista ludzi, od których otrzyma³em szereg informacji i komentarzy by³aby d³u¿sza od tego mini-HOWTO. Dziêkujê Wam wszystkim! 1144.. PPrraawwaa aauuttoorrsskkiiee Prawa autorskie do dokumentów Linux HOWTO posiadaj± ich autorzy. Dokumenty te mog± byæ reprodukowane i dystrybuowane w ca³o¶ci lub czê¶ci, w mediach fizycznych lub elektronicznych, tak d³ugo jak tak notka bêdzie za³±czona do dokumentu. Komercyjna dystrybucja jest dozwolona. Jednak¿e autor chcia³by zostaæ poinformowany o takowej. Wszystkie t³umaczenia, prace pochodne lub prace zebrane musz± zawieraæ notê o prawach autorskich. Oznacza to, ¿e nie mo¿esz stworzyæ pracy pochodnej z tego dokumentu i ob³o¿yæ j± dodatkowymi restrykcjami dotycz±cymi dystrybucji. Wyj±tki od tej regu³y, mog± byæ rozpatrzone w okre¶lonych warunkach. Proszê skontaktowaæ siê z koordynatorem HOWTO na adres podany poni¿ej. Ogólnie bior±c, chcemy promowaæ i szerzyæ te informacje na wiele sposobów. Jednak¿e chcemy zachowaæ prawa autorskie tych dokumentów i pragniemy byæ poinformowani o ka¿dym sposobie ich dystrybucji. Je¶li masz jakie¶ pytania, skontaktuj siê z Greg'iem Hankins'em, koordynatorem HOWTO - gregh@sunsite.unc.edu 1155.. OOdd tt³³uummaacczzaa T³umaczenie to chronione jest prawami autorskimi Bartka Papierskiego. Ogólne zasady dystrybucji s± takie same jak w oryginalnym dokumencie. Je¶li znajdziesz w tym dokumencie jakie¶ ra¿±ce Twoje oko b³êdy ortograficzne, gramatyczne, lub b³êdy w t³umaczeniu to skontaktuj siê ze mn±, a ja postaram siê to naprawiæ: bartekp@dom.vr.pl Najnowsz± wersjê tego dokumentu mo¿esz znale¼æ na oficjalnej stronie t³umaczeniowej http://www.jtz.org.pl. Najnowsze wersje przet³umaczonych przeze mnie dokumentów znajdziesz tak¿e na mojej stronie http://www.dom.vr.pl/~bartekp/howto/tlumaczenia.html Oto zmiany jakie wprowadzi³em w tym dokumencie: · Tytu³y NET-2-HOWTO zamieni³em na NET-3-HOWTO. Przez rok autor nie wyda³ nowszej wersji dokumentu, a przez ten czas powsta³a nowa wersja wymienionego dokumentu HOWTO.