Jak określić szybkość transmisji portu szeregowego?

18

Konfiguruję serwer konsoli i muszę określić poprawną prędkość transmisji mojego portu. Jeśli to możliwe, chciałbym to zrobić z wiersza poleceń. Czy ktoś wie jak?

thepocketwade
źródło

Odpowiedzi:

25

setserialjest specyficzny dla Linuksa, ale możesz także użyć sttypolecenia (dostępnego na dowolnym Uniksie), aby sprawdzić szybkość i inne cechy dowolnego tty.

sttydziała na swoim standardowym wejściu, więc stty < /dev/ttyXXprzekaże ci informacje o tym konkretnym tty. Alternatywnie, jeśli jesteś w sytuacji, w której nie możesz ustawić standardowego wejścia stty, możesz użyć tej -F /dev/ttyXXopcji.

Curt J. Sampson
źródło
5
Może być konieczne użycie stty -F /dev/ttyXX
Mark Lakata
2

Ponieważ wspominasz o serwerze konsolowym, a to pytanie jest oznaczone linuksem, zakładam, że łączysz się z serwerem linuksowym. Serwer musi być skonfigurowany do używania konsoli szeregowej, aby było kilka miejsc do sprawdzenia.

Konfiguracja jądra polega na dodaniu parametru „console” do wiersza poleceń jądra. Na przykład dodanie „console = ttyS0,9600” informuje jądro, aby wysyłało komunikaty do pierwszego portu szeregowego (/ dev / ttyS0, COM1 w kategoriach DOS / Windows) z prędkością 9600 bodów. Możesz dodać to do wiersza poleceń poprzez konfigurację modułu ładującego. Jeśli używasz gruba, zwykle będzie to plik o nazwie /boot/grub/grub.conf. Pamiętaj, że możesz mieć wiele parametrów konsoli dla tradycyjnej klawiatury / konsoli wideo (tty0), a także szeregowej (/ dev / ttyS0). Na przykład: „console = tty0 console = ttyS0,9600”

Aby podać monit o zalogowanie się przez port szeregowy, musisz edytować / etc / inittab i dodać / edytować wiersz podobny do następującego. s0: 12345: respawn: / sbin / agetty 9600 ttyS0 vt100 Ta linia mówi programowi agetty, aby pojawił się monit o zalogowanie się na / dev / ttyS0 przy 9600 bodów.

Zauważ, że zwykle będziesz chciał dopasować port szeregowy i szybkość transmisji między jądrem a konfiguracją agetty. Sprawdzając powyższe konfiguracje, powinieneś być w stanie określić szybkość transmisji serwera.


źródło
Chyba że twój Linux nie używa inittab. Moje systemy Fedora i Ubuntu używają /etc/event.d/tty* i /etc/event.d/serial, które są częścią Upstart ( en.wikipedia.org/wiki/Upstart ).
Wstrzymano do odwołania.