[LUGOS] Redirect iz serijskega porta
Metod Kozelj
metod.kozelj na lugos.si
Čet Sep 4 08:07:35 CEST 2003
Howdy!
Janez Grad wrote:
>Imam en obstojec program, ki tece pod linux-om, ki prek stalne modemske
>zveze posilja neke podatke na oddaljeno lokacijo.
>
>Zanima me ali je mozno v lupini kako preusmeriti tok podatkov ki gredo
>na/iz serijskega porta da bi dobil v neki datoteki KOPIJO vseh
>poslanih/sprejetih podatkov (nekaj podobnega kot sniffer vendar izveden v
>SW).
>
Verjetno bi šlo tako, da narediš en fifo
mknod /tmp/pipca p
potem pa startaš tee
tee < /dev/ttyS0 -a moj.file > /tmp/pipca
tvoj program, ki trenutno bere podatke s serjiskega porta (recimo
/dev/ttyS0) pa prepričaš, naj bere podatke z zgoraj narejenega fifo-ta
(/tmp/pipca) ... Kopijo celega streama dobiš v moj.file.
Seveda pa upaš, da v toku podatkov ne boš dobil kakšnega EOF, ker ti bo
v tem primeru tee zaključil pipo ...
Verjetno bi moral narediti kakšno posebno kolobocijo, da bi ven dobil še
drugo smer (torej tok podatkov v smeri proti serijskemu portu).
Zgoraj je seveda opisana samo generalna ideja. Čisto lahko narediš en
svoj programček, ki ga uporabiš namesto tee-ja in ti hendla tok podatkov
v obeh smereh. Ideja pa je v uporabi fifo-ta za potrebe tvojega že
delujočega programa.
--
Peace!
Mkx
---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
Dodatne informacije o seznamu lugos-list