Forum Discussion
USB-Blaster: Unable to read device chain - JTAG chain broken
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?14 Replies
- Altera_Forum
Honored Contributor
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
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
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
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
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
New Contributor
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
Occasional Contributor
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-startThen my jtagconfig return this
intelFPGA/18.1/quartus/bin/jtagconfig 1) USB-Blaster [1-5] 031050DD 10M50DA(.|ES)/10M50DCWait 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-devBut I am not sure if that was necessary
Note that you have to redo
killall jtagd jtagd --user-startEvery time it loose connection, this is noway a good solution but at least you can now program it
Regards
- jobonono
New Contributor
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
Occasional Contributor
I do nto have the 'jtagd' command either but 'killall jtagd' works
I do not know why it is so
- HalmonCelman
New Contributor
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
New Contributor
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 - Pouya1
New Contributor
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
jtagconfigeverything 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 brokenI tried all suggestions here in this forum, but none was helpful. I would appreciate it if you could help me with this.
Thank you!