Provided by: manpages-pl_0.7-2_all bug

NAZWA

       setserial - pobierz/ustaw informacje o porcie szeregowym

SKŁADNIA

       setserial [ -abqvVWz ] device [ parameter1 [ arg ] ] ...

       setserial -g [ -abGv ] device1 ...

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       setserial   jest   programem   przeznaczonym   do  ustawiania  i/lub  raportowania  danych
       konfiguracyjnych związanych z portem szeregowym. Dane te zawierają port I/O, numer IRQ, to
       czy klawisz break powinien być interpretowany jako Secure Attention Key, itd.

       Podczas  normalnego  bootowania,  inicjalizowane są jedynie porty COM 1-4; używane są przy
       tym domyślne wartości portów I/O i IRQ. Aby zainicjalizować dodatkowe porty szeregowe, lub
       aby  zmienić  konfiguracje  portów 1-4, musisz użyć programu setserial.  Zazwyczaj jest on
       wołany ze skryptu rc.serial, który z kolei jest normalnie uruchamiany z /etc/rc.local.

       Argument(y) device określa, które urządzenie szeregowe ma być skonfigurowane lub odpytane.
       Zazwyczaj przyjmuje postać /dev/cua[0-3].

       Bez  parametrów, setserial drukuje rodzaj portu np. 8250, 16450, 16550, 16550A), sprzętowy
       port I/O, sprzętową linię IRQ, szybkość i niektóre flagi operacyjne.

       Przy podanej opcji -g, argumenty setserial są  interpretowane  jako  lista  urządzeń,  dla
       których należy wydrukować charakterystykę.

       Bez  opcji -g, pierwszy argument jest interpretowany jako urządzenie do zmodyfikowania lub
       do wydrukowania charakterystyki, a dodatkowe argumenty interpretowane są  jako  parametry,
       które powinny być zaaplikowane do tego urządzenia.

       W  większości wypadków wymagane są uprawnienia superużytkownika. Jednak kilka opcji portów
       mogą ustawiać zwykli użytkownicy  i  opcje  te  zostaną  zaznaczone  jako  wyjątki  w  tym
       podręczniku.

OPCJE

       Setserial przyjmuje następujące opcje:

       -a     Podczas  raportowania konfiguracji urządzenia szeregowego, drukuj wszelkie dostępne
              informacje.

       -b     Podczas  raportowania  konfiguracji  urządzenia  szeregowego,  drukuj   zestawienie
              konfiguracji  urządzenia, które może być wystarczające do wypisania podczas procesu
              bootowania w skrypcie /etc/rc.

       -G     Wydrukuj informację o konfiguracji portu szeregowego w postaci, która  może  zostać
              zassana do setseriala jako argumenty linii poleceń.

       -q     Bądź cicho.  Setserial wydrukuje wtedy mniej linii na wyjściu.

       -v     Bądź gadatliwy.  Setserial wydrukuje wtedy dodatkowy status na wyjściu.

       -V     Wyświetl wersję i zakończ.

       -W     Dokonaj  dzikiej  inicjalizacji  przerwań  i  zakończ.  Opcja ta nie jest istotna w
              jądrach po wersji 2.1.

       -z     Zeruj flagi szeregowe  przed  rozpoczęciem  ich  ustawiania.  Jest  to  związane  z
              automatycznym zachowywaniem flag szeregowych z flagą -G.

