|
ot Dimitur Vasilev(25-02-2003)
reiting (13)
[ dobre ]
[ zle ]
Variant za otpechatvane Glava 17: Seriini komunikatsii
Prevod: Dimitur Vasilev aka botzko/FreeJak
12/2002-02/2003 za nuzhdite na FreeBSD-BG documentation
project
17.1 Predgovor
Unix vinagi e podurzhal
seriinite komunikatsii. V sushtnost, nai-purvite Unix mashini
razchitaha
na seriini kabeli za vuvezhdane i izvezhdane na
potrebitelskite danni.
Neshtata mnogo se promeniha ot vremenata, kogato
sredno-statisticheskiiat
terminal se sustoeshe ot serien printer sus skorost 10 znaka
v sekunda
i klaviatura. Tazi glava shte obhvane niakoi ot sluchaite, v
koito
FreeBSD polzva seriini komunikatsii.
Sled prochita na tazi glava,
vie shte znaete:
- kak da svurzhete terminalite kum vashata FreeBSD
sistema
- kak da izpolzvate modem, za da se svurzvate kum
otdalecheni mashini
- kak da pozvolite na otdalecheni potrebiteli da vlizat
vuv vashata sistema chrez modem
- kak da startirate vashata mashina prez seriina
konzola
Predi da produlzhite s cheteneto, vie triabva da imate
poznaniia za:
- tova kak da kompilirate i instalirate novo iadro
(Glava 9);
- pravata i protsesite v Unix (Glava 3);
- imate dostup do uputvaneto na seriiniia harduer (modem
ili mnogoportova karta), koiato
bihte zhelali da izpolzvate pod FreeBSD.
17.2.1 Terminologiia
bps bita v sekunda - skorostta, s koiato dannite se
predavat;
DTE terminalno oborudvane
(Data Terminal Equipment ) - tova e vashiiat kompyutur
naprimer;
Data Communications Equipment (oborudvane za prenos na
danni) - vashiiat modem;
RS-232 - standart na EIA za harduerni seriini
komunikatsii;
Govoreiki za skorost na predavane na danni, tozi razdel ne
pokriva termina ''baud rate''
(skorost na predavane. Blagodaria ti za raziasnenieto,
moskov!). Toi se
otnasia do broia na elektricheskite impulsi, koito mogat da
budat
preneseni v opredelen period ot vreme, dokato ''bps'' (bita
v
sekunda) e tochniiat termin, koito triabva da se polzva.
17.2.2 Kabeli i portove
Za da vurzhete modem ili
terminal kum vashata FreeBSD sistema, shte vi triabva svoboden
serien
port na vashata mashina i kabel za svruzka. Ako ste zapoznati
s
nalichniia si harduer i kakvi kabeli shte vi triabvat, mozhete
spokoino da
propusnete tazi chast.
17.2.2.1 Kabeli
Ima niakolko razlichni vida seriini kabeli. Dvata nai-chesto
sreshtani tipa za nashite tseli sa
null-modem (chetirizhichni kabeli s edinitsa i nula) i
standartnite
(''pravi") RS-232 kabeli. Dokumentatsiiata kum vashiia
harduer bi
triabvalo da opisva kakuv kabel vi e nuzhen.
17.2.2.1.1 Null-modem kabeli
Edin null-modem kabel
predava niakoi signali direktno, kato zadeistva drugi
signali.
Naprimer, kracheto za izprashtane na informatsiiav ediniia krai
se vruzva
kum kracheto za poluchavane na informatsiia v drugiia krai. Ako
zhelaete da
si pravite sam kabelite, mozhe da si spretnete edin takuv za
terminali. Tablitsata po dolu pokazva imenata na signalite
na
protokola RS-232C i broia na krachetata vurhu DB-25
konektor.
Signal
|
Nomer na izprashtashtoto
krache (pin #)
|
Nomer na priema-shtoto
krache (pin #)
|
Signal
|
TxD
|
2
|
3
|
RxD
|
RxD
|
3
|
2
|
TxD
|
DTR
|
20
|
6
|
DSR
|
DSR
|
6
|
20
|
DTR
|
SG
|
7
|
7
|
SG
|
DCD
|
8
|
4
|
RTS
|
RTS
|
4
|
5
|
CTS
|
CTS
|
5
|
8
|
DCD
|
Zabelezhka: Za DCD
kum RTS, svurzhete krache 4 kum 5 vutreshno v osnovata na
konektora i
sled tova kum 8-mo krache v osnovata na otdalecheniia
konektor.
17.2.2.1.2 Standartni RS-232C kabeli
Normalen serien kabel
predava vsichkite RS-232C signali direktno.Taka kracheto za
izprashtane
na danni se vruzva kum sushtoto na drugiia krai na kabela.
Takuv tip sa
kabelite s koito se vruzvat modemite kum FreeBSD i niakoi
vidove
terminali.
17.2.2.2 Portove
Seriinite portove sa
ustroistvata prez koito se prenasiat dannite mezhdu terminala
i
mashinata. Tazi chast opisva vidovete portove i tehnite
suotvetstviia
vuv FreeBSD.
17.2.2.2.1 Vidove portove
Sushtestvuvat niakolko vida
seriini portove. Predi da kupite ili napravite kabel,
triabva da ste
sigurni che shte pasne s portovete na vashiia terminal i na
vashata FreeBSD
mashina. Povecheto terminali imat DB25 portove. Personalnite
kompyutri,
vklyuchitelno PC-tata vurviashti pod FreeBSD, shte imat DB25 ili
DB9
portove. Ako imate multiportova seriina karta za vasheto PC,
veroiatno
shte imate RJ-12 ili RJ-45 portove. Oburnete se kum
dokumentatsiiata,
suprovozhdashta vashiia harduer za harakteristikite na
izpolzvanite
portove. Pogled otzad chesto vurshi sushtata rabota.
17.2.2.2.2 Imena na portovete
Vuv FreeBSD, vie imate
dostup do vseki serien port chrez spetsialen fail v /dev
direktoriiata.
Sushtestvuvat dva vida portove:
- Vhodiashtite (call-in), sa
oboznacheni s /dev/ttydN, kudeto N e nomera na porta,
zapochvasht ot
nula. Kato tsialo, te se izpolzvat za terminalite. Vhodiashtite
portove
iziskvat seriiniia kabel da propuska signala za prenos na
danni (DCD
- data carrier detect ), za da rabotiat.
- Izhodiashtite (call-out)
portove sa oboznacheni s /dev/cuaaN. Obiknoveno te ne se
polzvat za
terminali, a samo za modemi. Mozhe da izpolzvate izhodiashtite
portove,
ako seriiniiat kabel ili terminala ne podurzha signala za
otkrivane na
danni. Ako ste svurzali terminal kum purviia serien port
(COM1 pod
MS-DOS), negovoto suotvetstvie pod FreeBSD e /dev/ttyd0.
Ako e na
vtoriia serien port (poznat sushto kato COM2), to toi se
naricha
/dev/ttyd1 i taka natatatuk.
17.2.3 Konfiguratsiia na iadroto
FreeBSD podurzha chetiri
seriini porta po podrazbirane. V sveta na MS-DOS, te sa
poznati kato
COM1, COM2, COM3 i COM4. FreeBSD v momenta podurzha
''prosti"
mnogoportovi seriini karti, kato BocaBoard 1008 i 2016, a
sushto taka
po-inteligentni karti ot sushtiia tip, kato tezi proizvedeni
ot
Digiboard i Stallion Technologies. Za suzhalenie,
podrazbirashtoto se
iadro edinstveno tursi standartnite COM portove. Za da
vidite dali
vasheto iadro razpoznava koito i da e serien port,
nablyudavaite
suobshteniiata po vreme na zarezhdane na iadroto, ili
izpolzvaite
komandata /sbin/dmesg za da povtorite suobshteniiata na iadroto
po vreme
na zarezhdane na iadroto. V chastnost, gledaite za redove,
startirashti s
niza ''sio".
Suvet: Za da vidite samo
nizovete ''sio", izpolzvaite komandata:
#/sbin/dmesg | grep 'sio'
Naprimer, na mashina s chetiri seriini porta, spetsifichnite
nizove za seriinite portove sa:
sio0 at 0x3f8-0x3ff irq 4 on
isa
sio0: type 16550A
sio1 at
0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2 at
0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
sio3 at
0x2e8-0x2ef irq 9 on isa
sio3: type 16550A
Ako iadroto vi ne razpoznava
vsichkite vi portove, veroiatno shte triabva da kompilirate novo
za vashiia
harduer. Za podrobna informatsiia otnosno kompiliraneto na
iadro, molia
vizhte Glava 9.
Suotvetnite redove v
konfiguratsionniia fail na novoto iadro za nastroika na
seriinite
portove biha izglezhdali po sledniia nachin za FreeBSD
4.X:
device sio0 at isa? port IO_COM1 irq
4
device sio1 at
isa? port IO_COM2 irq 3
device sio2 at
isa? port IO_COM3 irq 5
device sio3 at
isa? port IO_COM4 irq 9
i za FreeBSD 5.x:
device sio
Mozhete da zakomentirate ili
napulno da iztriete redove za ustroistva, koito niamate za
FreeBSD
4.X; za FreeBSD 5.X triabva da redaktirate vashiia fail
/boot/device.hints, za da nastroite seriinite portove. Molia
prochetete
man sio(4) za poveche informatsiia otnosno seriinite portove i
nastroikata na mnogoportovi duna. Budete mnogo vnimatelni,
ako
izpolzvate konfiguratsionen fail ot predhodni versii na
FreeBSD,
ponezhe parametrite (flagovete) na ustroistvata i
sintaksisut sa
promeneni v po-sledvashtite izdaniia.
Port IO_COM1 e zamestititel na
port 0x3f8, IO_COM2
na 0x2f8, IO_COM3
na 0x3e8 i IO_COM4
na 0x2e8. Tova sa chesto
sreshtani adresi
na suotvetnite portove; kakto prekusvaniiata 4, 3, 5 i 9 sa
chesto
razprostraneni. Molia imaite v predvid, che obiknovenite
seriini
portove ne mogat da spodeliat edno i sushto prekusvane na
PC-ta s ISA
shini (mnogoportovite duna imat vgradena elektronika
pozvoliavashta
vsichki ustroistva, polzvashti interfeisa 16550A da spodeliat
edno ili
dve prekusvaniia).
17.2.4 Dostup do komunikatsionnite ustroistva
Povecheto ustroistva v
iadroto sa dostupni chrez spetsialni failove, namirashti se v
direstoriiata
/dev. Komunikatsionnite ustroistva sa dostupni chrez
/dev/ttydN
(dial-in) i /dev/cuaaN (call-out) ustroistva. FreeBSD
osiguriava sushto
initsializirashti ustroistva /dev/ttyidN i /dev/cuai0N;
zaklyuchvashti
ustroitsva /dev/cual0N. Initsializirashtite ustroistva se
izpolzvat za
podavane na parametrite i signalite na komunikatsionnite
portove,
vseki put shtom vliazat v upotreba, kato crtscts za modemite,
izpolzvashti
RTS/CTS signalite za kontrol na potoka danni. Zaklyuchvashtite
ustroistva
sa izpolzvani da zaklyuchat markerite na ustroistvata, da
predotvratiat
drugi programi ili potrebiteli da smeniat opredeleni
parametri. Vizhte
man termios(4), sio(4) i span(1) za informatsiia otnosno
nastroikite na
terminalite, zaklyuchvashti i initsializirashti ustroistva,
zadavane na
terminalnite optsii.
17.2.4.1 Suzdavane na ustroistvata
FreeBSD ot versiia 5.0
nagore vklyuchva failovata sistema devfs(5), koiato
avtomatichno suzdava
ustroistvata pri nuzhda. Ako ste razreshili devfs na vasheto
FreeBSD,
togava mozhete spokoino da propusnete tozi razdel. SHel
skriptut
MAKEDEV v /dev direktoriiata se grizhi za suzdavaneto na
ustroistvata.
Za da suzdadete faila COM1 (port 0) za daiul-up, otidete v
direktoriiata /dev i vuvedete komandata MAKEDEV ttyd0. Po
podoben
nachin se suzdavat failovete za COM2 (port 1): MAKEDEV
ttyd1. MAKEDEV
suzdava ne samo /dev/ttydN failovete, no sushto i /dev/cuaaN,
/dev/cuaiaN, /dev/cualaN, /dev/ttyldN, /dev/ttyidN
ustroistvata.
Sled suzdavaneto na novite
ustroistva, proverete pravata im (osobeno na /dev/cua*), za
da budete
sigurni, che samo tehnite potrebiteli imat prava da chetat i
pishat
vurhu tiah - veroiatno niama da iskate da pozvolite na sredniia
potrebitel da polzva modemite, za da nabira otdalecheni
mashini.
Pravata po podrazbirane vurhu failovete /dev/cua* bi
triabvalo da
budat dostatuchni:
crw-rw---- 1 uucp
dialer 28, 129 Feb 15 14:38 /dev/cuaa1
crw-rw---- 1 uucp
dialer 28, 161 Feb 15 14:38 /dev/cuaia1
crw-rw---- 1 uucp
dialer 28, 193 Feb 15 14:38 /dev/cuala1
Tezi prava pozvoliavat na
potrebitelia uucp i grupata dialer da polzvat ustroistvata
za izhodiashto
nabirane.
17.2.5 Nastroika na seriinite portove
Ustroistvata ttydN ili
cuaaN obiknoveno e obichainoto ustroistvo, koeto shte iskate
da otvorite
za vashite prilozheniia. Kogato protses otvori ustroistvoto, to
shte ima
pod-razbirasht se nabor ot vhodno-izhodni nastroiki. Mozhete
da gi
vidite s komandata:
# stty -a -f
/dev/ttyd1
Kogato promeniate
nastroikite na tova ustroistvo, te sa v sila do negovoto
zatvariane.
Pri novo otvariane, to priema parametrite si po
podrazbirane. Za da
napravite promeni kum podrazbirashtite se nastroiki, mozhete
da otvorite
i nastroite parametrite na ''purvonachalnoto
sustoianie".
Naprimer, za da vklyuchite rezhima CLOCAL, 8 bitovata
komunikatsiia i
XON/XOFF kontrola po podrazbirane na ttyd5, napishete:
# stty -f /dev/ttyid5 clocal cs8 ixon
ixoff
Initsializiraneto na
seriinite ustroitva v tsialata sistema se kontrolira ot faila
/etc/rc.serial. Tozi fail zasiaga nastroikite po
podrazbirane na
upomenatite ustroistva. Ako iskate da predotvratite smianata
na niakoi
nastroiki ot programi, napravete nastroiki kum
''zaklyuchvashtoto"
ustroistvo. Naprimer, ako iskate da ''zakovete"
skorostta na
ttyd5 na 57600 bps, napishete:
# stty -f /dev/ttyld5
57600
Taka ako niakoe prilozhenie,
koeto otvori ttyd5 i se opita da smeni skorostta na porta
shte ostane
''zakovano" na 57600 bps. Estestveno, vie triabva da
ogranichite
pisaneto vurhu initsializirashtite i zaklyuchvashti ustroistva
edinstveno do
root potrebitelia.
17.3 Terminali
napisano ot Sean Kelly
Terminalite osiguriavat
udoben i evtin nachin za dostup do vashata FreeBSD sistema,
kogato ne
ste na konzolata na kompyutura ili ste v svurzana mrezha kum
neia. Tozi
razdel opisva kak da izpolzvate terminali s FreeBSD.
17.3.1 Vidove terminali. Upotreba
Originalnite Unix sistemi
niamaha konzoli. Vmesto tova, horata se logvaha i startiraha
programi
chrez terminali, koito biaha svurzani kum seriinite portove
na
kom-pyutura. Tova dosta napodobiava upotrebata na modem i
terminalen
softuer za nabiraneto na otdalechena mashina s tsel da
izvurshite niakakva
tekstoobrabotka.
Dneshnite PC-ta imat
konzoli, sposobni da pokazvat visokokamestvena grafika, no
vuzmozhnostta da bude ustanovena vruzka chrez serien port vse
oshte
sushtestvuva v nashi dni v pochti vsiaka Unix-podobna
operatsionna sistema;
FreeBSD ne e izklyuchenie. Izpolzvaiki terminal, zakachen kum
svoboden
serien port, mozhete da vlezete i startirate koia da e
tekstoobrabotvashta programa v konzolen rezhim ili v
terminalen emulator
pod X11.
Biznes potrebitelite mogat
da zakachat mnozhestvo terminali kum FreeBSD sistema i da gi
razpredeliat po rabotnite mesta na tehnite sluzhiteli. Za
domashnite
potrebiteli, izlishen kompyutur kato star model na IBM PC ili
Macintosh
mozhe da bude terminal, svurzan kum po-moshtna mashina vurviashta
pod
FreeBSD. Mozhete da preobrazuvate tazi zhelezariia, koiato
veroiatno e
mashina za edin potrebitel v moshtna mnogopotrebitelska
sistema.
Za FreeBSD ima tri vida
terminali:
- obiknoveni terminali
- PC-ta, deistvashti kato
terminali
- H terminali
Ostatukut ot podsektsiiata shte
razgleda imenno tezi tri tipa ustroistva.
17.3.1.1 Obiknoveni terminali
Obiknovenite terminali sa
spetsializirano harduerno oborudvane, pozvoliavashto vi da se
svurzvate
kum kompyutri prez seriini linii. Eto zashto te se narichat oshte
''prosti"
terminali - razpolagat edinstveno s izchislitelna mosht da
pokazvat,
prashtat i poluchavat tekst. Ne mozhete da podkarate nikakvi
programi
vurhu tiah. Tova e rabotata na kompyutura kum koito se
svurzvate - da
startira tekstovi redaktori, kompilatori, elektronna poshta,
igri i
prochie.
Sushtestvuvat hiliadi marki
obiknoveni terminali napraveni ot mnogo proizvoditeli,
vklyuchitelno
VT-100 na DEC i WY-75 na Wyse. Pochti vseki takuv terminal
shte raboti
pod FreeBSD. Niakoi visokokachestveni terminali mogat dori da
pokazvat
grafiki, no samo opredeleni softuerni paketi mogat da se
vuzpolzvat
ot tezi harakteristiki.
Obiknovenite terminali sa
populiarni v rabotni sredi, kudeto rabotnitsite niamat nuzhda
ot dostup
do grafichni prilozheniia, kato tezi osigureni ot X Window
System.
17.3.1.2 PC-ta, deistvashti kato terminali
Ako obiknoveniia terminal
ima edinstveno vuzmozhnost edinstveno da pokazva, prashta i
poluchava
tekst, togava opredeleno vseki svoboden personalen kompyutur
mozhe da
bude obiknoven terminal. Vsichko koeto vi e nuzhno e podhodiasht
kabel i
niakakuv softuer za terminalna emulatsiia na vashata
mashina.
Takova reshenie e populiarno
v domashni usloviia. Naprimer, ako vashata polovinka raboti po
sistemnata konzola na FreeBSD mashinata, mozhete da
izvurshvate
otdalechena tekstoobrabotka po sushtoto vreme ot po-slab
kompyutur,
sluzhesht kato terminal kum FreeBSD mashinata.
17.3.1.3 H terminali
X terminalite sa
nai-elegantniia tip. Vmesto da se vruzvat kum serien port,
te
obiknoveno se vruzvat kum mrezha kato Ethernet. V sustoianie
sa da
pokazvat proizvolno X prilozhenie.
Predstaviame X terminalite
samo za pulnota. Tazi chast ne pokriva tiahnata instalatsiia,
nastroika
ili upotreba.
17.3.2 Nastroika
Tozi razdel opisva kakvo e
nuzhno da nastroite na vashata FreeBSD mashina, za da
razreshite login
sesiia prez terminal. Predpolaga se, che veche ste nastroili
iadroto si
da podurzha seriinite portove kum koito terminalut e svurzan
i ste
vurzali samiia terminal kum mashinata.
Spomnete si ot glava 7, che
protsesa init e otgovoren za kontrola na protsesi i
initsializatsiiata na
sistemata. Edna ot zadachite na init e da chete faila
/etc/ttys i
startira getty protses za nalichnite terminali. Getty
protsesut ot svoia
strana e otgovoren za prochitaneto na potrebitelskoto ime i
startiraneto na programata login. Sledovatelno, za da
nastroite
terminalite za vasheto FreeBSD, stupkite po-dolu triabva da
budat
izpulneni kato root:
- Dobavete red kum
/etc/ttys za suotvetniia fail v /dev direktoriiata za serien
port, ako
veche ne e tam.
- Zadaite
/usr/libexec/getty da vurvi vurhu porta i opredelete
podhodiashtiiat
getty tip ot faila /etc/gettytab.
- Zadaite vida terminal
po podrazbirane
- Vklyuchete porta (ot
''off" na ''on")
- Zadaite dali root mozhe/
ne mozhe da se logva ot tozi port
(''secure"/"insecure").
- Nakaraite init da prochete nanovo faila /etc/ttys.
Kato dopulnitelna stupka,
mozhe da zhelaete da suzdadete sobstvena getty definitsiia za
upotreba v
stupka 2 chrez vuvezhdane na danni v /etc/gettytab. Tazi
glava ne
obiasniava kak da napravite tova; za poveche informatsiia vizhte
man
gettytab(5) i man getty(8).
17.3.2.1 Dobaviane na red kum /etc/ttys
Failut /etc/ttys izbroiava
vsichki portove a vashata FreeBSD sistema, ot koito iskate na
razreshite
vlizane. Naprimer, purvata virtualna konzola ttyv0
prisustva v tozi
fail. Mozhete da vlezete v konzolata, izpolzvaiki reda za
neia v tozi
fail. /etc/ttys sudurzha sushto opisaniia na drugite virtualni
konzoli,
seriinite portove i psevdo terminalite. Za svurzan
terminal, prosto
izbroite failcheto v /dev direktoriiata bez prefiksa /dev
(/dev/ttyv0 v
/etc/ttys shte bude opisan kato ttyv0).
Podrazbirashtata se FreeBSD
instalatsiia vklyuchva fail /etc/ttys s podruzhka za purvite
chetiri
seriini porta: ot ttyd0 do ttyd3. Ako zakachate terminal kum
edin ot
tezi portove, ne e nuzhno da dobaviate drug red.
Primer
17-1 Opisvane na terminali v /etc/ttys
Da predpolozhim, che bihme
iskali da svurzhem dva terminala kum sistemata: Wyse-50 i
staro 286
IBM PC, vurviashto s Procomm terminalen softuer, emulirasht
VT-100.
Vruzvame Wyse na vtoriia serien port i 286-tsata kum shestiia
serien port
kum shestiia serien port (port na multiportova seriina
karta).
Suotvetnite redove v /etc/ttys bi izglezhdalo taka:
ttyd11
''/usr/libexec/getty std.38400''2
wy503
on4
insecure5
ttyd5
''/usr/libexec/getty std.19200'' vt100 on
insecure
Nakaraite init da prochete otnovo /etc/ttys
Sled napravenite promeni
vuv faila /etc/ttys, vie triabva da izpratite SIGHUP (signal
za
''zatvariane") signal kum protsesa init, za da go
prinudite da
prochete nanovo konfiguratsionniia si fail. Naprimer:
# kill -HUP 1
Zabelezhka: init e vinagi
purviiat protses v sistemata, sledovatelno vinagi shte ima
identifikatsionen nomer (PID) 1. Ako vsichko e nastroeno
pravilno,
kabelite sa na miasto i terminalite sa vklyucheni, togava
getty (chete se
geti, bel. prev.) protses shte bude zadeistvan za vseki
terminal i bi
triabvalo da vidite na tiah login prompt na tozi etap.
17.3.3 Elimirane na terminalni problemi
Dori s nai-fanatichno
vnimanie po otnoshenie na podrobnostite, neshto mozhe da se
oburka po
vreme na nastroikata na terminala. Eto spisuk na simptomite
i niakoi
primerni resheniia.
- Ne se poiaviava login prompt
- Poiaviavat se ''maimuni" vmesto login prompt
- Bukvite se poiaviaviat dvoini, parolata se vizhda pri
vuvezhdane
17.3.3.1 Ne se poiaviava login prompt
Uverete se, che terminalut e
vurzan i vklyuchen. Ako izpolzvate PC, proverete dali
softuerut za
terminalna emulatsiia vurvi na pravilniia serien port.
Proverete oshte:
- dali kabelut e vurzan zdravo ot dvete strani
- dali tova e pravilniiat tip kabel
- dali terminalut i FreeBSD sistemata sa s ednakvi
nastroiki otnosno skorostta na
predavane na informatsiiata i pariteta. Ako razpolagate s
terminal,
sposoben da predava obrazi, pogrizhete se kopchetata za
kontrast i
iarkost da sa privedeni v deistvie. Za pechatashti terminali,
osigurete
dostatuchno hartiia i mastilo.
- Proverete dali ima
deistvasht getty protses, koito da obsluzhva terminala. Na
primer, za da
poluchite spisuk na startiranite getty protsesi s komandata
ps,
vuvedete:
# ps -axww|grep getty
Bi triabvalo da vidite red
za terminala. Naprimer, primerut po-dolu pokazva, che e
startirano
getty na vtoriia serien port ttyd1 i izpolzva reda std.38400
ot
/etc/gettytab:
22189 d1 Is+
0:00.03 /usr/libexec/getty std.38400 ttyd1
Ako niama startirano getty,
proverete dali ste razreshili porta ot /etc/ttys. Sushto
zapomnete da
vuvedete kill -HUP 1 sled promiana na /etc/ttys faila.
Ako ima startiran getty
protses, no terminalut vse oshte ne pokazva login prompt ili
pokazva
takuv, no ne vi pozvoliava da pishete, veroiatno toi ili
kabelut kam
nego ne podurzhat ''harduerno rukostiskane" (hardware
handshaking).
Opitaite se da smenite reda
v /etc/ttys ot std.38400 na 3wire.38400. Zapomenete da
vuvedete kill
-HUP 1, sled promianata na /etc/ttys. Nizut 3wire e podoben
na std, s
razlikata che eliminira ''harduernoto rukostiskane".
Mozhe da vi
se nalozhi da namalite skorostta ili da razreshite softuerniia
kontrol
pri izpolzvaneto na 3wire, za da predotvratite prepulvane
na
buferite.
17.3.3.2 Poiaviavat se ''maimuni" vmesto login
prompt
Uverete se, che terminalut i
FreeBSD sa ''suglasni" po otnoshenie skorostta na obmen
na
informatsiiata i pariteta. Proverete getty protsesite, za da
ste sigurni
che pravilniiat tip ot tiah e v upotreba. Ako tova ne e taka,
redaktiraite /etc/ttys i startiraite kill -HUP 1.
17.3.3.3 Bukvite se poiaviavat dvoini, parolata se vizhda
pri vuvezhdane
Prevklyuchete terminala ili
emulirashtiiat softuer ot ``half duplex'' ili ``local echo''
na ``full
duplex.''
17.4 ''Dial-in" uslugi
Napisano ot Guy Helmer. Dobavki ot Sean
Kelly.
Nastroikata na vashata
FreeBSD system za vhodiashto nabirane (dial-in) e mnogo shodno
na
vruzvaneto na terminalite, s razlika che se zanimavate s
modemi vmesto
s terminali.
17.4.1 Vutreshni sreshtu vunshni modemi
Vunshnite modemi izglezhdat
po-udobni za daiul-up, ponezhe chesto mogat da budat
nastroeni
poluprozrachno chrez parametri, suhraniavani v obiknovenata
pamet.
Obiknoveno imat i svetlinni indikatori, otraziavashti
sustoianieto na
vazhni RS-232 signali. Migashtite lampichki vpechatliavat
posetitelite, a
sushto taka sa mnogo polezni za diagnostitsirane dali modemut
raboti
kakto triabva.
Vutreshnite modemi obichaino
polzvat nastroikite ot BIOS, taka che tiahnata nastroika mozhe
da se
ogranichi do podavane na DIP parametri. Ako vashiiat vutreshen
modem ima
lampichki, veroiatno shte bude trudno da gi gledate, kogato
kapakut na
kompyutura e na miastoto si.
17.4.1.1 Modemi i Kabeli
Ako izpolzvate vunshen
modem, shte vi triabva podhodiasht kabel. Standarten RS-232S
serien kabel
napulno shte udovletvori nuzhdite vi, ako v nego sa zalozheni
normalnite
signali:
- Predadeni danni (TD)
- Polucheni danni (RD)
- Zaiavki za izprashtane (RTS)
- Gotovo za izprashtane (CTS)
- Podgotveni danni (DSR)
- Terminalut za danni gotov (DTR)
- Otkrivane na prenosna sreda (CD)
- Nulev signal (SG)
FreeBSD se nuzhdae ot RTS i
CTS signalite za kontrolirane na pototsite ot informatsiia,
nadhvurliashti
skorost ot 2400 bps; CD signala za otkrivane na otgovor na
zaiavkata
ili prekusvane, i DTR za vrushtane na modema v sustoianie na
pokoi sled
zavurshvane na obmennata sesiia. Niakoi kabeli sa napraveni
bez
nalichieto na vsichki neobhodimi signali. Pri nalichie na
trudnosti,
kato produlzhavashta login sesiia sled prekusvane na liniiata,
prichinata
veroiatno e v kabela.
Podobno na drugi
Unix-proizvodni operatsionni sistemi, FreeBSD izpolzva
harduernite
signali, za da otkrie koga e otgovoreno na obazhdaneto,
liniiata e bila
prekusnata ili da razkachi i vurne modema v sustoianie na
pokoi sled
obazhdane. FreeBSD izbiagva izprashtaneto na komandi kum modema
i ne
nablyudava otchetite za statusa, koito toi podava. Ako ste
zapoznati
sus svurzvaneto na sistemi za obmen na failove (BBS),
bazirani na PC
platformata, tova mozhe da vi izglezhda stranno.
17.4.2 Izbor na serien interfeis
FreeBSD podurzha NS8250,
NS16450, NS16550 i NS16550A bazirani EIA RS-232C (CCITT
V.24)
interfeisi za komunikatsiia. Ustroistvata, podurzhashti 8250 and
16450
bazirani interfeisi imat bufer ot edin znak. Ustroistvata
razraboteni
za 16550 baziraniia interfeis, razpolagat s 16 znachen bufer,
davasht
po-dobra proizvoditelnost. (Greshki v obiknovenite
16550-bazirani
standarti prechat na upotrebata na 16 znachniia bufer, taka che
izpolzvaite 16550A-bazirani ustroistva ako e vuzmozhno).
Ponezhe
ustroistvata s ednoznachen bufer iziskvat poveche rabota ot
strana na
operatsionnata sistema v sravnenie s 16-znachnite buferi,
16550A-baziranite seriini karti sa za predpochitane. Ako
survurut vi
ima mnogobroini aktivni seriini portove ili shte poeme goliam
trafik,
kartite bazirani na 16550A protokola sa po-dobri i davat
po-malko
greshki.
17.4.3 Burz pregled
Kakto pri terminalite, init
protsesa zadeistva getty takuv za vseki nastroen serien port
za
vhodiashti vruzki (dial-in. Naprimer, ako e zakachen modem kum
/dev/ttyd0, rezultut ot ps ax, veroiatno shte bude tozi:
4850 ?? I 0:00.09
/usr/libexec/getty V19200 ttyd0
Kogato potrebitel nabere
liniiata, na koiato e modema i se ustanovi vruzka, se otchita
signal CD
(otkrita prenosna sreda) ot modema. Qdroto zabeliazva
otkrivaneto na
nositelia i zavurshva otvarianeto na porta ot getty. Getty
protsesut puk
izprashta login prompt na predvaritelno zadadenata mu nachalna
skorost.
Getty nablyudava dali se poluchavat pravilnite znatsi i v
tipichnata si
konfiguratsiia e zalozhena vuzmozhnostta da prenastroi
skorostta si, ako
si, ako otkrie neshto neredno v prenosa (dulzhashto veroiatno na
razlichiia
mezhdu skorostite na modema i negovata). Tova produlzhava,
dokato
neshtata ne se opraviat.
Sled vuvezhdane na
potrebitelsko ime, getty izpulniava komandata
/usr/bin/login,
zavurshvashta protsesa na vlizane v sistemata chrez zapitvane za
parolata
na potrebitelia i startirane na negoviia komanden
interpretator (shel).
17.4.4 Konfiguratsionni failove
Sushtestvuvat tri
konfiguratsioni faila v direktoriiata /etc, koito veroiatno shte
triabva da
redaktirate, za da razreshite dail-up dostup do vashata
FreeBSD
sistema.Purviiat fail - /etc/gettytab, sudurzha nastroikite
za demona
/usr/libexec/getty. Vtoriiat, /etc/ttys sudurzha parametrite,
koito
''kazvat" na /sbin/init na koi terminalni ustroistva
(tty) da se
startira getty protses. Nakraia, mozhete da postavite
nastroikata na
seriinite portove v /etc/rc.serial.
Ima dve mislovni shkoli po
otnoshenie na daiul-upa v YUniks. Ednata obicha da nastroiva
modemite i
survurite si taka,che nezavisimo ot skorostta s koiato
otdalecheniiat
potrebitel vliza, skorostta mezhdu survura i modema kum nego
e
fiksirana. Polzata ot tozi podhod e, che potrebiteliat vizhda
login
prompt nezabavno. Nedostatukut e, che survurut ne znae kakuv
e
istinskiiat kapatsitet na potrebitelia, taka che programi kato
Emacs niama
da prenastroiat tehnite metodi na zapulvane na ekrana i taka
da
podobriat proizvoditelnostta si pri po-bavni vruzki.
Drugata shkola nastroiva
modemite na promenliva skorost v zavisimost ot
vuzmozhnostite na
otdalecheniia potrebitel. Naprimer, vruzki ot protokol
V.32bis (14.4
Kbps), mogat da nakarat modema da podava informatsiia na 19.2
Kbps, dokato pri 2400 bitovite
vruzki shte se podavat danni na 2400 bps.
Ponezhe getty ne razbira kakvito i da bilo otcheti za
skorostta na
modema, toi podava login: prompt na purvonachalnata si
skorost i gleda
znatsite, idvashti kato otgovor. Ako potrebiteliat vizhda
maimuni,
predpolaga se che im e izvesten faktut da natiskat klavisha
Enter,
dokato vidiat iasen red za vlizane. Ako skorostite ne
suvpadat, getty
ne vizhda nishto, opitva da otide na sledvashtata skorost i
podava reda
login: otnovo. Tazi protsedura mozhe da produlzhi do pulno
otchaianie na
potrebitelia, no obiknoveno se iska edno-dve chukvaniia po
klaviaturata
predi da se vidi dobur prompt. Ochevidno, tazi
posledovatelnost na
vlizane ne izglezhda tolkova chista kakto predishniia metod na
''fiksirana skorost", no potrebitelite s bavni vruzki
shte poluchat
po-dobro vzaimodeistvie s prilozheniiata, zaemashti tsial
ekran.
Tazi sektsiia shte se opita da
dade balansirana informatsiia za nastroika, no ima
predpochitaniia kum
vtoriia metod.
17.4.4.1 Nastroivane na fiksirana skorost
Ako shte fiksirate skorostta
na vashiia modem, veroiatno niama da vi se nalaga da pravite
nikakvi
promeni v /etc/gettytab.
17.4.4.2 Nastroika spored skorostta na potrebitelia
SHTe se nalozhi da napravite
opisanie na zhelanata skorost v /etc/gettytab, za da mozhe
getty da
poluchi informatsiia za zhelanite parametri otnosno vashiia
modem. Ako
razpolagate s 2400 bitov takuv, mozhete da izpolzvate
sushtestvuvashtiiat
D2400 niz.
#
#Fast dialup
terminals, 2400/1200/300 rotary (can start either
way)
D2400|d2400|Fast-Dial-2400:\
:nx=D1200:tc=2400-baud:
3|D1200|Fast-Dial-1200:\
:nx=D300:tc=1200-baud:
5|D300|Fast-Dial-300:\
:nx=D2400:tc=300-baud:
Ako imate po-burz modem, shte
se nuzhdaete ot niz v /etc/gettytab. Eto edin, koito bihte
mogli da
izpolzvate za 14.4 kilobitov modem s maksimalna skorost ot
19.2 Kbps:
# Additions for a V.32bis
Modem
um|V300|High Speed Modem at
300,8-bit:\
:nx=V19200:tc=std.300:
un|V1200|High Speed Modem at
1200,8-bit:\
:nx=V300:tc=std.1200:
uo|V2400|High Speed Modem at
2400,8-bit:\
:nx=V1200:tc=std.2400:
up|V9600|High Speed Modem at
9600,8-bit:\
:nx=V2400:tc=std.9600:
uq|V19200|High Speed Modem at
19200,8-bit:\
:nx=V9600:tc=std.19200:
Rezultatut e 8 bitovi
vruzki bez paritet. Gorniiat primer zapochva predavaneto sus
skorost
19.2 Kbps (za V.32 protokol), posle preminava prez 9600 bps
(otnovo pri V.32 protokol), 2400 bps,
1200 bps, 300 bps i nakraia otnovo kum 19.2 Kbps. TSiklichnoto
preminavane e postignato s vuzmozhnostite na
funktsiiata nx=(''sledvashta tablitsa"). Vseki red izpolzva
red
tc=('' produlzhitelnost na tablitsata"), za da podbere
ostanalite
''standartni" nastroiki za vsiaka skorost.
Ako imate 28.8 K modem i/ili zhelaete da se vuzpolzvate ot
kompresiiata na
danni, shte triabva da nastroite po-visoko suotnoshenie na
predavane na
danni. Eto primer za niz v /etc/gettytab, zapochvasht s 57.6
Kbps:
# Additions for a V.32bis or V.34
Modem
# Starting at 57.6 Kbps
vm|VH300|Very High Speed Modem at
300, 8-bit:\
:nx=VH57600:tc=std.300:
vn|VH1200|Very
High Speed Modem at 1200, 8-bit:\
:nx=VH300:tc=std.1200:
vo|VH2400|Very
High Speed Modem at 2400, 8-bit:\
:nx=VH1200:tc=std.2400:
vp|VH9600|Very
High Speed Modem at 9600, 8-bit:\
:nx=VH2400:tc=std.9600:
vq|VH57600|Very
High Speed Modem at 57600, 8-bit:\
:nx=VH9600:tc=std.57600:
Ako imate baven protsesor
ili natovarena sistema i niamate seriini portove bazirani na
16550A
interfeisa, mozhe da poluchite ''sio"/"silo"
greshki pri
57.6 Kbps.
17.4.4.2 /etc/ttys
Nastroikata na faila
/etc/ttys beshe pokazana v primer 17-1. Konfiguratsiiata za
modemi e
podobna, no nie triabva da podadem razlichen parametur kum
getty i
opredelim razlichen vid terminali. Obshtiiat format za modemi s
fiksirana
skorost i za takiva s promenliva e:
ttyd0 ''/usr/libexec/getty xxx dialup
on
Purviiat argument v gorniiat
red e failut na ustroistvoto - v tozi sluchai s ttyd0 se
oznachava
/dev/ttyd0 faila, koito getty shte nablyudava. Vtoriiat -
''/usr/libexec/getty xxx'' (xxx shte bude zameneno ot
purvonachalnata
sposobnost na gettytab da otkriva terminala), e protsesut
init, koito
shte vurvi nad ustroistvoto. Tretiiat argument dialup
e tipa terminal po podrazbirane. CHetvurtiiat parametur on
ukazva na init, che liniiata e funktsionirashta. Mozhe da ima i
peta optsiia secure, no tia triabva da se
izpolzva edinstveno za fizicheski sigurni terminali (kato
sistemnata konzola). Podrazbirashtiiat se tip terminal
(dialup v gorniia primer) mozhe da zavisi ot mestnite
predpochitaniia.
dialup e traditsionniiat tip terminal za daiul-up linii, taka
che
potrebitelite da nagodiat tehnite login skriptove da zasichat
koga
terminalut e dial-up i avtomatichno da nastroivat svoia tip
terminal.
Avtorut obache, smiata za po-lesno da zadade vt102 parametura
na
negoviia sait, tui kato potrebitelite mu izpolzvat VT102
emulatsiia na
tehnite mashini.
Sled kato ste promenili
/etc/ttys, triabva da pratite na init HUP signal, za da si
prochete
nanovo anstroikite. Mozhe da izpolzvate
# kill -HUP 1
da izpratite signala. Ako
tova e purvata nastroika na survura, dobre e da izchakate
modemite da
budat konfigurirani i svurzani pravilno predi da pratite na
init HUP
signal.
17.4.4.2.1 Konfiguratsiia s fiksirana skorost
Za mashini s postoianna
skorost na modemite, vashiiat niz v ttys triabva da ima
argument za
konstantna skorost podavana na getty. Za modem, chiito port
e
''zakovan" na 19.2 Kbps, opisut v ttys veroiatno shte
izglezhda
taka:
ttyd0
''/usr/libexec/getty std.19200'' dialup on
Ako vashiiat modem e zaklyuchen
na razlichno suotnoshenie na skorostta, zamenete s
podhodiashtata skorost
std.vashata skorost vmesto std.19200. Budete sigurni, che
izpolzvate
validen tip modem, opisan v /etc/gettytab.
17.4.4.2.2 Nastroika spored skorostta na
potrebitelia
Pri konfiguratsii,
adaptirashti se kum skorostta na potrebitelia, vashiiat niz v
ttys triabva
da sochi kum podhodiashtoto nachalo - niza ''avtomatichna
skorost"
(auto-baud) v /etc/gettytab. Naprimer, ako biahte dobavili
gornoto
reshenie za modem s promenliva skorost, startirasht s 19.2
Kbps ( red v
gettytab, sudurzhasht izraza V19200 kato purvi argument), to
nastroikata
v ttys veroiatno shte izglezhda taka:
ttyd0
''/usr/libexec/getty V19200'' dialup on
17.4.4.3 /etc/rc.serial
Visokoskorostnite modemi,
polzvashti protokolite V.32, V.32bis i V.34, triabva da
izpolzvat
hardueren (RTS/CTS) kontrol vurhu potoka ot informatsiia.
Mozhe da
dobavite stty komandi kum /etc/rc.serial, za da podadete
parametrite
za hardueren kontrol vurhu SOM portovete na iadroto.
Naprimer, za da nastroite
initsializatsionnite ustroistva na COM2 portovete s optsii
termios i
crtscts za dial-in and dial-out uslugi, slednite redove
mogat da
budat dobaveni kum /etc/rc.serial:
# Serial port initial
configuration
stty -f /dev/ttyid1
crtscts
stty -f /dev/cuai01
crtscts
17.4.5 Parametri na modema
Ako imate modem, chiito
parametri mogat da budat postoianno suhraneni v obiknovenata
pamet, shte
se nuzhdaete ot terminalno-emulirashta programa (kato Telix
pod MS-DOS
ili tip pod FreeBSD), za da gi nastroite. Svurzhete se s
modema,
izpolzvaiki nachalnata skorost na getty i nastroite
obiknovenata pamet
na modema spriamo tezi iziskvaniia za nalichni signali:
- podavane na CD signala pri svurzvane
- DTR se podava za nachalo na
rabota; prekusvaneto na DTR spira transfera i
reinitsializira modema
- kontrol vurhu gotovite za prenos danni (CTS)
- Zabranete softuerniia kontrol (XON/XOFF)
- kontrol vurhu poluchenite danni
- Tih rezhim
- Komandite ne se povtariat
Molia prochetete
dokumentatsiiata kum vashiia modem, za da otkriete koi komandi
i/ili DIP
parametri triabva da mu budat dobaveni.
Naprimer, za da nastroite
vunshen USRobotics Sportster 14400 Kbps suglasno gornite
iziskvaniia,
mozhe da se vuvedat slednite AT komandi:
ATZ
AT&C1D2&H1I0R2W
Mozhe da nastroite i drugite
parameti, kato dali da izpolzva V.42bis i/ili MNP5
kompresiia.
Vunshnite USR Sportster
14400 Kbps imat niakoi DIP optsii, koito triabva da se
zadadat; za
ostanlite marki i modeli mozhe da izpolzvate algorituma
po-dolu kato
primer:
- Optsiia 1: Vklyuchen - Obiknoven DTR
- Optsiia 2: neizvesten status - (Otgovor s dumi/s
tsifri)
- Optsiia 3: Vklyuchen - Podtisnati kodove za rezultat
- Optsiia 4: Izklyuchen - Bez eho, komandi v offline
rezhim
- Optsiia 5: Vklyuchen - Avtomatichno otgovoriane
- Optsiia 6: Vklyuchen - Obiknoven signal za otkrita
prenosna sreda
- Optsiia 7: Vklyuchen - Zaredi nastroikite po podrazbirane
v obiknovenata pamet
- Optsiia 8: neizvesten status (Intuitiven/Obiknoven
rezhim)
Kodovete za rezulatatite
triabva da budat zabraneni/podtisnati pri dial-up, za da
budat
izbegnati problemi, koito mogat da se poiaviat ako getty po
pogreshka
dade login: prompt na modem namirasht se v komanden rezhim.
Modemut shte
otvurne sus sushtata komanda ili shte dade kod za rezultat.
Poluchava se
produlzhitelen, glupav razgovor mezhdu getty i modema.
<< Oshte po-dobur Red Hat 8.x | CHesto zadavani vuprosi za Squid (chast 3) >>
|
|