Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16917 Discussions

USB-Blaster: Unable to read device chain - JTAG chain broken

Altera_Forum
Honored Contributor II
21,449 Views

I'm using Ubuntu14.04 and quartus14.1. When I run jtagconfig, I get: 

 

$ jtagconfig  

1) USB-Blaster [3-6] 

Unable to read device chain - JTAG chain broken 

 

The hardware is correct because I can read the JTAG chain using a old PC. 

 

Some extra information: 

 

$ cat /etc/udev/rules.d/51-usbblaster.rules# USB-Blaster# # from http://www.fpga-dev.com/altera-usb-blaster-with-ubuntu/# For Altera USB-Blaster permissions. 

SUBSYSTEM=="usb", 

ENV{DEVTYPE}=="usb_device", 

ATTR{idVendor}=="09fb", 

ATTR{idProduct}=="6001", 

MODE="0666", 

NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", 

RUN+="/bin/chmod 0666 %c" 

 

$ ls -l /etc/jtagd/pgm_parts.txt 

-rw-r--r-- 1 root root 921110 Jan 12 12:54 /etc/jtagd/pgm_parts.txt 

 

I have also re-run: 

$ sudo udevadm control --reload 

 

But nothing help! 

 

Any tips?
0 Kudos
14 Replies
Altera_Forum
Honored Contributor II
17,464 Views

I find the issue: The USB-blaster must first be powered from the board and then connected to the PC. 

So the procedure step by step: 

- connect the USB-Blaster to your board 

- power-on the board 

- plug the USB cable in the PC 

 

Doing so, jtagconfig is working: 

 

$ jtagconfig  

1) USB-Blaster [3-6] 

4BA00477 SOCVHPS 

02D120DD 5CSE(BA5|MA5)/5CSTFD5D5/..
0 Kudos
Altera_Forum
Honored Contributor II
17,465 Views

Well, even following this procedure doesn't work 100%. 

It's look like running quartus_hps first help jtagconfig working: 

 

$ quartus_hps -c1 -o PV -a 0x0 -s 262144 ./preloader-mkpimage.bin 

 

The conditions to make jtagconfig working are not clear to me.
0 Kudos
Altera_Forum
Honored Contributor II
17,468 Views

Charly78, 

 

I had same problem. Followed Andy1666's code in the following post: 

 

http://ubuntuforums.org/showthread.php?t=1441742 

 

Seems to have worked for me. I have no idea why.
0 Kudos
Altera_Forum
Honored Contributor II
17,468 Views

Charly78, 

 

Disregard previous. It is not working after all. Not only that, Quartus keeps crashing. Believe the Ubutu machine is going back to System 76, and I'm going back to Windows.
0 Kudos
Altera_Forum
Honored Contributor II
17,469 Views

OK, found something that really works (I think). See USB-Blaster section on the following: 

 

https://wiki.archlinux.org/index.php/altera_design_software#usb-blaster_download_cable_driver 

 

I've undone all previous attempts, made the changes listed in the arch wiki, and was able to program arrow SoCKit. Using Ubuntu 14.10.  

 

For now, it's working. Will post more if I run into problems again.
0 Kudos
LLelo1
Beginner
17,469 Views

Hi,

 

The link posted above (https://wiki.archlinux.org/index.php/altera_design_software#usb-blaster_download_cable_driver) does not work anymore, would it be possible to get the details?

 

I am having the exact same problem where jtagconfig would work randomly. I tried different solution that I found online but none of them seems to work systematically.

 

Thanks,

Ludovic

0 Kudos
SThor8
New Contributor I
17,469 Views

Hi

 

I have had the same problem on Ubuntu 18.04 but got it working

 

Try to enter this in a terminal window

 

killall jtagd jtagd --user-start

Then my jtagconfig return this

 

intelFPGA/18.1/quartus/bin/jtagconfig 1) USB-Blaster [1-5] 031050DD 10M50DA(.|ES)/10M50DC