PARAMETRY

       Portowi szeregowemu można przyznać niżej wymienione parametry.

       Wszystkie wartości argumentów są wartościami dziesiętnymi, chyba że poprzedzone są "0x".

       port port_number
              Opcja port ustawia port I/O, jak opisano wyżej.

       irq irq_number
              Opcja irq ustawia sprzętowe IRQ, jak opisano wyżej.

       uart uart_type
              Opcja  ta  jest  używana  do  ustawienia typu UART-a. Dozwolone typy to none, 8250,
              16450, 16550, 16550A, 16650, 16650V2, 16654, 16750, 16850, 16950, i 16954.   Użycie
              typu UART none wyłączy port.

              Niektóre modemy wewnętrzne są oznaczone jako mające "UART 16550A z buforem 1K" Jest
              to kłamstwo. Nie mają w rzeczywistości  UART-a  kompatybilnego  z  16550A;  zamiast
              niego  mają  UART  kompatybilny  z  16450  z 1K buforem odbiorczym dla zapobiegania
              spustoszeniom u odbiorcy. Jest to istotne, ponieważ nie  mają  one  transmitującego
              FIFO.  Dlatego  nie  są  kompatybilne  z  UART-em  16550A i proces autokonfiguracji
              zidentyfikuje je prawidłowo  jako  16450.  Jeśli  spróbujesz  obejść  to,  używając
              parametru  uart,  pojawią  się porzucone znaki podczas transmisji plików. UART-y te
              mają zwykle inne problemy: parametr skip_test powinien być również często podawany.

       autoconfig
              Gdy  podano  ten  parametr,  setserial  poprosi  jądro   o   próbę   automatycznego
              skonfigurowania  portu  szeregowego.  Port I/O musi być ustawiony prawidłowo; jądro
              spróbuje określić typ UART, a  dodatkowo  jeśli  podano  parametr  auto_irq,  Linux
              spróbuje też automatycznie określić IRQ.  Parametr autoconfig powinien być podawany
              po parametrach port,auto_irq, i skip_test.

       auto_irq
              Spróbuj podczas autokonfiguracji określić IRQ. Właściwość ta nie  zawsze  musi  dać
              prawidłowy  wynik;  niektóre  konfiguracje  sprzętowe mogą ogłupić jądro.  Ogólnie,
              bezpieczniej jest nie używać  właściwości  auto_irq,  lecz  raczej  samemu  podawać
              wartość IRQ, używając parametru irq.

       ^auto_irq
              Nie próbuj określić IRQ podczas autokonfiguracji.

       skip_test
              Pomiń  test  UART  podczas  autokonfiguracji.  Niektóre  modemy wewnętrzne nie mają
              UART-ów kompatybilnych z National Semiconductor, lecz zamiast nich tanie  imitacje.
              Niektóre  z nich nie wspierają w pełni trybu detekcji loopback, którego używa jądro
              do upewnienia się, czy pod podanym adresem  jest  rzeczywiście  UART.  Dlatego  dla
              niektórych  modemów będzie trzeba podać ten parametr aby można było zainicjalizować
              UART prawidłowo.

       ^skip_test
              Nie pomijaj testu UART podczas autokonfiguracji.

       baud_base baud_base
              Opcja ta ustawia podstawową prędkość (baud rate), która jest częstotliwością zegara
              podzieloną  przez  16.  Normalnie  jest  to  115200,  co  jest  zarazem  największą
              prędkością wspieraną przez UART.

       spd_hi Gdy aplikacja żąda 38.4kb, używaj 57.6kb. Parametr ten  może  być  ustawiany  przez
              nieuprzywilejowanego użytkownika.

       spd_vhi
              Gdy  aplikacja  żąda  38.4kb,  używaj  115kb. Parametr ten może być ustawiany przez
              nieuprzywilejowanego użytkownika.

       spd_shi
              Użyj 230kb gdy  aplikacja  żąda  38.4kb.  Parametr  ten  może  być  podawany  przez
              użytkownika nieuprzywilejowanego.

       spd_warp
              Użyj  460kb  gdy  aplikacja  żąda  38.4kb.  Parametr  ten  może  być podawany przez
              użytkownika nieuprzywilejowanego.

       spd_cust
              Gdy aplikacja żąda 38.4kb, użyj ustawionego dzielnika do  ustawienia  szybkości.  W
              tym   wypadku,   prędkość   jest   określona   przez   baud_base  podzielone  przez
              divisor(dzielnik).  Parametr  ten  może  być  podawany  przez  nieuprzywilejowanego
              użytkownika.

       spd_normal
              Gdy  aplikacja  żąda  38.4kb,  używaj 38.4kb. Parametr ten może być ustawiany przez
              nieuprzywilejowanego użytkownika.

       divisor divisor
              Opcja ta ustawia konfigurowalny  dzielnik.  Dzielnik  będzie  używany  gdy  wybrana
              zostanie  opcja  spd_cust,  a  port  szeregowy  będzie ustawiony przez aplikację na
              38.4kb.  Parametr ten może być podawany przez nieuprzywilejowanego użytkownika.

       sak    Ustaw klawisz break na Secure Attention Key.

       ^sak   wyłącz Secure Attention Key.

       fourport
              Skonfiguruj port jako kartę AST Fourport.

       ^fourport
              Wyłącz konfigurację AST Fourport.

       close_delay delay
              Podaj ilość czasu w setnych sekundy, podczas których DTR powinien zostać  w  stanie
              obniżonym na linii szeregowej po tym, jak urządzenie wydzwaniające (callout device)
              jest zamykane, zanim blokowane urządzenie wdzwaniające  się  (dialin  device)  znów
              podniesie DTR. Domyślną wartością tej opcji jest 50 lub pół sekundy.

       closing_wait opóźnienie
              Podaj  ilość  czasu  w setnych sekundy, podczas której jądro powinno czekać na dane
              nadawane z portu szeregowego podczas jego zamykania. Jeśli podane zostanie  "none",
              nie  będzie  oczekiwania.  Jeśli  podane zostanie "infinite", jądro będzie czekać w
              nieokreślenie długo na przybycie buforowanych danych.  Domyślnym  ustawieniem  jest
              3000  lub  30  sekund  opóźnienia. Ta wartość domyślna jest wskazana dla większości
              urządzeń. Jeśli wybrane zostanie długie opóźnienie,  to  port  szeregowy  może  się
              zawiesić na długi czas podczas zamykania. Jeśli wybrany będzie zbyt krótki czas, to
              istnieje ryzyko utraty danych. Jeśli urządzenie jest bardzo wolne, jak w  ploterze,
              to można wybrać większe wartości.

       session_lockout
              Blokuj  dostęp  do portu wydzwaniającego (/dev/cuaXX) na przestrzeni różnych sesji.
              To znaczy, że gdy proces otworzy port,  to  żaden  inny  proces  nie  może  go  już
              otworzyć, dopóki pierwszy proces go nie zamknie.

       ^session_lockout
              Nie blokuj portu wydzwaniającego na przestrzeni sesji.

       pgrp_lockout
              Blokuj  port  wydzwaniający  (/dev/cuaXX) na przestrzeni różnych grup procesów.  To
              znaczy, że gdy proces otworzył port, to żaden inny proces z  innej  grupy  procesów
              nie może go otworzyć, dopóki ten proces go nie zamknie.

       ^pgrp_lockout
              Nie blokuj portu wydzwaniającego na przestrzeni różnych grup procesów.

       hup_notify
              Poinformuj  proces  blokowany na otwieraniu linii wdzwaniającej, gdy proces skończy
              używać linii wydzwaniającej (zarówno przez zamknięcie jej,  lub  przez  zawieszenie
              jej) przez zwrócenie (funkcji?) open EAGAIN.

              Zastosowanie  tego  parametru  odnosi  się  do getty, które są blokowane na liniach
              wdzwaniających portów szeregowych. Umożliwia to getty  zresetowanie  modemu  (który
              może   mieć   dzięki  aplikacji  używającej  urządzenia  wydzwaniającego  zmienioną
              konfigurację) przed ponownym blokowaniem.

       ^hup_notify
              Nie informuj procesu blokowanego na otwieraniu linii wdzwaniającej, gdy  urządzenie
              wydzwaniające jest odwieszone.

       split_termios
              Traktuj  ustawienia  termios  używane  przez  urządzenie wydzwaniające i ustawienia
              urządzenia wdzwaniającego osobno.

       ^split_termios
              Używaj  tej  samej  struktury  termios  do   przechowywania   ustawień   urządzenia
              wdzwaniającego i wydzwaniającego.

       callout_nohup
              Jeśli  dany  port  szeregowy  jest  otworzony  jako  urządzenie  wydzwaniające, nie
              odwieszaj tty gdy porzucony zostanie CD.

       ^callout_nohup
              Nie pomijaj odwieszania tty gdy  port  szeregowy  jest  otworzony  jako  urządzenie
              wydzwaniające.  Oczywiście musi być włączona flaga HUPCL termios, jeśli odwieszenie
              ma się pojawić.

       low_latency
              Minimalizuj  opóźnienia  odbioru  z  urządzenia   szeregowego   kosztem   większego
              zaangażowania  CPU.  (Normalnie jest 5-10ms opóźnienie nim znaki zostaną przekazane
              dyscyplinie linii.) Jest to domyślnie  wyłączone,  lecz  niektóre  aplikacje  czasu
              rzeczywistego mogą tego potrzebować.

       ^low_latency
              Optymalizuj  efektywne  przetwarzanie przez CPU znaków szeregowych kosztem płacenia
              średniego opóźnienia 5-10ms nim znaki zostaną przetworzone. Jest to domyślne.

