Forum: Mikrocontroller und Digitale Elektronik Intronix LogicPort Logic Analyzer und Linux/Wine


von Gastino G. (gastino)


Lesenswert?

Hallo,

nach einem Tag Herumprobieren und Durchforsten des Internets bin ich 
leider mit dem Versuch, den LogicPort unter Linux (openSuse Leap 15) mit 
Hilfe von Wine zum Laufen zu bringen, nicht wirklich vorangekommen.

Daher die Frage hier: Hat jemand diesen Logic Analyzer bei sich unter 
Linux und Wine schon mal zur Mitarbeit überreden können und wenn ja, 
wie?

Mein einziger "Erfolg" bisher ist, dass der LogicPort ordentlich erkannt 
und an den FTDI-Treiber gebunden wird. Dafür habe ich mir eine 
USB-Konfiguration 98-logicport.udev (in rules.d) angelegt:
1
#Intronix Logicport logic analyzer
2
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTRS{idProduct}=="dc48", MODE="0666", GROUP="dialout" 
3
4
ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="dc48", ATTRS{product}=="LogicPort Logic Analyzer", \
5
RUN+="/sbin/modprobe ftdi_sio", \
6
RUN+="/bin/sh -c 'echo 0403 dc48 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id'"

Die LogicPort-Software startet unter wine auch, findet aber den 
angeschlossenen Logic Analyzer nicht (läuft nur im Demo-Modus). Unter 
.wine/dosdevices ist der angeschlossene Port "ttyUSB0" auch als Link zu 
"com33" zu finden.

Probehalber mal mittels "unbind" den Treiber gelöst, bringt leider auch 
keinen Erfolg:
1
echo -n "ttyUSB0" > /sys/bus/usb-serial/drivers/ftdi_sio/unbind


Gibt es irgendwelche Ideen, das Problem zu lösen? Oder auch vielleicht 
das definitve Wissen, dass das aus bestimmten Gründen gar nicht 
funktionieren kann?

