  Linux, a porty szeregowe.
  by Greg Hankins, greg.hankins@cc.gatech.edu
  v1.10, 31 March 1997
  tumaczenie piotr.pogorzelski@ippt.gov.pl
  w1.0; Listopad 1997



  Niniejszy dokument opisuje zagadnienia zwizane z konfiguracj i
  obsug portw szeregowych i programw komunikacyjnych.

  ______________________________________________________________________

  Table of Contents




















































  1. Wprowadzenie.

     1.1 Prawa autorskie.
     1.2 Nowe wersje tego dokumentu.
     1.3 Uwagi i komentarze.
     1.4 Zrzeczenie si odpowiedzialnoci.

  2. Obsugiwany sprzt.

     2.1 Standardowe karty portw szeregowych komputerw PC.
     2.2 Modemy Plug And Play (PnP).
     2.3 Karty wieloportowe (z ukadem 16450/16550A).
     2.4 Inteligentne karty wieloportowe.
     2.5 Nieobsugiwane urzdzenia szeregowe.

  3. Jak nazywaj sie porty szeregowe?

     3.1 Urzdzenia portw szeregowych i numery w
        3.1.1 Tworzenie plikw urzdze w katalogu
     3.2 Uwagi na temat kart wieloportowych.
     3.3 Uwagi na temat inteligentnych kart wieloportowych.

  4. Interesujce oprogramowania, o ktrym powiniene wiedzie.

     4.1 Co to takiego
        4.1.1 Troch o
        4.1.2 Kilka sw na temat
        4.1.3 I na koniec
     4.2 Co to takiego

  5. Jak mog zadzwoni z mojego modemu?

     5.1 Wymagania sprztowe.
        5.1.1 Uwagi na temat modemw wewntrznych.
     5.2 Rozmowy z twoim modemem.
     5.3 Konfiguracja modemw wyjciowych.
     5.4 Sprzetowe sterowanie przepywem danych.

  6. Jak dzwoni na zewntrz i do mojego komputera, wykorzystujc jednoczenie

     6.1 Konfiguracja modemu do dzwonienia na zewntrz i przyjmowania pocze.
     6.2 Instalacja
     6.3 Konfiguracja
     6.4 Przystosowywanie

  7. Jak skonfigurowa terminal przyczony do mojego komputera PC?

     7.1 Wymagania sprztowe.
     7.2 Konfigurowanie
     7.3 Uwagi o konfiguracji komputera PC jako terminala

  8. Czy mog uywa wicej ni 2 porty szeregowe?

     8.1 Wybr przerwa dla urzdze szeregowych.
     8.2 Ustawianie adresw urzdze szeregowych.

  9. Jak ustawi port szeregowy na wiksze prdkoci? Jak prdko powinienem stosowa do mojego modemu?

  10. Narzdzia i programy komunikacyjne.

  11. Sztuczki i chwyty.

     11.1 (TT
     11.2 Automatyczne ustawinie rodzaju terminala.
     11.3 Kolorowe
     11.4 Drukowanie na drukarce przyczonej do terminala.
     11.5 Czy Linux potrafi automagicznie skonfigurowa urzdzenia szeregowe?
        11.5.1 Uwagi na temat kart wieloportowych.
     11.6 Korzystanie z konsoli przez port szeregowy.
     11.7 Wysze prdkoci transmisji.

  12. Krok dalej.

     12.1 Co to s pliki blokady (lockfiles)?
     12.2 ``baud'' vs. ``bps''.
     12.3 Co to jest UART? Jaki ma wpyw na osigi portu szeregowego?
     12.4 Jaka jest naprawd rnica midzy urzdzeniami

  13. Radzenie sobie z kopotami.

     13.1 Cay czas pojawia si komunikat ``line
     13.2 Kiedy prbuj zadzwoni dostaj komunikat ``/dev/cua
     13.3 Cay czas otrzymuj ``Id S
     13.4 Porty szeregowe s powolne, lub mog przesya informacje tylko w jedn strone.
     13.5 Moj modem blokuje si po tym, jak kto si rozczy, lub
     13.6 Mam terminal podczony do mojego PC, lecz po wpisaniu identyfikatora blokuje si.
     13.7 Moj modem traci dane przy wikszych prdkociach.
     13.8 Podczas startu Linux nie raportuje portw szeregowych w sposb jaki je ustawiem.
     13.9 (TT
     13.10 Widz na ekranie miesznie wygldajce znaczki.
     13.11 (TT

  14. Inne rda informacji.

  15. Wsppraca przy tworzeniu tego dokumentu.

  16. Od tumacza



  ______________________________________________________________________

  1.

  Wprowadzenie.


  Przed Tob Linux Serial-HOWTO. Wszystko na temat konfiguracji modemw
  i terminali pod Linux-em. Troch sztuczek na temat portw szeregowych
  i porad na temat najczstszych kopotw. Niniejszy dokument
  koncentruje si na sytemech pracujcych na komputerach klasy x86, cho
  zawarte w nim informacje mog by prawdziwe rwnie dla innych
  architektur sprztowych.


  1.1.

  Prawa autorskie.

  Prawa autorskie Linux Serial HOWTO nale do Grega Hankinsa.
  Dokumenty HOWTO mog by powielane i redystybuowane w caoci lub w
  czci, na dowolnym noniku fizycznym lub elektronicznym, tak dugo,
  jak niniejsza notka o prawach autorskich jest umieszczana na
  wszystkich kopiach. Dystrybucja komercyjna jest dozwolona, a wrcz do
  niej zachcamy. Autor chciaby by poinfirmowany o takim fakcie.

  Wszelkie tumaczenia, prace powstae na bazie tego dokumentu lub prace
  zawierajce fragmenty tego dokumentu musz by objte tymi samymi
  warunkami, co orygina. To znaczy, e nie moesz na dokumenty powstae
  z HOWTO nakada dodatkowych ogranicze na ich rozpowszechnianie. W
  pewnych warunkach moemy odstpi od tej reguy; prosze skontaktowa
  si w tym celu z koordynatorem HOWTO - adres mona znale dalej w
  dokumencie.


  Chcemy aby ten dokument by rozpowszechniany na wszelkie moliwe
  sposoby, chcemy rwnie zachowa prawa autorskie do tego dokumentu i
  chcielibymy by informowani o wszelskich nowych planach redystrybucji
  dokumentw HOWTO.

  Jeli masz jakie pytania, skontaktuj si z Gregiem Hankinsem,
  koordynatorem projektu Linux HOWTO -
  gregh@sunsite.unc.edu tel. +1 404 853 9989.



  1.2.

  Nowe wersje tego dokumentu.

  Nowe wersje Serial HOWTO bd dostpne pod
  adresemftp://sunsite.unc.edu:/pub/Linux/docs/HOWTO/Serial-HOWTO i na
  wszystich kopiach (mirrorach). Dokument jest dostpny rwnie w innych
  formatach, mozna je znale w katalogu other-formats. Serial-HOWTO
  jest dostne rwnie pod
  adresemhttp://sunsite.unc.edu/LDP/HOWTO/Serial-HOWTO.html i co miesic
  bdzie wysyane na comp.os.linux.answers.

  Najnowsze wersje tumaczenia mona jak zwykle znale na stroanch
  http://www.jtz.org.pl/  lub http://jtz.ippt.gov.pl/.



  1.3.

  Uwagi i komentarze.

  Prosze, przysyajcie wszelkie uwagi, komentarze oraz dodatkowe
  materiay. Zawsze jestem chtny usysze co mylicie o HOWTO. Zawsze
  staram si wprowadza ulepszenia. Powiedzcie mi dokadnie czego znie
  zrozumielicie, lub co mogoby by napisane janiej. Moecie si ze
  mn skontakowa piszc na adres greg.hankins@cc.gatech.edu. Na kady
  list odpisz, cho moe mi to zajc tydzie albo wicej, w  zalenoci
  jak jestem aktualnie zajty. Otrzymuje mnstwo listw od root-a i ze
  le skonfigurowanych komputerw. Wysyajcie do mnie listy, ze
  sprawdzonych kont pocztowych. Jeli nie odpowiem w cigu dwch
  tygodni, napiszcie do mnie raz jeszcze.



  Mona mnie zapa pod adresem:
  Greg Hankins
  College of Computing
  801 Atlantic Drive
  Atlanta, GA 30332-0280
  to poczt slimacz, lub
  http://www.cc.gatech.edu/staff/h/Greg.Hankins/.


  Prosz, podawajcie wersje dokumentu, ten dokument nosi numer 1.10.








  1.4.

  Zrzeczenie si odpowiedzialnoci.

  Podane tutaj przykady lub odpowiedzi nie musz by odpowiednie dla
  wszystkich komputerw.



  2.

  Obsugiwany sprzt.

  Linux potrafi wsppracowa z nastpujcymi urzdzeniami szeregowymi.


  2.1.

  Standardowe karty portw szeregowych komputerw PC.


    standardowe karty PC z portami szeregowymi (COM1 - COM4), do
     ktrych podcza si urzdzenia zewntrzne (modemy, myszki,
     drukarki, itp...)

    standardowe wewntrzne modemy dla komputerw IBM PC (COM1-COM4).

    Quickpath Systems Port-Folio 550e (pozwala na wybr jednego z
     przerwa 3, 4, 5, 9, 10, 11, 12, i 15)

  Uwaga: ze wzgldu na konflikt adresw nie moesz uywa jednoczenie
  portu COM4 i karty video IBM8514.

  2.2.

  Modemy Plug And Play (PnP).

  Modemy PnP bd pracoway pod Linux-em. Jednake odradzam ich
  uytkowanie, poniewa s trudne we  wspyciu. Jest kilka rzeczy,
  ktrych moesz sprbowa:

    Sprbuj wyczy udogodnienie PnP w BIOSie komputera i w modemie.

    Wystertuj Win95, skonfiguruj modem i sprawd, czy zachowuje
     ustawienia po uruchomieniu Linux-a. Jeli nie, wtedy:

    Uruchom Win95, skonfiguruj modem i zrestartuj na ciepo Linux-a aby
     zapamita ustawienia modemu. Moesz to zrobi korzystajc z
     adowacza loadlin.

    Zdobd PnP Tools http://www.redhat.com/linux-info/pnp.

    Zawsze moesz zdoby prawdziwy modem.


  2.3.

  Karty wieloportowe (z ukadem 16450/16550A).



    AST FourPort and clones (4 ports)

    Accent Async-4 (4 ports)


    Arnet Multiport-8 (8 ports)

    Bell Technologies HUB6 (6 ports)

    Boca BB-1004 (4 ports), BB-1008 (8 ports), BB-2016 (16 ports)

    Boca IOAT66 (6 ports)

    Boca 2by4 (4 serial ports, 2 parallel ports)

    Computone ValuePort V4-ISA (AST FourPort compatible)

    Digi PC/8 (8 ports)

    GTEK BBS-550 (8 ports)

    Longshine LCS-8880, Longshine LCS-8880+ (AST FourPort compatible)

    Moxa C104, Moxa C104+ (AST FourPort compatible)

    PC-COMM (4 ports)

    SIIG I/O Expander 2S IO1812 (4 ports)

    STB-4COM (4 ports)

    Twincom ACI/550

    Usenet Serial Board II (4 ports)


  Zasadniczo Linux obsuguje dowoln kart portw szeregowych, ktra
  wykorzystuje ukady UART 8250, 16450, 16550, 16550A (lub zgodne) lub
  modemy wewntrzne emulujce jeden z tych ukadw.


  Specjalna uwaga na temat BB-1004 i BB-1008. Obie nie obsuguj linii
  DCD i RI, i dlatego nie nadaj si do obsugi modemw wejciowych.
  Zastosowane do innych celw bd si sprawowa poprawnie.


  2.4.

  Inteligentne karty wieloportowe.



    Comtrol RocketPort (36MHz ASIC; 4, 8, 16 lub 32 porty)
     kontakt: info@comtrol.com lub http://www.comtrol.com
     dostpno sterownika: udostpniany przez Comtrol
     lokalizacja sterownika:
     ftp://tsx-11.mit.edu/pub/linux/packages/comtrol

    Computone IntelliPort II (16MHz 80186; 4, 8, lub 16 portw),
     IntelliPort II EXpandable (20MHz 80186; 16 - 64 porty)
     kontakt: Michael H. Warfield, mhw@wittsend.atl.ga.us
     dostpno sterownika: pre-ALPHA

    Cyclades Cyclom-Y (Cirrus Logic CD1400 UARTs; 8 - 32 porty),
     Cyclom-Z (25MHz MIPS R3000; 8 - 128 portw)
     kontakt: sales@cyclades.com or http://www.cyclades.com
     dostpno sterownika: udostpniany przez Cyclades
     lokalizacja sterownika: ftp://ftp.cyclades.com/pub/cyclades w
     jdrze Linux-a.


    Decision PCCOM8 (8 ports)
     kontakt: pccom8@signum.se
     lokalizacja sterownika: ftp://ftp.signum.se/pub/pccom8

    Digi PC/Xi (12.5MHz 80186; 4, 8, lub 16 portw),
     PC/Xe (12.5/16MHz 80186; 2, 4, lub 8 porty),
     PC/Xr (16MHz IDT3041; 4 lub 8 portw),
     PC/Xem (20MHz IDT3051; 8 - 64 portw)
     kontakt: sales@dgii.com lub http://www.dgii.com
     dostpno sterownika: udostpniany przez Digi
     lokalizacja sterownika: ftp://ftp.dgii.com/drivers/linux w
     dystrybucji jdra Linux-a od wersji 2.0.


    Digi COM/Xi (10MHz 80188; 4 lub 8 portw)
     kontakt: Simon Park, si@wimpol.demon.co.uk
     dostpno sterownika: ALPHA
     note: Simon czsto jest z dala od swojej poczty, nawet przez kilka
     miesicy (ze wzgldu na charakter swej pracy)  Mark Hatle,
     fray@krypton.mankato.msus.edu zgosi si dobrowolnie udostpni
     sterownik, jsli bdziesz go potrzebowa. Jednake Mark nie zapenia
     adnego wsparcia.

    Equinox SuperSerial Technology (30MHz ASIC; 2 - 128 porty)
     kontakt: sales@equinox.com lub http://www.equinox.com
     dostpno sterownika: udostpniany przez Equinox
     lokalizacja sterownika: ftp://ftp.equinox.com/library/sst

    GTEK Cyclone (16C654 UARTs; 6, 16 i 32 porty),
     SmartCard (24MHz Dallas DS80C320; 8 portw),
     BlackBoard-8A (16C654 UARTs; 8 portw),
     PCSS (15/24MHz 8032; 8 portw)
     kontakt: spot@gtek.com lub http://www.gtek.com
     dostpno sterownika: udostpniany przez GTEK
     lokalizacja sterownika: ftp://ftp.gtek.com/pub

    Hayes ESP (COM-bic; 1 - 8 portw)
     kontakt: Andrew J. Robinson, arobinso@nyx.net lub
     http://www.nyx.net/~arobinso
     dostpno sterownika: udostpniany prze autora
     lokalizacja sterownika: http://www.nyx.net/~arobinso i w
     dystrybucji jdra Linux-a od wersji 2.1.15.

    Maxpeed SS (Toshiba; 4, 8 i 16 portw)
     kontakt: info@maxpeed.com lub http://www.maxpeed.com
     dostpno sterownika: udostpniany przez Maxpeed
     lokalizacja sterownika: ftp://maxpeed.com/pub/ss

    Moxa C218 (12MHz 80286; 8 portw),
     Moxa C320 (40MHz TMS320; 8 - 32 porty)
     kontakt: info@moxa.com.tw lub http://www.moxa.com.tw
     dostpno sterownika: udostpniany przez Moxa
     lokalizacja sterownika:
     ftp://ftp.moxa.com.tw/drivers/c218-320/linux

    SDL RISCom/8 (Cirrus Logic CD180; 8 portw)
     kontakt: sales@sdlcomm.com lub http://www.sdlcomm.com
     dostpno sterownika: udostpniany przez SDL
     lokalizacja sterownika: ftp://ftp.sdlcomm.com/pub/drivers

    Omega COMM-8 (8 portw)
     kontakt: Vance Petree, vpetree@infi.net

    Specialix SIO (20MHz Zilog Z280; 4 - 32 porty),
     XIO (25MHz Zilog Z280; 4 - 32 porty)
     kontakt: Simon Allen, simonallen@cix.compulink.co.uk
     dostpno sterownika: BETA
     lokalizacja sterownika:
     ftp://sunsite.unc.edu/pub/Linux/kernel/patches/serial

    Stallion EasyIO-4 (4 porty), EasyIO-8 (8 portw) i
     EasyConnection (8 - 32 porty) - kady Cirrus Logic CD1400 UART,
     Stallion (8MHz 80186 CPU; 8 lub 16 portw),
     Brumby (10/12 MHz 80186 CPU; 4, 8 lub 16 portw),
     ONboard (16MHz 80186 CPU; 4, 8, 12, 16 lub 32 porty),
     EasyConnection 8/64 (25MHz 80186 CPU; 8 - 64 porty)
     kontakt: sales@stallion.com lub http://www.stallion.com
     dostpno sterownika: udostpniany przez Stallion
     lokalizacja sterownika: ftp://ftp.stallion.com/drivers/ata5/Linux i
     w dystrybucji jdra Linux-a od wersji 1.3.27.


  Przegld urzdze Comtrol, Cyclades, Digi i Stallion mona znale w
  numerze Czerwiec 1995 Linux Journal. Artyku jest dostpny pod adresem
  http://www.ssc.com/lj/issue14.


  2.5.

  Nieobsugiwane urzdzenia szeregowe.

  Modemy, ktre nazywaj siebie ``Winmodems'', np. USR Sportster
  Winmodem i IBM Aptiva MVAVE, nie s obsugiwane przez Linux-a. Te
  modemy korzystaj z prywatnych, niedostpnych rozwiza technicznych i
  wymagaj specjalnych sterownikw. Unikaj modemw tego typu. Co wicej,
  z tych samych powodw, trzymaj si z daleka od modemw wymagajacych
  sterownikw RPI Rockwella.


  3.

  Jak nazywaj sie porty szeregowe?

  Kady port I/O umoliwia wymian danych pomidzy komputerem i
  otoczeniem. Istnieje wiele rodzajw portw I/O, porty szeregowe,
  rwnolege, sterowniki dyskw, karty ethernetowe itp. My bdziemy
  omawia porty szeregowe, poniewa modemy i terminale s urzdzeniami
  korzystajcymi z portw szeregowych. Kady port szeregowy musi
  posiada adres I/O i przerwanie (IRQ).  Istniej 4 porty szeregowe
  odpowiadajce odpowiednio COM1-COM4:



               ttyS0 (COM1) adres 0x3f8 IRQ 4
               ttyS1 (COM2) adres 0x2f8 IRQ 3
               ttyS2 (COM3) adres 0x3e8 IRQ 4
               ttyS3 (COM4) adres 0x2e8 IRQ 3





  Jeli podczas startu Linux nie rozpozna adnego portu szeregowego
  upewnij si, e obsuga portw szeregowych jest wkompilowana w jdro.
  W tym dokumencie przyjelimy, e ttyS0 odnosi si do portu COM1, ttyS1
  do COM2, ttyS2 do COM3 i ttyS3 do COM4. Zauwa, e domylnie porty
  wspdziel przerwania IRQ. Jednake nie mona korzysta ze wszystkich
  portw w konfiguracji domylnej, trzeba na nowo przydzieli
  przerwania. Informacje na temat ustawiania IRQ znajdziesz w rozdziale
  ``Czy mog uywa wicej ni dwch urzdze portw szeregowych?''


  W niektrych systemach tworzone s dodatkowe dwa pliki urzdze,
  /dev/modem dla modemu i /dev/mouse dla myszy. Oba s dowizaniami
  symbolicznymi do waciwych urzdze w katalogu dev, ktre podae
  podczas Instalacji systemu (chyba, e posiadasz mysz sbus, wtedy
  /dev/mouse bdzie wskazywa na urzdzenie bus mouse).


  Wiele dyskutowano na temat uytecznoci /dev/mouse i /dev/modem. Ja
  mocno odradzam korzystania z tych dowiza. W szczeglnoci, jeli
  planujesz korzysta ze swojego modemu do dzwonienia do twojego
  komputera (dialin), a bdziesz korzysta z /dev/modem, to moesz
  napotka na problemy zwizane z plikami blokad (lock files).  Jeli
  ten pomys podoba Ci si, korzystaj z niego, lecz upewnij si, e
  wspomniane dowizania wskazuj na waciwe urzdzenia. Jednake jeli
  usuniesz te dowizania, wtedy niektre aplikacje bd wymaga zmianiy
  konfiguracji (np. minicom).



  3.1.

  Urzdzenia portw szeregowych i numery w dev .



               /dev/ttyS0 major 4, minor 64    /dev/cua0 major 5, minor 64
               /dev/ttyS1 major 4, minor 65    /dev/cua1 major 5, minor 65
               /dev/ttyS2 major 4, minor 66    /dev/cua2 major 5, minor 66
               /dev/ttyS3 major 4, minor 67    /dev/cua3 major 5, minor 67





  Prosz zwr uwag, e wszystkie dystrybucje powinny same utworzy
  pokazane powyej pliki urzdze. Czy tak si stao moesz to sprawdzi
  wydajc polecenie:


       linux% ls -l /dev/cua*
       linux% ls -l /dev/ttyS*





  3.1.1.

  Tworzenie plikw urzdze w katalogu /dev .

  Jeli nie znalaze pliku urzdzenia, musisz go utworzy za pomoc
  polecenia mknod.

  Przykad: zamy, e potrzebujesz utworzy urzdzenie  ttyS0:



               linux# mknod -m 666 /dev/cua0 c 5 64
               linux# mknod -m 666 /dev/ttyS0 c 4 64





  Moesz w tym celu wykorzysta skrypt MAKEDEV, dostpny w katalogu /dev
  lub archiwach ftp. Znacznie upraszcza tworzenie plikw urzdze. Na
  przykad jeli chesz utworzy urzdzenie ttyS0 wystarczy napisa:



               linux# cd /dev
               linux# ./MAKEDEV ttyS0





  Skrypt zajmie si utowrzeniem urzdze wyjciowych (cua) i wejciowych
  (ttyS).


  3.2.

  Uwagi na temat kart wieloportowych.

  Pliki urzdze wykorzystywane przez karty wieloportowe zale od
  rodzaju karty. Szczegy mona znale w rc.serial, ktry znajduje si
  w dystrybucji programu setserial. Jeli starasz si uruchomi kart
  wieloportow bardzo polecam zaopatrzy si w najnowsz wersj programu
  setserial. Prawdopododobnie bdziesz musia wasnorcznie utworzy
  pliki specjalne urzdze. Skorzystaj albo z programu mknod albo
  skryptu MAKEDEV. Pliki urzdze kart wieloportowych charakteryzuj si
  tym, e numer gwny (major number) jest rwny 64 + numer portu karty.
  Jeli chiaby utworzy plik urzdzenia dla portu ttyS17 muszisz wyda
  polecenie:



               linux# mknod -m 666 /dev/cua17 c 5 81
               linux# mknod -m 666 /dev/ttyS17 c 4 81






  Zauwa, e ``64 + 17 = 81''.  Korzystajc ze skryptu MAKEDEV trzeba
  napisa:



               linux# cd /dev
               linux# MAKEDEV ttyS17






  Uwaga: dokumentacja SIIG dla IO1812 dotyczca portw COM5-COM8 zawiera
  bd. Powinno by COM5=0x250, COM6=0x258, COM7=0x260 i COM8=0x268.


  Uwaga: Rejestr stanu (status register) karty DIGI PC/8 znajduje si
  pod adresem 0x140.

  Uwaga: Korzystajc z karty AST Fourport moe by potrzebne umiesczenie
  w skrypcie rc.serial parametru skip_test.




  3.3.

  Uwagi na temat inteligentnych kart wieloportowych.

  Przeczytaj dokumentacje dostarczan ze sterownikiem. Te karty
  korzystaj ze specjalnych urzdze, nie ze standardowych. Informacje
  ich dotyczce rni si w zalenoci od posiadanego sprztu.


  4.

  Interesujce oprogramowania, o ktrym powiniene wiedzie.


  4.1.

  Co to takiego getty ?

  getty to program, ktry obsuguje proces wejcia do systemu Unix.
  Bdziesz musia uywa getty jeli chcesz dzwoni do swojego Linux-a.
  Nie potrzebujesz getty jeli zamierzasz jedynie dzwoni ze swojego
  Linux-a w wiat.  W wiecie Linux-a rozpowszechnione s trzy wersje
  tego programu: getty_ps, mgetty i agetty.  Kady z nich posiada wasn
  skadnie i pramatery wywoania, upewnij si, e korzystach z
  poprawnych dla wersji getty, ktrej uywasz.


  4.1.1.

  Troch o getty_ps .


  Wikszo dystrybucji instaluje pakiet getty_ps. Zawiera on dwa
  programy getty. getty stosowany do konsoli wirtualnych i terminali,
  oraz uugetty wykorzystywany do modemw. Skoncentruj si na getty_ps,
  poniewa korzystam z tej wanie wersji getty.


  4.1.2.

  Kilka sw na temat mgetty .

  mgetty jest wersja getty przeznaczon do modemw. Pozwala na logowanie
  si przez modem, dostarcza obsug FAXu i rozpoznaje poczenia PPP.
  Dokumentacja mgetty jest bardzo dobra i nie potrzebuje uzupenie.
  Znajdziesz w niej informacje na temat instalacji i konfiguracji
  programu. Najnowsze informacje o pakiecie moesz znalepod adresem
  http://www.leo.org/~doering/mgetty/.


  4.1.3.

  I na koniec agetty .

  agetty to trzeci wariant getty.  Jest to prosta, w peni funkcjonalna
  implementacja getty bardzo dobrze nadajca si do obsugi wirtualnych
  konsol i teminali.


  4.2.

  Co to takiego setserial ?


  setserial to program, ktry pozwala na sprawdzanie i zmian rnego
  rodzaju atrybutw portw szeregowych, adresw, przerwa i innych
  parametrw. Aby dowiedzie si, ktra wersja jest zainstalowana na
  twoim komputerze naley uruchomi program bez adnych argumentw.

  Kiedy twj Linux startuje, konfigurowane s tylko porty ttyS{0-3},
  wykorzystane s standardowe ustawienia IRQ rwne 3 i 4. Dlatego jeli
  posiadasz inne karty portw szeregowych lub porty ttyS{0-3} nie maj
  standardowych ustawie przerwa IRQ, to aby zostay prawidowo
  sonfigurowane musisz skorzysta z programu setserial. Peny spis
  dostpnych opcji znajduje si na stronach podrcznika (man setserial).


  5.  Jak mog zadzwoni z mojego modemu?


  5.1.

  Wymagania sprztowe.

  Po pierwsze upewnij si czy masz dobry kabel. Modem wymaga kabla
  prostego, bez adnych krzyowa przewodw. Kady sklep komputerowy
  posiada w swej ofercie taki kabel. Pamitaj aby mia odpowiednie
  wtyczki. Jeli uywasz gniazda DB25, to zawsze bedzie to mskie DB25.
  Nie pomyl go z gniazdem portu rwnolegego, ktrego gniazdo to damskie
  DB25. Podcz modem do jednego z portw szeregowych. Jeli
  potrzebujesz pomocy skorzystaj z dokumentacji modemu.


  5.1.1.

  Uwagi na temat modemw wewntrznych.

  Do podczenia modemu wewntrznego nie potrzebujesz kabla modemowego.
  Modem wewntrzny nie potrzebuje rwnie portu szeregowego, posiada
  wasny. Muszisz jedynie poprawnie skonfigurowa przerwanie, oraz
  adresy portw We/Wy, tak aby nie byo wykorzystywane przez inne
  urzdzenia. Jeli utkne skorzystaj z dokumentacji modemu. Jeli
  potrzebujesz rady na temat wyboru przerwania IRQ zobacz ``Czy
  mog uywa wicej ni 2 porty szeregowe?''.

  Na niektrych pytach gwnych musisz wyczy port szeregowy, ktry
  ma zosta zastpiony przez modem. Robi si to przeczajc
  odpowiednnie zworki lub zmieniajc ustawienia w BIOSie. Przeczytaj
  instrukcje do pyty gwnej.

  Z powodu bdu w karcie graficznej IBM8514, moesz napotka na kopoty
  konfigurujc twj modem wewntrzny na porcie ttyS3. Jeli linux nie
  znajdzie modemu na porcie ttyS3 moesz wykorzysta setserial, wtedy
  modem bdzie pracowa prawidowo. Modemy wewntrzne skonfigurowane na
  portach ttyS{0-2} nie powinny mie klopotw z wykrycem ich przez
  system.


  5.2.

  Rozmowy z twoim modemem.

  Zanim zaczniesz korzysta z bardziej skomplikowanych programw
  komunikacyjnych, do testw skorzystaj z kermit-a lub innego prostego
  programu (minicom?). Ostani wersj kermita mona zawsze znale pod
  adresem ftp://sunsite.unc.edu:/pub/Linux/apps/comm i na jego kopiach.
  Powiedzmy, e twj modem jest przyczony do portu ttyS3 i potrafi
  obsuy prdko 115200 bps. Powiniene wtedy napisa:




  linux# kermit
  C-Kermit 6.0.192, 6 Sep 96, for Linux
   Copyright (C) 1985, 1996,
    Trustees of Columbia University in the City of New York.
  Default file-transfer mode is BINARY
  Type ? or HELP for help.
  C-Kermit>set line /dev/ttyS3
  C-Kermit>set carrier-watch off
  C-Kermit>set speed 115200
  /dev/ttyS3, 115200 bps
  C-Kermit>c
  Connecting to /dev/ttyS3, speed 115200.
  The escape character is Ctrl-\ (ASCII 28, FS)
  Type the escape character followed by C to get back,
  or followed by ? to see other options.
  ATE1Q0V1                           ; wpisz to i nacinij Enter
  OK                                 ; modem powinien odpowiedzie w ten
                                     ; sposb






  Jeli modem odpowie na polecenie AT moesz zaoy, e twj modem po
  stronie Linux-a dziaa poprawnie. Sprbuj poczy si z innym modemem
  (np. numer 0202122 - nasza kochana TPSA - przyp. tumacza). Napisz



               ATDT0202122,,





  Jeli twoja linia nie obsuguje wybierania tonowego zamiast ATDT
  napisz ATDP. Jeli nawizae poczenie, to znaczy, e twj modem
  dziaa.




  Aby wric na konsole Kermita trzymajac wciniety Ctrl wcinij
  backslasz '\', zwolnij Ctrl i wcinij C.



        Ctrl-\-C (Back at linux) C-Kermit>quit linux#




  To by prosty test przy wykorzystaniu prymitywnych, rcznych metod
  wybierania numeru. Normalnie naley pozwoli Kermitowi na automatyczne
  wybranie numeru, korzystajc z jego bazy numerw i zaawansowanych
  metod nawizywania poacze. Np. korzystajc z modemu USR Robotics
  naley zrobi tak:








  linux# kermit
  C-Kermit 6.0.192, 6 Sep 1997, for Linux
   Copyright (C) 1985, 1996,
    Trustees of Columbia University in the City of New York.
  Default file-transfer mode is BINARY
  Type ? or HELP for help
  C-Kermit>set modem type usr        ; wybuerz rodzaj modemu
  C-Kermit>set line /dev/ttyS3       ; wybierz urzdzenie
  C-Kermit>set speed 115200          ; ustaw domyln prdko
  C-Kermit>dial 7654321              ; wybierz numer
   Number: 7654321
   Device=/dev/ttyS3, modem=usr, speed=115200
   Call completed.<BEEP>
  Connecting to /dev/ttyS3, speed 115200
  The escape character is Ctrl-\ (ASCII 28, FS).
  Type the escape character followed by C to get back,
  or followed by ? to see other options.

  Welcome to ...

  login:





  Jeli potrzebujesz wskazwek zobacz rozdzia ``Programy
  komunikacyjne''.

  Kiedy dzwonisz wykorzystujc swj modem, ustaw prdko portu
  szeregowego na najwiksz jaka jest obsugiwana przez twj komputer.
  Instalacje Linux-a z bibliotek libc w wersji 5.x lub nowszej
  obsuguj prdkoci do 115200bps. libc znajduje si zwykle w katalogu
  /lib, zobacz jak wersj posiadasz. Jeli twj Linux nie rozpoznaje
  prdkoci 57600 lub 115200bps, musisz skorzysta z programu setserial
  aby ustawi port na wiksz prdko. Jak to zrobi jest opisane w
  rozdziale ``Jak      ustawi port szeregowy na wiksze predkoci?''.
  Nastpnie w programi komunikacyjnym ustaw prdko portu na 38400.


  5.3.

  Konfiguracja modemw wyjciowych.



  Jeli bdziesz korzysta z modemu tylko do dzwonienia, moesz go
  skonigurowa w niemal dowolny sposw. Jeli jednak chcesz go
  wykorzystywa jako modem wejciowy, musisz skonfigurowac modem w taki
  sposb, aby wykorzystywa t sam prdko z jak zamierzasz uruchomi
  program getty. Wic jeli zamierzasz uruchomi getty z prdkocia
  38400 bps. podczas konfigiracji modemu ustaw prdko na 38400. Ma to
  na celu zpobiec nieporzumienim wynikym ze zego dopasowania prdkoci
  midzy portem szeregowym, a modemem. Zasadniczo, ustawienia fabryczne
  wczajce korekcj bdw i sprztowe sterowanie przepywem danych s
  najlepszymi ustawieniami modemw wyjciowch. Dokadne informacje o
  tych ustawieniach znajdziesz w dokumentacji modemu.



  5.4.

  Sprzetowe sterowanie przepywem danych.



  Jeli twj modem obsuguje sprztowe sterowanie przepywem danych
  (RTS/CTS), stnowczo polecam wykorzystanie tego. Jest to szczeglnie
  wane w przypadku modemw posiadajc kompresj. Wpierw musisz wczy
  RTS/CTS na samym porcie szeregowym. Najlepiej jest to zrobi w
  skryptach startowych /etc/rc.d/rc.local lub /etc/rc.d/rc.serial.
  Upewnij si ze te pliki s uruchamiane z gwnego skryptu rc.sysinit.
  Dla kadego portu, dla ktrego chcesz uruchomic CTR/CTS naley wykona
  polecenie:



               stty crtscts < /dev/ttyS3







  Musisz rwnie wczy RTS/CTS w modemie. Jak to zrobi znajdzesz w
  dokumentacji modemu, poniewa rni si to midzy modelami. Pamitaj o
  zapamitaniu konfiguracji modemu (w jego pamici staej), oczywicie
  jeli twoj modem to potrafi.


  6.

  Jak dzwoni na zewntrz i do mojego komputera, wykorzystujc jed
  noczenie getty_ps ?

  Skonfiguruj modem w taki sposb, aby prawidowo wybiera numery. Jeli
  nie czytae rozdziau ``Jak mog zadzwoni z mojego modemu?'' zrb to
  teraz! Podaem tam bardzo wane informacje. Nie musisz czyta tego
  rozdziau, jeli zamiesza jedynie dzwonic ze swojego modemu.


  6.1.  Konfiguracja modemu do dzwonienia na zewntrz i przyjmowania
  pocze.

  Aby mie wyjcie przez modem i jednoczenie obsugiwa przychodzce
  poczenia, musisz skonfigurowa modem w specjalny sposb (znw za
  pomoc polece AT.):


       E1       wywietlane wprowadzanych polece
       Q0       wywietlanie kodw rezultatw
       V1       bd bardziej rozgadany, podawaj wicej informacji
       S0=0     nigdy nie odpowiadaj na poczenie (uugetty obsuguje
       przychodzce poczenia, za pomoc opcji waitfor).




  Jeli nie ustawisz tych opcji, cig znakw inicjujcy modem, moe nie
  wykona poprawnie swej pracy, niweczc ca procedur. Lecz o plikach
  konfiguracyjnych pniej.



       &C1     DCD wczone tylko po nawizaniu poczenia
       &S0     DSR zawsze wczone
               Przeczenie DTR resetuje modem (w zalenoci od producenta - RTFM).




  Powysze ustawienia maj wpyw na zachowanie modemu podczas
  nawizywania i zakaczania poczenia.


  Jeli twj modem nie potrafi zapamita konfiguracji, moesz wczeniej
  opisane ustawienia zapamita w tzw. "INIT string". Zaraz o tym
  napiszemy. Niektre modemy posiadaj mikroprzeczniki suce do
  zmiany konfiguracji modemu (zmiany wartoci rejestrw). Upewnij si e
  s poprawnie ustawione.




  Zaczem zbiera list sprawdzonych konfiguracji, dla rnych typw
  modemw. Jeli masz ochot przysa mi swoj, prosz bardzo. Jeli
  chciaby otrzyma jedn z konfiguracji, po prostu przyslij list.
  Posiadane przez mnie informacje s dostpne pod adresem
  ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs.


  Uwaga: aby zmusi mj Courier V.34 do poprawnego zerowania po spadku
  DTR musiaem ustawi &D2 i S13=1 (ustawienie bitu 0 rejestra S13).
  Otrzymaem potwierdzenia, e ten sposb dziaa rwnie w przypadku USR
  Sportster V.34.

  Uwaga: Niektre modele Supra traktuj DCD inaczej ni inne modemy.
  Jeli uywasz Supry sprbuj ustawi &C0, a nie &C1. Aby poprawnie
  obsugiwa DTR trzeba rwnie ustawi &D2.



  6.2.

  Instalacja getty_ps .



  Pobie najnowsz wersj z sunsite.unc.edu:/pub/Linux/system/serial.
  Jeli planujesz korzysta z wysokich prdkoci (57600 i 115200bps),
  musisz zdoby wersj 2.0.7j lub nowsz. Muszisz mie rwnie libc 5.x
  lub nowsz.




  getty_ps jest domylnie skonfigurowane zgodnie ze standardem FSSTND
  (FileSystem STaNDard). To znaczy, e programy binarne bd w katalogu
  /sbin, a pliki konfiguracyjne bd si nazyway
  /etc/conf.{uu}getty.ttySN. Pliki blokady (lock files) bd umieszczane
  w katalogu /var/lock. Upewnij si, e katalog /var/lock istnieje.


  Jeli nie chesz zgodnoci z FSSTND, programy binarne zostan
  umieszczone w /etc, pliki konfiguracyjne zostan nazwane
  /etc/default/{uu}getty.ttySN, a pliki blokady bd umieszczane w
  katalogu /usr/spool/uucp. Jeli korzystasz z UUCP, zaleceamy ten drugi
  sposb, poniewa Taylor UUCP napotka na problemy, jeli przeniesiesz
  pliki blokady w miejsce, ktre nie bedzie sprawdzane (przez uucp w
  poszukawaniu plikw blokady).

  W celu rejestracji komunikatw getty_ps korzysta z syslogd. Jeli
  chesz skonfigurowa syslogd przeczytaj strony podrcznika dla
  syslogd(1) i syslog.conf(5). Komunikaty s rejestrowane z priorytetem
  LOG_AUTH, bdy wykorzystuj LOG_ERR, a informacje odpluskwiajce
  LOG_DEBUG. Jeli nie chcesz korzysta z syslogd tylko chesz aby
  komunikaty byy zapisywane do pliku (domylnie bdzie to
  /var/adm/getty.log) , to musisz zmodyfikowa plik tune.h w zrodach
  getty_ps.


  Zastanw si i zdecyduj si czy chcesz zachowa zgodno ze standardem
  FSSTND i czy chesz korzysta z syslogd, zmodyfikuj odpowiednio pliki
  Makefile, config.h i tune.h znajdujce si w katalogu rdowym
  pakietu getty_ps. Nastpnie zainstaluj programy zgodnie z
  instrukcjami.

  Od tej chwili, wszystkie odwolania do getty naley traktowa jako
  odwoania do getty_ps. Natomiast uugetty bdzie odnosio si do
  uugetty pochodzcego z pakietu getty_ps.


  6.3.

  Konfiguracja uugetty .

  Dla przychodzcych i wychodzcych pocze modemowych, chcemy
  zastosowa uugetty. uugetty sprawdza czy odpowiednie pliki nie s
  zablokowane. Trzeba poprawi plik /etc/gettydefs, aby zawiera pozycje
  dotyczce modemu (pamitaj, e te pozycje wzajemnie na siebie wskazuj
  (s od siebie zalene), jednak nie maj zastosowania do pocze z
  ustalon prdkoci - midzy kad pozycj konieczny jest pusty
  wiersz):



       # Modem entries
       115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #57600

       57600# B57600 CS8 # B57600 SANE -ISTRIP HUPCL #@S @L @B login: #38400

       38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200

       19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600

       9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400

       2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #115200





  Jeli posiadasz modem 9600 bps lub szybszy, z kompresj danych, wtedy
  moesz zablokowa prdko portu szeregowego i pozwoli aby modem sam
  wykonywa przejcia na inne prdkoci bps. W takim przypadku zamiast
  wyprbowywania poszczeglnych pozycji pliku /etc/gettydefs, wystarczy
  aby bya tylko jedna pozycja opisujaca ustawienia modemu:



       # 115200 fixed speed
       F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200






  Jeli tj modem obsuguje sprztowe sterowanie RTC/CTS, moesz do
  pliku /etc/gettydefs dodac opcj CRTSCTS:


       # 115200 fixed speed with hardware flow control
       F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F115200





  Jeli chcesz moesz zmusic uugetty do wywietlania ciekawych
  informacji w nagwku (login banner). W dalszych przykadach pokazuj
  jak wywietli nazw systemu (komputera), numer portu, prdko bps.
  Moesz doda wasne informacje:



                      @B    Aktualna (sprawdzona w momencie napotkania @B ) prdko bps.
                      @D    Aktualna data w formacie MM/DD/YY.
                      @L    Linia szeregowa do ktej przyczone jest getty.
                      @S    Nazwa systemu (komputera).
                      @T    Aktualny czas, w formacie HH:MM:SS (24-godziny).
                      @U    Liczba aktualnie przcujcych uytkownikw. Jest to liczba
                                  pozycji w pliku /etc/utmp o niezerowym polu ut_name.
                      @V    Waro staej VERSION, zdefiniowanej w plkiku ustawie
                                  standardowych.
                      Aby wywietli pojedynczy znak @ musisz napisac '\@\ lub '@@'.






  Nastpnie upewnij si, e istniej odpowiednie pliki urzdze
  wejciowych i wyjciowych, i e modem jest wczony. Jeli twoj modem
  jest podczony do portu ttyS3 musz istnie pliki /dev/cua3 i
  /dev/ttyS3. Jeli odpowiendnie pliki urzdze nie istniej wr do
  rozdziau ``Tworzenie plikw urzdze w katalogu
  <tt>/dev</tt>'' i utwrz niezbdne pliki urzdze. Jeli chcesz mie
  moliwo dzwonienia, podczas gdy uugetty czeka na nadejscie pocze
  z zewntrz, skorzystaj z urzdze /dev/cua zamiast /dev/ttyS.

  Po zakoczeniu edycji /etc/gettydefs moesz sprawdzi, czy skadnia
  pliku jest poprawna wydajc polecenie:


               linux# getty -c /etc/gettydefs







  6.4.

  Przystosowywanie uugetty .

  Istniej mnstwo parametrw, ktre moesz modyfikowa oddzielnie dla
  kadego posiadanego portu. Przechowywane s w odzielnych plikach,
  kady port moe mieswj plik. Program uugetty zawsze wpierw sprawdza
  zawarto pliku /etc/conf.uugetty zawierajacego wsplne parametry dla
  wszystkich portw, a dopiero pniej wczytuje z
  /etc/conf.uugetty.ttySN konfiguracje konkretnego portu. Przykadowe
  pliki konfiguracyjne mona znale w zrdach pakietu. Zwykle s w
  kadej dystrybucji Linux-a. Nie przedstawiamy ich tutaj ze wzgledu na
  ich objto. Jeli uywasz starszych wersji getty_ps (tzn.
  wczeniejszych od 2.0.7e) lub nie korzystasz ze schematu FSSTND,
  domylnym plikiem konfiguracyjnym bdzie /etc/default/uugetty.ttySN.
  Mj plik /etc/conf.uugetty.ttyS3 wyglda tak:


       # przykadowy plik konfiguracyjny modemu standardu Hayes
       # umoliwiajcy przyjmowanie pocze z zewntrz
       #
       # alternatywny plik blokaty, ktry naley sprawdza. Jeli istnieje,
       # wtedy uugetty jest uruchamiane ponownie, a wic modem jest
       # rwniez powtrnie inicjowany

       ALTLOCK=cua3
       ALTLINE=cua3
       # uzywana linia
       INITLINE=cua3
       # czas po jakim przerywamy, jeli brak reakcji uytkownika
       TIMEOUT=60
       # Ciag znakw zaierajce polecenia inicjujce modem
       # format: (oczekiwane) (wysyane) ... (sekwencja)
       INIT="" AT\r OK\r\n
       WAITFOR=RING
       CONNECT="" ATA\r CONNECT\s\A
       #  istawiamy opnienie przez pokazaniem nagwka Loginu.
       DELAY=1
       #DEBUG=010





  Aby uugettty byo uruchomione i nasuchiwao na porcie, musisz do
  pliku /etc/initab dopisa wiersz (wstawiajc odpowiednie informacje
  typu port,prdko,typ terminala):


       S3:456:respawn:/sbin/uugetty ttyS3 F38400 vt100





  Zrestartuj proces init:


       linux# init q





  Parametr podany w pliku /etc/inittab okrelajcy predkso w bps
  powinien wskazywa moliwie jak najwiksz prdko.


  Teraz Linux bdzie oczekiwa na poczenia przychodzce przez port
  szeregowy. Zadzwo z innego komputera i wejd do swojego systemu.

  uugetty posiada mnstwo opcji. Zobacz stron podrcznika dla
  getty(1m). Prcz innych ciekawych cech dostpne s funkcje ringback i
  udostpnianie modemu w zalenoi od pory dnia/nocy. RTFM :-).



  7.

  Jak skonfigurowa terminal przyczony do mojego komputera PC?

  Instrukcje zawarte w tym rozdziale przedstawiaj w jaki sposb
  przyczyc do portu szeregoweg onaszego Linux-a terminal lub inny
  komputer.


  7.1.

  Wymagania sprztowe.

  Upewnij si, e posiadasz dobry kabel. Kabel bezmodemowy (null modem
  cable) kupiony w sklepie komputerowym bdzie dobry. Tylko to musi by
  kabel bezmodemowy!. Wiele sklepw nazywa ten kabel kablem do drukarki
  szeregowej. Pamitaj aby podczy modem do portu szeregowego (mski
  DB25 lub DB9), a nie rwnolegego.




  Gniazdo DB25 potrzebuje co najmniej kabla o takich poczeniach:



          PC male DB25                            Terminal DB25
          TxD   Transmit Data         2 --> 3     RxD   Receive Data
          RxD   Receive Data          3 <-- 2     TxD   Transmit Data
          SG    Signal Ground         7 --- 7     SG    Signal Ground



  Jeli chesz korzysta ze sprztowego uzgadniania prdkoci, musisz
  mie peny kabel bezmodemowy:


          PC male DB25                            Terminal DB25
          TxD   Transmit Data         2 --> 3     RxD   Receive Data
          RxD   Receive Data          3 <-- 2     TxD   Transmit Data
          RTS   Request To Send       4 --> 5     CTS   Clear To Send
          CTS   Clear To Send         5 <-- 4     RTS   Request To Send
          DSR   Data Set Ready        6
                                      |
          DCD   Carrier Detect        8 <-- 20    DTR   Data Terminal Ready
          SG    Signal Ground         7 --- 7     SG    Signal Ground
                                            6     DSR   Data Set Ready
                                            |
          DTR   Data Terminal Ready  20 --> 8     DCD   Carrier Detect




  Jeli masz gniazdo DB9 sprbuj takich pocze:


          PC DB9                                  Terminal DB25
          RxD   Receive Data          2 <-- 2     TxD   Transmit Data
          TxD   Transmit Data         3 --> 3     RxD   Receive Data
          SG    Signal Ground         5 --- 7     SG    Signal Ground



  I na koniec peny kabel DB9-DB25 wyglda tak:






          PC DB9                                  Terminal DB25
          RxD   Receive Data          2 <-- 2     TxD   Transmit Data
          TxD   Transmit Data         3 --> 3     RxD   Receive Data
                                            6     DSR   Data Set Ready
                                            |
          DTR   Data Terminal Ready   4 --> 8     DCD   Carrier Detect
          GND   Signal Ground         5 --- 7     GND   Signal Ground
          DCD   Carrier Detect        1
                                      |
          DSR   Data Set Ready        6 <-- 20    DTR   Data Terminal Ready
          RTS   Request To Send       7 --> 5     CTS   Clear To Send
          CTS   Clear To Send         8 <-- 4     RTS   Request To Send
          (RI   Ring Indicator        9 not needed)


  (Tak, piny 2 i 3 w zczkach DB9 i DB25naprawd maj przeciwne znacze
  nie).


  Jeli nie uywasz penego kabla bezmodemowego, moesz by zmuszony do
  zrobienia nastpujcej sztuczki: po stronie komputera pocz ze sob
  RTS i CTS, oraz DSR,DCD i DTR. W ten sposb jeli komputer zayczy
  sobie sygnau uzgadniania, otrzyma go, od samego siebie.

  Teraz, kiedu masz ju dobry kabel podcz terminal do komputera. Jeli
  moesz powiedz terminalowi aby ignorowa sygnay sterujce modeme.
  Sprbuj ustawi nastpujce parametry terminala: prdkos 9600 bps,
  8bitw danych, 1 bit stopu, brak bitu parzystoci.


  7.2.

  Konfigurowanie getty .

  Zainstaluj getty_ps zgodnie z instrukcjami zawartymi w rozdzaiale 7.2.
  Dodaj do pliku /etc/gettydefs pozycj opisujc twj terminal:


       # 38400 bps Dumb Terminal entry
       DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400

       # 19200 bps Dumb Terminal entry
       DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200

       # 9600 bps Dumb Terminal entry
       DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600





  Jeli chesz moesz w zachcie do sysytemu wywietla rne
  interesujce informacje. W moich przykadach wywietlana jest nazwa
  systemu i nazwa linii. Moesz doda inne  rzeczy:












         @B    Aktualna (sprawdzona w momencie napotkania @B ) prdko bps.
         @D    Aktualna data w formacie MM/DD/YY.
         @L    Linia szeregowa do ktej przyczone jest getty.
         @S    Nazwa systemu (komputera).
         @T    Aktualny czas, w formacie HH:MM:SS (24-godziny).
         @U    Liczba aktualnie przcujcych uytkownikw. Jest to liczba
               pozycji w pliku /etc/utmp o niezerowym polu ut_name.
         @V    Waro staej VERSION, zdefiniowanej w plkiku ustawie
               standardowych.
         Aby wywietli pojedynczy znak @ musisz napisac '\@\ lub '@@'.





  Po zmodyfikowaniu /etc/gettydef moesz si upewni, e skadnia pliku
  jest poprawna wydajc polecenieL


       linux# getty -c /etc/gettydefs





  Kademu z istniejcych portw szeregowych mona przydzieli mnstwo
  parametrw. Umieszcza si je w odzielnych plikach, po jednym dla
  kadego z portw. Kady proces uugetty bdzie korzysta z parametrw
  zawartych w pliku /etc/conf/uugetty, a z /etc/conf.uugetty.ttySN
  bdzie korzysta jedynie proces obsugujcy port ttySN. Przykadowe
  pliki z opcjami mona znale w rdach pakietu getty_ps, ktry jest
  dostarczany niemal z kad dystrybucj. Aby aoszczdzi miejsca nie
  prezentujemy ich tutaj. Pmitaj, e jeli korzystasz z getty w wersji
  starszej ni 2.0.7e, lub nie stosujesz si do zasad FSSTND, to
  domylny plik konfiguracyjny bdzie nosi nazw
  /etc/default/conf.uugetty. Mj plik /etc/conf.uugetty.ttyS3  wyglda
  nastpujco:



               # sample uugetty configuration file for a Hayes compatible modem to allow
               # incoming modem connections
               #
               # alternate lock file to check... if this lock file exists, then uugetty is
               # restarted so that the modem is re-initialized
               ALTLOCK=cua3
               ALTLINE=cua3
               # linia, ktr naley zainicjowa
               INITLINE=cua3
               # timeout po jakim nalezy si rozaczy jeli nie ma ruchu
               TIMEOUT=60
               # cig znakw konfigurujcy modem
               # format: <oczewiname> <dowyslania> ... (sekwencja pogawedki)
               INIT="" AT\r OK\r\n
               WAITFOR=RING
               CONNECT="" ATA\r CONNECT\s\A
               #niniejszy wiersz wprowadza opnienie przed wysaniem
               #informacji (login banner)
               DELAY=1
               #DEBUG=010






  Aby uruchomi getty na porcie szeregowym wprowad odpowiednie zmiany
  do pliku /etc/inittab (podmieniajc odpowiednio informacje, tak aby
  pasoway do twojego systemu):


               S1:456:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100






  Zrestartuj init:


               linux# init q






  W tym momencie powiniene zobaczy zacht wejcia do systemu. By
  moe musisz wcisn wpierw kilkakrotnie <return>, aby zwrci na
  siebie uwag terminala.


  7.3.

  Uwagi o konfiguracji komputera PC jako terminala


  Wielu ludzi konfiguruje swoje komputery PC do pracy jako terminal
  przyczony do serwera z Linux-em. Stare komputery 8088 lub 286 s do
  tego celu doskonae. Wszystko co potrzebujesz to dyskietka startowa z
  DOSem i program komunikacyjny emulujcy terminal. Do tego celu bardzo
  dobrze nadaje si kermit. Skompilowane wersje kermita niemal dla
  kadego systemu operacyjnego mona znale pod adresem
  http://www.columbia.edu:/kermit. Do tego celu nadaj si rwnie takie
  dosowe programy jak telix czy procomm. Pamitaj aby prawidowo
  skonfigurowa program komunikacyjny, wprowad poprawny numer portu.


  8.

  Czy mog uywa wicej ni 2 porty szeregowe?

  Nie musisz czyta tego rozdziau jeli nie chcesz uywa wicej ni 2.
  portw szeregowych (pod warunkiem, e nie masz karty wieloportowej).

  Jeli masz jeszcze jaki wolny port szeregowy, to odpowied brzmi:
  tak, moesz go wykorzysta.


  Liczba wykorzystanych portw szeregowych jest ograniczona liczb
  dostpnych przerwa IRQ i adresw portw We/Wy.Jest o ograniczenie
  szyny komputera PC, nie Linux-a. Kade urzdzenie szeregowe musi mie
  przydzielone wasne przerwanie IRQ i adres portu. Urzdzeniem
  szeregowym moe by port szeregowy, wewntrzny modem lub karta
  wieloportowa.

  Wieloportowe karty portw szeregowych s projektowane w specjalny
  sposb, ktry umoliwia posiadanie wielu portw szeregowych, ktre
  wspdziel jedno przerwanie IRQ. Linux pobiera z nich dane
  wykorzystujc do tego rzne adresy dla kadego z portw na karcie.

  8.1.

  Wybr przerwa dla urzdze szeregowych.

  Twj komputer standardowo ma przerwanie IRQ=4 przydzielone portom
  ttyS0, ttyS2 i IRQ=3 do portw ttyS1, ttyS3. Aby skorzysta z wicej
  ni jednego urzdzenia szeregowego bdziesz musia dla niego
  przeznaczy oddzielne przerwanie IRQ. Dobrym pomysem jest
  przydzielenie przerwania wykorzystywanego przez port rwnolegy. Twj
  PC jest zwykle konfigurowany w ten sposb, e portom rwnolegym
  przydzielane s przerwania 5 i 7. Bardzo rzadko uywa si dwch portw
  rwnolegych. Co wicej moesz przydzieli przerwanie poru rnolegedo
  do portu szeregowego i nadal korzysta z portu rwnolegego. Zmiany
  przerwa IRQ i innych parametrw mona wykona za pomoc programu
  setserial. Czasami moesz by zmuszony do zmiany ustawie
  mikroprz곱cznikw, zobacz w dokumentacji karty.


  Bdziesz musia tak to wszystko skonfigurowa, aby kade z urzdze
  szeregowych miao jedno i tylko jedno przerwanie. Poniej moja
  konfiguracja - umieszczona w pliku /etc/rc.d/rc.local :



                       /etc/setserial /dev/cua0 irq 3          # myszka
                       /etc/setserial /dev/cua1 irq 4          # terminal Wyse
                       /etc/setserial /dev/cua2 irq 5          # Zoom modem
                       /etc/setserial /dev/cua3 irq 9          # USR modem






  Standardowe przydziay IRQ:

                IRQ  0    Timer channel 0
                IRQ  1    Keyboard
                IRQ  2    Cascade for controller 2
                IRQ  3    Serial port 2
                IRQ  4    Serial port 1
                IRQ  5    Parallel port 2
                IRQ  6    Floppy diskette
                IRQ  7    Parallel port 1
                IRQ  8    Real-time clock
                IRQ  9    Redirected to IRQ2
                IRQ 10    not assigned
                IRQ 11    not assigned
                IRQ 12    not assigned
                IRQ 13    Math coprocessor
                IRQ 14    Hard disk controller 1
                IRQ 15    Hard disk controller 2





  Nie ma Najlepszego wyboru przerwa IRQ. Po prostu upewnij si, e nie
  jest wykorzystywane przez kilka urzdze jednoczenie. Dobrym wyborem
  jest jedno z 2, 3, 4, 5 i 7. ``not assigned'' (nie przydzielone)
  oznacza, e aktualnie adne urzdzenie go nie uywa. Pamitaj, e IRQ
  2 to to samo co IRQ 9. Moesz je nazwyac jak chcesz, sterownik portw
  szeregowych jest bardzo wyrozumiay. Jeli posiadasz kart z 16-to
  bitow szyn, moesz wtedy dodatkowo korzysta z przerwa 10,11,12 i
  15.

  Upewnij si, e nie korzystasz z przerwaIRQ 0, 1, 6, 8, 13 lub 14. S
  wykorzystywane przez pyt gwn. Bedzie bardzo nieszczliwa jeli
  bdziesz prbowa zabra jej przerwanie. Jak ju wszystko zrobisz,
  sprawd ponownie, zobacz /proc/interrupts i upewnij si, e nie ma
  konfliktw.


  8.2.

  Ustawianie adresw urzdze szeregowych.

  Nastpnie musisz ustawi adres portu. Sprawd podrcznik do karty,
  gdzie s opisane ustawienia mikroprzecznikw. Podobnie, jak w
  przypadku przerwa, jeden adres moe by wykorzystywany tylko przez
  jedno urzdzenie. Porty szeregowe s zwykle skonfigurowane dla
  nastpujcych adresw:


               ttyS0 address 0x3f8
               ttyS1 address 0x2f8
               ttyS2 address 0x3e8
               ttyS3 address 0x2e8




  Wybierz adresy dla kadegu urzdzenia szeregowego, nastpnie
  odpowiednio ustaw mikroprzeczniki. Ja mam swj modem na porcie
  ttyS3, mysz na ttyS0 i terminal na ttyS2.

  Kiedy zrestartujesz system, Linux powinien zobaczy porty szeregowe
  pod adresami, ktre ustawie. IRQ raportowane podczas startu mog nie
  odpowiada tym ustawionym przez mikroprzeczniki na karcie. Nie martw
  si tym. Linux podczas startu nie wykonuje rozpoznania przerwa IRQ,
  poniewa jest to trudne i moe by mylne. Aby powiedzi Linux-owi,
  ktre przerwanie jest uywane przez dany port trzeba skorzysta z
  programu setserial.


  9.

  Jak ustawi port szeregowy na wiksze prdkoci? Jak prdko
  powinienem stosowa do mojego modemu?

  Ta cz powinna pomc w doborze prdkoci z jak modem komunikuje si
  z programem lub getty.

    Jeli masz modem wolniejszy ni 9600 bps (V.32), ustaw prdko
     poru na najwiksz obsugiwan przez twj modem. NP 300, 1200, lub
     2400 bps.

    Jeli posiadasz modem 9600 bps (v.32) z kompresj V.42bis, uywaj
     prdkoci 38400. Kompresja V.42bis toretycznie zwiksza
     przepustowo czterokrotnie :``4 * 9600 = 38400''.

    Jeli twj modem obsuguje prdko 14400 bps (V.32bis) z kompresja
     V.42bis, wykorzystaj setserial i ustaw flag spd_hi, aby
     skonfigurowa port na prdkos 57600 bps (4 * 14400 = 57600).


     Dla modemw 28800 (V.FC lub V.34) ustaw flag spd_vhi (4 * 28800 =
     115200).

     Nastpnie pamietaj aby w programie komunikacyjnym (lub pliku
     inittab) wybra prdkos portu 38400. Upewnij si, e masz ukad
     16550A UART.
     Jeli uywasz biblioteki libc w wersji 5.x lub nowszej, to
     definiowane s jescze prdkoci 57600 i 115200. libc znajduje si w
     katalogu /lib, zajyj tam i zobacz, ktrej wersji uywasz. Jeli
     programy, ktrych uywasz zostay skomplilowane dla tej wersji
     biblioteki, moesz uywa tych prdkosci zamiast posugiwa si
     programem setserial. Poniewa obecnie jest dostpnych wiele
     dystrybucji Linux-a, najlepiej prbowa korzysta z definicji tych
     wyszych prdkoci, jeli posiada si now dystrybucje Linux-a.

  Przetestuj swoje ustawienia uruchamiajc setserial z wiersza komend i
  jeli wszystko pracuje poprawnie umie odpowiednie polecenia w pliku
  /etc/rc.d/rc.serial lub w /etc/rc.d/rc.local, wtedy bd wykonywane
  przy starcie systemu. Ja ustawiam prdko 115200 portu ttyS3
  poleceniem:


               /sbin/setserial /dev/cua3 spd_vhi





  Upewnij si, e korzystasz z odpowiedniej cieki dostpu do programu
  setserial i poprawnych nazw urzdze. Moesz sprawdzi aktualne
  ustawienia portu szeregowego wydajc polecenie


               setserial -a /dev/ttyS3






  10.

  Narzdzia i programy komunikacyjne.

  Jak ju wszystko zacznie dziaa, moesz przyje si tym bardziej
  zaawansowanym programom. Jeli nie ma ich w twojej dystrybucji,
  wszystkie s dostpne w standardowych archiwach FTP.


    ecu - program komunikacyjny

    C-Kermit <http://www.columbia.edu/kermit/> - przenony, z jzykiem
     skryptw, program komunikacyjny do pocze przez port szeregowy
     lub przy wykorzystaniu protokou TCP/IP umoliwiajcy transer
     plikw i przekodowywanie znakw.

    minicom - program komunikacyjny zbliony do telixa

    procomm - program komunikacyjny z transmisj zmodem

    seyon - program komunikacyjny pracujcy w rodowisku X

    xc - pakiet komunikacyjny xcomm

    Innymi pozytecznymi programami s term i SLiRP. Umoliwiaj
     posiadaczom zwykych kont korzystanie z aplikacji wymagajcych
     protokou TCP/IP.


    screen jest kolejnym programem umoliwiajcym prowadzenie wielu
     sesji na jadnym poczeniu. Zachowuje si podobnie do wirtualnych
     konsoli.
    callback to program, ktry umoliwia oddzwanianie.

    mgetty+fax obsuguje FAXy i stanowi alternatyw dla getty.

    ZyXEL to program sterujcy prac modemw ZyXEL U-1496. Obsuguje
     poczenia przychodzce i wychodzce, zwiekszajce bezpieczestwo
     poczenia z oddzwanianiem, obsug FAX-w i gosowych skrzynek
     pocztowych.

    Oprogramowanie SLIP i PPP mona znale pod adresem
     ftp://sunsite.unc.edu/pub/Linux/system/network/serial.

    Innych programw mona szuka pod adresem
     ftp://sunsite.unc.edu/pub/Linux/system/serial lub
     ftp://sunsite.unc.edu/pub/Linux/apps/comm lub na jednej z wielu
     kopii sunsite-a. S to katalogi, w ktrych przechowuje si
     oprogramowanie dla portw szeregowych.



  11.

  Sztuczki i chwyty.


  Kilka sztuczek, ktre mog Ci si przyda ...


  11.1.

  Kermit  i zmodem.

  Abu korzysta z protokou zmodem w programie kermit, dodaj do pliku
  .kermrc nastpujace dane:


               define rz !rz < /dev/cua3 > /dev/cua3
               define sz !sz \%0 > /dev/cua3 < /dev/cua3





  Pamitaj o podaniu prawidowego portu, tego, do ktrego przyczone
  jest modem. Nastepnie w wierszu zachty programu kermit po prostu
  napisz rz lub sz <filename>.


  11.2.

  Automatyczne ustawinie rodzaju terminala.

  Aby automatycznie ustawiac typ terminala dla wszystkich sesji
  prowadzonych przez dan linie, dodaj do pliku /etc/inittab odpowiedni
  informacj. Gdybym mia terminala vt100 przyczony do portu ttyS1
  dodabym opcj wt100 do wiersza opisujcego t lini:



               S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100






  Moesz rwnie korzysta z programu tset, ktry potrafi okreli
  rodzaj terminala i nie jest zaleny od adnych ustawie domylnych.


  11.3.

  Kolorowe ls  przy poczeniach przez porty szeregowe.

  Jeli uycie kolorw ls brudzi w ustawieniach terminala trzeba to
  wyczy. ls --color i ls --colour wykorzystuje kolory. Niektre
  dystrybucje korzystaj domylnie z "kolorowego" ls. Sprawdz
  /etc/profile i /etc/csh.cshrc  czy nie znajdziesz tam aliasw dla ls.
  Moesz rwnie sam zrobi alias ls  na ls --no-color, jeli nie chcesz
  zmienia domylnej konfiguracji systemu.


  11.4.

  Drukowanie na drukarce przyczonej do terminala.

  Istnieje program o nazwie vtprint, ktry potrafi to zrobi.
  ftp://ftp.sdsu.edu/pub/vtprint lub http://www.sdsu.edu/~garrett.

  Inny program, ktry to umoliwia nosi nazw xprt.
  ftp://sunsite.unc.edu/pub/Linux/system/printing.


  11.5.

  Czy Linux potrafi automagicznie skonfigurowa urzdzenia szeregowe?

  Tak. Aby Linux mg rozpozna i skonfigurowa urzdzenie szeregowe
  dodaj do pliku startowego (/etc/rc.d/rc.local lub /etc/rc.d/rc.serial)
  nastpujce polecenie:



               /sbin/setserial /dev/cuaN auto_irq skip_test autoconfig





  Zrb to dla kadego portu, ktry chcesz skonfigurowa. Pamitaj aby
  poda nazw pliku urzdzenia, ktre rzeczywicie istnieje w twoim kom
  puterze.


  11.5.1.

  Uwagi na temat kart wieloportowych.

  Informacje o adesach portw i przerwaniach dla kart wieloportowych
  znajdziesz w pliku rc.serial w pakiecie setserial. Zawiera mnstwo
  szczegw na temat kart wieloportowych, wczajc adresy portw i
  nazwy urzdze.


  11.6.

  Korzystanie z konsoli przez port szeregowy.

  W numerze 36 znajdzesz artyku Linux Journal,
  http://www.ssc.com/lj/issue36/index.html wyjaniajcy w jaki sposb
  korzysta z konsoli przez port szeregowy. Niestety listy wysyane do
  autora powracaj. Mam nadzieje, e wkrtce artyku pojawi si w
  serwisie Linux Journal  pod podanym wczeniej adresem.


  11.7.

  Wysze prdkoci transmisji.

  Jeli w systemach z dyskami (E)IDE zauwazysz niski szybko
  transmisji przez porty szeregowe i bledy (overruns) portu szeregowego
  skorzystaj z programu hdparm. Jest to narzdzie, ktre umoliwia
  modyfikacje parametrw  urzdze (E)IDE, wczajc odblokowywanie
  innych przerwa w czasie trwania przerwani IRQ dysku. Zwikszy to
  czuo systemu i uatwi mu szybsz reakcj na wydarzenia eliminujc
  bdy wystpujce na porcie szeregowym (overruns). Pamitaj aby bardzo
  dokadnie przeczyta dokumentacje programu poniewa niektre
  sterowniki/dyski nie lubi takich ustawie i mog zniszczy system
  plikw znajdujcy sie na dysku.


  Zwr rwnie uwag na narzdzie o nazwie irqtune umoliwiajce zmian
  prirytetw przerwa IRQ poszczeglnych urzdze, na przykad portu
  szeregowego, na ktrym pracuje Twj modem. Moe to z zwikszy
  szybko przesyania informacji przez port szeregowy twojego
  komputera.  Dokumnet FAQ dotyczcy irqtune jest dostpny pod adresem
  http://www.best.com/~cae/irqtune.


  12.  Krok dalej.

  Nie musisz czyta tego rozdziau, jego celem jest wprowadzenie
  czytelnika w wiat telekomunikacji i wntrze UNIXa.


  12.1.

  Co to s pliki blokady (lockfiles)?

  Plik blokady to zwyky plik, ktrego istnienie po prostu oznacza, e
  dane urzdzenie jest w uyciu. Przechowywane s w katalogu
  /usr/spool/uucp lub /var/lock. Pliki blokady pod Linux-em nosz nazw
  LCK..name. name oznacza nazw urzdzenia lub nazw komputera w formie
  UUCP. Pewne procesy tworz pliki blokady aby mie wyczny dostp do
  urzdze. Np. jeli bdziesz dwoni swoim modemem pojawi si plik
  blokady mwicy innym procesom, e kto ju uywa tego urzdzenia.
  Pliki blokady zwieraj zwykle PID procesu zajmujcego zasb. Wikszo
  programw odczytuje pliki blokady i sprawdza czy proces o podanym w
  tym pliku identyfikatorze PID nadal istnieje. Jeli sprawdzenie
  wykae, e taki proces istnieje, czyli plik blokady jest wany, to
  proces ktry sprawdza plik blokady powinien zakoczy dziaanie.
  Jeli taki proces ju nie istnieje, niektre programy usuwaj
  przeterminowany plik blokady i korzystaj z urzdzenia zakadajc nowy
  wasny plik blokady. Inne programy po prostu kocz dziaanie
  informujc Ci, e urzdzenie jest w uyciu.


  12.2.

  ``baud'' vs. ``bps''.

  ``baud'' i ``bps'' s prawdopodobnie najczciej niepoprawnie
  uywanymi terminami w brany komputerowo/telekomunikacyjnej. Wiele
  osb uywa tych terminw zamiennie, podczas gdy kady z nich oznacza
  co innego!



     baud
        Prdko modulacji (baud rate) jest miar ile razy na sekund
        zmienia si sygna wysyany przez modem (modulator-demodulator).
        Spotykane zwykle prdkoci wynosz 50, 75, 110, 300, 600, 1200 i
        2400. Wikszo szybkich modemw dziaa z prdkoci 2400. Ze
        wzgldu na ograniczenia linii telefonicznych ciko jest uzyska
        prdkoci wiksze ni 2400 i dziaaj tylko w specyfcznych
        warunkach. Nazwa ``baud'' pochodzi od nazwiska Emila Baudot,
        wynalazcy asynchronicznego telegrafu.


     bps
        Prdko bps jest miar przesyane jinformacji w jednostce czasu
        (bity na sekunde). Standardowe prdkoci bps wynosz 50, 75,
        110, 300, 1200, 2400, 9600, ... 115200. Modemy z kompresj
        V42bis (kompresja 4:1) posiadaj teoretyczn prdko do 115200
        bps. O tym zwykle mysl ludzie, kiedy uywaj mylnie pojcia
        ``baud''.


  Skoro szybkie modemy dzialaj z prdkocis 2400 bodw, w jaki sposw
  przesyaj informacje z prdkocia 14400 bps? Modemy uzyskuj
  zaleno bps > bod-y dziki kodowaniu w jednym bodzie kilku bitw.
  Jeli 2 lub wicej bitw jest zakodowanych w jednym bodzie, prdko
  bps przekracza liczb bodw na sekunde. Jeli twj modem czy si z
  prdkoci 14400 to znaczy, e przesya 6 bitw w jednym bodzie.

  Jak powstao cae to zamieszanie? Dawniej, kiedy dzisiejsze
  przestarzae modemy byy jednymi z najszybszych, prdkoc bps bya
  zwykle rwna iloci bodw na sekunde. Jeden bod zawieral jeden bit.
  Ludzie uywali tych nazw wymiennie, oba pojcia miay te ame wartoci.
  Np. modem  o prdkoci 300 bps wysya 300 bodw na sekunde. Wszystko
  si zmienio, kiedy pokazay si szybsze modemy i prdko
  przesyanych bitw przekroczya prdko wysylanych bodw.


  12.3.  Co to jest UART? Jaki ma wpyw na osigi portu szeregowego?

  UART ((Universal Asyncronous Receiver Transmitter) s ukadami
  znajdujcymi si na karcie portw szeregowych. Ich zadaniem jest
  zamiana danych na bity, przesyanie bitw przez lini szeregow i
  odbudowa danych na podstawie otrzymanych bitw. Ukady UART operuj na
  informacji podzielonej na bajty, ktry moe by rwnie reprezentacj
  znaku ASCII.

  Powiedzmy, ze posiadasz terminal przyczony do twojego PC. Kiedy
  wprowadzasz znak, terminal przekazuje go do nadajnika (rwnie pewnego
  rodzaju ukadu UART). Nadajnik przesya ten bajt przez lini
  szeregow, bit po bicie z okrelon prdkocia. Po stronie PC,
  odbierajcy ukad UART pobiera kolejne bity i buduje z nich bajty,
  ktre wstawia kolejno do bufora.


  Istniej dwa rne rodzaje ukadw UART. Powszechnie znane gupe 8250
  i 16450, oraz zawierajce kolejk FIFO, sprytniejsze 16550A. Aby
  zrozumie rznic przestudiujmy co si dzieje, kiedy ukad UART wysya
  lyb otrzymuje bajt informacji.


  Ukad UART sam z siebie nie potrafi nic zrobi. Tylko wysya i odbiera
  bity. Za akdym razem, kiedy jeden bajt zosta wysany lub odebrany
  CPU otrzymuje sygna przerwania od urzdzenia szeregowego. Wtedy
  procesor przenosi otrzymany bajt z bufora ukadu UART gdzie do
  pamici, lub przekazuje ukadowi UART do wysania kolejny bajt. Ukady
  8250 i 16450 posiadaj bufor o rozmiarze jednego bajtu. To oznacza, e
  za kadym razem, kiedy jeden bajt jest wysany lub odebrany procesor
  otrzymuje sysgna przerwania. Przy maych prdkociach wszystko jest w
  porzdku. Lecz przy wyszych prdkociach, procesor jest tak zajty
  obsug ukadu UART, e nie ma czasu na inne zadania. W niektrych
  przypadkach procesor nie nada z sam obsug ukadu UART i bajt
  zawarty w buforze ukladu UART jest nadpisywany (niszczony) poniewa
  zosta tam umieszczony nastpny bajt, zanim poprzedni zosta
  przeniesiony w bezpieczne miejsce.


  To jest sytuacja, w ktrej przydaje si ukad 16550A. Ten ukad
  posiada bufor FIFO o rozmiarze 16 bajtw. To znaczy, e moe wysa
  lub odebra 16 bajtw, zanim jest zmuszony wysa do procesora sygna
  przerwania. Poza tym prcz tego ,ze sam ukad moe poczeka, to
  jeszcze procesor moe przenie za jednym razem wszystkie 16 bajtw.
  Cho poziom generowania przerwa rzadko jest rwny 16, jest to nadal
  ogromna przewaga nad innymi ukadami UART, posiadajacymi 1-no bajtowy
  bufor. Procesor otrzymuje mnej przerwa i ma czas na obsug innych
  zada. Dane nie s gubione i wszyscy s szczliwi. (Istniej jeszcze
  ukady 16550, lecz s traktowane tak, jak 16450 ze wzgldu na bldy
  jakie zawieraj).

  Zasadniczo ukady 8250 i 16450 powinny si sprawowa poprawnie do
  prdkoci 38400 bps. Przy wyszych prdkociach moesz mie okazj
  zobserwowa utrat danych i zmiejszenie czasu odpowiedzi przy pracy
  zdalnej. Inne systemy operacyjne (nie sprzeczajmy si co to jest sytem
  operacyjny), jak DOS nie s wielozadaniowe wic mog sobie lepiej
  radzi z ukadami 8250 lub 16450. Dlatego niektrzy nie widz utraty
  danych, zanim nie przesid si na Linux-a.

  Inteligentne karty wieloportowe nie posiadaj ukadw UART, lecz
  ukady DSP, ktre wykonuj dodatkowe buforowanie i sterowanie jescze
  bardziej odciajc procesor. Np Cyclades Cyclom i Stallion EasyIO
  korzystaj z ukadu Cirrus Logic CD-1400 RISC.

  Pamitaj, e gupie ukady UART nie s ze. Nie s wystarczajco dobre
  do duych prdkoci. Nie powiniene mie adnych kopotw podczaj
  mysz lub terminal do portu pracujcego na takim ukadzie. Lecz w
  przypadku modemw o wysokiej prdkoci 16550A jest koniecznoci.


  Karty z ukadami 16550 moesz kupi niewiele droej, zapytaj si swego
  sprzedawcy jakiego rodzaju ukady znajduj si na karcie. Lub jeli
  chcesz unowoczeni swoj kart wystarczy naby ukady 16550A i woy
  w miejsce starych 16450. Maj zgodny rozkad nek. Cz kart ma
  montowane ukady 16450 na specjalnych podstawkach, jeli nie  moesz
  sprzeda star kart i kupi now. Prawdopodobnie zaoszczdzisz sobie
  w ten sposw bielu kopotw. Ich cena nie powinna przekroczy US$ 50.


  12.4.

  Jaka jest naprawd rnica midzy urzdzeniami /dev/cua N
  itt>/dev/ttyS N  devices?

  Rnica polega na sposobie otwierania tych urzdze. Urzdzenia
  wejciowe /dev/ttySN s otwierane w trybie blokowania a do sygnau CD
  (kto si wanie poczy). Wic jeli kto chce korzysta z
  urzdzenia /dev/cuaN nie ma konfliktu z programem nasuchujcym
  urzdzenie /dev/ttySN.


  To rozrnienie jest potrzebne aby umoliwi przez ten sam modem
  poczenia przychodzace (ttySN) i wychodzce (cuaN).



  13.

  Radzenie sobie z kopotami.


  13.1.

  Cay czas pojawia si komunikat ``line NNN  of inittab invalid''.

  Upewnij si, e stosujesz odpowiednia skadnie w pliku /etc/inittab
  zgodn z twoj wersja programu init. Rne wersje tego programu obecne
  w wiecie Linux-a maj rn skadni. Rwnie upewnij si, e uywasz
  poprawnej skadni dla twojej wersji getty.


  13.2.

  Kiedy prbuj zadzwoni dostaj komunikat ``/dev/cua N : Device or
  resource busy''.

  Ten problem  moe si pojawia, gdy DCD i DTR nie s ustawione
  poprawnie. DCD powinno by wczone tylko wtedy, gdy jest rzeczywiste
  poczenie (gdy kto do ciebie zadzwoni i w danej chwili wykorzystuje
  modem i port szeregowy), a nie kiedy getty nasuchuje na porcie.
  Sprawd czy twj modem jest skonfigurowany, aby wcza DCD tylko
  podczas trwania poczenia. DTR powinno by wczone zawsze, gdy co
  sprawdza lub nasuchuj lini, jak getty, kermit lub inny program
  komunikacyjny.

  Inn powszechn przyczyn omunikatu ``device busy'' (urzdenie zajte)
  jest skonfigurownie portu szeregowego w taki sposob, e uywa
  przerwania IRQ przydzielonego do innego urzdzenia. Podczas
  inicjowania portu sterownik, pyta si Linux-a o pozwolenie na
  wykorzystanie przerwania sprztowego.  Linux pamita, ktre przerwanie
  zostao mu przydzielone i jeli twoje przerwanie zostao ju
  przydzielone, urzdzenie (np. port szeregowy) nie bedzie mogo zosta
  prawidowo zainicjowane. Urzdzenie nie ma za bardzo jak powiedzie Ci
  o tym, poza przypadkiem kiedy prbujesz go uyc. Przekazuje wtedy bd
  ``device busy''. Sprawd przerwania wszystkich swoich kart
  (szeregowych, sieciowych, SCSI, itd.). Szukaj konfliktw przerwa IRQ.


  13.3.

  Cay czas otrzymuj ``Id S N  respawning too fast: disabled for 5 min
  utes''.

  Upewnij si, e Twj modem jest skonfigurowany poprawnie. Przyjyj si
  rejestrom E i Q. Przyczyn moe by pogawdka modemu z programem
  getty.


  Upenij si ,e poprawnie wywoujesz getty w pliku /etc/inittab/.
  Uywanie bdnej skadni lub nieporawnych nazw urzdze jest przyczyn
  licznych kopotw.

  Upewnij si, e /etc/gettydefs ma poprawn skadnie.  W tym celu wydaj
  polecenie:


               linux# getty -c /etc/gettydefs





  Przyczyna moe lee w niepoprawnej inicjalizacji programu uugetty.
  Patrz pytanie ``getty lub uugetty nadal nie pracuje poprawnie''.


  13.4.

  Porty szeregowe s powolne, lub mog przesya informacje tylko w
  jedn strone.

  Prawdopodobnie konflikt IRQ. Upewnij si,  IRQ nie s wsplne.
  Sprawd wszystkie karty (szeregowe, sieciowe, SCSI, itd.). Upewnij
  si, e ustawienia mikroprzecznikw i parametry ustawiane przez
  setserial s poprawne dla wszystkich urzdze szeregowych. Sprawd
  /proc/interrupts i /proc/ioports w poszukiwaniu konfliktw.


  13.5.  uugetty  nie uruchimi si ponownie.

  Moj modem blokuje si po tym, jak kto si rozczy, lub

  Przyczyna moe lee w tym, e kiedy spada sygna DTR twj modem si
  nie zeruje. Widziaem jak diody RD i SD na moim modemie szalay, kiedy
  cos takiego mi si zdarzyo. Twj modem musi si zerowa. Wiekszo
  modemw zgodnych z Hayes wymaga ustawienia &D3, lecz w moim USR
  Courier musiaem ustawi &D2 i S13=1. Sprawd w dokumnetacji modemu.


  13.6.

  Mam terminal podczony do mojego PC, lecz po wpisaniu identyfikatora
  blokuje si.

  Prawdopodobnie pozycja dotyczca tego terminala w pliku /etc/gettydefs
  nie zawiera opcji CLOCAL. I prawdopodobnie nie uywasz penego kabla
  bezmodemowego (full null modem cable). Musisz ustawi opcj CLOCAL,
  dzieki ktrej Linux ignoruje sygnay strujce modemem. To powinno
  wyglda mniej wicej tak:


       # 38400 bps Dumb Terminal entry
       DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400

       # 19200 bps Dumb Terminal entry
       DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200

       # 9600 bps Dumb Terminal entry
       DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600





    Nastpnie zabij (kill) proces getty, tak aby uruchomil si
     nastpny, ktry odczyta nowe ustawienia.



    Jeli korzystasz z agetty: dodaj do wiersza agetty w pliku
     /etc/inittab parametr -L. W ten sposb zmusisz agetty do
     ignorowania sygnaw sterowania modemem. Nastpnie zrestartuj
     program init wydajc polecenie init q. Odpowiedni wpis w pliku
     /etc/inittab powinien wyglda mniej wicej tak:




          s1:345:respawn:/sbin/agetty -L 9600 ttyS1 vt100







  13.7.

  Moj modem traci dane przy wikszych prdkociach.

  Jeli prbujesz uruchomi swj modem z prdkoci co najmniej 19200
  bps i nie posiadasz ukadw UART 16550A, powiniene je wymieni. Patrz
  rozdzia ``Co to jest      UART''.


  13.8.

  Podczas startu Linux nie raportuje portw szeregowych w sposb jaki je
  ustawiem.

  To prawda. Linux nie wykonuje podczas startu rozpoznania IRQ, jedynie
  strawdza istnienie urzdze szeregowych. Dlatego nie przejmuj si tym
  co wypisuje podczas startu na temat IRQ, poniewa po prostu zakada
  standardow konfiguracje. Dzieje si tak poniewa wykrywanie przerwa
  IRQ nie jest pewne i mog by odczytane niepoprawnie.


  Dlatego pomimo, e moj ttyS2 jest skonfigurowany na IRQ 5 nadal widz:


               Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A






  Musisz powiedzie Linux-owi o przerwaniach IRQ, korzystajc z programu
  setserial. Po uruchomieniu systemu moesz zaje do pliku
  /proc/interrupts i zobaczy, jak zostay przydzielone.


  13.9.

  rz  i/lub sz  nie dziaaj kiedy pracuje na moim Linux-ie przez modem.

  Jeli przy prbie transferu plikw Linux szuka urzdzenia /dev/modem
  sprawd zawarto plikw /etc/profile i /etc/csh.cshrc. W niektrych
  dystrybucjach (szczeglnie w Slackware) moe tam by zdefiniowana
  gar aliasw, ktre wywouj cae zamieszanie. Poraw je lub po prostu
  usu.


  13.10.

  Widz na ekranie miesznie wygldajce znaczki.

  Tak si dzieje, gdy wylesz na konsol wirtualn dane binarne, lub
  czasami przy poczeniach przez porty szeregowe. Jednym ze sposobw na
  przywrcenie normalengo wygldu ekranu jest napisanie echo ^v^[c lub:




   linux% echo
          <ctrl>v<esc>c





  13.11.

  getty  lub uugetty  nadal nie dziala.

  getty_ps posiada opcj DEBUG. Zmie plik konfiguracyjny
  /etc/conf.{uu}getty.ttySN i dodaj opcj DEBUG=NNN. NNN moe przyjmowa
  kombinacje podanych poniej wartoci ( w zalenoci o tego jakie
  informacje chcesz otrzymywa):



               D_OPT   001            ustawianie opcji
               D_DEF   002            przetwarzanie domynych plikw konfiguracyjnych
               D_UTMP  004            obsuga utmp/wtmp
               D_INIT  010            inicjowanie liniii (INIT)
               D_GTAB  020            przetwarzanie pliku gettytab
               D_RUN   040            inna diagnostyka czasu wykonania
               D_RB    100            odpluskwianie obcji ringback
               D_LOCK  200            obsuga pliku blokady
               D_SCH   400            obsuga zaplanowanych zdarze
               D_ALL   777            wszystko





  Na pocztek mozna ustawi DEBUG=010.


  Jeli korzystasz z syslogd, informacje odpluskwiajce bd pojawia
  si w plikach dziennikw. Jeli syslogd nie jest uruchomiony
  komunikaty dotyczce odpluskwiania getty bda zachowywane w
  /tmp/getty:ttySN, a dotyczce uugetty w pliku /tmp/uugetty:ttySN oraz
  w pliku /var/adm/getty.log. Przypatrz si tej informacji i postaraj
  si zrozumie co si dzieje. Prawdobodobnie bdziesz musia dostroi
  kilka parametrw w plikach konfiguracyjnych i ponwnie skonfigurwa
  modem.


  Moesz sprbowa mgetty. Cz ludzi miaa z nim wicej szczcia.



  14.

  Inne rda informacji.


    Strony podrcznika agetty(8), getty(1m), gettydefs(5), init(1),
     login(1), mgetty(8), setserial(8)

    Instrukcja modemu

    NET-3 HOWTO: wszystko na temat sieci, wczajc SLIP, CSLIP i PPP

    PPP HOWTO: pomoc przy PPP

    Printing HOWTO: jak skonfiguraowa drukark przez port szeregowy

    Term HOWTO: wszystko co chcesz wiedzie na temat programu term

    UPS HOWTO: konfiurowanie komputerow z podczonym przez port
     szeregowy UPSem

    UUCP HOWTO: informacja na temat konfiguracji UUCP

    Grupy nowinkowe:


               polskie:
                     pl.com.os.linux:
                 wszystkie pytania dotyczace Linux-a
               angielskie
                     comp.os.linux.answers
               FAQs, How-To's, READMEs, etc. about Linux.
                     comp.os.linux.hardware
               Hardware compatibility with the Linux operating system.
                     comp.os.linux.networking
               Networking and communications under Linux.
                     comp.os.linux.setup
               Linux installation and system administration.






    Lista dyskusyjna na temat portw szeregowych. Aby si zapisa
     wylij list na adres majordomo@vger.rutgers.edu, zawierajcy
     ``subscribe linux-serial''. Jeli wylesz sowo ``help'' otrzymasz
     list z informacjami jak posugiwa si list (po angielsku). Ten
     serwer obsluguje wiele innych list powiconych Linux-owi. Wyli
     polecenie ``lists'', a otrzymasz spis aktywnych list.

    Dokumentacja dotyczca komunikacji przez porty szeregowe i kart
     wieloportowych jest dostpna na serwerze firmy Cyclades
     http://www.cyclades.com.

    Dokumenty FAQ (czesto zadawane pytania) dotyczce modemw:
     Navas 28800 Modem FAQ
     <http://web.aimnet.com/~jnavas/modem/faq.html>
     Curt's High Speed Modem Page
     <http://www.teleport.com/~curt/modems.html>

    Programowanie portw szeregowych: Advanced Programming in the UNIX
     Environment <http://heg-
     school.aw.com/cseng/authors/stevens/advanced/advanced.nclk>, by W.
     Richard Stevens (ISBN 0-201-56317-7; Addison-Wesley)
     <http://www.ora.com/catalog/posix/> NAME="POSIX Programmer's
     Guide">, by Donald Lewine (ISBN 0-937175-73-0; O'Reilly)


  15.

  Wsppraca przy tworzeniu tego dokumentu.

  Nie byo moliwe napisania tego dokumentu samemeu. Jego wiksza cz
  zostaa napisana przeze mnie, przepisaem rwnie wiele cudzych
  poprawek aby zachowa cigo schematu i stylu. Dzikuje wszystkim,
  ktrzy mi pomogli lub skomentowali ten dokument. Pena lista adresw
  byaby abyt duga (ponad 50 adresw). Sczeglne podzikowania nale
  sie Tedowi T'so, ktry cierpliwie odpowiada na pytania dotyczce
  urzdze szeregowych, Krisowi Glesonowi, ktry opiekuje si pakietem
  getty_ps i Gertowi Doeringowi, opiekunowi mgetty.

  16.

  Od tumacza

  Zdaje sobie spraw, e niniejsze tumaczenie zawiera mnstwo bdw.
  Niestety nie jestem w stanie dokadnie sprawdzi caego dokumentu i
  wiadomie pozostawiam t prac czytelnikowi. Bd wdziczny za
  wszelkie uwagi na temat tego dokumentu, wytykanie bdw, literwek,
  skadni i wszelkie inne, ktre mog przyczyni si do jego ulepszenia.


  Wszelkie tego typu uwagi prosz przesya na adres
  piotr.pogorzelski@ippt.gov.pl


  Inne przetumaczone dokumenty mona znale na stronie
  http://www.jtz.org.pl/. Zapraszamy!.


  piotr.pogorzelski@ippt.gov.pl.

  Koniec Serial-JTZ, polskiego tumaczenia Serial-HOWTO czy jak to si
  zwie.











































