JackenHack

  • About
  • Computers
    • Macintosh
    • iOS
    • Raspberry Pi
    • Linux
  • Electronics
  • Projects
Home » Computers » Linux » Quartus Prime FPGA USB-Blaster Problems On Ubuntu 18.04

Quartus Prime FPGA USB-Blaster Problems On Ubuntu 18.04

January 12, 2020 by Jack Zimmermann 1 Comment

I’ve decided to learn how to program FPGA:s. So I got myself two Terasic boards, one Terasic DE10-Nano for testing out the excellent MiSTer FPGA hardware arcade/computer/console emulator and a simpler DE0-Nano for beginning to learn Verilog.

But the software used, called Intel Quartus Prime 19.1, is truly horrible. The Windows version doesn’t work with high-resolution screens when using scaling; the text is cut off on the display. So I installed it on my Linux Ubuntu 18.04 machine instead. Now the display works, but there’s a lot of other problems, like getting the dreaded error message: “USB-Blaster unable to scan device chain”. I’ve written them down here for later reference, and maybe you have the same install problems, so this might help.

USB-Blaster “unable to scan device chain” Error Message

After installing the software, I tried to use the programmer to connect my development board, but I got the error Unable to scan device chain. After searching the net, I found information on setting up the computer so that you don’t need to run the JTAG as root.

So I added the file /etc/udev/rules.d/51-usbblaster.rules and put the following text into the file to allow a regular user to access the Terasic FPGA board.

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"

Well, that didn’t work, but it is probably a good idea to have this file installed.

This Fixed It!

The next thing did the trick, however. It seems this is an old bug that Intel hasn’t managed to fix for several release versions. Great stuff.

You need to add a soft link so the software can find a library.

Open a terminal window and write this command:

sudo ln -s /lib64/libudev.so.1 /lib64/libudev.so.0

Restart the machine, connect your Terasic FPGA board with a USB cable, and open a terminal window. You can now write the following command in the terminal window

jtagconfig

And if you don’t get any errors and the system recognizes the USB-Blaster hardware, you should now be able to download bitstreams from Quartus to your FPGA board. 

If you get any error messages about missing libraries when starting Quartus, make sure to install them. For example, I had to install the following libraries. 

sudo apt install libcanberra-gtk-module libcanberra-gtk3-module

To make this even more annoying, I sometimes have to enlarge the Quartus Programming window; otherwise, the program would hang. 

Quartus Prime is the software that keeps on giving.

I hope that helped. 

Filed Under: Linux Tagged With: Linux, PFGA, Quartus Prime, Ubuntu, USB-Blaster

« Blog Is Up and Running Again!
MiSTer FPGA Getting Arcade Cores To Use mra Files »

Comments

  1. Paul Saffren says

    October 21, 2020 at 19:13 CEST

    The only thing that worked for me on Ubuntu 18.04 is:
    1) I added the 51-usbblaster rules file.
    2) and this was key: https://ecen3350.rocks/static/usb-blaster.pdf
    Basically create the directory /etc/jtagd
    Then: cp quartus/linux64/pgm_parts.txt /etc/jtagd/jtagd.pgm_parts

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Portrait of Jack Zimmermann I'm a Swedish computer old timer hacking away on computers since 1979. I'm a total Apple and Linux gear head. Right now, I'm really into electronics. [Read More]

Recent Posts

  • Atom Editor Platformio Hangs at startup endless restart – fixed
  • Hackintosh AMD Shutdown Problem with Fenvi FV-T919
  • Hackintosh Water Cooling Fan Problem
  • MiSTer FPGA Getting Arcade Cores To Use mra Files
  • Quartus Prime FPGA USB-Blaster Problems On Ubuntu 18.04

Categories

Ads

Copyright Jack Zimmermann © 2003–2021 Login
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settingsACCEPT
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.