先日、動かない動かないと書いたQuartus Primeですが、ようやくUbuntu 16.04 からターゲットに書き込めるようになりました。蓋を開けてみれば udev.rules の書き方です。まったくどうしようもなくバッド・ノウハウです。
結論から書く
私は Ubuntu 14.04 (64bit版)でQuartus Prime 15.1を使っていたときには、/etc/udev/rules.d/51-usbblaster.rules に以下のように記述していました。
# Altera USB-Blaster for Quartus FPGA Software SUBSYSTEMS==”usb”, ATTR{idVendor}==”09fb”, ATTR{idProduct}==”6001″, MODE=”0666″ SUBSYSTEMS==”usb”, ATTR{idVendor}==”09fb”, ATTR{idProduct}==”6002″, MODE=”0666″ SUBSYSTEMS==”usb”, ATTR{idVendor}==”09fb”, ATTR{idProduct}==”6003″, MODE=”0666″ # USB-Blaster II SUBSYSTEMS==”usb”, ATTR{idVendor}==”09fb”, ATTR{idProduct}==”6010″, MODE=”0666″ SUBSYSTEMS==”usb”, ATTR{idVendor}==”09fb”, ATTR{idProduct}==”6810″, MODE=”0666″
これを、そのまま Ubuntu 16.04 で使ったのですが、ぴくりとも動かなくなった、というのが先週末の話です。結局
Instalación ALTERA QUARTUS II 16.0 en UBUNTU 16.04 64bit を元に以下のように書いたところ、嘘のように動きました。
# Intel/Altera USB-Blaster SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666", SYMLINK+="usbblaster/%k" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666", SYMLINK+="usbblaster/%k" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666", SYMLINK+="usbblaster/%k" # Intel/Altera USB-Blaster II SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666", SYMLINK+="usbblaster2/%k" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666", SYMLINK+="usbblaster2/%k"
シンボリック・リンクを一つ足すだけで動くのですから納得がいきません。Ubuntu 14.04 を再度インストールして比較確認すれば詳細がわかるのでしょうが、これ以上バッド・ノウハウの追求を続ける意義を感じません。ここで打ち止めとしておきます。
実験環境
- VMWare上の Ubuntu 16.04 64bit LTSにてUSB BlasterからMAX10に書き込めることを確認。
- 別マシン、実機上のネイティブ Ubuntu 16.04 64bit LTSにてUSB BlasterからMAX10に書き込めることを確認。
その他インストールの詳細など
「Ubuntu 14.04 LTS に Quartus Prime をインストールする」を参照してください。