My setup is as follows:
- Ubuntu 14.04
- Quartus II Web Edition 15.0.0.145 (Linux)
- Terasic DE0-Nano-SoC Kit
One thing that confused the problem for me was that Quartus II doesn't load it's menu icons unless you run it as root. Initially I thought that running Quartus II as root might solve this problem, but it didn't.
Run as a normal user:
Run as super user:
After messing around with a few other things, I figured that it must have been a problem with the PC's device rules.
Checking the USB device IDs using the 'lsusb' command showed the following device:
Bus 002 Device 003: ID 09fb:6010 AlteraAnd checking the rules folder (/etc/udev/rules.d/) revealed the following file:
-rw-r--r-- 1 root root 591 Aug 15 19:29 51-altera-usb-blaster.rules
which contained:
# Altera USB BlasterATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
So I changed the file to this:
# Altera USB BlasterATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
# Altera USB Blaster TerasicATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666"
and reloaded the rules with 'sudo udevadm control --reload'.
After this, Quartus was able to see the JTAG device...
....Well, at least, it was for a while.
I'm not sure exactly what happened. I didn't change the DIP switches on the board, or anything like that, but the USB ID changed from '09fb:6010' to '09fb:6810'. It stayed that way for a few power cycles (both PC and SoC board cycles), and then reverted to '6010'.
The only things I can think of that I did that may have changed the ID are:
- Accidentally having multiple Quartus instances open at once
- Killing and rebooting the jtagd process using the following commands:
- sudo killall jtagd
- sudo ps -A | grep jtag
- ./jtagd (run from the Quartus 'bin' directory)
- ./jtagconfig (run from the Quartus 'bin' directory)
However I still haven't been able to "force" the ID to change again by repeating these. As a temporary fix, I've added an extra rule to the file for the '6810' ID. I just hope it doesn't change to a third ID suddenly.