Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

device not found, ubuntu 20.04 (AMD64) #10

Open
maxlem opened this issue May 20, 2021 · 8 comments
Open

device not found, ubuntu 20.04 (AMD64) #10

maxlem opened this issue May 20, 2021 · 8 comments

Comments

@maxlem
Copy link

maxlem commented May 20, 2021

Hello and thanks for you efforts!

I spent a good 45 min trying different things.

I even reinstalled wine

So I have built your lib and put it in the right place (removed the .so):

:/usr/lib/wine$ ll
total 964
drwxr-xr-x   2 root root   4096 May 20 10:37 ./
drwxr-xr-x 135 root root  12288 May 20 10:28 ../
-rwxr-xr-x   1 root root 332984 May 20 10:05 ftd2xx.dll*
-rw-r--r--   1 root root   2217 May 20 09:57 libftd2xx.def
-rwxr-xr-x   1 root root  13692 Apr 20  2020 wine*
-rwxr-xr-x   1 root root    115 Apr 20  2020 wineapploader*
-rwxr-xr-x   1 root root    382 Apr 20  2020 wineserver*
-rwxr-xr-x   1 root root 603804 Apr 20  2020 wineserver32*

my udev rule fires correctly

May 20 10:46:10 maxime-ThinkPad-T14-Gen-1 systemd-udevd[760811]: 6-2: /etc/udev/rules.d/81-logicport.rules:2 GROUP 46
May 20 10:46:10 maxime-ThinkPad-T14-Gen-1 systemd-udevd[760811]: 6-2: /etc/udev/rules.d/81-logicport.rules:2 MODE 0664
May 20 10:46:10 maxime-ThinkPad-T14-Gen-1 systemd-udevd[760811]: 6-2: Handling device node '/dev/bus/usb/006/107', devnum=c189:746
May 20 10:46:10 maxime-ThinkPad-T14-Gen-1 systemd-udevd[760811]: 6-2: Preserve already existing symlink '/dev/char/189:746' to '../bus/usb/006/107'
May 20 10:46:10 maxime-ThinkPad-T14-Gen-1 systemd-udevd[760811]: 6-2: sd-device: Created db file '/run/udev/data/c189:746' for '/devices/pci0000:00/0000:00:08.1/0000:07:00.4/usb6/6-2'
May 20 10:46:10 maxime-ThinkPad-T14-Gen-1 systemd-udevd[760811]: 6-2: Device (SEQNUM=9468, ACTION=bind) processed
May 20 10:46:10 maxime-ThinkPad-T14-Gen-1 systemd-udevd[760811]: 6-2: sd-device-monitor: Passed 760 byte to netlink monitor

When I fire LogicPort, it says it can't find my device...

@maxlem maxlem changed the title 64bit errors, device not found in 32bits device not found, ubuntu 20.04 (AMD64) May 20, 2021
@sje1
Copy link

sje1 commented Jul 19, 2023

i also have this issue trying to get LogicPort running on Ubuntu 22.04
did you find out anything since your last post?

i came to this project from https://www.mikrocontroller.net/topic/459834 , but not understanding the german!

my USB port in linux seems ok, from dmesg:

[2349911.143702] usb 3-2: new full-speed USB device number 23 using xhci_hcd
[2349911.317071] usb 3-2: New USB device found, idVendor=0403, idProduct=dc48, bcdDevice= 4.00
[2349911.317080] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[2349911.317084] usb 3-2: Product: LogicPort Logic Analyzer
[2349911.317087] usb 3-2: Manufacturer: Intronix
[2349911.317089] usb 3-2: SerialNumber: 22060462
[2350255.128680] usb 3-2: USB disconnect, device number 23
[2350274.043700] usb 3-2: new full-speed USB device number 24 using xhci_hcd
[2350274.213714] usb 3-2: New USB device found, idVendor=0403, idProduct=dc48, bcdDevice= 4.00
[2350274.213727] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[2350274.213731] usb 3-2: Product: LogicPort Logic Analyzer
[2350274.213733] usb 3-2: Manufacturer: Intronix
[2350274.213736] usb 3-2: SerialNumber: 22060462
[2350676.764325] ftdi_sio 3-2:1.0: FTDI USB Serial Device converter detected
[2350676.764398] usb 3-2: Detected FT232B
[2350676.768278] usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB1

