/dev/ttyd

Ivo Hažmuk ivo at vutbr.cz
Wed Dec 13 17:49:04 CET 2006


Jaromír Dvořáček wrote:

> prosim, dostal jsem za ukol na freebsd routeru zprovoznit nejaky soft, co prijima data jdouci na COM port (z telefonni ustredny).
> 
> Ovsem, program nic neprijima. A ted otazka zni, zdali je nejaky zadrhel mezi systemy - pod linuxem funguje (kompilace na bsd bez potizi) - nebo je problem u mne a mam "nejak" spatne nastaveny com port.
> 
> V kernelu mam:
> # Serial (COM) ports
> device          sio             # 8250, 16[45]50 based serial ports
> 
> a v /dev mam zarizeni:
> ttyd0       ttyd0.init  ttyd0.lock
> 
> ...no, a ted, co dal? Je to pro mne spanelska vesnice a netusim, ani nedokazu overit, jestli ta data na com port proudi, jestli je vubec zivy a spravne nastaveny. Nechci zacit resit program, dokud vlastne ani nevim, jestli funguje spravne system.
> 
> Napada nekoho neco? Je potreba nejaka dodatecna konfigurace? Jak jednoduse zjistit, jestli na ten port neco chodi? 

Zkusim napovedet. Nejdriv bych se ptal, jestli OS seriovy port nasel. To 
bych se podival do /var/run/dmesg.boot. Tam bych hledat sio0, sio1, ...
...
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on 
acpi0
sio0: type 16550A
...

Taky bych si zkontroloval, jak se zarizeni jmenuje v /dev/. Mezi FBSD 4 
a FBSD 6 doslo ke zmene jmen. FBSD 5 jsem tak nejak preskocil a tudiz nevim.

Potom bych zkusil cist data ze serioveho portu programem tip(1). Nejlepe 
bych zkusil nejake zarizeni, ktere dobre znam. Treba neco se seriovou 
konzoli 9600 b/s, 8 bit, 1 stop bit, bez parity. To je opravdu defaultni 
nastaveni ruznych prepinacu, routeru ... Ted me napadlo, ze velmi 
dostupne zarizeni by mohl byt stary spatny modem. Pozor na AT prikazy.

V dokumentaci ustredny bych zjistil, s jakymi parametry komunikuje ona a 
toto nastaveni bych se snazil nastavit v souboru /etc/remote.
Nasledene bych zkusil cist data z ustredny tipem.

V tomto okamziku je profouknuta seriova linka a je na case psat nejaky 
program na cteni ze serioveho portu.

Ac jsem priznivcem perlu, tak na tuto ulohu preferuji C. Nastavovani 
parametru seriove linky se dela pomoci ioctl(2). Tim rozhodne nechci 
rict, ze to jinak nejde. Ale mam pocit, ze toto je uloha, kde je C 
vhodnym nastrojem.

	S pozdravem
		Ivo Hazmuk



More information about the Users-l mailing list