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:
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:
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. :(
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)
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"...
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
```
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:
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.
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 ...
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!
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
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!