Provided by:
manpages-pl_20060617-4_all 
NAZWA
setserial - pobierz/ustaw informacje o porcie szeregowym
SK/LADNIA
setserial [ -abqvVWz ] device [ parameter1 [ arg ] ] ...
setserial -g [ -abGv ] device1 ...
OPIS
setserial jest programem przeznaczonym do ustawiania i/lub raportowania
danych konfiguracyjnych zwizanych 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;
uywane s przy tym domylne wartoci portow I/O i IRQ. Aby zainicjalizowa
dodatkowe porty szeregowe, lub aby zmieni konfiguracje portow 1-4,
musisz uy programu setserial. Zazwyczaj jest on wolany ze skryptu
rc.serial, ktory z kolei jest normalnie uruchamiany z /etc/rc.local.
Argument(y) device okrela, ktore urzdzenie szeregowe ma by
skonfigurowane lub odpytane. Zazwyczaj przyjmuje posta /dev/cua[0-3].
Bez parametrow, setserial drukuje rodzaj portu np. 8250, 16450, 16550,
16550A), sprztowy port I/O, sprztow lini IRQ, szybko i niektore flagi
operacyjne.
Przy podanej opcji -g, argumenty setserial s interpretowane jako lista
urzdze, dla ktorych naley wydrukowa charakterystyk.
Bez opcji -g, pierwszy argument jest interpretowany jako urzdzenie do
zmodyfikowania lub do wydrukowania charakterystyki, a dodatkowe
argumenty interpretowane s jako parametry, ktore powinny by
zaaplikowane do tego urzdzenia.
W wikszoci wypadkow wymagane s uprawnienia superuytkownika. Jednak
kilka opcji portow mog ustawia zwykli uytkownicy i opcje te zostan
zaznaczone jako wyjtki w tym podrczniku.
OPCJE
Setserial przyjmuje nastpujce opcje:
-a Podczas raportowania konfiguracji urzdzenia szeregowego, drukuj
wszelkie dostpne informacje.
-b Podczas raportowania konfiguracji urzdzenia szeregowego, drukuj
zestawienie konfiguracji urzdzenia, ktore moe by wystarczajce do
wypisania podczas procesu bootowania w skrypcie /etc/rc.
-G Wydrukuj informacj o konfiguracji portu szeregowego w postaci,
ktora moe zosta zassana do setseriala jako argumenty linii
polece.
-q Bd cicho. Setserial wydrukuje wtedy mniej linii na wyjciu.
-v Bd gadatliwy. Setserial wydrukuje wtedy dodatkowy status na
wyjciu.
-V Wywietl wersj i zakocz.
-W Dokonaj dzikiej inicjalizacji przerwa i zakocz. Opcja ta nie
jest istotna w jdrach po wersji 2.1.
-z Zeruj flagi szeregowe przed rozpoczciem ich ustawiania. Jest to
zwizane z automatycznym zachowywaniem flag szeregowych z flag
-G.
PARAMETRY
Portowi szeregowemu mona przyzna niej wymienione parametry.
Wszystkie wartoci argumentow s wartociami dziesitnymi, chyba e
poprzedzone s "0x".
port port_number
Opcja port ustawia port I/O, jak opisano wyej.
irq irq_number
Opcja irq ustawia sprztowe IRQ, jak opisano wyej.
uart uart_type
Opcja ta jest uywana do ustawienia typu UART-a. Dozwolone typy
to none, 8250, 16450, 16550, 16550A, 16650, 16650V2, 16654,
16750, 16850, 16950, i 16954. Uycie typu UART none wylczy port.
Niektore modemy wewntrzne s oznaczone jako majce "UART 16550A z
buforem 1K" Jest to klamstwo. Nie maj w rzeczywistoci 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 transmitujcego
FIFO. Dlatego nie s kompatybilne z UART-em 16550A i proces
autokonfiguracji zidentyfikuje je prawidlowo jako 16450. Jeli
sprobujesz obej to, uywajc parametru uart, pojawi si porzucone
znaki podczas transmisji plikow. UART-y te maj zwykle inne
problemy: parametr skip_test powinien by rownie czsto podawany.
autoconfig
Gdy podano ten parametr, setserial poprosi jdro o prob
automatycznego skonfigurowania portu szeregowego. Port I/O musi
by ustawiony prawidlowo; jdro sprobuje okreli typ UART, a
dodatkowo jeli podano parametr auto_irq, Linux sprobuje te
automatycznie okreli IRQ. Parametr autoconfig powinien by
podawany po parametrach port,auto_irq, i skip_test.
auto_irq
Sprobuj podczas autokonfiguracji okreli IRQ. Wlaciwo ta nie
zawsze musi da prawidlowy wynik; niektore konfiguracje sprztowe
mog oglupi jdro. Ogolnie, bezpieczniej jest nie uywa wlaciwoci
auto_irq, lecz raczej samemu podawa warto IRQ, uywajc parametru
irq.
^auto_irq
Nie probuj okreli IRQ podczas autokonfiguracji.
skip_test
Pomi test UART podczas autokonfiguracji. Niektore modemy
wewntrzne nie maj UART-ow kompatybilnych z National
Semiconductor, lecz zamiast nich tanie imitacje. Niektore z nich
nie wspieraj w pelni trybu detekcji loopback, ktorego uywa jdro
do upewnienia si, czy pod podanym adresem jest rzeczywicie UART.
Dlatego dla niektorych modemow bdzie trzeba poda ten parametr
aby mona bylo zainicjalizowa UART prawidlowo.
^skip_test
Nie pomijaj testu UART podczas autokonfiguracji.
baud_base baud_base
Opcja ta ustawia podstawow prdko (baud rate), ktora jest
czstotliwoci zegara podzielon przez 16. Normalnie jest to
115200, co jest zarazem najwiksz prdkoci wspieran przez UART.
spd_hi Gdy aplikacja da 38.4kb, uywaj 57.6kb. Parametr ten moe by
ustawiany przez nieuprzywilejowanego uytkownika.
spd_vhi
Gdy aplikacja da 38.4kb, uywaj 115kb. Parametr ten moe by
ustawiany przez nieuprzywilejowanego uytkownika.
spd_shi
Uyj 230kb gdy aplikacja da 38.4kb. Parametr ten moe by podawany
przez uytkownika nieuprzywilejowanego.
spd_warp
Uyj 460kb gdy aplikacja da 38.4kb. Parametr ten moe by podawany
przez uytkownika nieuprzywilejowanego.
spd_cust
Gdy aplikacja da 38.4kb, uyj ustawionego dzielnika do ustawienia
szybkoci. W tym wypadku, prdko jest okrelona przez baud_base
podzielone przez divisor(dzielnik). Parametr ten moe by
podawany przez nieuprzywilejowanego uytkownika.
spd_normal
Gdy aplikacja da 38.4kb, uywaj 38.4kb. Parametr ten moe by
ustawiany przez nieuprzywilejowanego uytkownika.
divisor divisor
Opcja ta ustawia konfigurowalny dzielnik. Dzielnik bdzie uywany
gdy wybrana zostanie opcja spd_cust, a port szeregowy bdzie
ustawiony przez aplikacj na 38.4kb. Parametr ten moe by
podawany przez nieuprzywilejowanego uytkownika.
sak Ustaw klawisz break na Secure Attention Key.
^sak wylcz Secure Attention Key.
fourport
Skonfiguruj port jako kart AST Fourport.
^fourport
Wylcz konfiguracj AST Fourport.
close_delay delay
Podaj ilo czasu w setnych sekundy, podczas ktorych DTR powinien
zosta w stanie obnionym na linii szeregowej po tym, jak
urzdzenie wydzwaniajce (callout device) jest zamykane, zanim
blokowane urzdzenie wdzwaniajce si (dialin device) znow
podniesie DTR. Domyln wartoci tej opcji jest 50 lub pol sekundy.
closing_wait oponienie
Podaj ilo czasu w setnych sekundy, podczas ktorej jdro powinno
czeka na dane nadawane z portu szeregowego podczas jego
zamykania. Jeli podane zostanie "none", nie bdzie oczekiwania.
Jeli podane zostanie "infinite", jdro bdzie czeka w nieokrelenie
dlugo na przybycie buforowanych danych. Domylnym ustawieniem
jest 3000 lub 30 sekund oponienia. Ta warto domylna jest
wskazana dla wikszoci urzdze. Jeli wybrane zostanie dlugie
oponienie, to port szeregowy moe si zawiesi na dlugi czas
podczas zamykania. Jeli wybrany bdzie zbyt krotki czas, to
istnieje ryzyko utraty danych. Jeli urzdzenie jest bardzo wolne,
jak w ploterze, to mona wybra wiksze wartoci.
session_lockout
Blokuj dostp do portu wydzwaniajcego (/dev/cuaXX) na przestrzeni
ronych sesji. To znaczy, e gdy proces otworzy port, to aden inny
proces nie moe go ju otworzy, dopoki pierwszy proces go nie
zamknie.
^session_lockout
Nie blokuj portu wydzwaniajcego na przestrzeni sesji.
pgrp_lockout
Blokuj port wydzwaniajcy (/dev/cuaXX) na przestrzeni ronych grup
procesow. To znaczy, e gdy proces otworzyl port, to aden inny
proces z innej grupy procesow nie moe go otworzy, dopoki ten
proces go nie zamknie.
^pgrp_lockout
Nie blokuj portu wydzwaniajcego na przestrzeni ronych grup
procesow.
hup_notify
Poinformuj proces blokowany na otwieraniu linii wdzwaniajcej,
gdy proces skoczy uywa linii wydzwaniajcej (zarowno przez
zamknicie jej, lub przez zawieszenie jej) przez zwrocenie
(funkcji?) open EAGAIN.
Zastosowanie tego parametru odnosi si do getty, ktore s
blokowane na liniach wdzwaniajcych portow szeregowych. Umoliwia
to getty zresetowanie modemu (ktory moe mie dziki aplikacji
uywajcej urzdzenia wydzwaniajcego zmienion konfiguracj) przed
ponownym blokowaniem.
^hup_notify
Nie informuj procesu blokowanego na otwieraniu linii
wdzwaniajcej, gdy urzdzenie wydzwaniajce jest odwieszone.
split_termios
Traktuj ustawienia termios uywane przez urzdzenie wydzwaniajce i
ustawienia urzdzenia wdzwaniajcego osobno.
^split_termios
Uywaj tej samej struktury termios do przechowywania ustawie
urzdzenia wdzwaniajcego i wydzwaniajcego.
callout_nohup
Jeli dany port szeregowy jest otworzony jako urzdzenie
wydzwaniajce, nie odwieszaj tty gdy porzucony zostanie CD.
^callout_nohup
Nie pomijaj odwieszania tty gdy port szeregowy jest otworzony
jako urzdzenie wydzwaniajce. Oczywicie musi by wlczona flaga
HUPCL termios, jeli odwieszenie ma si pojawi.
low_latency
Minimalizuj oponienia odbioru z urzdzenia szeregowego kosztem
wikszego zaangaowania CPU. (Normalnie jest 5-10ms oponienie nim
znaki zostan przekazane dyscyplinie linii.) Jest to domylnie
wylczone, lecz niektore aplikacje czasu rzeczywistego mog tego
potrzebowa.
^low_latency
Optymalizuj efektywne przetwarzanie przez CPU znakow szeregowych
kosztem placenia redniego oponienia 5-10ms nim znaki zostan
przetworzone. Jest to domylne.
ROZWAANIA O KONFIGUROWANIU PORT'OW SZEREGOWYCH
Wanym jest, by zauway i setserial zwyczajnie mowi jdru Linuksa, gdzie
powinien spodziewa si znale port I/O i linie IRQ okrelonego portu
szeregowego. Nie konfiguruje on sprztu! Aby to uczyni, musisz fizycznie
zaprogramowa kart szeregow, zazwyczaj przez przestawienie zworek, lub
przelczenie przelcznikow DIP.
Sekcja ta udostpni pewne wskazowki pomocne w decydowaniu jak
skonfigurowa porty szeregowe.
"Standardowe powizania MS-DOS" zostaly pokazane niej:
/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 moe by dzielona midzy dwoma lub wicej portami
szeregowymi. Jeli sprobujesz tak zrobi, jeden lub obydwa z tych portow
stan si niedostpne, gdy sprobujesz uywa ich naraz. Ograniczenie to mona
obej przez specjalne wieloportowe karty szeregowe, ktore s
skonstruowane do dzielenia wielu portow 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.
Wybor alternatywnej linii IRQ jest trudny, gdy prawie wszystkie z nich
s ju w uytku. Nastpujca tabela zawiera wykaz "standardowych przydzialow
MS-DOS" dla linii IRQ:
IRQ 3: COM2
IRQ 4: COM1
IRQ 5: LPT2
IRQ 7: LPT1
Wiele osob uwaa, e IRQ 5 jest dobrym wyborem, zakladajc e w komputerze
aktywny jest tylko jeden port rownolegly. Innym dobrym wyborem jest IRQ
2 (aka IRQ 9); chocia to IRQ jest czasem uywane przez karty sieciowe i
bardzo rzadko przez karty VGA (dla przerwania vertical retrace). Jeli
twoja karta VGA jest tak skonfigurowana, sprobuj to wylczy, tak by mogl
wykorzysta to IRQ dla innej karty. Nie jest to niezbdne pod
GNU/Linuksem i wikszoci innych systemow operacyjnych.
Jedynymi innymi dostpnymi liniami IRQ s 3, 4 i 7, a s one
prawdopodobnie uywane przez inne porty szeregowe i rownolegle. (Jeli
twoja karta szeregowa ma 16-bitowy edge connector i wspiera wysze
numery IRQ, to dostpne 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 sposob.
Przerwania inne ni 2 (9), 3, 4, 5, 7, 10, 11, 12, i 15, nie powinny by
uywane, gdy s przyznane innym elementom sprztowym i ogolnie nie mog by
zmieniane. Oto "standardowe" przyznania:
IRQ 0 Kanal timera 0
IRQ 1 Klawiatura
IRQ 2 Kaskada kontrolera 2
IRQ 3 Port szeregowy 2
IRQ 4 Port szeregowy 1
IRQ 5 Port rownolegly 2 (Zarezerwowane w PS/2)
IRQ 6 Stacja dyskow
IRQ 7 Port rownolegly 1
IRQ 8 Zegar czasu rzeczywistego
IRQ 9 Przekierowane na IRQ2
IRQ 10 Zarezerwowane
IRQ 11 Zarezerwowane
IRQ 12 Zarezerwowane (Pomocnicze urzdzenie w PS/2)
IRQ 13 Koprocesor matematyczny
IRQ 14 Kontroler dysku twardego
IRQ 15 Zarezerwowane
KONFIGURACJA WIELOPORTOWA
Niektore wieloportowe uklady szeregowe, dzielce wiele portow na jednym
IRQ uywaj jednego lub wicej portow do okrelania czy s tam aktywne
porty, ktore naley obsluy. Jeli twoj uklad wieloportowy obsluguje 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, wskazujcej, ktore bity
rejestru s znaczce oraz, ostatecznie parametru dopasowania, (match),
okrelajcego, ktore bity znaczce tego rejestru musz pasowa, gdy nie ma
ju niczego do zrobienia.
Mona poda do czterech takich kombinacji. Pierwsze kombinacje powinny by
podawane przez ustawianie parametrow port1, mask1 i match1. Nastpne
przez ustawianie port2, mask2 i match2, itd. Aby wylczy sprawdzanie
wieloportowe, ustaw port1 na zero.
Aby obejrze biece ustawienia wieloportowe, podaj w linii polece
parametr get_multiport.
Oto pewne ustawienia wieloportowe dla popularnych ukladow 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 moe by rownie uywany do konfigurowania portow na ukladzie ESP
Hayesa.
Mona do tego uywa nastpujcych parametrow:
rx_trigger
Jest to poziom wyzwalania (w bajtach) FIFO odbiorczego. Wiksze
wartoci powoduj mniej przerwa i lepsz wydajno; jednak zbyt due
wartoci powoduj utrat danych. Dostpne wartoci to 1 do 1023.
tx_trigger
Jest to poziom wyzwalania (w bajtach) FIFO nadawczego. Wiksze
wartoci mog powodowa mniej przerwa i lepsz wydajno; jednak zbyt
due wartoci powoduj zdegradowan wydajno nadawania. Dostpne
wartoci to 1 do 1023.
flow_off
Jest to poziom (w bajtach) przy ktorym port ESP zrobi "flow off"
dla zdalnego nadajnika (tj. powie mu by przestal nadawa wicej
bajtow). Dostpne wartoci to 1 do 1023. Warto ta powinna by
wiksza od poziomu wyzwalania odbiorczego i poziomu flow on.
flow_on
Jest to poziom (w bajtach) przy ktorym port ESP zrobi "flow on"
dla zdalnego nadajnika (tzn. powie mu by wznowil nadawanie
bajtow) po "flow off". Dostpne wartoci to 1 do 1023. Warto ta
powinna by mniejsza ni poziom "flow off", lecz wiksza ni poziom
wyzwalania odbiorczego.
rx_timeout
Jest to ilo czasu, przez ktor port ESP powinien czeka po
odebraniu ostatniego znaku przed sygnalizowaniem przerwania.
Prawidlowe wartoci to 0 do 255. Zbyt dua warto zwikszy
oponienia, a zbyt mala spowoduje niepotrzebne przerwania.
UWAGA
UWAGA: Skonfigurowanie portu szeregowego tak, by uywal nieprawidlowego
portu I/O moe zablokowa twoj maszyn.
PLIKI
/etc/rc.local /etc/rc.serial
ZOBACZ TAKE
tty(4), ttys(4), kernel/chr_drv/serial.c
AUTOR
Oryginalna wersja setserial zostala napisana przez Ricka Sladkeya
(jrs@world.std.com) i zostala zmodyfikowana przez Michaela K. Johnsona
(johnsonm@stolaf.edu).
Ta wersja zostala od tej pory napisana ponownie od zera przez Theodore
Ts'o (tytso@mit.edu) 1/1/93. Wszelkie bldy i problemy s wylcznie jego
odpowiedzialnoci.
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.