Sériová konzole mezi dvěma počítači současně

Sériová konzole mezi dvěma počítači současně
« kdy: 18. 09. 2024, 00:23:07 »
Jelikož UART je obousměrná komunikace, tak se dá použít nejen pro výpis bootovacích informací, ale i pro přihlášení do systému.

Jak ale udělat ,aby přes ten jeden samý UART spoj  to běželo obousměrně? že se  můžu přihlásit z počítače A na B a z počítače B na A. Souběžně. Jedním UART spojem.

Protože když mám systemctl start  serial-getty@ttyWTF1.service zakázené, tak se na ten to Pc logicky nepřihlásím. když ho ale povolím na obou, tak vidím čínský čaj,  nebo špatné odřádkování, nebo nejde psát, nebo jen chvíli a nebo se kousne proces minicom. No a když je to jen na jednom z dvou, tak to funguje OK.

Hádám, že to co posílá  jako výstup getty(tty/konzole nebo jako to správně přesně nazvat ??) počítače A (u kterýho sedím) se posílá jako vstup do konzole na počítači B a to je ten problém. Místo toho, aby ten výstup se posílal opravdu jako výstup, ale už ne jako i vstup. Vypadá, to ,jako ,když tam chybí nějaké logické signalizování, co jsou výstupní data a aby se nepouštělý do vstupu. Prostě se stane anihilace obou počítačů, že se výstup pošle do vstupu.


Jde to tohle nějak vykřesat?


. A dál by mě zajímalo, proč když ukončím minicom, už se nedá přihlásit znova  . Je tam  jen pár úvodních řádků, (a možná i živý výstup dmesg, ale to domýšlím). ale už tam není "Login:".
Nesouvisí to nějak s Hang up zprávou při předchozím odhlášení (Ctrl+A Z  E(X)it)?"
 


« Poslední změna: 18. 09. 2024, 00:26:30 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »


alex6bbc

  • *****
  • 1 617
    • Zobrazit profil
    • E-mail
Re:bootovací/login konzole mezi počítačem A-B a B-A současně
« Odpověď #1 kdy: 18. 09. 2024, 05:43:37 »
tohle je old school, predpokladam, ze je kabel spravne zadratovany, tx propojene s druhym rx a naopak. a pak jsou oba pocitace rovnocenne a mely by oba mit stejne nastaveni terminalu.
a co zkusit neco jineho misto minicom.

klicova slova: stty, getty, setterm

Re:Sériová konzole mezi dvěma počítači současně
« Odpověď #2 kdy: 18. 09. 2024, 09:40:11 »
Jak ale udělat ,aby přes ten jeden samý UART spoj  to běželo obousměrně? že se  můžu přihlásit z počítače A na B a z počítače B na A. Souběžně. Jedním UART spojem.

Obousměrně ti to běží. Ale. na rozdíl od síťového spojení kde můžeš jedním kabelem vést více spojení, na seriové lince můžeš mít spojení pouze jedno. Případně nad tímto spojem (kabelem) můžeš rozběhnout síťovou nadstavbu tak jak se to dělalo v počátcích internetu.

Re:Sériová konzole mezi dvěma počítači současně
« Odpověď #3 kdy: Dnes v 07:48:56 »
Starý dobrý PPPčko.

jjrsk

  • ****
  • 459
    • Zobrazit profil
Re:Sériová konzole mezi dvěma počítači současně
« Odpověď #4 kdy: Dnes v 08:27:00 »
Tady zas nekdo objevuje zemeplacku ... ve skutecnosti naprosto vpohode fungovalo i zretezeni nekolika stroju (ty clanky uvnitr musely samo mit 2x seriak, ale to v te dobe byla normalka) a naprosto vpohode se na tom dalo provozovat IPX a hrat gamesy.


Re:Sériová konzole mezi dvěma počítači současně
« Odpověď #5 kdy: Dnes v 11:49:11 »
Vybavilo se mi, jak jsme na vojně natáhli spojařskou dvoulinku oknem, napíchli to na COM portech křížem na piny 2 a 3 a mastili po tom Dooma :D. Ano, až tak jednoduché to bylo (GND je všude kolem, to jsme neřešili).

Re:Sériová konzole mezi dvěma počítači současně
« Odpověď #6 kdy: Dnes v 12:56:19 »
Pokud to chápu správně tak potřebujete dvě obousměrná spojení.
(jeden směr pro stisky kláves, druhý pro to co se má zobrazit)
jedno spojení z "Minicomu" na PC_A na "terminál" na PC_B
druhé spojení z "Minicomu" na PC_B na "terminál" na PC_A

Na COM portu je ale jen jedno spojení. Takže buď to nějak přepínat kdy co kam vede.
Nebo tam namastit nějakou vrstvu co umožní mít více spojení.
Zkuste mrknout jestli nenajdete nějaký MUX(tak se ty protokoly obecně nazývají) driver který by umožnil ten jeden port rozhodit na několik virtuálních.
Na Windows kdysi byl com0com který to nějak uměl.
Pro Linux jsem narychlo vygooglil https://github.com/wd5gnr/SerialMux/blob/main/linux/ttymux.cpp ale nevím jestli to funguje a jestli je to dostatečně spolehlivé. Možná už bude i něco přímo v kernelu? Třeba poradí ostatní.