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

JTAG error (Unexpected error in JTAG server -- error code 35 and Can't access JTAG chain)

AAAAAAAAAA
Beginner
122,805 Views

I have to program a 10M04SCE144C8G FPGA that was already programmed (I have to update the program). For this I got a new computer and installed Ubuntu 20.04, after this I downloaded Intel Quartus Prime Lite 20.1.1 and installed it successfully. I also received a brand new Terasic USB Blaster. After connecting everything and compiling my code with no errors I tried to download it to the FPGA with no success. I have no previous experience with Intel FPGAs, Quartus or the Terasic USB Blaster.

When I open the programmer to download the ".pof" file and hit "start" I get this error:

Error (209053): Unexpected error in JTAG server -- error code 35

Screenshot_2021-03-26_16-02-23.png

After googling for a while I arrived to this link and in FAQ #6 they show exactly my problem. So I tried, as is suggested there, to upload the ".sof" file instead. This time I got a different error

202940 Can't access JTAG chain

Screenshot_2021-03-26_16-03-55.png

Any idea on how to make this work?

0 Kudos
14 Replies
AAAAAAAAAA
Beginner
122,776 Views

I discovered that if I use an Altera USB-Blaster II it works perfectly fine. If, after this, I replace the Altera USB-Blaster with the Terasic one, it keeps working until something that I don't know happens, and then it stops working again (this "something that I don't know" is not closing/opening Quartus, it is not logging out and in in Ubuntu). Now it will fail until I program the FPGA once with the Altera USB blaster, then I can go back to the Terasic blaster but I know it will fail at some point and I will have to go back to the Altera blaster.

0 Kudos
YuanLi_S_Intel
Employee
122,767 Views

I’m glad that your issue has been solved by changing to USB Blaster II.


I now transition this thread to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you.


0 Kudos
dungeonlords
Beginner
122,133 Views

I have got the same problem on Ubuntu 20, Quartus 21.1 Lite with Altera USB Blaster Rev C. I try to work with omdazz cyclone iv board:

Can't access JTAG chain

 

How I can fix it?

 

P.S. There is no rc.local on Ubuntu 20.

0 Kudos
LeviMe
Beginner
122,128 Views

Using Linux and the same JTAG device family, I got the same problem.

The solution I found works but it has to be repeated every time, unless it is automated with a script during the execution process.

 

You have to kill and restart the JTAG server on your computer:

  1. Open a command prompt and look for a process named 'jtagd'.
  2. If there is one active, kill it using the usual kill command.
  3. Plug the JTAG blaster and then turn on the FPGA device.
  4. launch the jtagonfig command (<installation_folder>/quartus/bin) in sudo mode.

 

You should get your device listed with a message looking like this:

1) USB-Blaster [1-3]
020F10DD 10CL006(Y|Z)/10CL010(Y|Z)/..

which means that your board is now fully connected and ready to receive your program.

 

If it didn't work, you have to do the steps 1,2 and 4 again. Additionally you might need to close the Quartus GUI so as to remove any defunct Jtagd process.

 

 

0 Kudos
Lattice
Beginner
122,117 Views

I start my computer with Ubuntu 20. I not opened Quartus.  I open terminal and

killall jtagd

 

Than I connect Blaster to pc, connect FPGA board from OMDAZZ and switch on FPGA Board ( I use USB B connector).

sudo ./jtagconfig

Fails:

Unable to read device chain - JTAG chain broken

 

See screen. Need help.

0 Kudos
jozephka99
New Contributor II
122,092 Views

You can try:

$sudo killall jtagd

then you must restart jtagd from:

$cd <Quartus path>/<Quartus version>/quartus/bin/

(mine path: ~/intelFPGA_lite/20.1/quartus/bin/)

$./jtagd

or

$./jtagd --user-start

then you can look jtagconfig:

$./jtagconfig

 

If your drivers succesfully installed and usb blaster is connected the pc you can see like this in first line when you run jtagconfig:

1) USB-Blaster [1-3]

If usb blaster connected the fpga you can see the fpga device model in second line. If you can't see the second line disconnect all cables then connect blaster to fpga then power up the fpga then connect blaster to the pc and retry the above steps. 

0 Kudos
NickO
Beginner
121,609 Views

I am on Ubuntu 20.04, with Quartus Prime Lite 21.1.0. My target is a Terasic DE0-Nano (Cylone IV)

I "sort of" have things working, but it is very unsatisfactory:

 

1. I added the file /etc/udev/rules.d/51-usbblaster.rules which contains the following:


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

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

 

2. I ran the following command, then rebooted

udevadm control --reload

 

3. Before I run Quartus, I open a terminal and do the following:


killall jtagd
jtagd --user-start
jtagconfig


This now seems to block, timeout and fail. Rather than wait, I unplug the board and reconnect. When I type the following, I get a response:

 

jtagconfig

At this point, Quartus can program the board - at least for a while, until it fails.

 

I would really like to know if I am missing something as I really don't want to keep reconnecting the board and I am not sure if the above is correct.

0 Kudos
jozephka99
New Contributor II
121,557 Views

Try add these instead of yours:

# 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"

And don't kill the jtagd in every openning of Quartus. Do this only if you can't program and close the terminal after you done it.

What response did you get when running jtagconfig?

If it fails too much maybe your blaster starting to be broken.

0 Kudos
NickO
Beginner
121,542 Views

Thanks for the suggestion. Still no change. When I type jtagconfig, it says the following:

 

1) USB-Blaster [1-4.4.3]

 

In the end it will timeout. If I unplug the board and reconnect it says:

 

1) USB-Blaster [1-4.4.3]
020F30DD

 

Now it works and I can program from Quartus.

0 Kudos
jozephka99
New Contributor II
121,528 Views

Normally you must first power up the board then connect the jtag to the board then connect the jtag to the PC. It is fine that plugging-unplugging the jtag to the PC if it doesn't work in first time. You don't have to do killing and restarting jtagd and do jtagconfig. Do it when your unplugging-plugging the jtag didn't work.

0 Kudos
NickO
Beginner
121,514 Views

Well, it seems I have found something else. There are many out there reporting the same issue. Once suggestion was to do the following:

 

sudo ln -sf /lib/$(arch)-linux-gnu/libudev.so.1 /lib/$(arch)-linux-gnu/libudev.so.0
 
 
Now when I type jtagconfig I get this:
 
1) USB-Blaster [1-4.4.3]
020F30DD 10CL025(Y|Z)/EP3C25/EP4CE22
 
This is the first time it has ever reported the FPGA type.
 
I am NOT saying this is the solution, but might indicate the cause? Creating symbolic links like this makes me very nervous (seems very hacky). I might add that libudev.so.0 is no longer in the Ubuntu repository.
 
 
 
 
 
0 Kudos
NickO
Beginner
121,525 Views

In addition:

 

When it times out, it says:

Unable to read device chain - JTAG chain broken

 

Note that it works perfectly on Windows, and I've tried more than one board (Terasic DE0 Nano)

0 Kudos
NickO
Beginner
121,489 Views

I've summarized the steps I used to get it working here:

 

https://github.com/UniversityOfPlymouth-Electronics/Quartus21_Ubuntu/blob/main/README.md

 

By all use the Issues button to flag any improvements

 

0 Kudos
Janno
Beginner
121,174 Views

Error Code 35 occours only when i enabled the configuration "Use JTAG PINs as Normal I/0" and a low signal at PIN "JTAGEN"

 

 

0 Kudos
Reply