soros kommunikáció DOS és Linux között

Fórumok

A követketőn "morfondírozok" adva van két gép az egyiken fut egy DOS program, ami az egyik soroson porton kap vezérlést (egyedi ASCII protokoll). A vezérlő program egy másik gépen Linuxon. Szeretném a két programot egy gépen futtani, a Linux marad Linux, a DOS pedig Linux dosemu. Van ráé mód, hogy a soros kommunikációt kiváltsam, valamely "emulátorral", úgy hogy csak a Linux -os program van a kezemben - azt tudom módosítani, a DOS -os programot nem. Tehát neki teljesen el kellene táncolni a sorost, azzal a "könnyítéssel" hogy nincs handshake, csak Rx és Tx.
Tudtok, találkoztatok valami ilyennel Linuxra?

Hozzászólások

Én két gépen csináltam ilyet. Tetű lassú volt és bizonytalan.
Ha emeltem a sebességet adat veszett el, hiába dolgozott pufferba.

Párhuzamos porton lap-link kábellal és saját kézfogásos protokollal egy fokkal jobban ment, de nem lett olyan gyors mint amilyennek vártam. (Régen a DOS-os gépek közt az ilyen kapcsolat jóval gyorsabban ment - legalábbis én így emlékszem.)

Próbálkoztam én is dosemuval,de nem akart tökéletes lenni.

Lehet hogy nem volt elég világos mi a kérdés - bocs.
Ha a két program uhyanazon a dobozon fut, akkor elvileg két soros portot kell arra áldozni hogy a működjön, ezt szeretném valahogy kiváltani. Pl. mondjuk a Linuxos progi egy unix socketba dolgozik, és a dosemuban a com0=unix_socket - ez így szinte biztos hogy nem fog működni, de hátha van valami más megoldás.

* Én egy indián vagyok. Minden indián hazudik.

Attol fugg. Ha valamelyik progi vezerli is a soros portot, nem csak adatokat kuld (adatatviteli support a DOS-ba is van), akkor eselytelen. Ha nem, akkor van egy pici esely, hogy named pipe-n at megy, az elvbe karakteres eszkoz.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Szerintem akkor jársz a legjobban, ha linux alatt újraírod a DOS-os protokolt. Gyorsabbasn végzel, mint a fent jelzett problémák kiküszöbölésével. Ráadásul így mindkét kommunikáció a kezedbe kerül.

> Sol omnibus lucet.

Köszönöm a linkeket :) Ezt már bejártam, működik - Norton term95 dosemu alól és winxp Hyperterminál, Linux minicom és DOS term95 - másik gépen. Sajna még nem élesben (eredetileg azért kezdtem ezzel piszmogni mert olyan subnotebook -ot kaptam amin csak USB 1.1 van és semmi soros).

* Én egy indián vagyok. Minden indián hazudik.

A probléma továbbra is fenn áll! Nem arról van szó hogy dosemu alól működik -e a soros port - MÜKÖDIK, tudom. Az a kérdés, hogy van -e lehetőség arra, hogy egy Linux -os program és egy DOS program (dosemu), azonos gépen futva, úgy kommunikáljon mintha soros porton lennének összekötve - PIPI,FIFO, fájl stb. Nem akarok két soros portot erre föláldozni.
Erre tud valaki valamit, esetleg 5let?

* Én egy indián vagyok. Minden indián hazudik.

A remserial talán segíthet neked:

http://lpccomp.bc.ca/remserial/

Mi akkor használjuk, amikor a soros porton figyelő elektronika helyett, egy a gépen futó elektronika-emulátort használunk tesztelésre. A ttyS0 és ttyS1 fizikai összekábelezése helyett a remserial létrehoz egy ttyV1 és egy ttyV2 virtuális soros portot, ami (jelenleg localhoston belül) össze van kötve a láthatatlan drótttal:)

./remserial -x0 -p 4411 -l /dev/ttyV1 /dev/ptmx &
./remserial -x0 -p 4411 -r localhost -l /dev/ttyV2 /dev/ptmx &

Talán, ha sikerül a dosemunak megmondani, hogy a com1 a /dev/ttyV2 legyen, akkor jó lehet...