Ubuntu 22.04.2 LTS
wine version is 8.0.1 packages from wine-stable

i built this project and put the lib :
/opt/wine-stable/lib/wine/i386-unix/ftd2xx.dll.so

i have the following link in ~/.wine/dosdevices/
com34 -> /dev/ttyUSB1

when i start LogicPort.exe , it just has the popup 'No LogicPort Hardware'


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

0138:fixme:olepicture:OleLoadPictureEx 027B3B04, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BF8F8, partially implemented.
0138:fixme:olepicture:OleLoadPictureEx 027B3B04, 326, 1, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BF8F8, partially implemented.
0138:fixme:olepicture:OleLoadPictureEx 027B3B04, 1086, 1, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BF8C8, partially implemented.
0138:fixme:olepicture:OleLoadPictureEx 027B3B04, 1086, 1, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BF8C8, partially implemented.
0138:fixme:olepicture:OleLoadPictureEx 027B3B04, 1086, 1, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BF8C8, partially implemented.
0138:fixme:olepicture:OleLoadPictureEx 027B3B04, 1086, 1, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BF898, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (0080A018)->(015C45B8, 0, 00000000), hacked stub.
0138:fixme:olepicture:OleLoadPictureEx 027D42C4, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BFA30, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (0088D6E0)->(015C4900, 0, 00000000), hacked stub.
0138:fixme:olepicture:OleLoadPictureEx 027D534C, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BFA30, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (0088E440)->(015C58C0, 0, 00000000), hacked stub.
0138:fixme:olepicture:OleLoadPictureEx 027D7BB4, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BFA30, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (008905D8)->(015C69D0, 0, 00000000), hacked stub.
0138:fixme:olepicture:OleLoadPictureEx 027DA69C, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BFA30, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (00894E78)->(015C8BF0, 0, 00000000), hacked stub.
0138:fixme:olepicture:OleLoadPictureEx 027DF7DC, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BFA30, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (00899AB0)->(015C9670, 0, 00000000), hacked stub.
0138:fixme:olepicture:OleLoadPictureEx 027E1714, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BFA30, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (0089BCA0)->(015CA780, 0, 00000000), hacked stub.
0138:fixme:olepicture:OleLoadPictureEx 027E4204, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BFA30, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (0089FAE0)->(015CB938, 0, 00000000), hacked stub.
0138:fixme:olepicture:OleLoadPictureEx 027E719C, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BFA30, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (008A3628)->(015CEB18, 0, 00000000), hacked stub.
0138:fixme:olepicture:OleLoadPictureEx 027EE1B4, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BFA30, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (008AB5C0)->(015CEC68, 0, 00000000), hacked stub.
0138:fixme:imm:ImeSetActiveContext (000401CC, 1): stub
0138:fixme:imm:ImmReleaseContext (00020124, 000401CC): stub
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:toolbar:TOOLBAR_ReplaceBitmap resources not in the current module not implemented
0138:fixme:win:NtUserLockWindowUpdate (0x4004a), partial stub!
0138:fixme:win:NtUserLockWindowUpdate ((nil)), partial stub!
0138:fixme:htmlhelp:HtmlHelpW HH case HH_INITIALIZE not handled.
0138:fixme:olepicture:OleLoadPictureEx 027F9334, 1086, 0, {7bf80980-bf32-101a-8bbb-00aa00300cab}, 0, 0, 0, 006BF570, partially implemented.
0138:fixme:olepicture:OLEPictureImpl_SaveAsFile (009AF430)->(015D28A0, 0, 00000000), hacked stub.