Wait 10 seconds before you try to program the FPGA so the restart takes effect.

 

 

Beside creating the rule (as i guess you have done) /etc/udev/rules.d/51-usbblaster.rules

 

I also did

sudo apt-get install libudev-dev

But I am not sure if that was necessary

 

Note that you have to redo

killall jtagd jtagd --user-start

Every time it loose connection, this is noway a good solution but at least you can now program it

 

 

Regards

 

 

 

 

 

 

0 Kudos
jobonono
Beginner
16,604 Views

Hi @SThor8 

I tried implementing your solution on my Ubuntu 20.04 machine, but I get an

Command 'jtagd' not found

error.

Any suggestions on what to do?

I can get the USB-blaster to work  very sporadically, fiddling with plugging the usb cable in/out of the pc and powering the FPGA on/off

0 Kudos
SThor8
New Contributor I
16,395 Views

 

I do nto have the 'jtagd' command either but 'killall jtagd' works

I do not know why it is so

 

 

0 Kudos
hxj141
Beginner
16,236 Views

You have to run it from the file locally. First cd into the directory where you have Quartus installed and then to go to {whatever version number it is}/quartus/bin.

Check if the jtagd file is there with the command ls, and if it is, simply do the command he posted above but with ./jtagd in the front instead of just jtagd. This'll execute the file as if it was a command

 

0 Kudos
CUAlex
Beginner
15,702 Views

All of the above solutions do not seem to be working. My error message alternates between JTAG chain broken, and Port Permissions Denied.

0 Kudos
HalmonCelman
Novice
10,981 Views

Hi,

if anyone encountered same problem, for me worked ( i'm using Ubuntu 20.4 and Quartus Prime Lite 21.1 )

->create new file in etc/udev/rules.d named 51-usbblaster.rules  ( for me worked: sudo gedit 51-usbblaster.rules)

->copy this:

# USB Blaster
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c"

# USB Blaster II
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c"

 

paste to file 51-usbblaster.rules , save and restart your computer

->if you don't have, install:

sudo apt-get install libxext6:i386
sudo apt-get install libxtst6:i386
sudo apt-get install libxi6:i386

->and install 32-bits version of libudev library

sudo apt-get install libudev1:i386

sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

 

then it should work( for me it works )

Hope it helps someone.

 

Regrads

Halmon Celman

0 Kudos
rthomp
Beginner
10,546 Views

My problem stemmed from UDEV rules. Below are my steps to circumvent the issue.

 

Only need to do once

Copy the following into /etc/udev/rules.d/92-usbblaster.rules simply copy the attached rules as /etc/udev/rules.d/92-usbblaster.rules

 

# For Altera USB-Blaster permissions:

# USB-Blaster
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6002", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6003", MODE="0666", GROUP="plugdev"

# USB-Blaster II
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6010", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6810", MODE="0666", GROUP="plugdev"

 

(I read that 92 mattered somewhere as it needed to be larger than one of the other rule numbers. I understand that Intel claims 51 should be sufficient. Please correct me here if someone knows more about this.)

 

You will have to do this again when necessary

1. Run service udev restart

2. Replug in all associated USB devices.
          After a few retries, I realized the USB-C adapter
          needed to be reinserted along with the the USB Blaster

0 Kudos
Pouya1
Beginner
9,048 Views

I have the same problem for an Intel Stratix 10 MX FPGA installed in a workstation. The board is powered up using an 8-pin AUX connector (in addition to pcie slot). I'm running Ubuntu 18.04 LTS. A couple of days ago, when I was running jtagconfig everything worked perfectly (I could see the device name and jtag chain was also correct). But after a few days (I didnt touch anything or any commands or even I didnt program the fpga) when I entered the same command, jtag chain was broken:

1) Intel Stratix 10 MX FPGA Development Kit [1-14]

Unable to read device chain - JTAG chain broken

I tried all suggestions here in this forum, but none was helpful. I would appreciate it if you could help me with this.

 

Thank you!

0 Kudos
Reply