Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Honored Contributor I
2,857 Views

Programming DE1-SoC FPGA only from Quartus Prime Lite Edition Ubuntu 16.04

Hello, I am trying to simply program my CycloneV FPGA on the DE1-SoC board from Quartus Prime Lite in Ubuntu 16.04. I cannot seem to get it to work. The user guide says to do an auto-detect from the hardware programmer but the option is greyed out. 

https://alteraforum.com/forum/attachment.php?attachmentid=15301&stc=1  

I have also changed the USB configs in /etc/udev/rules.d/90-usbblaster.rules 

 

# USB-Blaster 

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666" 

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6002", MODE="0666"  

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6003", MODE="0666"  

 

# USB-Blaster II 

 

 

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6010", MODE="0666" 

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6810", MODE="0666" 

 

 

I still can not seem to find a way to get this thing programmed.
0 Kudos
15 Replies
Highlighted
Honored Contributor I
187 Views

You have to click the Hardware Setup button above to select the USB Blaster hardware.

0 Kudos
Highlighted
Honored Contributor I
187 Views

I can only choose Ethernet Blaster. There is no scroll down with USBBlaster 

 

https://www.alteraforum.com/forum/attachment.php?attachmentid=15307
0 Kudos
Highlighted
Honored Contributor I
187 Views

Ubuntu is not supported, but you might be able to get it to work. I did anyway, in similar way as in your first post, so you're on the right track. When I turn my computer on I'll check the scripts I am running.

0 Kudos
Highlighted
Honored Contributor I
187 Views

What's the output of "jtagconfig" and "lsusb"? 

What do you get if you do "dmesg |tail -20" after you just have plugged in your USB blaster?
0 Kudos
Highlighted
Honored Contributor I
187 Views

I have three different versions of a rules file: 

I have one file: /etc/udev/rules.d/40-usbblaster.rules  

which containts 

UBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", GROUP="plugdev", MODE="0666", SYMLINK+="usbblaster" 

 

and another /etc/udev/rules.d/51-usbblaster.rules  

 

# USB-Blaster BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666" BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6002", MODE="0666" BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6003", MODE="0666" # USB-Blaster II BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6010", MODE="0666" BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6810", MODE="0666" 

and another /etc/udev/rules.d/51-altera-usb-blaster.rules  

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

 

I am pretty sure you don need all, but this is what turned out to work for me, and I did not dig deeper into which parts are needed and which are not.
0 Kudos
Highlighted
Honored Contributor I
187 Views

jtagconfig not sure what that does, gives me no command output. Is there an apt-get? 

 

jfrye@jfrye-Inspiron-5547:~$ lsusb 

Bus 001 Device 005: ID 0bda:5754 Realtek Semiconductor Corp.  

Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller 

Bus 001 Device 003: ID 8087:07dc Intel Corp.  

Bus 001 Device 008: ID 09fb:6810 Altera  

Bus 001 Device 002: ID 8087:8000 Intel Corp.  

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 

Bus 002 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver 

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

 

 

jfrye@jfrye-Inspiron-5547:~$ dmesg | tail -20 

[ 48.703997] virbr0: port 1(virbr0-nic) entered disabled state 

[ 48.706302] device virbr0-nic left promiscuous mode 

[ 48.706318] virbr0: port 1(virbr0-nic) entered disabled state 

[ 65.449773] logitech-djreceiver 0003:046D:C52B.0008: hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-1/input2 

[ 65.577871] input: Logitech M525 as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2/0003:046D:C52B.0008/0003:046D:4013.0009/input/input18 

[ 65.578050] logitech-hidpp-device 0003:046D:4013.0009: input,hidraw0: USB HID v1.11 Mouse [Logitech M525] on usb-0000:00:14.0-1:1 

[ 70.885869] logitech-hidpp-device 0003:046D:4013.0009: HID++ 2.0 device connected. 

[ 505.780478] usb 1-1.3: new high-speed USB device number 6 using ehci-pci 

[ 505.892937] usb 1-1.3: New USB device found, idVendor=09fb, idProduct=6810 

[ 505.892942] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0 

[ 890.580319] usb 1-1.3: USB disconnect, device number 6 

[ 7522.560596] perf: interrupt took too long (2509 > 2500), lowering kernel.perf_event_max_sample_rate to 79500 

[ 9287.764157] perf: interrupt took too long (3169 > 3136), lowering kernel.perf_event_max_sample_rate to 63000 

[10764.987112] usb 1-1.3: new high-speed USB device number 7 using ehci-pci 

[10765.095450] usb 1-1.3: New USB device found, idVendor=09fb, idProduct=6810 

[10765.095453] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0 

[11061.210081] usb 1-1.3: USB disconnect, device number 7 

[53208.528273] usb 1-1.3: new high-speed USB device number 8 using ehci-pci 

[53208.637024] usb 1-1.3: New USB device found, idVendor=09fb, idProduct=6810 

[53208.637030] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
0 Kudos
Highlighted
Honored Contributor I
187 Views

Yeah i added those files rebooted, and still seeing the same stuff. Not sure what I have screwed up here. Seems like everyone was able to get Ubuntu 16.04 to work and I still can't get it 

 

After changing the file this is what I am seeing, I cannot see the Altera board in the dmesg, like I can for my Logitech USB mouse 

jfrye@jfrye-Inspiron-5547:~$ lsusb 

Bus 001 Device 005: ID 0bda:5754 Realtek Semiconductor Corp.  

Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller 

Bus 001 Device 003: ID 8087:07dc Intel Corp.  

Bus 001 Device 007: ID 09fb:6810 Altera  

Bus 001 Device 002: ID 8087:8000 Intel Corp.  

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 

Bus 002 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver 

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

 

jfrye@jfrye-Inspiron-5547:~$ dmesg | grep 046D:C52B 

[ 2.759978] logitech-djreceiver 0003:046D:C52B.0004: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-1/input2 

[ 2.885973] input: Logitech M525 as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2/0003:046D:C52B.0004/0003:046D:4013.0005/input/input9 

[ 181.529468] logitech-djreceiver 0003:046D:C52B.0008: hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-1/input2 

[ 183.136077] input: Logitech M525 as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2/0003:046D:C52B.0008/0003:046D:4013.0009/input/input18 

 

jfrye@jfrye-Inspiron-5547:~$ dmesg | grep 09FB:6810 

Gets me nothing 

 

If you guys that have it working on Ubuntu can run those commands and we might be able to take a look and start from there. 

 

Thanks.
0 Kudos
Highlighted
Honored Contributor I
187 Views

It might not print the vendor and device id to the kernel log in that format. I typically see something like this: 

 

usb 8-1.2: new high-speed USB device number 26 using xhci_hcd usb 8-1.2: New USB device found, idVendor=09fb, idProduct=6010 usb 8-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 8-1.2: Product: USB-BlasterII usb 8-1.2: Manufacturer: Altera  

 

You should try to run "jtagconfig" and see if you get any errors. You could also try to run "jtagconfig" as root. If it works as root and not as your user it's probably a permission problem.
0 Kudos
Highlighted
Honored Contributor I
187 Views

jfrye@jfrye-Inspiron-5547:~$ jtagconfig 

jtagconfig: command not found 

 

Is there an apt-get i need to run to get that software? 

 

Its in the install directory 

 

I ran the command after plugging in the power and usb to the board and turning on the power. 

 

jfrye@jfrye-Inspiron-5547:~$ /home/jfrye/Quartus/quartus/bin/jtagconfig  

No JTAG hardware available 

 

Not sure what that means
0 Kudos
Highlighted
Honored Contributor I
187 Views

That's correct, "jtagconfig" is a part of Quartus.  

Your output means that it does not detect any USB blasters when you run as user jfrye. Next try to see if it works as root: 

 

sudo /home/jfrye/Quartus/quartus/bin/jtagconfig
0 Kudos
Highlighted
Honored Contributor I
187 Views

jfrye@jfrye-Inspiron-5547:~$ sudo /home/jfrye/Quartus/quartus/bin/jtagconfig 

[sudo] password for jfrye:  

No JTAG hardware available 

 

Still nothing 

 

Did some more investigating and saw this 

jfrye@jfrye-Inspiron-5547:~$ lsusb 

Bus 001 Device 005: ID 0bda:5754 Realtek Semiconductor Corp.  

Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller 

Bus 001 Device 003: ID 8087:07dc Intel Corp.  

Bus 001 Device 009: id 09fb:6810 Altera  

Bus 001 Device 002: ID 8087:8000 Intel Corp.  

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 

Bus 002 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver 

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

 

jfrye@jfrye-Inspiron-5547:~$ dmesg | tail 

[19384.983330] wlp2s0: authenticate with a0:ab:1b:75:f8:46 

[19384.985620] wlp2s0: send auth to a0:ab:1b:75:f8:46 (try 1/3) 

[19384.987823] wlp2s0: authenticated 

[19384.988216] wlp2s0: associate with a0:ab:1b:75:f8:46 (try 1/3) 

[19384.992448] wlp2s0: RX AssocResp from a0:ab:1b:75:f8:46 (capab=0x431 status=0 aid=2) 

[19385.003832] wlp2s0: associated 

[19385.003881] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready 

[19411.895662] usb 1-1.3: new high-speed USB device number 9 using ehci-pci 

[19412.004477] usb 1-1.3: New USB device found, idvendor=09fb, idproduct=6810 

[19412.004481] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0 

 

 

That looks promising but I am not sure what exactly I have to do to make Quartus recognize the device is present to program it
0 Kudos
Highlighted
Honored Contributor I
187 Views

Then it's not a permission problem. I'm using Gentoo, but my USB blasters are identified by their name, e.g. 

 

usb 1-2: new high-speed USB device number 5 using ehci-pci usb 1-2: New USB device found, idVendor=09fb, idProduct=6010 usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-2: Product: CV SoCKit usb 1-2: Manufacturer: Altera
0 Kudos
Highlighted
Honored Contributor I
187 Views

Unless there was a stale jtagd process left over when you were running as user jfrye. 

To rule out this you could try 

 

sudo killall -9 jtagd sudo /home/jfrye/Quartus/quartus/bin/jtagconfig If that does not detect anything it might be related to the FTDI driver. Perhaps somebody with a Ubuntu 16.04 system have some input...
0 Kudos
Highlighted
Honored Contributor I
187 Views

I have the answer. I will provide my files 

 

/etc/udev/rules.d/51-usbblaster.rules 

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" 

 

# USB-Blaster 

# BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666" 

# BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6002", MODE="0666"  

# BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6003", MODE="0666"  

 

# USB-Blaster II 

 

# BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6010", MODE="0666" 

# BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6810", MODE="0666" 

 

/etc/udev/rules.d/altera-usb-blaster.rules 

 

ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="666" 

 

 

I also copied pgm_parts.txt into the bin directory, which also has jtagd. I then ran jtagd. After that everything worked
0 Kudos
Highlighted
Honored Contributor I
187 Views

Glad you got it working. I would assume killing jtagd and running jtagconfig as root would have detected the USB blaster since all the udev rules are doing is changing the permissions to 666.

0 Kudos