• 0
Darkkey

Problem with detecting ARTY on Linux

Question

Hello! I'm trying to program new Arty board under CentOS 7.2 (running under VMWare Fusion in MacOS X), latest vivado suite (2016.4). Unfortunately getting message "there is no current hw_target" all the time when trying to add target.

dmesg:

[15106.857083] usb 1-2: new high-speed USB device number 11 using ehci-pci
[15107.016345] usb 1-2: New USB device found, idVendor=0403, idProduct=6010
[15107.016348] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15107.016350] usb 1-2: Product: Digilent USB Device
[15107.016351] usb 1-2: Manufacturer: Digilent
[15107.016352] usb 1-2: SerialNumber: 210319A2CCF8
[15107.038380] ftdi_sio 1-2:1.0: FTDI USB Serial Device converter detected
[15107.038409] usb 1-2: Detected FT2232H
[15107.041237] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0
[15107.044012] ftdi_sio 1-2:1.1: FTDI USB Serial Device converter detected
[15107.044034] usb 1-2: Detected FT2232H
[15107.046692] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB1

hw_server log:

[root@localhost ~]# /opt/Xilinx/Vivado/2016.4/bin/unwrapped/lnx64.o/hw_server -I20 -L- -s TCP:127.0.0.1:3121

****** Xilinx hw_server v2016.4
  **** Build date : Jan 23 2017-19:28:34
    ** Copyright 1986-2016 Xilinx, Inc. All Rights Reserved.

INFO: hw_server application started
INFO: Use Ctrl-C to exit hw_server application

INFO: To connect to this hw_server instance use url: TCP:127.0.0.1:3121

TCF 22:05:38.395: Starting channel 0x1a53330 TCP:127.0.0.1:34648
TCF 22:05:38.395: channel server connecting
TCF 22:05:38.395: Peer TCP:127.0.0.1:34648: Event: E Locator Hello ...
TCF 22:05:38.396: jtagpoll: cannot get port description list: ftdimgr_lock failed: FTDMGR wasn't properly initialized
TCF 22:05:38.396: jtagpoll: cannot get port description list: JTAG device enumeration failed: Initialization of the DPCOMM library failed.
TCF 22:05:38.397: channel server connected, remote services:
TCF 22:05:38.397:   ZeroCopy
TCF 22:05:38.397: Peer TCP:127.0.0.1:34648: Command: C 1 JtagCable getServerDescriptions ...
TCF 22:05:38.397: Peer TCP:127.0.0.1:34648: Command: C 2 JtagCable openServer ...
TCF 22:05:38.398: Peer TCP:127.0.0.1:34648: Command: C 3 JtagCable getPortDescriptions ...
TCF 22:05:38.398: Peer TCP:127.0.0.1:34648: Command: C 4 JtagCable openServer ...
TCF 22:05:38.398: Peer TCP:127.0.0.1:34648: Command: C 5 JtagCable getPortDescriptions ...
TCF 22:05:38.398: Peer TCP:127.0.0.1:34648: Command: C 6 JtagCable openServer ...
TCF 22:05:38.399: Peer TCP:127.0.0.1:34648: Command: C 7 JtagCable getPortDescriptions ...
TCF 22:05:38.399: Peer TCP:127.0.0.1:34648: Command: C 8 JtagCable openServer ...
TCF 22:05:38.401: Peer TCP:127.0.0.1:34648: Command: C 9 Jtag getChildren ...
TCF 22:05:38.401: Peer TCP:127.0.0.1:34648: Command: C 10 Xicom_v1.00 getHwServerBuildInfo ...
TCF 22:05:40.412: jtagpoll: cannot get port description list: ftdimgr_lock failed: FTDMGR wasn't properly initialized
TCF 22:05:40.412: jtagpoll: cannot get port description list: JTAG device enumeration failed: Initialization of the DPCOMM library failed.
TCF 22:05:42.435: jtagpoll: cannot get port description list: ftdimgr_lock failed: FTDMGR wasn't properly initialized
TCF 22:05:42.435: jtagpoll: cannot get port description list: JTAG device enumeration failed: Initialization of the DPCOMM library failed.
TCF 22:05:44.460: jtagpoll: cannot get port description list: ftdimgr_lock failed: FTDMGR wasn't properly initialized
TCF 22:05:44.460: jtagpoll: cannot get port description list: JTAG device enumeration failed: Initialization of the DPCOMM library failed.

 

