This library emulates Jungo Windrvr USB functions in userspace which are required by XILINX impact to access the Platform cable USB. With this library it is possible to access the cable without loading a proprietary kernel module which breaks with every new kernel release. It uses the USB functions provided by the libusb userspace library instead and should work on every kernel version which is supported by libusb. It was written against impact from ISE Webpack 9.1SP1 and will very probably not work with older impact versions (<9.1). Build the library by calling `make'. To use this library you have to preload the library before starting impact: $ LD_PRELOAD=/path/to/libusb-driver.so impact or $ export LD_PRELOAD=/path/to/libusb-driver.so (for sh shells) $ setenv LD_PRELOAD /path/to/libusb-driver.so (for csh shells) $ impact To use the device as ordinary user, put the following line in a new file in /etc/udev/rules.d/ and restart udev: ACTION=="add", BUS=="usb", SYSFS{idVendor}=="03fd", MODE="666" If your cable does not have the ID 03fd:0008 in the output of lsusb, the initial firmware has not been loaded (loading it changes the product-ID from another value to 8). To load the firmware follow these steps: 1. If you have no /etc/udev/rules.d/xusbdfwu.rules file, create one with the following content: # version 0001 SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0008", NAME="windrvr6" BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $TEMPNODE" BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $TEMPNODE" BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000b", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $TEMPNODE" BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $TEMPNODE" BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $TEMPNODE" 2. Install the package containing /sbin/fxload from your linux distribution. It is usually called "fxload" 3. copy the file /path/to/ISE/bin/lin/xusbdfwu.hex to /usr/share/xusbdfwu.hex 4. restart udev and re-plug the cable