Linux, a porty szeregowe.: Jak dzwonić na zewnątrz i do mojego komputera, wykorzystując jednocześnie getty_ps?
Następna strona
Poprzednia strona
Spis treści
6. Jak dzwonić na zewnątrz i do mojego komputera, wykorzystując jednocześnie getty_ps?
Skonfiguruj modem w taki sposób, aby prawidłowo wybierał
numery. Jeśli nie czytałeś rozdziału
Jak mogę zadzwonić z mojego modemu? zrób to
teraz! Podałem tam bardzo ważne informacje. Nie
musisz czytać tego rozdziału, jeśli zamiesza jedynie
dzwonic ze swojego modemu.
6.1 Konfiguracja modemu do dzwonienia na zewnątrz i przyjmowania połączeń.
Aby mieć wyjście przez modem i jednocześnie obsługiwać
przychodzące połączenia, musisz skonfigurować modem w
specjalny sposób (znów za pomocą poleceń AT.):
E1 wyświetlane wprowadzanych poleceń
Q0 wyświetlanie kodów rezultatów
V1 bądź bardziej rozgadany, podawaj więcej informacji
S0=0 nigdy nie odpowiadaj na połączenie (uugetty obsługuje
przychodzące połączenia, za pomocą opcji waitfor).
Jeśli nie ustawisz tych opcji, ciąg znaków inicjujący modem,
może nie wykonać poprawnie swej pracy, niwecząc całą
procedurę. Lecz o plikach konfiguracyjnych później.
&C1 DCD włączone tylko po nawiązaniu połączenia
&S0 DSR zawsze włączone
Przełączenie DTR resetuje modem (w zależności od producenta - RTFM).
Powyższe ustawienia mają wpływ na zachowanie modemu podczas
nawiązywania i zakańczania połączenia.
Jeśli twój modem nie potrafi zapamiętać konfiguracji, możesz
wcześniej opisane ustawienia zapamiętać w tzw. "INIT
string". Zaraz o tym napiszemy. Niektóre modemy posiadają
mikroprzełączniki służące do zmiany konfiguracji modemu
(zmiany wartości rejestrów). Upewnij się że są poprawnie
ustawione.
Zacząłem zbierać listę sprawdzonych konfiguracji, dla różnych
typów modemów. Jeśli masz ochotę przysłać mi swoją, proszę
bardzo. Jeśli chciałbyś otrzymać jedną z konfiguracji, po
prostu przyslij list. Posiadane przez mnie informacje są
dostępne pod adresem
ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs.
Uwaga: aby zmusić mój Courier V.34 do poprawnego zerowania po
spadku DTR musiałem ustawić &D2 i S13=1
(ustawienie bitu 0 rejestra S13). Otrzymałem potwierdzenia, że
ten sposób działa również w przypadku USR Sportster V.34.
Uwaga: Niektóre modele Supra traktują DCD inaczej niż inne
modemy. Jeśli używasz Supry spróbuj ustawić &C0, a
nie &C1. Aby poprawnie obsługiwać DTR trzeba również
ustawić &D2.
6.2 Instalacja getty_ps.
Pobież najnowszą wersję z
sunsite.unc.edu:/pub/Linux/system/serial. Jeśli
planujesz korzystać z wysokich prędkości (57600 i 115200bps),
musisz zdobyć wersję 2.0.7j lub nowszą. Muszisz mieć również
libc 5.x lub nowszą.
getty_ps jest domyślnie skonfigurowane zgodnie ze
standardem FSSTND (FileSystem
STaNDard). To znaczy, że programy binarne będą w
katalogu /sbin, a pliki konfiguracyjne będą się nazywały
/etc/conf.{uu}getty.ttySN. Pliki blokady (lock
files) będą umieszczane w katalogu /var/lock. Upewnij
się, że katalog /var/lock istnieje.
Jeśli nie chesz zgodności z FSSTND, programy binarne zostaną
umieszczone w /etc, pliki konfiguracyjne zostaną
nazwane /etc/default/{uu}getty.ttySN, a pliki
blokady będą umieszczane w katalogu
/usr/spool/uucp. Jeśli korzystasz z UUCP, zaleceamy
ten drugi sposób, ponieważ Taylor UUCP napotka na problemy,
jeśli przeniesiesz pliki blokady w miejsce, które nie bedzie
sprawdzane (przez uucp w poszukawaniu plików blokady).
W
celu rejestracji komunikatów getty_ps korzysta z
syslogd. Jeśli chesz skonfigurować syslogd
przeczytaj strony podręcznika dla syslogd(1) i
syslog.conf(5). Komunikaty są rejestrowane z priorytetem
LOG_AUTH, błędy wykorzystują LOG_ERR, a informacje
odpluskwiające LOG_DEBUG. Jeśli nie chcesz korzystać z
syslogd tylko chesz aby komunikaty były zapisywane do
pliku (domyślnie będzie to /var/adm/getty.log) , to
musisz zmodyfikować plik tune.h w zrodłach getty_ps.
Zastanów 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 znajdujące się w katalogu źródłowym pakietu
getty_ps. Następnie zainstaluj programy zgodnie z
instrukcjami.
Od tej chwili, wszystkie odwolania do getty należy
traktować jako odwołania do getty_ps. Natomiast
uugetty będzie odnosiło się do uugetty pochodzącego
z pakietu getty_ps.
6.3 Konfiguracja uugetty.
Dla przychodzących i wychodzących połączeń modemowych, chcemy
zastosować uugetty. uugetty sprawdza czy odpowiednie
pliki nie są zablokowane. Trzeba poprawić plik
/etc/gettydefs, aby zawierał pozycje dotyczące modemu
(pamiętaj, że te pozycje wzajemnie na siebie wskazują (są od
siebie zależne), jednak nie mają zastosowania do połączeń z
ustaloną prędkością - między każdą 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
Jeśli posiadasz modem 9600 bps lub szybszy, z kompresją
danych, wtedy możesz zablokować prędkość portu szeregowego i
pozwolić aby modem sam wykonywał przejścia na inne prędkości
bps. W takim przypadku zamiast wypróbowywania poszczególnych
pozycji pliku /etc/gettydefs, wystarczy aby była
tylko jedna pozycja opisujaca ustawienia modemu:
# 115200 fixed speed
F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200
Jeśli tój modem obsługuje sprzętowe sterowanie RTC/CTS, możesz
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
Jeśli chcesz możesz zmusic uugetty do wyświetlania
ciekawych informacji w nagłówku (login banner). W dalszych
przykładach pokazuję jak wyświetlić nazwę systemu (komputera),
numer portu, prędkość bps. Możesz dodać własne informacje:
@B Aktualna (sprawdzona w momencie napotkania @B ) prędkość bps.
@D Aktualna data w formacie MM/DD/YY.
@L Linia szeregowa do któej przyłączone jest getty.
@S Nazwa systemu (komputera).
@T Aktualny czas, w formacie HH:MM:SS (24-godziny).
@U Liczba aktualnie przcujących użytkowników. Jest to liczba
pozycji w pliku /etc/utmp o niezerowym polu ut_name.
@V Warość stałej VERSION, zdefiniowanej w plkiku ustawień
standardowych.
Aby wyświetlić pojedynczy znak @ musisz napisac '\@\ lub '@@'.
Następnie upewnij się, że istnieją odpowiednie pliki urządzeń
wejściowych i wyjściowych, i że modem jest włączony. Jeśli
twoj modem jest podłączony do portu ttyS3 muszą istnieć
pliki /dev/cua3 i /dev/ttyS3. Jeśli
odpowiendnie pliki urządzeń nie istnieją wróć do rozdziału
Tworzenie plików urządzeń w katalogu <tt>/dev</tt> i utwórz niezbędne pliki urządzeń. Jeśli
chcesz mieć możliwość dzwonienia, podczas gdy uugetty
czeka na nadejscie połączeń z zewnątrz, skorzystaj z urządzeń
/dev/cua zamiast /dev/ttyS.
Po zakończeniu edycji /etc/gettydefs możesz
sprawdzić, czy składnia pliku jest poprawna wydając polecenie:
linux# getty -c /etc/gettydefs
6.4 Przystosowywanie uugetty.
Istniej mnóstwo parametrów, które możesz modyfikować
oddzielnie dla każdego posiadanego portu. Przechowywane są w
odzielnych plikach, każdy port może miećswój plik. Program
uugetty zawsze wpierw sprawdza zawartość pliku
/etc/conf.uugetty zawierajacego wspólne parametry dla
wszystkich portów, a dopiero później wczytuje z
/etc/conf.uugetty.ttySN konfiguracje konkretnego
portu. Przykładowe pliki konfiguracyjne można znaleźć w
zródłach pakietu. Zwykle są w każdej dystrybucji Linux-a. Nie
przedstawiamy ich tutaj ze wzgledu na ich objętość. Jeśli
używasz starszych wersji getty_ps (tzn. wcześniejszych od
2.0.7e) lub nie korzystasz ze schematu FSSTND, domyślnym
plikiem konfiguracyjnym będzie
/etc/default/uugetty.ttySN. Mój plik
/etc/conf.uugetty.ttyS3 wygląda tak:
# przykładowy plik konfiguracyjny modemu standardu Hayes
# umożliwiający przyjmowanie połączeń z zewnątrz
#
# alternatywny plik blokaty, który należy sprawdzać. Jeśli istnieje,
# wtedy uugetty jest uruchamiane ponownie, a więc modem jest
# równiez powtórnie inicjowany
ALTLOCK=cua3
ALTLINE=cua3
# uzywana linia
INITLINE=cua3
# czas po jakim przerywamy, jeśli brak reakcji użytkownika
TIMEOUT=60
# Ciag znaków zaierające polecenia inicjujące modem
# format: (oczekiwane) (wysyłane) ... (sekwencja)
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# istawiamy opóżnienie przez pokazaniem nagłówka Loginu.
DELAY=1
#DEBUG=010
Aby uugettty było uruchomione i nasłuchiwało na porcie,
musisz do pliku /etc/initab dopisać wiersz
(wstawiając odpowiednie informacje typu port,prędkość,typ terminala):
S3:456:respawn:/sbin/uugetty ttyS3 F38400 vt100
Zrestartuj proces init:
linux# init q
Parametr podany w pliku /etc/inittab określający
predksość w bps powinien wskazywać możliwie jak największą
prędkość.
Teraz Linux będzie oczekiwał na połączenia przychodzące przez
port szeregowy. Zadzwoń z innego komputera i wejdź do swojego systemu.
uugetty posiada mnóstwo opcji. Zobacz stronę podręcznika
dla getty(1m). Prócz innych ciekawych cech dostępne są
funkcje ringback i udostępnianie modemu w zależnośći od pory
dnia/nocy. RTFM :-).
Następna strona
Poprzednia strona
Spis treści
Wyszukiwarka
Podobne podstrony:
Serial HOWTO pl 1 (2)Serial HOWTO pl (2)Serial HOWTO pl 2 (2)Serial HOWTO pl 8 (2)Serial HOWTO pl (3)Serial HOWTO pl 14 (2)Serial HOWTO pl 7 (2)Serial HOWTO pl 15 (2)Serial HOWTO pl 9 (2)Serial HOWTO pl 11 (2)Serial HOWTO pl 4 (2)Serial HOWTO pl 5 (2)Serial HOWTO pl 3 (2)Serial HOWTO pl 13 (2)Serial HOWTO pl 16 (2)Serial HOWTO pl 10 (2)Serial HOWTO pl 12 (2)bootdisk howto pl 8PPP HOWTO pl 6 (2)więcej podobnych podstron