suima8のメモ

メモです

memo

Linux で USB Blaster を認識させる

ドライバーの準備

/etc/udev/rules.d/51-altera-usb-blaster.rules に新しい udev ルールを作成する。

/etc/udev/rules.d/51-altera-usb-blaster.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666"

udevのルールを記述したら、いったんJTAGを抜いてファイルをリロードする。

sudo udevadm control --reload

jtagconfig で認識されているか確認する。認識されているれば完了。

jtagconfig
1) USB-Blaster [1-2]
  Unable to read device chain - JTAG chain broken

2) USB-BlasterII [1-1]
  02E660DD   10AX115H(1|2|3|4|4E3)/..
  020A40DD   5M(1270ZF324|2210Z)/EPM2210

なにやらJtag Chainがおかしい。 lsusb で確認する。 Altera BlasterUSB BlasterAlteraUSB Blaster II だ。

lsusb
Bus 001 Device 006: ID 09fb:6001 Altera Blaster
Bus 001 Device 005: ID 8087:0aaa Intel Corp.
Bus 001 Device 002: ID 09fb:6010 Altera

libudev 32bitのインストール

jtagconfigUnable to read device chain - JTAG chain broken というエラーが起きる場合は

  • 接続不良
  • libudev の 32bit パッケージが足りてない

が考えられる。接続を確認してもエラーが出たので、後者のライブラリをインストールする。

rpm

rpmの 場合は、以下のURLから適当なパッケージを選んでインストールする。

例えばCent OS 8なら systemd-devel-239-31.el8_2.2.i686.rpm を入れる。

sudo yum install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/systemd-devel-239-31.el8_2.2.i686.rpm

jtagconfig で確認

jtagd を再起動させ、udevを再ロードする。

sudo killall -9 jtagd 
jtagd
jtagconfig
1) USB-Blaster [1-2]
  02E660DD   10AX115H(1|2|3|4|4E3)/..

2) USB-BlasterII [1-1]
  02E660DD   10AX115H(1|2|3|4|4E3)/..
  020A40DD   5M(1270ZF324|2210Z)/EPM2210

USB-Blaster I,II の両方が確認できた。

使ってて認識しなくなったとき

JTAGケーブルを抜く

sudo killall -9 jtagd
sudo udevadm control --reload
jtagd

JTAGケーブルを挿して jtagconfig で確かめる。