Serial HOWTO pl 13 (2)


Linux, a porty szeregowe.: Radzenie sobie z kłopotami. Następna strona Poprzednia strona Spis treści 13. Radzenie sobie z kłopotami. 13.1 Cały czas pojawia się komunikat ``line NNN of inittab invalid''. Upewnij się, że stosujesz odpowiednia składnie w pliku /etc/inittab zgodną z twoją wersja programu init. Różne wersje tego programu obecne w świecie Linux-a mają różną składnię. Również upewnij się, że używasz poprawnej składni dla twojej wersji getty. 13.2 Kiedy próbuję zadzwonić dostaję komunikat ``/dev/cuaN: Device or resource busy''. Ten problem może się pojawiać, gdy DCD i DTR nie są ustawione poprawnie. DCD powinno być włączone tylko wtedy, gdy jest rzeczywiste połączenie (gdy ktoś do ciebie zadzwonił i w danej chwili wykorzystuje modem i port szeregowy), a nie kiedy getty nasłuchuje na porcie. Sprawdź czy twój modem jest skonfigurowany, aby włączać DCD tylko podczas trwania połączenia. DTR powinno być włączone zawsze, gdy coś sprawdza lub nasłuchuję linię, jak getty, kermit lub inny program komunikacyjny. Inną powszechną przyczyną omunikatu ``device busy'' (urządenie zajęte) jest skonfigurownie portu szeregowego w taki sposob, że używa przerwania IRQ przydzielonego do innego urządzenia. Podczas inicjowania portu sterownik, pyta się Linux-a o pozwolenie na wykorzystanie przerwania sprzętowego. Linux pamięta, które przerwanie zostało mu przydzielone i jeśli twoje przerwanie zostało już przydzielone, urządzenie (np. port szeregowy) nie bedzie mogło zostać prawidłowo zainicjowane. Urządzenie nie ma za bardzo jak powiedzieć Ci o tym, poza przypadkiem kiedy próbujesz go użyc. Przekazuje wtedy błąd ``device busy''. Sprawdź przerwania wszystkich swoich kart (szeregowych, sieciowych, SCSI, itd.). Szukaj konfliktów przerwań IRQ. 13.3 Cały czas otrzymuję ``Id SN respawning too fast: disabled for 5 minutes''. Upewnij się, że Twój modem jest skonfigurowany poprawnie. Przyjżyj się rejestrom E i Q. Przyczyną może być pogawędka modemu z programem getty. Upenij się ,że poprawnie wywołujesz getty w pliku /etc/inittab/. Używanie błędnej składni lub nieporawnych nazw urządzeń jest przyczyną licznych kłopotów. Upewnij się, że /etc/gettydefs ma poprawną składnie. W tym celu wydaj polecenie: linux# getty -c /etc/gettydefs Przyczyna może leżeć w niepoprawnej inicjalizacji programu uugetty. Patrz pytanie ``getty lub uugetty nadal nie pracuje poprawnie''. 13.4 Porty szeregowe są powolne, lub mogą przesyłać informacje tylko w jedną strone. Prawdopodobnie konflikt IRQ. Upewnij się, żę IRQ nie są wspólne. Sprawdź wszystkie karty (szeregowe, sieciowe, SCSI, itd.). Upewnij się, że ustawienia mikroprzełączników i parametry ustawiane przez setserial są poprawne dla wszystkich urządzeń szeregowych. Sprawdź /proc/interrupts i /proc/ioports w poszukiwaniu konfliktów. 13.5 Moj modem blokuje się po tym, jak ktoś się rozączy, lub uugetty nie uruchimi się ponownie. Przyczyna może leżeć w tym, że kiedy spada sygnał DTR twój modem się nie zeruje. Widziałem jak diody RD i SD na moim modemie szalały, kiedy cos takiego mi się zdarzyło. Twój modem musi się zerować. Wiekszość modemów zgodnych z Hayes wymaga ustawienia &D3, lecz w moim USR Courier musiałem ustawić &D2 i S13=1. Sprawdź w dokumnetacji modemu. 13.6 Mam terminal podłączony do mojego PC, lecz po wpisaniu identyfikatora blokuje się. Prawdopodobnie pozycja dotycząca tego terminala w pliku /etc/gettydefs nie zawiera opcji CLOCAL. I prawdopodobnie nie używasz pełnego kabla bezmodemowego (full null modem cable). Musisz ustawić opcję CLOCAL, dzieki której Linux ignoruje sygnały strujące modemem. To powinno wyglądać mniej więcej 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 Następnie zabij (kill) proces getty, tak aby uruchomil się następny, który odczyta nowe ustawienia. Jeśli korzystasz z agetty: dodaj do wiersza agetty w pliku /etc/inittab parametr -L. W ten sposób zmusisz agetty do ignorowania sygnałów sterowania modemem. Następnie zrestartuj program init wydając polecenie init q. Odpowiedni wpis w pliku /etc/inittab powinien wyglądać mniej więcej tak: s1:345:respawn:/sbin/agetty -L 9600 ttyS1 vt100 13.7 Moj modem traci dane przy większych prędkościach. Jeśli próbujesz uruchomić swój modem z prędkością co najmniej 19200 bps i nie posiadasz układów UART 16550A, powinieneś je wymienić. Patrz rozdział Co to jest UART. 13.8 Podczas startu Linux nie raportuje portów szeregowych w sposób jaki je ustawiłem. To prawda. Linux nie wykonuje podczas startu rozpoznania IRQ, jedynie strawdza istnienie urządzeń szeregowych. Dlatego nie przejmuj się tym co wypisuje podczas startu na temat IRQ, ponieważ po prostu zakłada 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, korzystając z programu setserial. Po uruchomieniu systemu możesz zajżeć do pliku /proc/interrupts i zobaczyć, jak zostały przydzielone. 13.9 rz i/lub sz nie działają kiedy pracuje na moim Linux-ie przez modem. Jeśli przy próbie transferu plików Linux szuka urządzenia /dev/modem sprawdź zawartość plików /etc/profile i /etc/csh.cshrc. W niektórych dystrybucjach (szczególnie w Slackware) może tam być zdefiniowana garść aliasów, które wywołują całe zamieszanie. Poraw je lub po prostu usuń. 13.10 Widzę na ekranie śmiesznie wyglądające znaczki. Tak się dzieje, gdy wyślesz na konsolę wirtualną dane binarne, lub czasami przy połączeniach przez porty szeregowe. Jednym ze sposobów na przywrócenie normalengo wyglądu 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 może przyjmować kombinacje podanych poniżej wartości ( w zależności o tego jakie informacje chcesz otrzymywać): D_OPT 001 ustawianie opcji D_DEF 002 przetwarzanie domyśłnych plików konfiguracyjnych D_UTMP 004 obsługa 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 obsługa pliku blokady D_SCH 400 obsługa zaplanowanych zdarzeń D_ALL 777 wszystko Na początek mozna ustawić DEBUG=010. Jeśli korzystasz z syslogd, informacje odpluskwiające będą pojawiać się w plikach dzienników. Jeśli syslogd nie jest uruchomiony komunikaty dotyczące odpluskwiania getty będa zachowywane w /tmp/getty:ttySN, a dotyczące 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 będziesz musiał dostroić kilka parametrów w plikach konfiguracyjnych i ponwnie skonfigurwać modem. Możesz spróbować mgetty. Część ludzi miała z nim więcej szczęścia. Następna strona Poprzednia strona Spis treści

Wyszukiwarka

Podobne podstrony:
Serial HOWTO pl 6 (2)
Serial HOWTO pl 1 (2)
Serial HOWTO pl (2)
bootdisk howto pl 13
Serial HOWTO pl 2 (2)
Keyboard HOWTO pl 13 (2)
Serial HOWTO pl 8 (2)
ax25 howto pl 13
Serial HOWTO pl (3)
net 3 howto pl 13
Serial HOWTO pl 14 (2)
Module HOWTO pl 13 (2)
Serial HOWTO pl 7 (2)
Serial HOWTO pl 15 (2)
ppp howto pl 13
Serial HOWTO pl 9 (2)
Serial HOWTO pl 11 (2)
printing howto pl 13
Serial HOWTO pl 4 (2)

więcej podobnych podstron