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