Leider ist ja der LogicPort immer noch in seinem Preissegment ziemlich 
ungeschlagen und allein (Abtastfrequenz, Triggermöglichkeiten), aber die 
nicht vorhandene Linux-Software ist für mich ein riesiger Nachteil. Ich 
habe keine Lust (mehr), extra für diese Software noch einen extra 
Rechner oder eine virtuelle Maschine mit Windows bereitzuhalten. :(

Beitrag #5564845 wurde von einem Moderator gelöscht.
Beitrag #5564849 wurde von einem Moderator gelöscht.
Beitrag #5564881 wurde von einem Moderator gelöscht.
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der Logicport verwendet zwar FTDI-Bausteine, die Software aber spricht 
diese mit sehr hoher Wahrscheinlichkeit nicht als virtuelle serielle 
Schnittstellen an, sondern dürfte die FT2xx-DLLs verwenden.

Du wirst also herausfinden können, wie man Software, die FT2xx-DLLs 
verwendet, unter Wine zum Laufen bekommt.

Vielleicht ist das hier ja was hilfreiches:
https://github.com/brentr/wineftd2xx

(Ein paar Informationen über das, was der Logicport veranstaltet, 
findest Du hier: https://sigrok.org/wiki/Intronix_Logicport_LA1034. Da 
wird allerdings nicht auf die Interaktion mit den FTDI-Bausteinen 
eingegangen, aber erwähnt, daß mit diesen Bitbanging betrieben wird, 
ein recht deutliches Zeichen dafür, daß so etwas wie die 
FT2xx-DLL-Schnittstelle Anwendung finden dürfte)

von Gastino G. (gastino)


Lesenswert?

Danke, das war ein guter Tipp! Das scheint der "missing link" zu sein 
und dort ist ja auch beschrieben, dass es bei dem Autor mit dem 
LogicPort unter Linux (32 Bit) geklappt hat.

Ich habe nun alles nach der Anleitung erstellt/konfiguriert (auch 
diverse Varianten der udev rules und der Umgebungsvariable ausprobiert), 
irgendwelche offensichtliche Fehler sind dabei nicht aufgetreten, aber 
die LogicPort-Software meldet noch immer keine gefundene Hardware. :(
Dabei dürfte die ja erst mal nicht viel mehr machen als direkt durch den 
Treiber "hindurchzutelefonieren"...

von PeterK (Gast)


Lesenswert?

gerade zufällig diesen Link (Logicport / WineFTD) hier gesehen und 
dachte ich poste das mal hier, evtl. hilft es ja dem einen oder anderen:
https://sourceforge.net/projects/wineftd2xx/files/

von ZF (Gast)


Lesenswert?

Kannst Du den Link nochmal prüfen? Ich bekomme da eine Fehlermeldung.

von MiWi (Gast)


Lesenswert?

ZF schrieb:
> Kannst Du den Link nochmal prüfen? Ich bekomme da eine
> Fehlermeldung.

lösche das files aus der url und Du kommst weiter...

https://sourceforge.net/projects/wineftd2xx/

von ZF (Gast)


Lesenswert?

Danke! Mit NoScript-Ausnahme geht auch Peters Link.

von Cee (Firma: GT) (cee)


Lesenswert?

Wir schreiben das Jahr 2025 und es funktioniert immer noch!

# Install LogicPort

```
git clone https://github.com/brentr/wineftd2xx.git
make ARCH=i386 WINELIBDIR=/usr/lib/wine
sudo make ARCH=i386 WINELIBDIR=/usr/lib/wine install
```

NOTE: ARCH muss auf i386 (32bit) gestellt werden wenn auf einer 64x 
Maschine gebuiuldet wird

NOTE: WINELIBDIR musste bei mir manuell gesetzt werden. Ist 
wahrscheinlich nicht bei allen nötig.

## Start LogicPort

```
FTDID=DC48 wine ~/.wine/drive_c/Program Files (x86)/LogicPort.exe
```

## Wenn Toolbar icons fehlen

```
winetricks comctl32
```

von J. S. (engineer) Benutzerseite


Lesenswert?

Welchen Grund, gibt es, den unbedingt mit Linux zu fahren? Ich habe den 
an eine alten Labor-PC mit Win7.

von Harald K. (kirnbichler)


Lesenswert?

J. S. schrieb:
> Welchen Grund, gibt es, den unbedingt mit Linux zu fahren?

Das ist eine merkwürdige Frage.


Welchen Grund hat das Komma hinter "Grund"?

von Vancouver (vancouver)


Lesenswert?

Bei mir will das einfach nicht. Ubuntu 24.04, frische Installation von 
Wine (9.0), Intronix-Software installiert, FTDI-Treiber aus 
https://github.com/brentr/wineftd2xx.git compiliert und installiert. 
Aber die Intronix-SW behauptet steif und fest, es sei kein Logicport 
verbunden.

Meine Ansatzpunte:

1.) Welches ist das richige Setting für WINELIBDIR? Autodetect ergibt 
WINELIBDIR=/usr/lib/i386-linux-gnu/wine, aber stimmt das? In diesem 
Verzeichnis sind keine .so-Files vorhanden, sondern nur in weiteren 
Unterverzeichnissen. Nach der installation sieht das so aus:
1
$ ll /usr/lib/i386-linux-gnu/wine
2
total 464
3
drwxr-xr-x  5 root root   4096 Okt  4 16:25 ./
4
drwxr-xr-x 32 root root  32768 Okt  4 14:52 ../
5
-rw-r--r--  1 root root 378772 Okt  4 16:34 ftd2xx.dll.so   <<--- aus wineftd2xx.git 
6
drwxr-xr-x  2 root root  12288 Okt  4 16:20 i386-unix/
7
drwxr-xr-x  2 root root  36864 Okt  4 14:52 i386-windows/
8
lrwxrwxrwx  1 root root     22 Apr  1  2024 libwine.so -> i386-unix/libwine.so.1
9
drwxr-xr-x  2 root root   4096 Okt  4 10:10 x86_64-windows/

2.) Wenn der Logiport angesteckt wird, meldet dmesg:
1
[ 5345.395508] usb 1-4.1: new full-speed USB device number 18 using xhci_hcd
2
[ 5345.503719] usb 1-4.1: New USB device found, idVendor=0403, idProduct=dc48, bcdDevice= 4.00
3
[ 5345.503734] usb 1-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
4
[ 5345.503742] usb 1-4.1: Product: LogicPort Logic Analyzer
5
[ 5345.503749] usb 1-4.1: Manufacturer: Intronix
6
[ 5345.503756] usb 1-4.1: SerialNumber: 55843551