ROZWAŻANIA O KONFIGUROWANIU PORTÓW SZEREGOWYCH

       Ważnym jest, by zauważyć iż  setserial  zwyczajnie  mówi  jądru  Linuksa,  gdzie  powinien
       spodziewać się znaleźć port I/O i linie IRQ określonego portu szeregowego. Nie konfiguruje
       on sprzętu! Aby to uczynić, musisz  fizycznie  zaprogramować  kartę  szeregową,  zazwyczaj
       przez przestawienie zworek, lub przełączenie przełączników DIP.

       Sekcja  ta  udostępni  pewne  wskazówki  pomocne  w  decydowaniu  jak  skonfigurować porty
       szeregowe.

       "Standardowe powiązania MS-DOS" zostały pokazane niżej:

              /dev/ttyS0 (COM1), port 0x3f8, irq 4
              /dev/ttyS1 (COM2), port 0x2f8, irq 3
              /dev/ttyS2 (COM3), port 0x3e8, irq 4
              /dev/ttyS3 (COM4), port 0x2e8, irq 3

       Z powodu ograniczeń w projekcie architektury szyn AT/ISA, normalnie linia IRQ nie może być
       dzielona  między  dwoma lub więcej portami szeregowymi. Jeśli spróbujesz tak zrobić, jeden
       lub obydwa z  tych  portów  staną  się  niedostępne,  gdy  spróbujesz  używać  ich  naraz.
       Ograniczenie  to  można  obejść  przez  specjalne  wieloportowe  karty szeregowe, które są
       skonstruowane do dzielenia wielu portów szeregowych na jednej linii IRQ.  Karty  wspierane
       przez  Linuksa  zawierają AST FourPort, Accent Async, Usenet Serial II, Bocaboard BB-1004,
       BB-1008, i BB-2016, oraz HUB-6.

       Wybór alternatywnej linii IRQ jest trudny, gdyż prawie wszystkie z nich są już  w  użytku.
       Następująca tabela zawiera wykaz "standardowych przydziałów MS-DOS" dla linii IRQ:

              IRQ 3: COM2
              IRQ 4: COM1
              IRQ 5: LPT2
              IRQ 7: LPT1

       Wiele  osób  uważa,  że IRQ 5 jest dobrym wyborem, zakładając że w komputerze aktywny jest
       tylko jeden port równoległy. Innym dobrym wyborem jest IRQ 2 (aka IRQ 9); chociaż  to  IRQ
       jest  czasem  używane przez karty sieciowe i bardzo rzadko przez karty VGA (dla przerwania
       vertical retrace). Jeśli twoja karta VGA jest tak skonfigurowana, spróbuj to wyłączyć, tak
       być  mógł  wykorzystać  to  IRQ  dla innej karty. Nie jest to niezbędne pod GNU/Linuksem i
       większością innych systemów operacyjnych.

       Jedynymi innymi dostępnymi liniami IRQ są 3, 4 i 7, a są one prawdopodobnie używane  przez
       inne  porty  szeregowe  i  równoległe.  (Jeśli  twoja  karta  szeregowa  ma 16-bitowy edge
       connector i wspiera wyższe numery IRQ, to dostępne sa też IRQ 10, 11, 12 i 15.)

       W maszynach klasy AT, IRQ 2 jest widziane jako IRQ 9 i Linux interpretuje je w ten sposób.

       Przerwania inne niż 2 (9), 3, 4, 5, 7, 10, 11, 12, i 15, nie powinny być używane, gdyż  są
       przyznane  innym  elementom sprzętowym i ogólnie nie mogą być zmieniane. Oto "standardowe"
       przyznania:

              IRQ  0      Kanał timera 0
              IRQ  1      Klawiatura
              IRQ  2      Kaskada kontrolera 2
              IRQ  3      Port szeregowy 2
              IRQ  4      Port szeregowy 1
              IRQ  5      Port równoległy 2 (Zarezerwowane w PS/2)
              IRQ  6      Stacja dysków
              IRQ  7      Port równoległy 1
              IRQ  8      Zegar czasu rzeczywistego
              IRQ  9      Przekierowane na IRQ2
              IRQ 10      Zarezerwowane
              IRQ 11      Zarezerwowane
              IRQ 12      Zarezerwowane (Pomocnicze urządzenie w PS/2)
              IRQ 13      Koprocesor matematyczny
              IRQ 14      Kontroler dysku twardego
              IRQ 15      Zarezerwowane

