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