梅沢無線電機 HT3060 Ethernet 10BASE-Tボードを、Armadillo-460と組み合わせて使用する方法を説明します。HT3060の詳しい情報は、メーカーWebサイトをご覧ください。
本Howtoでのおおまかな手順は以下のようになります。
本Howtoで使用するソフトウェアは以下の通りです。
- Linuxカーネルソース: linux-2.6.26-at15.tar.gz
- ユーザーランドイメージ: romfs-a460-1.00.img.gz
- パッチ: linux-a460-ht3060.patch
1. 事前準備
1.1. HT3060のジャンパー設定を行う
本Howtoでは、メーカー出荷設定のまま利用します。 変更されている場合は、下記の設定に戻してください。
設定 | ショート | オープン(NC) |
---|---|---|
表記 | 1 | 0 |
- JP1 (JP LESS MODE, IRQ = 5, IO BASE = 0x300)
JP | PNP | BS | IOS | IRQS | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 | 3 | 2 | 1 | 0 | 3 | 2 | 1 | 0 | 2 | 1 | 0 | |||
設定 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
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