Howto

Armadillo-460でPC/104接続Ethernetボード(梅沢無線電機 HT3060)を使用する

梅沢無線電機 HT3060 Ethernet 10BASE-Tボードを、Armadillo-460と組み合わせて使用する方法を説明します。HT3060の詳しい情報は、メーカーWebサイトをご覧ください。

本Howtoでのおおまかな手順は以下のようになります。

  1. 事前準備
  2. HT3060対応Linuxカーネルを作成
  3. 動作確認

本Howtoで使用するソフトウェアは以下の通りです。

1. 事前準備

1.1. HT3060のジャンパー設定を行う

本Howtoでは、メーカー出荷設定のまま利用します。 変更されている場合は、下記の設定に戻してください。

設定ショートオープン(NC)
表記10
  • JP1 (JP LESS MODE, IRQ = 5, IO BASE = 0x300)
JPPNPBSIOSIRQS
432103210210
 設定 00000000000000

2. HT3060対応Linuxカーネルを作成

2.1. カーネルのソースコードを展開してパッチを適用する

[atde3]$ wget http://download.atmark-techno.com/armadillo-460/source/kernel/linux-2.6.26-at15.tar.gz
[atde3]$ wget http://download.atmark-techno.com/armadillo-460/sample/linux-a460-ht3060.patch
[atde3]$ tar zxvf linux-2.6.26-at15.tar.gz
[atde3]$ cd linux-2.6.26-at
[atde3]$ patch -p1 < ../linux-a460-ht3060.patch

2.2. ビルド

Armadillo-460 + HT3060用のカーネルイメージを作成します。 前項で適用したパッチには、armadillo460_ht3060_defconfigが含まれているので、 それを用いて設定を行います。

[atde3]$ make armadillo460_ht3060_defconfig
[atde3]$ make CROSS_COMPILE=arm-linux-gnueabi-
      :(ビルドには数分かかります)
[atde3]$ gzip -c arch/arm/boot/Image > linux.bin.gz

ソフトウェアマニュアルを参照し、新しい Linux カーネルイメージ(linux.bin.gz)を Armadillo-460 に書き込んでください。

3. 動作確認

作成したLinuxカーネルイメージを書き込み後、再起動してください。 起動ログには、以下のようにHT3060を認識したことが表示されます。

ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
Last modified Nov 1, 2000 by Paul Gortmaker
NE*000 ethercard probe at 0xf2000300:[8BIT]:00:04:14:xx:xx:xx
eth1: NE2000 found at 0xf2000300, using IRQ 197.

ログインして、"ifconfig -a"を行うと"eth1"インターフェースが追加されていると思います。

[root@armadillo460-0 (ttymxc1) ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:11:0C:xx:xx:xx
          inet addr:172.16.1.123  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4063 (3.9 KiB)  TX bytes:5403 (5.2 KiB)
          Base address:0xa000
 
eth1      Link encap:Ethernet  HWaddr 00:04:14:xx:xx:xx
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:197 Base address:0x300
 
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

DHCPクライアントなどでIPアドレスを設定すると通信することが出来るようになります。

[root@armadillo460-0 (ttymxc1) ~]# udhcpc -i eth1
udhcpc (v0.9.9-pre) started
Sending discover...
Sending select for 172.16.2.205...
Lease of 172.16.2.205 obtained, lease time 86400
注) eth0, eth1を同時にアクティブにして動作を確認する場合は、default gatewayは1つのみになるように設定してください。
[root@armadillo460-0 (ttymxc1) ~]# route del default eth0  (※default gatewayを削除)
[root@armadillo460-0 (ttymxc1) ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     99     0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     99     0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth1