UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor blocky
Visitor
12,883 Views
Registered: ‎05-14-2015

Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

Hi,

 

Trying to program avnet spartan6 lx9 microboard from a recent installation of debian 8 (jessie). ise/impact v14.7

Using the type-A usb connector on the board, and have tried several USB ports on my PC. lsusb shows the following:

 

Bus 001 Device 008: ID 1443:0007 Digilent Development board JTAG

 

and when I connect it, dmesg shows:

 

[ 2414.405203] usb 1-1.4: new full-speed USB device number 8 using ehci-pci
[ 2414.500631] usb 1-1.4: New USB device found, idVendor=1443, idProduct=0007
[ 2414.500639] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2414.500644] usb 1-1.4: Product: Digilent Adept USB Device
[ 2414.500647] usb 1-1.4: Manufacturer: Digilent

 

error message in impact:

 

WARNING:iMPACT:923 - Can not find cable, check cable setup !

 

impact also shows lots of errors regarding unable to find windrvr6 but not sure if that's relevant to my config.

 

My other computer is also running debian and impact is working fine. the output from lsusb/dmesg is the same. kernel on the machine that's working is slightly older, 3.16-3-amd64 vs 3.16.0-4-amd64.

 

Do I need to install digilent plugin? Not sure what to try next.

0 Kudos
1 Solution

Accepted Solutions
Visitor blocky
Visitor
18,520 Views
Registered: ‎05-14-2015

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

@dwisehart This issue is resolved now. I did not have digilent Adept installed. Thank you very much for your assistance.

0 Kudos
10 Replies
Scholar pratham
Scholar
12,871 Views
Registered: ‎06-05-2013

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

@blocky http://www.xilinx.com/support/answers/54382.html

-Pratham

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Visitor blocky
Visitor
12,866 Views
Registered: ‎05-14-2015

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

Hi Pratham,

 

Just to confirm, this driver is necessary even if I am using a $2 USB male-to-female A-type and not a Xilinx programmer? I did try downloading the libCseDigilent.so file and installing it in my Xilinx folder but there was already a file there with the same name. I did not try replacing it. Are FTDI drivers required even if I am not using an FTDI chip?

 

Thanks for replying. I will try the installation script for the digilent driver you provided.

0 Kudos
Scholar dwisehart
Scholar
12,817 Views
Registered: ‎06-23-2013

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

Some of the information in that AR is now old, depending on which Linux build you are using.  Which distro are you using?

 

The command

lsusb 

should show your device.

 

Depending on which distro you have, you may need to make the USB devices world writable.  From lsusb you can see that my connection is on USB bus 5:

 

 

$ lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 04b3:4010 IBM Corp. 
Bus 005 Device 002: ID 03fd:0008 Xilinx, Inc. Platform Cable USB II

$ ls -l /dev/bus/usb/005 total 0 crw-rw---- 1 root root 189, 512 May 14 13:11 001 crw-rw---- 1 root root 189, 515 May 14 13:11 002

$ sudo chmod 666 /dev/bus/usb/005/*

$ ls -l /dev/bus/usb/005
total 0
crw-rw-rw- 1 root root 189, 512 May 14 13:11 001
crw-rw-rw- 1 root root 189, 515 May 14 13:11 002

 

Daniel

 

 

0 Kudos
Visitor blocky
Visitor
12,810 Views
Registered: ‎05-14-2015

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

Hi @dwisehart

 

Thanks for the response. I am using debian 8. This is what I see in lsusb. My usb device is world writable.

 

alex@celery:~$ lsusb
Bus 002 Device 003: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 1443:0007 Digilent Development board JTAG
Bus 001 Device 004: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
Bus 001 Device 003: ID 0461:0010 Primax Electronics, Ltd HP Keyboard
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

alex@celery:~$ ls -l /dev/bus/usb/001/005
crw-rw-rw- 1 root root 189, 4 May 18 19:12 /dev/bus/usb/001/005

0 Kudos
Scholar dwisehart
Scholar
12,792 Views
Registered: ‎06-23-2013

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

Cool @blocky.  So Linux is going to pass through the connection to software that wants to talk to it.  Now you need to show the software the device it is looking for.  Start the hw_server and vcse_server.  This can be done automatically for you by ISE or Vivado, or I run them from the command line:

 

. /opt/Xilinx/Viviado/2014.1/settings64.sh

HW_SERVER_ALLOW_PL_ACCESS=1 hw_server -L- -l0xFC00 &

vcse_server

 

The -L- and -l0xFC00 gives me some debugging output.

 

Now you should be able to see that the hw_server is now connected to your USB device.  Find the process id of your hw_server and run:

$ sudo lsof -p 11592

...

hw_server 11592 username 19u CHR 189,1 0t0 6185 /dev/bus/usb/001/002
hw_server 11592 username 20u CHR 189,2 0t0 6372 /dev/bus/usb/001/003

...

 

This computer has two USB JTAG cables connected.  If you do not see any /dev/bus/usb devices in the lsof listing, the hw_server is not finding what it recognizes as a USB JTAG cable.  Write back with your results and we will take the next step.

 

After exiting the vcse_server by entering 'exit' in the command line, I run 'killall hw_server'

 

Regards,

Daniel

 

0 Kudos
Visitor blocky
Visitor
12,785 Views
Registered: ‎05-14-2015

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

@dwisehart Thanks for your assistance.

 

By the way I'm using ISE and not Vivado (spartan 6 device). I started cse_server, did not have vcse_server. Here is the output of lsof. I don't see any usb devices being accessed

 

alex@celery:~$ sudo lsof -p $(pgrep hw_server)
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
hw_server 1312 alex cwd DIR 8,6 4096 2752535 /home/alex/.opt/Xilinx/14.7/ISE_DS
hw_server 1312 alex rtd DIR 8,1 4096 2 /
hw_server 1312 alex txt REG 8,6 1296752 2895625 /home/alex/.opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/hw_server
hw_server 1312 alex mem REG 8,1 47712 261175 /lib/x86_64-linux-gnu/libnss_files-2.19.so
hw_server 1312 alex mem REG 8,1 43592 261185 /lib/x86_64-linux-gnu/libnss_nis-2.19.so
hw_server 1312 alex mem REG 8,1 89104 261169 /lib/x86_64-linux-gnu/libnsl-2.19.so
hw_server 1312 alex mem REG 8,1 31632 261171 /lib/x86_64-linux-gnu/libnss_compat-2.19.so
hw_server 1312 alex mem REG 8,1 1729984 261093 /lib/x86_64-linux-gnu/libc-2.19.so
hw_server 1312 alex mem REG 8,1 137440 261218 /lib/x86_64-linux-gnu/libpthread-2.19.so
hw_server 1312 alex mem REG 8,1 31784 261224 /lib/x86_64-linux-gnu/librt-2.19.so
hw_server 1312 alex mem REG 8,6 94776 2896079 /home/alex/.opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/libxftdi.so
hw_server 1312 alex mem REG 8,6 57064 2896088 /home/alex/.opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/libusb-1.0.so.0
hw_server 1312 alex mem REG 8,1 140928 261069 /lib/x86_64-linux-gnu/ld-2.19.so
hw_server 1312 alex mem REG 8,1 1607712 32818 /usr/lib/locale/locale-archive
hw_server 1312 alex 0u CHR 136,3 0t0 6 /dev/pts/3
hw_server 1312 alex 1u CHR 136,3 0t0 6 /dev/pts/3
hw_server 1312 alex 2u CHR 136,3 0t0 6 /dev/pts/3
hw_server 1312 alex 3u IPv4 4403980 0t0 TCP localhost:3121 (LISTEN)
hw_server 1312 alex 5u IPv4 4403981 0t0 UDP *:1534

0 Kudos
Scholar dwisehart
Scholar
12,777 Views
Registered: ‎06-23-2013

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

OK, so you can see that libusb is linked, so hw_server is probably trying to connect to the USB device, but it doesn't find what it expects.  If you start Wireshark and collect packets on the usbmon channel that matches the usb device for your JTAG cable, you will see what communicating is going on.  

 

For a computer that has JTAG cables installed I see Wireshark go get the device descriptors and then as soon as I start hw_server, lots of URB_CONTROL in and out.  

 

2015-05-19_14-45-54.png

 

On a computer that does not have a JTAG cable currently, I see Wireshark go get the device descriptors and then when hw_server starts I see continual GET DESCRIPTOR requests, as if the hw_server is not finding what it expects but is looking on the USB bus anywise.

 

2015-05-19_14-46-42.png

 

Do you see something similar?  That would say the hw_server is nominally working and the cable USB device is responding to descriptor requests.

 

At this point the best I can think of is to try re-installing the Digilent driver.  For Vivado it is here:

/opt/Xilinx/Vivado/2014.1/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_drivers

 

with the heavy lifting being done here:

/opt/Xilinx/Vivado/2014.1/data/xicom/cable_drivers/lin64/install_script/install_drivers/linux_drivers/pcusb/setup_pcusb

 

Perhaps ISE has something similar.  You have to run the install_drivers as root and I think you have to source the settings64.sh file first.  

 

It sounds to me like the proper hex file didn't get loaded into the Digilent cable, but that is just a guess from the fact that everything seems to be working but the hw_server is not seeing what it expects.

 

Sorry I couldn't do more,

Daniel

 

0 Kudos
Visitor blocky
Visitor
12,770 Views
Registered: ‎05-14-2015

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

Okay thanks @dwisehart, I will try wireshark. Does that driver work even for a regular usb cable connecting to JTAG in AVR as is on my device, avnet microbarod lx9?

 

Thanks.

0 Kudos
Scholar dwisehart
Scholar
12,764 Views
Registered: ‎06-23-2013

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution
Yes, I think so. From your lsusb report, Linux knows it as a Digilent cable:

Bus 001 Device 005: ID 1443:0007 Digilent Development board JTAG

That info comes from the USB manufacturer ID (0x1443) and product ID (0x0007).

Daniel
0 Kudos
Visitor blocky
Visitor
18,521 Views
Registered: ‎05-14-2015

Re: Impact can't find cable, linux, avnet lx9 microboard

Jump to solution

@dwisehart This issue is resolved now. I did not have digilent Adept installed. Thank you very much for your assistance.

0 Kudos