• 0
mihai5

Connect Zedboard through VirtualBox

Question

Hi,

   I want to connect my zedboard to virtual machine (Ubuntu 16.04 64 bit in VirtualBox). When i try to connect throught XMD console to zedboard, it appears that the cable is not connected. Can anyone help me with some hints or advices ?

1.PNG

2.PNG

Share this post


Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Hi again,

         Meanwhile i achieved just to change the message popped out by "connect arm hw" XMD command. Now i can see my zedboard (through "djtgcfg enum" command) but i still cannot connect to it. Any help ?

 

3.PNG

4.PNG

Share this post


Link to post
Share on other sites
  • 0

Hi @mihai5,

In linux you need to install the cable drivers manually. If you have not done this then the commands in terminal are something like:

cd /opt/Xilinx/Vivado/2016.4/data/xicom/cable_drivers/lin64/install_script/install_drivers/

sudo ./install_drivers

depending on the version of Vivado. Here is a Xilinx forum thread that might be helpful to your situation.

cheers,

Jon

Share this post


Link to post
Share on other sites
  • 0

Hi @jpeyron

     Thank you for your quick response. I ran the script but without success. I also tried to configure my system as in the link that you provide to me but also without succes. 

I got the following output in console.

[email protected]:/opt/Xilinx/Vivado/2017.2/data/xicom/cable_drivers/lin64/install_script/install_drivers$ sudo ./install_drivers 
[sudo] password for mihai: 
INFO: Installing cable drivers.
INFO: Script name = ./install_drivers
INFO: HostName = mihai-VirtualBox
INFO: Current working dir = /opt/Xilinx/Vivado/2017.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
INFO: Kernel version = 4.8.0-58-generic.
INFO: Arch = x86_64.
USB udev file exists and will not be updated.
--File /etc/udev/rules.d/52-xilinx-ftdi-usb.rules exists.
--File /etc/udev/rules.d/52-xilinx-ftdi-usb.rules version = 
--File 52-xilinx-ftdi-usb.rules exists.
--File 52-xilinx-ftdi-usb.rules version = 
--File 52-xilinx-ftdi-usb.rules is newer than the destination file.
--Updating rules file.
--File /etc/udev/rules.d/52-xilinx-pcusb.rules exists.
--File /etc/udev/rules.d/52-xilinx-pcusb.rules version = 0002
--File 52-xilinx-pcusb.rules exists.
--File 52-xilinx-pcusb.rules version = 0002
--File 52-xilinx-pcusb.rules is already updated.

INFO: Digilent Return code = 0
INFO: Xilinx Return code = 0
INFO: Xilinx FTDI Return code = 0
INFO: Return code = 0
INFO: Driver installation successful.
CRITICAL WARNING: Cable(s) on the system must be unplugged then plugged back in order for the driver scripts to update the cables.

When i try to connect to my zedboard from XMD console i get the same error.

XMD% connect arm hw                                                             
WARNING: Unable to obtain JTAG cable frequency. Assuming default..              

ERROR: 
	Unknown Error Occured
	Cable is not powered-on

XMD%   

 

Share this post


Link to post
Share on other sites
  • 0

Hi @jpeyron

    I tried your suggestion but without success. Although the drivers have been installed, I still cannot connect to my zedboard.

[email protected]:/opt/Xilinx/Vivado/2017.2/data/xicom/cable_drivers/lin64/install_script/install_drivers$ sudo ./install_drivers 
INFO: Installing cable drivers.
INFO: Script name = ./install_drivers
INFO: HostName = mihai-VirtualBox
INFO: Current working dir = /opt/Xilinx/Vivado/2017.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
INFO: Kernel version = 4.8.0-58-generic.
INFO: Arch = x86_64.
USB udev file exists and will not be updated.
--File /etc/udev/rules.d/52-xilinx-ftdi-usb.rules exists.
--File /etc/udev/rules.d/52-xilinx-ftdi-usb.rules version = 
--File 52-xilinx-ftdi-usb.rules exists.
--File 52-xilinx-ftdi-usb.rules version = 
--File 52-xilinx-ftdi-usb.rules is newer than the destination file.
--Updating rules file.
--File /etc/udev/rules.d/52-xilinx-pcusb.rules exists.
--File /etc/udev/rules.d/52-xilinx-pcusb.rules version = 0002
--File 52-xilinx-pcusb.rules exists.
--File 52-xilinx-pcusb.rules version = 0002
--File 52-xilinx-pcusb.rules is already updated.

INFO: Digilent Return code = 0
INFO: Xilinx Return code = 0
INFO: Xilinx FTDI Return code = 0
INFO: Return code = 0
INFO: Driver installation successful.
CRITICAL WARNING: Cable(s) on the system must be unplugged then plugged back in order for the driver scripts to update the cables.

