Portál AbcLinuxu, 12. května 2025 12:42

Dotaz: FTDI USB->Serial a Wine

ladaan avatar 10.11.2008 13:39 ladaan | skóre: 9 | Tišnov
FTDI USB->Serial a Wine
Přečteno: 1943×
Odpovědět | Admin
Mám
Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
, který používám k notebooku, kde není seriový port. Chtěl bych komunikovat s několika zařízeními(od Kirk) přes seriový port. Software, který se používá pro komunikaci s Kirk-em je právě pod windows, ale chtěl bych ho používat ve Wine. Bohužel spojení se nenaváže. Nalinkoval jsem si COM port pro wine
ln -s /dev/ttyUSB0 com3
Mám vyzkoušené propojení na stolním kompu, kde jsou standardní COM porty a přes ně to funguje bez problému. Moje otázky jsou:
Jak debugovat komunikaci na FTDI convertoru?
Napadá vás co bych mohl vyzkoušet, abych to rozběhl?
Díky.

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.11.2008 17:13 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: FTDI USB->Serial a Wine
Odpovědět | | Sbalit | Link | Blokovat | Admin
Sériové spojení pod Wine bývá obecně dost nestabilní, když jsem spojoval Nokii 5110, tak to pořád padalo.

Zkusil bych nejdřív rozchodit spojení Linux(USB) - něco(COM) (hodilo by se poznamenat si chodící konfiguraci portu). Potom Wine(USB) - něco(COM), třeba něco jako hyperterminal. Bylo by taky pak vhodné co nejméně zatěžovat systém a dát wine procesu co největší prioritu. Teprve až tohle půjde, tak se dá přistoupit k finálnímu spojení Wine(USB) - Kirk(COM).

Na odposlouchávání je asi nejjednodušší si sehnat nějaký starý počítač co má sériák (klidně 386) a udělat si na vodičích odbočku do Rx pinu toho sériáku (+GND samozřejmě :-) ). Přímo na Linuxu by to též šlo, buď přes pojmenovanou rouru (pokud to wine čte jako soubor), nebo třeba přes virtuální terminál. Jinak pozor sériový port má u mě občas tendenci se "zaseknout", kdy z něj nejde číst, ale přesto má správnou konfiguraci.
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
ladaan avatar 10.11.2008 23:00 ladaan | skóre: 9 | Tišnov
Rozbalit Rozbalit vše Re: FTDI USB->Serial a Wine
Díky za odpověď. Co mě funguje přes ten převodník, tak je komunikace s Mikrotik RouterBoard skrz seriový port přes Minicom. Zkusím teda ještě ten hyperterminál z wine na ten mikrotik. Můžeš mě dát příklad, jak odposlouchávat seriový port přes pojmenovanou rouru?

10.11.2008 23:23 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: FTDI USB->Serial a Wine
Můžu ale nevím zda to bude fungovat:
mkfifo ~/.wine/dosdevices/com1
cat ~/.wine/dosdevices/com1 > /dev/ttyUSB0
Ale je blbý, že je pojmenovaná roura jen jednosměrná. Ještě by to šlo obousměrně přes virtuální terminál nějak takhle (man pty):
ln -s /dev/ptyz1 com1    #vytvoreni linku na master terminal
cat /dev/ttyz1 > /dev/ttyUSB0 &    #cteni ze slavu do USB
cat /dev/ttyUSB0 > /dev/ttyz1 &    #cteni z USB do slavu
Taky by to šlo samozřejmě logovat modifikací toho USB driveru (možná, že má nějaké parametry typu debug, kdy loguje do dmesg všechno).
ladaan avatar 11.11.2008 09:58 ladaan | skóre: 9 | Tišnov
Rozbalit Rozbalit vše Re: FTDI USB->Serial a Wine
Díky za pomoc. Dostal jsem se k bug reportu
http://bugs.winehq.org/show_bug.cgi?id=8783
ale i tam to neni vyresene. Ale kazdopadne vim, ze je to vec Wine. Coz je ted skoda a nevim jak to udelat, abych mohl na svem firemnim notasu shodit winxp a pouzivat linux, protoze se potrebuji pripojovat na servisni seriovy port. Mozna to zkusit jeste pres virtualni winxp...
11.11.2008 18:57 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: FTDI USB->Serial a Wine
Jo přes virtuální WinXP by to mělo jít, VirtualBox i VmWare mají podporu sériového portu a ve VmWare jsem myslím kdysi provozoval tiskárnu přes parport (což je víceméně stejný), takže tam to jde...
Max avatar 11.11.2008 20:11 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: FTDI USB->Serial a Wine
Nedávno jsem odzkoušel komunikaci z winxp ve virtualboxu a jedním switchem přes seriový port a ok.
Zdar Max
Měl jsem sen ... :(
ladaan avatar 17.2.2009 20:14 ladaan | skóre: 9 | Tišnov
Rozbalit Rozbalit vše Re: FTDI USB->Serial a Wine
Problém s komunikací FTDI USB-> Serial port se pro moje účely vyřešil. Pomohl patch na http://bugs.winehq.org/show_bug.cgi?id=8783
--- wine-1.1.14-orig/dlls/ntdll/serial.c	2009-01-30 11:54:01.000000000 -0500
+++ wine-1.1.14/dlls/ntdll/serial.c	2009-02-02 07:31:36.000000000 -0500
@@ -1040,13 +1040,8 @@ static NTSTATUS wait_on(HANDLE hDevice, 
     if (commio->evtmask & EV_RXFLAG)
 	FIXME("EV_RXFLAG not handled\n");
 
-    if ((status = get_irq_info(fd, &commio->irq_info)) &&
-        (commio->evtmask & (EV_BREAK | EV_ERR)))
-	goto out_now;
-
-    if ((status = get_modem_status(fd, &commio->mstat)) &&
-        (commio->evtmask & (EV_CTS | EV_DSR| EV_RING| EV_RLSD)))
-	goto out_now;
+    status = get_irq_info(fd, &commio->irq_info);
+    status = get_modem_status(fd, &commio->mstat);
 
     /* We might have received something or the TX buffer is delivered */
     *events = check_events(fd, commio->evtmask

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.