Provided by: manpages-pl_0.7-1_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/.

Setserial 2.17                                    Styczeń 2000                                      SETSERIAL(8)