I got a critical warning about unplugging the usb devices, but my zedboard was disconnect (the only connected devices are mouse + keyboard).

Another point is to install libusb but in some way i have to include this library in my code. In the situation of just recognazing my zedboard jtag prog usb, i don't know exactly what to do with this library after instalation. 

Regards,

Mihai

Edited by mihai5

Share this post


Link to post
Share on other sites
  • 0

@Mihai,

Reading through this thread, you may be chasing the wrong rabbit.

Based upon the console output above, it sounds to me like your cable drivers are installed.  Based upon your discussion, it sounds like your board has been replugged in since the install.  This isn't likely to be the problem any more.

Let's try another tack ... some common connection errors include a bad USB cable, or a host that doesn't provide enough power to the board.  Do you know that your cable works?  Remember, there are both power and data lines within a USB cord.  Either could be damaged within the cord.  I know this may sound strange if you haven't had a USB cable go bad on you, but it happens more often that folks like to admit.  As for the other problem, does the Zedboard work without the virtual machine?  Does the Zedboard talk to other devices but not this one?

Dan

Share this post


Link to post
Share on other sites
  • 0

Hi @[email protected]

  Thank you for your response. I'm sure that my USB cables and my zedboard are good. Until now i worked in bare-metal environement and i used a windows 8.1 machine. I can program the board through jtag prog port and i can see incoming packets to my PC through uart port without problems in windows machine. Now i want to integrate a IP device driver into petalinux distribution, and for this i need a linux machine to solve this.  
   I'm pretty sure that my problem is somwhere behind the virtualBox machine config.

Regards.

Mihai

Share this post


Link to post
Share on other sites
  • 0

@mihai5,

Ok, then ... let's try another idea: are you running the Linux startup script when you start Vivado?

I have my Vivado startup tied to an alias, ". /opt/Xilinx/Vivado/<version>/settings64.sh; Vivado" to make certain I always start Vivado with the right environment.  (Fill in your version for <version> ... I'm running 2016.3, you may be running something else.)

Dan

Share this post


Link to post
Share on other sites
  • 0

@[email protected]

   I included in every startup terminal in bashrc script, but without success. If i did not  do this, i could not start the XMD console for initialize the connections.

source /opt/Xilinx/Vivado/2017.2/settings64.sh

Mihai

Edited by mihai5

Share this post


Link to post
Share on other sites
  • 0

@[email protected]

The usb devices are detected

[email protected]:~$ lsusb
Bus 001 Device 010: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Bus 001 Device 011: ID 04b4:0008 Cypress Semiconductor Corp. 
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

First is PROG port and the second one is UART port.

[email protected]:~$ ls /dev/tty
tty        tty21      tty35      tty49      tty62      ttyS16     ttyS3
tty0       tty22      tty36      tty5       tty63      ttyS17     ttyS30
tty1       tty23      tty37      tty50      tty7       ttyS18     ttyS31
tty10      tty24      tty38      tty51      tty8       ttyS19     ttyS4
tty11      tty25      tty39      tty52      tty9       ttyS2      ttyS5
tty12      tty26      tty4       tty53      ttyACM0    ttyS20     ttyS6
tty13      tty27      tty40      tty54      ttyprintk  ttyS21     ttyS7
tty14      tty28      tty41      tty55      ttyS0      ttyS22     ttyS8
tty15      tty29      tty42      tty56      ttyS1      ttyS23     ttyS9
tty16      tty3       tty43      tty57      ttyS10     ttyS24     
tty17      tty30      tty44      tty58      ttyS11     ttyS25     
tty18      tty31      tty45      tty59      ttyS12     ttyS26     
tty19      tty32      tty46      tty6       ttyS13     ttyS27     
tty2       tty33      tty47      tty60      ttyS14     ttyS28     
tty20      tty34      tty48      tty61      ttyS15     ttyS29  

It seems that there is no terminal for ttyU*

Mihai

Share this post


Link to post
Share on other sites
  • 0

Hi,

      I have come to the end of my patience and i quit virtualBox configuration and i installed Ubuntu in dual boot. 

After instalation of vivado 2017.2 i just installed the drivers for usb cables. It works without problems.

So, i don't know if my VM was bad but i suggest to everyone who get stucked in this issue to switch quickly to a "fizical" approach.

You just have to run the commands that @jpeyron mentioned in this thread.

cd /opt/Xilinx/Vivado/2016.4/data/xicom/cable_drivers/lin64/install_script/install_drivers/
sudo ./install_drivers

Mihai

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