i am not sure how it looks for the correct com port , or how wine knows to use the lib for this usb port...

@brentr
Copy link
Owner

brentr commented Jul 19, 2023

Did you remember to set the FTDID env var as described in step 5 of the README?

The ftd2xx.dll.so file must be copied into the wine/x86_64 or wine_i386 directory of your wine installation.

The proper directory is full of other .so files.
It is NOT a windows dll. Its .so suffix must be retained.

@sje1
Copy link

sje1 commented Jul 19, 2023

thank you for the quick response!

i set FTDID=DC48 , which matches the idProduct from dmesg:
~/.wine/drive_c/Program Files (x86)/LogicPort$ FTDID=DC48 wine LogicPort.exe

the dll is here:
/opt/wine-stable/lib/wine/i386-unix/ftd2xx.dll.so

there doesn't seem t any log indicating what usb port is begin opened, or what happened
the UI and 'Demo' comes up fine.

Screenshot from 2023-07-19 12-23-35

@brentr
Copy link
Owner

brentr commented Jul 20, 2023

Ahh. I think I see the problem...

When I plug my LogicPort into my x86_64 Debian 11 system the kernel log displays:

usb 1-11.1: new full-speed USB device number 31 using xhci_hcd
usb 1-11.1: New USB device found, idVendor=0403, idProduct=dc48, bcdDevice= 4.00
usb 1-11.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-11.1: Product: LogicPort Logic Analyzer
usb 1-11.1: Manufacturer: Intronix
usb 1-11.1: SerialNumber: 15629559

Note that the FTDI serial driver (ftdi_sio) DID NOT claim the device, as it did on your system.
A device must not be claimed by any other kernel driver if it is to be used by libftdi

You can read about the problem, and how to solve it, here:
https://unix.stackexchange.com/questions/305439/blacklisting-removing-driver-for-a-particular-vid-pid

Otherwise, your set up looks good. It should work once you pry the device free from other kernel drivers.

@sje1
Copy link

sje1 commented Jul 21, 2023

thanks again,

i could unbind it per your link
echo "3-2:1.0" > /sys/bus/usb/drivers/ftdi_sio/unbind

but i still get the same 'No LogicPort Hardware' starting LogicPort

it seems your output indicates you dont have mod ftdi_sio

my 'lsmod' :

ftdi_sio               69632  0
usbserial              69632  2 ftdi_sio,ch341

i removed it with 'rmmod ftdi_sio' (it is my only ftdi device)
now when i plug in the logicport, output is similar to yours

[2561343.515752] usb 3-2: new full-speed USB device number 34 using xhci_hcd
[2561343.685818] usb 3-2: New USB device found, idVendor=0403, idProduct=dc48, bcdDevice= 4.00
[2561343.685830] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[2561343.685834] usb 3-2: Product: LogicPort Logic Analyzer
[2561343.685837] usb 3-2: Manufacturer: Intronix
[2561343.685839] usb 3-2: SerialNumber: 22060462

but i still get the same 'No LogicPort Hardware' starting LogicPort

start:
~/.wine$ FTDID=DC48 wine 'C:\Program Files (x86)\LogicPort\LogicPort.exe'

when starting after 'wineserver -k' , the first log line output is :
007c:fixme:wineusb:query_id Unhandled ID query type 0x5.

(bug ref)

subsequent restarts do not show this.

it seems wine or software maybe doesn't see the ports or use the ftdi lib?
(or software often loads libs in static blocks without error logging...)

am i supported to install VCP or D2XX drivers into wine from https://ftdichip.com/drivers/d2xx-drivers/ ?

lib info

$ file /opt/wine-stable/lib/wine/i386-unix/ftd2xx.dll.so
/opt/wine-stable/lib/wine/i386-unix/ftd2xx.dll.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=58c69536e1082f038d4f8293d7fc73373e15bc3f, not stripped

