Digilent Usb Jtag Cable Driver Linux

Digilent Usb Jtag Cable Driver Linux Rating: 4,2/5 9154 votes

Hi, I am trying to connect the XC5VLX110T to my desktop (64-bit machine running CentOS-5) with a diligent USB-JTAG programming cable.

Hi,

Sorry my board is the S3E board.
Yes I copied the libCseDigilent files. And when I do the boundary scan I get the following error:

GUI --- Auto connect to cable...
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.5.2
INFO:iMPACT - Digilent Plugin: no JTAG device was found.
AutoDetecting cable. Please wait.
*** WARNING ***: When port is set to auto detect mode, cable speed is set to default 6 MHz regardless of explicit arguments supplied for setting the baud rates
PROGRESS_START - Starting Operation.
If you are using the Platform Cable USB, please refer to the USB Cable Installation Guide (UG344) to install the libusb package.
Connecting to cable (Usb Port - USB21).
Checking cable driver.
Linux release = 3.17.4-1-ARCH.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
Connecting to cable (Parallel Port - parport0).
Linux release = 3.17.4-1-ARCH.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Linux release = 3.17.4-1-ARCH.
WARNING:iMPACT - Module parport_pc is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
Connecting to cable (Parallel Port - parport1).
Linux release = 3.17.4-1-ARCH.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Linux release = 3.17.4-1-ARCH.
WARNING:iMPACT - Module parport_pc is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
Connecting to cable (Parallel Port - parport2).
Linux release = 3.17.4-1-ARCH.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Linux release = 3.17.4-1-ARCH.
WARNING:iMPACT - Module parport_pc is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
Connecting to cable (Parallel Port - parport3).
Linux release = 3.17.4-1-ARCH.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Linux release = 3.17.4-1-ARCH.
WARNING:iMPACT - Module parport_pc is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
PROGRESS_END - End Operation.
Elapsed time = 1 sec.
Cable autodetection failed.
WARNING:iMPACT:923 - Can not find cable, check cable setup !

About

When using XILINX JTAG software like Impact, Chipscope and XMD on Linux, the proprietary kernel module windrvr from Jungo is needed to access the parallel- or usb-cable. As this module does not work with current linux kernel versions (> 2.6.18) a library was developed, which emulates the module in userspace and allows the tools to access the JTAG cable without the need for a proprietary kernel module.

The library uses libusb to access USB devices and the ppdev interface to communicate with parallel cables. The parallel part currently only supports Parallel Cable III mode (and PCIV in PCIII compatibility mode) as the faster PCIV modes use another kernel module which is not emulated by this library. So you are limited to a 200kHz JTAG clock when using Parallel Cable IV with this software. The USB cable is supported at full speed.

Experimental support for FTDI 2232 based devices has been added. They are seen by Impact as a Parallel Cable III. These devices are currently significantly slower than every other supported cable.

The library is called libusb-driver as it was developed to support the USB cable, but later extended to also support parallel cables.

News

Digilent Usb Jtag Cable Driver Linux
  • 2008-03-26: Xilinx has released their own drivers based on libusb with ISE Design Suite 10.1. To use them, you need to set the environment-variable XIL_IMPACT_USE_LIBUSB to 1 before running the tools. The driver on this page no longer needs to be preloaded if you only used it to access USB cables. Parallel port support still seems to rely on windrvr, which can be emulated by libusb-driver.

    Using 32-bit ISE 10.1 on a 64-bit platform: When using the 32-bit JTAG tools from ISE Design Suite 10.1 on a 64-bit machine, the tools will not connect to the cable but output the following error: Cable operation is not supported when running the 32-bit version of the application on a 64-bit platform. To fix this, run the tools with linux32 or preload the newest 32-bit version of libusb-driver. This will lead the tools to believe that they are running on a 32-bit platform and allows them to connect to the cable.

  • 2009-05-31: ISE Design Suite 11.1 now uses Xilinx's libusb-based drivers as default, without the need to set XIL_IMPACT_USE_LIBUSB. If you want to use this driver with ISE 11.1 for USB cables and disable the builtin support for libusb, you now have to set XIL_IMPACT_USE_LIBUSB to 0 (export XIL_IMPACT_USE_LIBUSB=0 or setenv XIL_IMPACT_USE_LIBUSB 0). For parallel cables Xilinx still relies on windrvr. This library works fine with parallel cables and ISE 11.1 with no need for windrvr.

  • 2010-03-15: If you are using newer udev-versions (like the version included in Debian Squeeze and Ubuntu 9.10), then the file /etc/udev/rules.d/xusbdfwu.rules is incompatible with this udev version. The effect of this is that the cable-firmware gets never loaded and the cable led never lights up.

    To fix this, run the following command as root:
    sed -i -e 's/TEMPNODE/tempnode/' -e 's/SYSFS/ATTRS/g' -e 's/BUS/SUBSYSTEMS/' /etc/udev/rules.d/xusbdfwu.rules
    You may have to reboot for this change to take effect.

  • 2010-05-22: Support for ISE 12 is now available in the driver.

  • 2011-05-08: Support for ISE 13 is now available in the driver. A rewritten version of setup_pcusb which works on modern distributions has been added.

Supported Cables

The following cables are reported to work with this driver:
  • XILINX Parallel Cable IV (in Parallel Cable III compatibility mode)
  • FCPU-X platform cable (XILINX Platform Cable USB clone)
  • Enterpoint Prog2 Parallel Cable III clone
  • Trenz TE0149-01 Parallel Cable III clone
  • Digilent JTAG3 Parallel Cable III clone
  • Amontec JTAGkey-Tiny (experimental)
These cables should work but have not yet been tested: Driver
  • Integrated Platform Cable USB on other development boards
  • other Parallel Cable III clones
  • other FTDI2232 based devices which use the chips standard JTAG pinout (experimental)

Supported Software

The following software is reported to work with this driver:
  • ISE 13 (all editions)
  • ISE 12 (all editions)
  • ISE 11 (all editions)

Download

  • Download usb-driver-HEAD.tar.gz (to build it, you need to have the libusb development package installed. It is called libusb-dev on Debian.)
  • Read the README
  • Browse the Git repository (Summary)
  • Precompiled libusb-driver.so for Debian Etch, but better build your own
  • Clone the Git repository with: git clone git://git.zerfleddert.de/usb-driver

Links

  • xc3sprog, a suite of utilities for programming Xilinx FPGAs, CPLDs, and EEPROMs with the Xilinx Parallel Cable and other JTAG adapters under Linux
  • XUP by inisyn research, opensource JTAG programming for Spartan 3E starter kit USB cable
  • USB JTAG adapter by Kolja Waschk, opensource integration of the XILINX platform cable USB into OpenOCD and openwince JTAG Tools
  • UrJTAG, open source jtag tools with basic support for the xilinx XPCU
Michael Gernoth