scientificlinuxforum.org QR code
Scientific Linux Forum.org



  Reply to this topicStart new topicStart Poll

> xilinx install_drivers, version fix on problem with 2.6 kernel
dice
 Posted: Jan 31 2013, 03:21 PM
Quote Post


SLF Newbie


Group: Members
Posts: 3
Member No.: 2267
Joined: 31-January 13









i'm on 2.6 kernel

the xilinx standalone install_drivers script failed with can't find modversions.h

it was assuming a 2.4 kernel based on line 369 of the install_drivers shell script

i changed the original
uname -r | grep "2.4"

to
uname -r | grep "2\.4"

and that correctly detected the kernel version.
hope it helps someone.

###edit: my list of notes for install of standalone xilinx 13.2 lab tools below:###
For CentOS 5.5 (Scientific Linux)

0) helpful to add /sbin to your PATH (.bashrc) so can find modprobe etc (otherwise have to type /sbin/modprobe etc)
1)yum install kernel-xen-devel (if you specfiy the 2.6* stuff it doesn't find it)
2)
fxload download from:
http://sourceforge.net/projects/linux-hotplug/files/fxload/
fxload-2008_10_13 (one we used)
in ezusb.c in fxload directory:
change line 33 to the following:
# include <linux/usb_ch9.h> /*1/30/13: was <linux/usb/ch9.h>*/

install fxload

3) switch to xilinx install drivers dir
cd /opt/Xilinx/13.2/LabTools/LabTools/bin/lin64/install_script/install_drivers/

change to install_drivers shell script : line 369 instead of "2.4" change to "2\.4"
./install_drivers

4) lsusb (after xilinx cable attached)

you see which bus and device the xilinx cable is attached

fxload -v -t fx2 -I /usr/share/xusb_xp2.hex -D /dev/bus/usb/xxx/yyy
where xxx = bus id
yyy = device id

for us, bus id was 001 and device id was 012

5)make sure all users have access to /dev/windrvr6 (ls -l should show all user group and owner all have r access)
6)add xilinx bin to PATH in .bashrc

export PATH=.:$HOME/bin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/sbin:/opt/Xilinx/13.2/LabTools/LabTools/bin/lin64


7) type impact in terminal (not as root)
impact&
window should come up
with usb cable and board turned on, do the boundary scan - should detect jtag chain including fpga and any proms
PM
^
dice
 Posted: Feb 7 2013, 02:11 AM
Quote Post


SLF Newbie


Group: Members
Posts: 3
Member No.: 2267
Joined: 31-January 13









###EDIT: the above still had impact unable to find/connect to the cable ###
### below is what we did to fix it ###
### derived from: http://www.fpgarelated.com/usenet/fpga/show/100442-1.php ###

the udev rule file had the wrong syntax
to fix (as root):
a1) cd to /opt/Xilinx/13.2/LabTools/LabTools/bin/lin64/install_script/
install_drivers/linux_drivers/pcusb
a2) edit the xusbdfwu.rules file
change BUS to SUBSYSTEM (one subsystem per line - each line after the 1st two lines ends with $TEMPNODE - see original file for formatting)

for ex:
# version 0003
SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0008", MODE="666"
SUBSYSTEM=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $TEMPNODE"
SUBSYSTEM=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xup.hex -D $TEMPNODE"
SUBSYSTEM=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_emb.hex -D $TEMPNODE"
SUBSYSTEM=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xlp.hex -D $TEMPNODE"
SUBSYSTEM=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0013", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xp2.hex -D $TEMPNODE"
SUBSYSTEM=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0015", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xse.hex -D $TEMPNODE"

a3) /bin/cp -p xusbdfwu.rules /etc/udev/rules.d


a4) ADDITIONALLY (not sure if necessary or not), we added the following in a

/etc/settings file

export XIL_IMPACT_USE_LIBUSB=1
export XIL_IMPACT_USE_WINDRIVER=0
export LD_PRELOAD=~restore/libusb-driver.so

a5) ADDITIONALLY (not sure if necessary or not), we changed the .bashrc file to be:

# Xilinx
export LD_PRELOAD=~restore/libusb-driver.so
export XIL_IMPACT_USE_LIBUSB=1
export XIL_IMPACT_USE_WINDRIVER=0
alias jtag="env LD_PRELOAD=~restore/libusb-driver.so XIL_IMPACT_USE_LIBUSB=1 XIL
_IMPACT_USE_WINDRIVER=0 impact"

where ~restore is the location of the libusb-driver.so

a6) ADDITIONALLY (not sure if necessary or not), we changed the .profile file to be:
export LD_PRELOAD=~restore/libusb-driver.so
export XIL_IMPACT_USE_LIBUSB=1
export XIL_IMPACT_USE_WINDRIVER=0

------------------------------------------------------------
FINALLY,
we type in jtag at a terminal prompt (see alias jtag in .bashrc file)

able to connect to a ml403 using the platform usb cable:
1. tested initialize chain successfully
2. tested read device code id successfully


(note: replace ~restore with whatever location is appropriate)



PM
^
helikaon
 Posted: Feb 12 2013, 02:40 PM
Quote Post


SLF Moderator
******

Group: Moderators
Posts: 516
Member No.: 4
Joined: 8-April 11









Hi,
thanks for sharing the info! :-)
just out of curiosity, what have you been installing? Xilinx doesnt ring a bell to me ...

cheers,


--------------------
PMEmail Poster
^
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

Topic Options Reply to this topicStart new topicStart Poll