ftd2xx.dll.so buildin wine DLL for FTDI USB hardware by Wolfgang Rapp This is a winelib replacement of FTD2XX.dll for wine to access USB Chips of FTDI under Wine if the Windows programm use ftd2xx.dll. The winelib ftd2xx.dll.so use the shared linux library libftd2xx.so.0 witch is available from the FTDI Homepage www.ftdichip.com as libftd2xx.so.xxxx. Downlod it and copy to /usr/lib, then run ldconfig with will set symbolic links from libftd2xx.so.xxxx to libftd2xx.so.0. Copxy ftd2xx.dll.so and libftd2xx.def to the wine install lib directory normally /usr/lib/wine. Don't have any FTD2XX.dll in you wine drive or assure by wine config that always the wine buildin DLL for ftd2xx is used. The buildin DLL will map all calls to the windows ftd2xx.dll to the linux library call through libftd2xx.so.0 ldd ftd2xx.dll.so should show something like this ldd ftd2xx.dll.so linux-gate.so.1 => (0x00110000) libftd2xx.so.0 => /usr/lib/libftd2xx.so.0 (0x00127000) libwine.so.1 => /usr/lib/libwine.so.1 (0x00296000) libm.so.6 => /lib/libm.so.6 (0x00144000) libc.so.6 => /lib/libc.so.6 (0x003cd000) libpthread.so.0 => /lib/libpthread.so.0 (0x0016d000) libdl.so.2 => /lib/libdl.so.2 (0x00186000) /lib/ld-linux.so.2 (0x00278000) To run programms from normal users I figured out that there must be sum changes on /dev/bus/usb. The problem is that every time you plug in the usb a device a entry is added to one directory (hub number). The new entries are numbers 002,003,.... Every time you unplug and replug the USB hardware the count is increased. Unfortunately on my Fedora system the new devices are creeated with read only mode. In this configuration libftd2xx don't work. You must find a solution that the device is configured as rw. For Fedora 9 the udevice nodes are managed by rules in /etc/udev/rules.d. For libusb this is in file 50-udev-default.rules. If this file is not present copy it from the system default location /lib/udev/rules.d to /etc/udev/rules.d. If you don't copy the following changes will be lost at next system upgrade. Rules in /etc/udev/rules.d have preference before /lib/udev/rules.d files. There is a entry at line 50 # libusb device nodes SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644" Add after the existing rule a entry for VendorID 0403 for FTDI USB hardware. It seems it is important to add it after the existing entry. Mode 0666 will do the job and generate a rw device entry for all FTDI chips independant of the plugging USB plug and the device increasing count. # libusb device nodes SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644" SUBSYSTEM=="usb", SYSFS{idVendor}=="0403",ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0666" The udev rules handling will be different the existing Linux distributions. As noted above this description is for Fedora. Please note that the udev configuration files may be changed on system update an then you loose your adaptions. Fedora12 add a file 99-libftdi.rules to /etc/udev/rules.d # allow users to claim the device SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666", GROUP="plugdev"