KONFIGURACJA WIELOPORTOWA

       Niektóre wieloportowe układy szeregowe,  dzielące  wiele  portów  na  jednym  IRQ  używają
       jednego  lub  więcej portów do określania czy są tam aktywne porty, które należy obsłużyć.
       Jeśli twój układ wieloportowy obsługuje te porty, to  powinieneś  z  nich  skorzystać  aby
       zapobiec potencjalnym zablokowaniom, gdy zginie przerwanie.

       Aby  ustawić  te  porty,  musisz  przekazać  set_multiport  jako parametr i wypisać za nim
       parametry wieloportowe. Parametry wieloportowe  przybierają  postać  podania  sprawdzanego
       portu,  maski,  wskazującej,  które  bity rejestru są znaczące oraz, ostatecznie parametru
       dopasowania, (match), określającego, które bity znaczące tego rejestru muszą pasować,  gdy
       nie ma już niczego do zrobienia.

       Można  podać do czterech takich kombinacji. Pierwsze kombinacje powinny być podawane przez
       ustawianie parametrów port1, mask1 i match1.  Następne przez  ustawianie  port2,  mask2  i
       match2, itd. Aby wyłączyć sprawdzanie wieloportowe, ustaw port1 na zero.

       Aby   obejrzeć   bieżące   ustawienia   wieloportowe,   podaj  w  linii  poleceń  parametr
       get_multiport.

       Oto pewne ustawienia wieloportowe dla popularnych układów szeregowych:

              AST FourPort    port1 0x1BF mask1 0xf match1 0xf

              Boca BB-1004/8  port1 0x107 mask1 0xff match1 0

              Boca BB-2016    port1 0x107 mask1 0xff match1 0
                              port2 0x147 mask2 0xff match2 0