Share this post


Link to post
Share on other sites

8 answers to this question

  • 1

Hi Darkkey,

Have you downloaded and installed the Adept Runtime and Adept Utilities packages? If not please download and install the appropriate (32-bit or 64-bit) RPM packages from the following website:

https://reference.digilentinc.com/reference/software/adept/start?redirect=1#software_downloads

Once you've installed both packages you should be able to execute "dadutil enum" in the terminal and see the Arty listed as one of the connected devices. Assuming that works, the next thing to try is "djtgcfg init -d Arty" which will enable the JTAG interface, read the ID code from the devices in the scan chain, and then display a list of devices that are in the chain. Assuming all of this works, try running hardware server again, as it should now be working.

Thanks,
Michael

Share this post


Link to post
Share on other sites
  • 0

Hi @Darkkey,

In linux you need to manually install the digilent cable drivers for Vivado. here is a link that walks you through this if you did not do this yet. When the Arty is connected to the usb port type djtgcfg enum in terminal and what do you see? Do you have the mode selected to jtag correctly on the board as described on page 7 of this pdf? Have you tried a different usb cable? Do you have any other boards that are able to connect? Have you tried connecting the Arty on another computer or different OS? 

cheers,

Jon

Share this post


Link to post
Share on other sites
  • 0

Hi @jpeyron,

Thank you for your answer. Drivers are installed, jtag is configured correctly. Don't have another boards.

And djtgcfg command is not found (I even could not find such file in the whole system), I think that means that some part of software isn't correctly installed. Also no  /dev/windrvr6 device appears.

Share this post


Link to post
Share on other sites
  • 0

@Darkkey,

This may or may not be your problem, but it was my problem when I tried to get the Arty working on Ubuntu 16: You need to run the Vivado installer as superuser.  Specifically, Vivado wanted to modify the udev configuration files to load its own driver upon detecting any of its own boards.  I think there's another way to fix it if you didn't do it this way initially.  The way to tell the one vs the other IIRC is to look for the file /etc/udev/rules.d/52-xilinx-digilent-usb.rules.

Dan

Share this post


Link to post
Share on other sites
  • 0

Hi @Darkkey,

I'm sorry, the command  djtgcfg enum  works with our Adept 2 software so in this case would not work. In the terminal use the command lsusb with the arty turned on and then off and see if it recognizes it. This command shows the USB controllers and details about devices connected to them. I have attached a screen shot of this with a zybo board. 
 

cheers,

Jon

arty_question.odt

Share this post


Link to post
Share on other sites
  • 0

@malexander,

But ... should ARTY on Linux "just work"?  I mean, it does for me, and I don't recall installing any Digilent specific software to get it to "just work".  I can open the hardware manager in Vivado, I can program the Arty from Vivado, and I can even program the flash---without Digilent specific software (yet--one of my goals for today is to install it ...)

Dan

Share this post


Link to post
Share on other sites
  • 0

The fact that it doesn't work makes me think there is something wrong with Darkkey's Vivdao installation. I suggested installing the Digilent software for troubleshooting purposes.

Share this post


Link to post
Share on other sites
  • 0
On 3/2/2017 at 1:39 PM, malexander said:

Hi Darkkey,

Have you downloaded and installed the Adept Runtime and Adept Utilities packages? If not please download and install the appropriate (32-bit or 64-bit) RPM packages from the following website:

https://reference.digilentinc.com/reference/software/adept/start?redirect=1#software_downloads

Once you've installed both packages you should be able to execute "dadutil enum" in the terminal and see the Arty listed as one of the connected devices. Assuming that works, the next thing to try is "djtgcfg init -d Arty" which will enable the JTAG interface, read the ID code from the devices in the scan chain, and then display a list of devices that are in the chain. Assuming all of this works, try running hardware server again, as it should now be working.

Thanks,
Michael

Thank you so very much malexander! I use Ubuntu 14.04 and I was pulling my hair out for hours trying to get Vivado to see my Arty board. After installing both debs and replugging the Arty, it showed up in dadutil enum and _in my hardware manager_! It's a beautiful sight! 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now