$ file ~/.wine/drive_c/Program\ Files\ \(x86\)/LogicPort/LogicPort.exe
/home/sje/.wine/drive_c/Program Files (x86)/LogicPort/LogicPort.exe: PE32 executable (GUI) Intel 80386, for MS Windows

@brentr
Copy link
Owner

brentr commented Jul 21, 2023

I have just retested my LogicPort running on Debian 11 after building the shim following the instructions in the README.
It works for me. But, it didn't work the first time :-)

I forgot that, on my x86_64 machine, I needed to build an i386 shim library to support the LogicPort 32-bit windows application. See the instructions at the end of the README for how to do that.

@sje1
Copy link

sje1 commented Jul 25, 2023

yes, i built with and installed with ARCH=i386 per the instructions
i must be missing something in my understanding

$ make ARCH=i386 clean
WINELIBDIR=/opt/wine-stable/lib/wine/i386-unix
Linked with libftd2xx1.4.22/build/libftd2xx.a
rm -f *.o *xftd2xx.* *.so *.def libftd2xx1.4.22/build/libftd2xx.a

$ make ARCH=i386
WINELIBDIR=/opt/wine-stable/lib/wine/i386-unix
Linked with libftd2xx1.4.22/build/libftd2xx.a
sed "s/WINAPI FT_/xFT_/g" libftd2xx1.4.22/ftd2xx.h >xftd2xx.h
sed -i "/^#include <windows\.h>.*/a typedef const char \*LPCTSTR;" xftd2xx.h
winegcc -D_REENTRANT -D__WINESRC__ -c -Os -Wall -m32 \
          -Ilibftd2xx1.4.22 -I/home/sje/.wine/wine-source/include -fno-omit-frame-pointer -o ftd2xx.o ftd2xx.c
In file included from ftd2xx.c:13:
/home/sje/.wine/wine-source/include/wine/debug.h:488:48: warning: ‘__wine_dbch___default’ defined but not used [-Wunused-const-variable=]
  488 |     static struct __wine_debug_channel * const __wine_dbch___default = &__wine_dbch_##ch
      |                                                ^~~~~~~~~~~~~~~~~~~~~
ftd2xx.c:14:1: note: in expansion of macro ‘WINE_DEFAULT_DEBUG_CHANNEL’
   14 | WINE_DEFAULT_DEBUG_CHANNEL(ftd2xx);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
tar xzf libftd2xx-i386-1.4.22.tgz
rm -rf libftd2xx1.4.22
mv release libftd2xx1.4.22
objcopy --redefine-syms=xFTsyms.objcopy libftd2xx1.4.22/build/libftd2xx.a libxftd2xx.a
winegcc -Os -Wall -m32 -I/home/sje/.wine/wine-source/include -mwindows -lntdll -lkernel32 \
          -o ftd2xx.dll ftd2xx.o libxftd2xx.a -shared ftd2xx.spec libxftd2xx.a -ldl -lrt -lpthread
chmod -x ftd2xx.dll.so
winebuild -m32 -w --def -o libftd2xx.def --export ftd2xx.spec

$ make ARCH=i386 install
WINELIBDIR=/opt/wine-stable/lib/wine/i386-unix
Linked with libftd2xx1.4.22/build/libftd2xx.a
sudo cp ftd2xx.dll.so /opt/wine-stable/lib/wine/i386-unix

@RRPollack
Copy link

RRPollack commented Feb 18, 2024

I'm running Wine 9.0 on Kubuntu 22.04. After installing the 32-bit shim library, LogicPort still couldn't find its hardware. After much perusal of strace logs and experimentation, I found adding this symlink allows the program to run:

ln -s /opt/wine-stable/lib/wine/i386-unix/ftd2xx.dll.so ~/.wine/drive_c/windows/system/ftd2xx.dll

I suspect this is not the proper solution, but I'm not familiar enough with wine to offer something better.

I have verified that valid samples are being captured by LogicPort, so it seems to be working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants