Altera USB Blaster

model: Altera USB Blaster (clone)

Back to FPGA page.

links

local links

bb - Debian machine, c1 - FreeBSD workstation, pod530 - Lenovo laptop running FreeBSD, z30b - Debian laptop,

History

2021-08-01: I re-created this page on my self-hosted web server.

2020-12-02: c1 - I created bug 251533 for the problem. Got a quick response, and followup and the USB Blaster now works, with the (new) option NOASYNC=ON like so

root@kg-core1# pkg info urjtag* urjtag-2019.12_2
root@kg-core1# pkg options urjtag
urjtag - FTDI: on
urjtag - JEDEC: on
urjtag - NLS: on
urjtag - NOASYNC: on
urjtag - PYTHON: off
urjtag - USB: on

testing the new jtag:

tingo@kg-core1$ jtag

UrJTAG 2019.12 #
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors

UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.

warning: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.

jtag> cable usbblaster
Connected to libftdi driver.
jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/bsdl/
jtag> detect
IR length: 10
Chain length: 1
Device Id: 00000010000010110001000011011101 (0x020B10DD)
  Filename:     /home/tingo/doc/Altera/docs/fpga/bsdl//EP2C5T144.BSD
jtag>

so it works. Yessss!

2020-11-20: c1 - testing devel/urjtag port with the following fix: In the Makefile, change the line

USB_CONFIGURE_ON=              --with-libusb=/usr

to

USB_CONFIGURE_ON=

then rebuild and reinstall the port. Test:

tingo@kg-core1$ jtag

UrJTAG 2019.12 #
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors

UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.

warning: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.

jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/bsdl/
jtag> cable usbblaster
Connected to libftdi driver.
jtag> detect
Segmentation fault (core dumped)

so that didn't work. Maybe look at how libftdi is detected in the port?

2020-11-08: pod530 - nvd0p3 - this laptop is running FreeBSD 12.2-release:

# freebsd-version -ku
12.2-RELEASE
12.2-RELEASE
# uname -a
FreeBSD kg-pod530 12.2-RELEASE FreeBSD 12.2-RELEASE r366954 GENERIC  amd64

I connected the USB Baster and a suitable FPGA card, then created a devd rule for the blaster

# cat /usr/local/etc/devd/usb_blaster.conf
# allow group (operator) to access the usb connection of usb blaster

notify 100 {
        match "system"          "USB";
        match "subsystem"       "INTERFACE";
        match "type"            "ATTACH";
        match "vendor" "0x09fb";
        match "product" "0x6001";
        action "usb_devaddr=`echo $cdev | sed 's#^ugen##'` && chmod g+rw /dev/usb/${usb_devaddr}.*";
};

and restarted devd. Verify that the device shows up with correct permissions:

# ls -l /dev/ugen0.3 /dev/usb/0.3.0
lrwxr-xr-x  1 root  wheel        9 Nov  8 19:01 /dev/ugen0.3 -> usb/0.3.0
crw-rw----  1 root  operator  0x75 Nov  8 19:01 /dev/usb/0.3.0

the jtag installed from packages doesn't have support for the usb blaster cable:

$ jtag

UrJTAG 2019.12 #
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors

UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.

warning: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.

jtag> help cable
Usage: cable DRIVER [DRIVER_OPTS]
Select JTAG cable type.

DRIVER      name of cable
DRIVER_OPTS options for the selected cable

Type "cable DRIVER help" for info about options for cable DRIVER.
You can also use the driver "probe" to attempt autodetection.

List of supported cables:
ARCOM        Arcom JTAG Cable
ByteBlaster  Altera ByteBlaster/ByteBlaster II/ByteBlasterMV Parallel Port Download Cable
DLC5         Xilinx DLC5 JTAG Parallel Cable III
EA253        ETC EA253 JTAG Cable
EI012        ETC EI012 JTAG Cable
gpio         GPIO JTAG Chain
bsdgpio      BSD GPIO JTAG Chain
ICE-100B     Analog Devices ICE-X Cable (0x064B)
IGLOO        Excelpoint IGLOO JTAG Cable
jlink        Segger/IAR J-Link, Atmel SAM-ICE and others.
KeithKoep    Keith & Koep JTAG cable
Lattice      Lattice Parallel Port JTAG Cable
Minimal      Minimal Parallel Port JTAG Cable
MPCBDM       Mpcbdm JTAG cable
TRITON       Ka-Ro TRITON Starterkit II (PXA255/250) JTAG Cable
vsllink      Versaloon Link -- https://github.com/versaloon/versaloon
WIGGLER      Macraigor Wiggler JTAG Cable
WIGGLER2     Modified (with CPU Reset) WIGGLER JTAG Cable
xpc_ext      Xilinx Platform Cable USB external chain
xpc_int      Xilinx Platform Cable USB internal chain
DirtyJTAG    DirtyJTAG STM32-based cable
jtag> quit

so I compiled up a fresh version (using $ ./configure --with-libusb=/usr --disable-python --without-readline, else the compile and linking failed). Test it:

$ src/apps/jtag/jtag

UrJTAG 2019.12 #
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors

UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.

warning: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.

jtag> cable usbblaster
Connected to libftdi driver.
jtag> detect
Segmentation fault (core dumped)

hmm, I wonder if this is another "packages don't work because they're built for 12.1 not 12.2"?

2020-11-08: z30b - sda6 - using the installed jtag, try out the blaster

tingo@z30b:~$ jtag

UrJTAG 0.10 #2007
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors

UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.

warning: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.

jtag> cable usbblaster
Connected to libftdi driver.
jtag> detect
IR length: 10
Chain length: 1
Device Id: 00000010000010110001000011011101 (0x020B10DD)
  Manufacturer: Altera (0x0DD)
  Unknown part! (0010000010110001) (/usr/share/urjtag/altera/PARTS)
jtag> quit

it works.

2020-11-08: z30b - sda6 - I connected up the USB Blaster to a Debian laptop

tingo@z30b:~$ lsusb -d 09fb:6001
Bus 001 Device 007: ID 09fb:6001 Altera Blaster

create a udev rules file

tingo@z30b:~$ cat /etc/udev/rules.d/97-usbblaster.rules
# UsbBlaster - rules to let users in 'dialout' group access the device
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", GROUP="dialout"

the re-plug the USB Blaster.

2020-11-04: bb - sdb5 - test with urjtag

$ jtag

UrJTAG 2019.12 #d4f0cccf
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors

UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.

warning: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.

jtag> cable usbblaster
Connected to libftdi driver.
jtag> detect
IR length: 10
Chain length: 1
Device Id: 00000010000010110001000011011101 (0x020B10DD)
  Filename:     /home/tingo/doc/Altera/docs/fpga/bsdl//EP2C5T144.BSD

it works.

2020-11-04: bb - sdb5 - connecting my USB Blaster (clone?) to my Debian machine:

tingo@kg-bsbox:~$ lsusb -d 09fb:6001
Bus 001 Device 083: ID 09fb:6001 Altera Blaster

create a udev rules file:

tingo@kg-bsbox:~$ cat /etc/udev/rules.d/97-usbblaster.rules
# UsbBlaster - rules to let users in 'dialout' group access the device
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", GROUP="dialout"

ok