ot Dimitur Vasilev(25-02-2003)

reiting (13)   [ dobre ]  [ zle ]

Printer Friendly 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:

  1. kak da svurzhete terminalite kum vashata FreeBSD sistema
  2. kak da izpolzvate modem, za da se svurzvate kum otdalecheni mashini
  3. kak da pozvolite na otdalecheni potrebiteli da vlizat vuv vashata sistema chrez modem
  4. kak da startirate vashata mashina prez seriina konzola

Predi da produlzhite s cheteneto, vie triabva da imate poznaniia za:

  1. tova kak da kompilirate i instalirate novo iadro (Glava 9);
  2. pravata i protsesite v Unix (Glava 3);
  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:

  1. 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.
  2. 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:

  1. obiknoveni terminali
  2. PC-ta, deistvashti kato terminali
  3. 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:

  1. Dobavete red kum /etc/ttys za suotvetniia fail v /dev direktoriiata za serien port, ako veche ne e tam.
  2. Zadaite /usr/libexec/getty da vurvi vurhu porta i opredelete podhodiashtiiat getty tip ot faila /etc/gettytab.
  3. Zadaite vida terminal po podrazbirane
  4. Vklyuchete porta (ot ''off" na ''on")
  5. Zadaite dali root mozhe/ ne mozhe da se logva ot tozi port (''secure"/"insecure").
  6. 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.

  1. Ne se poiaviava login prompt
  2. Poiaviavat se ''maimuni" vmesto login prompt
  3. 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:

  1. dali kabelut e vurzan zdravo ot dvete strani
  2. dali tova e pravilniiat tip kabel
  3. 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.
  4. 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.



Stranitsi: [1] 2

<< Oshte po-dobur Red Hat 8.x | CHesto zadavani vuprosi za Squid (chast 3) >>