ASIX Home

Using ASIX products under Linux

 
: Site Map : Home > Support > Using ASIX products under Linux 2011-12-16

 

Home Products

PRESTO SIGMA UCAB232 Other products Museum

Electronic Design Sales & Prices Support About us Contact




Linux and Windows

This application note describes how to use ASIX products with USB interface under Linux.

The installation procedure described below is targeted and tested for Kubuntu distribution. The actual procedure for other distributions is similar, however, particular steps might slightly differ.

Supported ASIX products

Instructions for various ASIX software versions

 


Procedure for:
UP ver. 2.50 and higher,
PRESTO JTAG PLAYER ver. 3.0 and higher and
SIGMA2/SIGMA

Step 1: Install libftd2xx and libftchipid

Install libftd2xx and libftchipid by FTDI:

Version 1.0.5: libftd2xx1.0.5.tar.gz (TAR.GZ file format, 751 513 B)

Version 0.1.0: libftchipid.0.1.0.tar.gz (TAR.GZ file format, 81 596 B)

Important note: UP ver. 2.50 (and higher) and JTAG PLAYER ver. 3.0 (and higher) work with the library ver. 0.4.16 (and higher). SIGMA2/SIGMA software need not to be upgraded, it works under 0.4.16 (and higher) library from ver. 1.05.

  • Extract libftd2xx.so.1.0.5 and libftchipid and copy the files libftd2xx.1.0.5.so and libftchipid0.1.0 into the directory /usr/lib/.
    If you use the 64-bit version of Linux and there is a directory /usr/lib32/ in your system, the files should be extracted to this directory.
  • Create symbolic links:
    ln -s libftd2xx.so.1.0.5 /usr/lib/libftd2xx.so.1 (it is typically sufficient to run ldconfig to achieve this)
    ln -s libftd2xx.so.1.0.5 /usr/lib/libftd2xx.so.0 (must be made manually)
    ln -s libftchipid.so.0.1.0 /usr/lib/libftchipid.so.0 (it is typically sufficient to run ldconfig to achieve this)
  • The library searches for device files in /dev/bus/usb and /proc/bus/usb*). Depending on your distribution please ensure that /dev/bus/usb directory contains special files to access USB devices.
    Otherwise, use for the hardware access the files in /proc/bus/usb and then follow the (somewhat outdated) instructions for installation of the library ver. 0.4.12 file in readme.dat in the archive or on the FTDI web site section Drivers, subsection D2XX Drivers.
  • Check your access rights to files /dev/bus/usb (command ls -la /dev/bus/usb/*). Probably you will not have as a user the r+w access right for these files.
    If you have not access rights and you are using udev:
    • Create a user group (or use in any of the suitable existing groups) which users will have access to ASIX USB devices.
    • Add a new file with udev rules to the directory /etc/udev/rules.d or /lib/udev/rules.d (depending on your distribution. Suitable name for this new file is 40-asix_tools.rules. Insert the following lines to this file (where mygroup is a name of the group you have choosen, suitable group is e.g. plugdev):
      SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="f1a0", MODE="0664", GROUP="mygroup" # PRESTO
      SUBSYSTEM=="usb", ATTRS{idVendor}=="a600", ATTRS{idProduct}=="a000", MODE="0664", GROUP="mygroup" # SIGMA
      SUBSYSTEM=="usb", ATTRS{idVendor}=="a600", ATTRS{idProduct}=="a003", MODE="0664", GROUP="mygroup" # FORTE
    Follow the same procedure for any other devices using FTDI chips. VID and PID values can be determined using the listing of connected devices by the lsusb command.
  • The simplest option is to give the access rights to devices to all programs and all users (highly not recommended!). In this case, use MODE="0666" and do not use the GROUP parameter.

Step 2: Install lin_ftd2xx

Install lin_ftd2xx by ASIX:
lin_ftd2xx.dll.so-4.tar.gz (TAR.GZ file format, 9 129 B)

Change in comparison with the version 2: Added support for functions necessary for Hi-Speed USB chips by FTDI used in new ASIX' products.

Extract lin_ftd2xx.dll.so to /usr/lib/wine.
If you use the 64-bit version of Linux and there is a directory /usr/lib32/wine in your system, the files should be extracted to this directory.

Step 3: Install (or update) WINE

Wine is an Open Source implementation of the Windows API on top of X.

We recommend to use always the latest Linux kernel version for your distribution.

We recommend to use always the latest version of Wine.

Please install the Microsoft™ TrueType core fonts to get the correct display appearance. These fonts may be obtained by installing msttcorefonts package from Ubuntu package repository.

- - -

*) Linux kernels in newer distributions do not include support for special filesystem usbfs typically mounted in /proc/bus/usb which provides user applications with direct access to USB devices via special files. USB devices are still accessible by applications, however, special files are placed in /dev/bus/usb, which is more standard location for device files, and are under control of the udev daemon.

The libftd2xx1.0.4 library searches for special USB files in /dev/bus/usb and also in /proc/bus/usb.

Further it is necessary to set proper access permissions for special files in /dev/bus/usb. The best way to achieve this is to create suitable rule for udev.



Procedure for:
UP ver. 2.49 and lower and
PRESTO JTAG PLAYER ver. 2.3 and lower

Step 1: Install libftd2xx

Install libftd2xx:
Version 0.4.13: libftd2xx0.4.13.tar.gz (TAR.GZ file format, 326 281 B)

Note: Please use version 0.4.13 for the software versions mentioned in the headline. If any newer version of libftd2xx is used with these software versions then various problems can be encountered.

If the kernel in your distribution supports usbfs/usbdevfs (see /proc/filesytems), follow the instruction in the included README.dat file.

In the other case (which generally concerns newer distributions, including Ubuntu 9.10 onwards) *) please follow these instructions:

  • Extract libftd2xx.so.0.4.13 into /usr/lib/.
  • Create symbolic link ln -s libftd2xx.so.0.4.13 /usr/lib/libftd2xx.so.0 (it is typically sufficient to run ldconfig to achieve this).
  • Check that /dev/bus/usb contains special files used for access to USB devices.
  • Create symbolic link ln -s bus/usb /dev/usb - place this command to a startup script, e.g. to /etc/rc.local for permanent effect.
  • Set access permissions for USB devices, for instance by creating user group "usb", adding the user of PRESTO/SIGMA2/SIGMA to it and adding a rule for udev SUBSYSTEM=="usb", GROUP="usb", MODE="0664".

Step 2: Install lin_ftd2xx

Install lin_ftd2xx by ASIX:
lin_ftd2xx.dll.so-2.tar.gz (TAR.GZ file format, 5 882 B)
Extract lin_ftd2xx.dll.so to /usr/lib/wine.

Step 3: Install (or update) WINE

Wine is an Open Source implementation of the Windows API on top of X, OpenGL, and Unix.

We recommend to use always the latest Linux kernel version for your distribution.

We recommend to use always the latest version of Wine.

Please install the Microsoft™ TrueType core fonts to get the correct display appearance. These fonts may be obtained by installing msttcorefonts package from Ubuntu package repository.


*) Linux kernels in newer distributions do not include support for special filesystem usbfs/usbdevfs typically mounted in /proc/bus/usb which provides user applications with direct access to USB devices via special files. USB devices are still accessible by applications, however, special files are placed in /dev/bus/usb, which is more standard location for device files, and are under control of the udev daemon.

The libftd2xx0.4.13 library searches for special USB files in /proc/bus/usb but also in /dev/usb (but not in /dev/bus/usb), thus the simplest solution to this problem is to create suitable symbolic link e.g. by placing ln -s bus/usb /dev/usb command into /etc/rc.local.

Other possible solutions are described in this Ubuntu forum. In particular, script usbfs_hack is recommended. The script might be placed in /etc/init.d with proper symbolic link in /etc/rc2.d for automatic startup during boot process. This script is more generic and deals with the described problem also for other USB devices and applications (originally targeted for Samsung scanners).

Further it is necessary to set proper access permissions for special files in /dev/bus/usb. The best way to achieve this is to create suitable rule for udev.


For more information do not hesitate to contact us!

© ASIX s.r.o., 1991 - 2011. All rights reserved.