Bedeutet "using xhci_hcd", dass sich da ein anderer Treiber draufsetzt?

Das wäre so geil, wenn ich das Teil endlich mit wine ans Laufen bekommen 
würde. Dann könnte ich endlich das WindowsXP und die Virtualbox 
rauswerfen, das ich nur wegen diesem einem Device seit Jahren mit 
herumschleppe. Ich will endlich windowsfrei werden.

von Harald K. (kirnbichler)


Lesenswert?

Vancouver schrieb:
> 1.) Welches ist das richige Setting für WINELIBDIR? Autodetect ergibt
> WINELIBDIR=/usr/lib/i386-linux-gnu/wine, aber stimmt das?

Ich hab' zwar keine Ahnung von Wine, aber ich ahne, daß Du 
möglicherweise ein "bittigkeits"-Problem hast. Die Logicport-Software 
ist eine 32-Bit-Software, die erwartet also eine 32-Bit-Umgebung, 
insbesondere auch die FTDI-DLLs.

Hast Du den Hinweis für wineftd2xx beachtet?

> IMPORTANT: If running on a X68_64 system, only the 64-bit version
> of the library will be generated. The 64-bit library will not be
> recognized by 32-bit Windows applications! To generate the 32-bit
> library for use with 32-bit Windows apps ...

von Vancouver (vancouver)


Lesenswert?

Ja, ich habe das ganze mit ARCH=i386 übersetzt, dann bekommt der 
Compileraufruf im Makefile ein -m32 als Parameter. Das sollte also 32 
bit sein.

von Harald K. (kirnbichler)


Lesenswert?

Gut, war ja nur ein Rateversuch.

Du könntest mal https://www.uwe-sieber.de/usbtreeview.html#download in 
der 32-Bit-Version ausprobieren, und Dir ansehen, was das so an Devices 
findet.

Ansonsten wäre 
https://ftdichip.com/software-examples/code-examples/visual-c-examples/ 
ein Anlaufpunkt. Das erste Beispiel von dort 
https://ftdichip.com/wp-content/uploads/2020/07/dlpvcc2.zip enthält ein 
32-Bit-Binary ("usbtest.exe" im Verzeichnis "Release").

Ruft man das auf, ohne daß ftd2xx.dll gefunden werden kann, gibt es 
eine (leicht irreführende) Fehlermeldung "Error Can't Load ft8u245.dll".
Danach gibt es noch die Meldung "You must enter a Devic Description or 
Serial Number" und das Programm beendet sich.


Kann aber die DLL geladen werden, erscheint nur die Meldung "You must 
enter a Devic Description or Serial Number" und danach eine GUI, mit der 
man irgendwelche Dinge anstellen kann.

Das also kannst Du als einfachen Test heranziehen, ob Deine 
Wine-Konfiguration sich so verhält, wie gewünscht.

Viel Erfolg!

von Vancouver (vancouver)


Lesenswert?

Jetzt läufts. Zwei Dinge mussten noch getan werden:

- Der korrekte WINELIBPATH ist /usr/lib/i386-linux-gnu/wine/i386-unix/

- Nach dem compilieren und installeren der lib muss man noch einen Link 
setzen, so wie hier beschrieben: 
https://github.com/brentr/wineftd2xx/issues/10#issuecomment-1951389232

Bei Ubuntu 24 ist der Link
1
ln -s /usr/lib/i386-linux-gnu/wine/i386-unix/ftd2xx.dll.so ~/.wine/drive_c/windows/system/ftd2xx.dll
Der letzte Punkt is etwas merkwürdig, weil da eine Linux-.so-Library als 
dll im Windows-Systemverzeichnis verlinkt wird.

Aber egal, so findet die Intronix-Software den LA und alles 
funktioniert. Ein Grund, einen guten Tropen aufzuziehen :-)

Danke an alle, die mir Tips gegeben haben!

von Harald K. (kirnbichler)


Lesenswert?

Vancouver schrieb:
> Aber egal, so findet die Intronix-Software den LA und alles
> funktioniert.

Na, herzlichen Glückwunsch!

von J. S. (engineer) Benutzerseite


Lesenswert?

Habe es mal notiert, falls ich das Gerät wirklich mal mit Liunx brauche. 
Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.