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

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

Altera_Forum
Honored Contributor II
11,623 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
13 Replies
Altera_Forum
Honored Contributor II
7,638 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/..
Altera_Forum
Honored Contributor II
7,639 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.
Altera_Forum
Honored Contributor II
7,642 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.
Altera_Forum
Honored Contributor II
7,642 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.
Altera_Forum
Honored Contributor II
7,643 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.
LLelo1
Beginner
7,643 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

SThor8
New Contributor I
7,643 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

 

 

 

 

 

 

jobonono
Beginner
6,778 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

SThor8
New Contributor I
6,569 Views

 

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

I do not know why it is so

 

 

hxj141
Beginner
6,410 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

 

CUAlex
Beginner
5,876 Views

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

HalmonCelman
Novice
1,155 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

rthomp
Beginner
720 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

Reply