Prepričajte se, da je modem pravilno nameščen in da veste na katerih serijskih vratih je nameščen.
Pomnite:
Dobro si je tudi zapomniti, da če imate 4 serijska vrata, je navadno PC nastavljen tako, da si com1 in com3 delita IRQ4, com2 in com4 pa IRQ3.
Če imate na standardnih serijskih vratih naprave, ki si delijo IRQ z vašim modemom, boste imeli probleme. Modem mora imeti svoj nedeljen IRQ. Mnogo modernih serijskih kartic (in kvalitetnejših osnovnih plošč) vam omogoča spreminjanje IRQ-jev.
Če uporabljate jedro Linux 2.0.x, lahko preverite IRQ-je v uporabi z
cat /proc/interrupts
, ki bo pokazal nekaj takega:
0: 6766283 timer 1: 91545 keyboard 2: 0 cascade 4: 156944 + serial 7: 101764 WD8013 10: 134365 + BusLogic BT-958 13: 1 math error 15: 3671702 + serial
Tukaj so serijska vrata na IRQ4 (miška) in serijska vrata na IRQ15 (trajne modemska povezava z Internetom). Na računalniku so tudi serijska vrata com2 na IRQ3 in com4 na IRQ14, vendar nista v uporabi, zato nista prikazana.
Pozor - vedeti morate kaj počnete, če se boste igrali z IRQ-ji! Ne samo da morate odpreti računalnik, izvleči kartice in premikati mostičke, vedeti morate tudi kaj je na katerem IRQ-ju. V mojem primeru imam v računalniku samo SCSI diske, zato lahko onemogočim IDE vmesnik na osnovni plošči, ki navadno uporablja IRQ14 in 15!
Zapomnite si tudi, da če imate na računalniku druge operacijske sisteme, se ti mogoče ne bodo pravilno zagnali - če sploh!
Če premaknete zaporedna vrata na nestandardne IRQ-je, morate Linuxu
povedati, katere IRQ-je uporabljajo. To naredite s setserial
, najraje
kot del zagona sistema v rc.local
ali rc.serial
, ki je klican iz
rc.local
ali kot del SysV inicializacije. Za zgornji računalnik so
uporabljeni ukazi
/bin/setserial -b /dev/ttyS2 IRQ 14 /bin/setserial -b /dev/ttyS3 IRQ 15
Če uporabljate zaporedno podporo kot nalagalne module in jih dinamično
nalagate z uporabo kerneld
-ja, IRQ-jev ne morete nastaviti ob zagonu in
pozabiti nanje. To se zgodi zaradi tega, ker Linux ob izključitvi modula iz
jedra pozabi posebne nastavitve.
Tako boste morali ob uporabi nalagalnih modulov popraviti IRQ-je vsakič, ko bo modul naložen.
Če uporabljate hiter (zunanji) modem (14.400 bps ali hitrejši), morajo vaša zaporedna vrata biti sposobna spustiti skozi promet, ki ga naredi tak modem, še posebej ko modem stiska podatke.
Za to morajo vaša serijska vrata uporabljati moderen UART (Universal Asynchronous Receiver Transmitter - univerzalni asinhroni sprejemnik/oddajnik) kot je 16550(A). Če uporabljate star računalnik /ali staro serijsko kartico), je vaš UART mogoče 8250 UART, ki vam bo povzročil precejšnje težave pri uporabi hitrih modemov.
Uporabite ukaz
setserial -a /dev/ttySx
da vam Linux sporoči, kakšen UART imate. Če vaš UART ni tipa 16550A, si preskrbite novo serijsko kartico (stane le kakšnega tisočaka). Pred nakupom se prepričajte, da na njej lahko nastavljate IRQ-je!
Opomba: prve verzije čipov UART 16550 so imele napake. To je bilo hitro odkrito in na trg je prišla nove različica - UART 16550A. Sorazmerno majhno število pokvarjenih čipov pa je vseeno prišlo v obtok. Verjetnost, da bi naleteli na tak čip, je zelo majhna, kljub temu pa bi vam zgornji ukaz moral vrniti 16550A, še posebej na karticah z ,,rodovnikom``.
Linux je uporabljal naprave cuaX
za klicanje in naprave ttySx
za
sprejemanje klicev.
Koda v jedru, ki je to zahtevala, se je v jedrih 2.0.x spremenila in zdaj bi
morali uporabljati ttySx
za oboje. Slišati je, da bodo naprave cuaX
v bodočih izdajah jedra izginile.
Vaš modem boste morali pravilno nastaviti za PPP - PREBERITE NAVODILA VAŠEGA MODEMA! Večina modemov ima normalno tovarniško nastavitev, ki izbere opcije, potrebne za PPP. Minimalna nastavitev je:
&K3
na mnogo modemih Hayes)Ostale nastavitve (v standardnih ukazih Hayes), ki jih morate preveriti:
E1
Command Echo ON
(potrebna za delovanje chat-a)Q0
Report result codes (potrebna za delovanje chat-a)S0=0
Auto Answer OFF (razen če hočete, da modem ob klicu odgovori)&C1
Carrier Detect ON samo po povezavi&S0
Data Set Ready (DSR) vedno ON
Podatke za vedno več različnih modemov in izdelovalcev najdete na Modem setup information.
Vredno je tudi raziskati, kako deluje zaporedni vmesnik med modemom in vašim računalnikom. Večina sodobnih modemov vam dovoli poganjati zaporedni vmesnik pri FIKSNI hitrosti, medtem ko se hitrost telefonske linije spreminja glede na to kaj zmoreta modema.
To je znano kot delovanje pri različnih hitrostih (split speed operation). Če ga vaš modem podpira, nastavite serijski vmesnik na najvišjo možno hitrost (navadno 115.200 bps, toda mogoče 38.400 bps za 14.400 bps modeme).
Uporabite vaše komunikacijsko programje (npr. minicom ali seyon), da
ugotovite nastavitve vašega modema in ga nastavite za PPP. Mnogo modemov
sporoči svoje trenutne nastavitve v odgovor na AT&V
, toda
poglejte v vaša navodila.
Če popolnoma zamešate nastavitve, jih (navadno) lahko povrnete z
AT&F
- vrnitev na tovarniške nastavitve.
(Za večino modemov tovarniške nastavitve vsebujejo vse potrebno za PPP,
vendar vseeno preverite).
Ko enkrat odkrijete potreben nastavitveni ukaz, ga zapišite. Sedaj imate na
izbiro: te nastavitve lahko shranite v modemov obstojni pomnilnik, tako da
jih naslednjič prikličete s primernim ukazom AT
. Lahko pa jih posredujete
modemu kot del klicnega procesa.
Če modem uporabljate samo za klicanje vašega PIS-a ali službenega PPP strežnika, bi bilo najbolje shraniti nastavitve v modemov obstojni pomnilnik.
Po drugi strani pa modem uporabljajo drugi programi in operacijski sistemi, zato je najbolje posredovati nastavitve modemu ob vsakem klicu, tako da bo modem gotovo v dobrem stanju. (Druga dobra stran tega je, da imamo nekje zapisan nastavitveni ukaz, če modem zgubi vsebino svojega NVRAM-a, kar se lahko res zgodi).
Ko podatki potujejo po zaporednih linijah, se lahko zgodi, da podatki prihajajo hitreje, kot jih računalnik lahko sprejema (računalnik lahko dela kaj drugega - Linux je večuporabniški in večopravilni operacijski sistem). Da se podatki ne bi izgubili (podatki se ne zapišejo v vmesni pomnilnik in se tako izgubijo), je potrebna neka vrsta kontrole pretoka.
Na zaporednih linijah sta dve vrsti kontrole pretoka:
Medtem ko je zadnja uporabna za terminalsko (tekstovno) povezavo, potrebujejo podatki na PPP liniji 8 bitov - in kaj verjetno je, da bo med podatki nekaj, kar se bo prevedlo kot control S in control Q. Če torej modem uporablja programsko kontrolo pretoka, lahko stvari hitro ponorijo!
Za hitre povezave z uporabo PPP-ja (ki uporablja vseh 8 bitov podatkov), je strojni nadzor pretoka življenjskega pomena in ga je zato treba uporabljati.
Sedaj ko ste uredili nastavitve zaporednih vrat in modema bi se bilo s klicanjem vašega PIS-a dobro prepričati, da te nastavitve zares delujejo in videti, če se lahko povežete.
Z uporabo vašega komunikacijskega paketa (npr. minicoma), nastavite inicializacijo modema, potrebno za PPP, in pokličite PPP strežnik, s katerim se želite povezati.
(Opomba: na tej stopnji NE poskušamo vzpostaviti PPP povezave - prepričujemo se, če imamo pravo telefonsko številko in kaj točno nam strežnik pošilja, da bi se povezali in pognali PPP).
Med tem procesom ulovite (shranite v datoteko) celoten proces prijave ali si pazljivo (zelo pazljivo) zapišite točno kakšen poziv vam da strežnik za vpis uporabniškega imena in gesla (in drugih ukazov za zagom PPP-ja).
Če vaš strežnik uporablja PAP, ne bi smeli videti poziva za prijavo, ampak (tekstovno predstavitev) protokola za nadzor povezave (link control protocol) (ki izgleda kot smeti) na vašem zaslonu.
Nekaj opozoril:
Splača se klicati vsaj dvakrat. Nekateri strežniki spreminjajo njihove pozive (naprimer glede na čas!) vsakič ko se prijavite. Dva pomembna poziva, ki jih Linux potrebuje sta:
Če morate vnesti ukaz za zagon PPP-ja na strežniku, boste morali ugotoviti tudi obliko poziva za vnos tega ukaza.
Če vaš strežnik samodejno zažene PPP, ko ste enkrat prijavljeni, boste zagledali na zaslonu smeti. To je PPP strežnik, ki pošilja vašemu računalniku podatke za zagon in konfiguracijo PPP povezave.
To bi moralo izgledati nekako takole:
~y}#.!}!}!} }8}!}$}%U}"}&} } } } }%}& ...}'}"}(}"} .~~y}
(in še kar prihaja!!!)
Na nekaterih sistemih mora biti PPP ročno zagnan na strežniku. To je ponavadi zaradi tega, ker je strežnik nastavljen za PPP in tekstovne prijave z uporabo istega uporabniškega imena/gesla. Če je tako, po prijavi vnesite ta ukaz. Znova boste videli smeti, ko se na strežniku zažene PPP.
Če tega ne vidite takoj po povezavi (in prijavi in po potrebi zagonu PPP-ja), pritisnite Enter, da bi videli, če to zažene PPP strežnik...
Sedaj lahko prekinete povezavo (navadno hitro vtipkate +++
in nato,
ko modem odvrne OK, vtipkate še ukaz ATH0
).
Če vašega modema ne morete pripraviti do dela, preberite modemov uporabniški priročnik, man strani komunikacijskega programa in Serial HOWTO! Ko razrešite to, nadaljujte kot zgoraj.