Konfiguracja ESP Hayesa

       Setserial może być również używany do konfigurowania portów na układzie ESP Hayesa.

       Można do tego używać następujących parametrów:

       rx_trigger
              Jest to poziom wyzwalania (w bajtach) FIFO odbiorczego. Większe  wartości  powodują
              mniej  przerwań  i  lepszą  wydajność;  jednak  zbyt  duże wartości powodują utratę
              danych. Dostępne wartości to 1 do 1023.

       tx_trigger
              Jest to poziom wyzwalania  (w  bajtach)  FIFO  nadawczego.  Większe  wartości  mogą
              powodować  mniej  przerwań  i  lepszą wydajność; jednak zbyt duże wartości powodują
              zdegradowaną wydajność nadawania. Dostępne wartości to 1 do 1023.

       flow_off
              Jest to poziom (w bajtach) przy którym port  ESP  zrobi  "flow  off"  dla  zdalnego
              nadajnika  (tj. powie mu by przestał nadawać więcej bajtów). Dostępne wartości to 1
              do 1023. Wartość ta powinna być większa od poziomu wyzwalania odbiorczego i poziomu
              flow on.

       flow_on
              Jest  to  poziom  (w  bajtach)  przy  którym  port ESP zrobi "flow on" dla zdalnego
              nadajnika (tzn. powie mu by wznowił nadawanie  bajtów)  po  "flow  off".   Dostępne
              wartości  to 1 do 1023. Wartość ta powinna być mniejsza niż poziom "flow off", lecz
              większa niż poziom wyzwalania odbiorczego.

       rx_timeout
              Jest to ilość czasu, przez którą port ESP powinien czekać po  odebraniu  ostatniego
              znaku  przed sygnalizowaniem przerwania. Prawidłowe wartości to 0 do 255. Zbyt duża
              wartość zwiększy opóźnienia, a zbyt mała spowoduje niepotrzebne przerwania.

UWAGA

       UWAGA: Skonfigurowanie portu szeregowego tak, by używał  nieprawidłowego  portu  I/O  może
       zablokować twoją maszynę.

PLIKI

       /etc/rc.local /etc/rc.serial

ZOBACZ TAKŻE

       tty(4), ttys(4), kernel/chr_drv/serial.c

AUTOR

       Oryginalna  wersja  setserial  została napisana przez Ricka Sladkeya (jrs@world.std.com) i
       została zmodyfikowana przez Michaela K. Johnsona (johnsonm@stolaf.edu).

       Ta  wersja  została  od  tej  pory  napisana  ponownie  od  zera   przez   Theodore   Ts'o
       (tytso@mit.edu) 1/1/93. Wszelkie błędy i problemy są wyłącznie jego odpowiedzialnością.

INFORMACJE O TŁUMACZENIU

       Powyższe  tłumaczenie  pochodzi  z nieistniejącego już Projektu Tłumaczenia Manuali i może
       nie być aktualne. W  razie  zauważenia  różnic  między  powyższym  opisem  a  rzeczywistym
       zachowaniem  opisywanego  programu  lub  funkcji,  prosimy  o  zapoznanie się z oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 8 setserial

       Prosimy o pomoc w aktualizacji stron man - więcej informacji  można  znaleźć  pod  adresem
       http://sourceforge.net/projects/manpages-pl/.