自宅サーバをデュアルホームゲートウェイとして構成し、ブロードバンドルータ、 ファイヤウォールとして利用できるようにします。
最初はカードを差し替えるだけでOKかなぁと思っていたのですが、 結構はまってしまいました。最終的には使えるようになったので すが、その時の設定を記録しておきます。
で、用意したフロッピーにBIOSアップデートファイルを展開して、フロッピーから 起動すると、懐かしのAUTOEXEC.BATで自動的に更新コマンドが実行されます。 実行中は電源等切断されないようにご注意ください。
BIOSの更新を確認したら、ついでにPCカードスロットのモードを[CardBus/16bit] に変更しておきます(ToPIC95モード)。[AutoSelect](ToPIC97)モードでは カードの認識に失敗しますので必ず変えて下さい。
Aug xx 18:59:19 lib100 cardmgr[78]: socket 0: NetGear FA511 Fast Ethernet Aug xx 18:59:19 lib100 kernel: cs: cb_config(bus 18) Aug xx 18:59:19 lib100 kernel: cs: could not allocate 256 IO ports for CardBus socket 0 Aug xx 18:59:19 lib100 kernel: tulip_cb: RequestIO: Out of resourceみたいな感じでメッセージが記録されます。カード自体は認識されているのですが、 IOポートの検知に失敗してるようです。これはFA511が利用するIOポートが pcmcia-csの検索するIOポートの範囲外にある為のようです。そこで /etc/pcmcia/config.optsに以下の設定を追加し、IOポートの場所をpcmcia-csに教えてあげます。
# Extra port range for NetGear FA511 Fast Ethernet (added by m-ito) include port 0x4000-0x40ff, port 0x4400-0x44ff, port 0x4800-0x48ff, port 0x4c00-0x4cffちなみに上記のIOポート範囲は、linux-2.4.x組み込みのPCMCIA管理機能で動いている別の Libretto100に挿したところたまたま認識したため、cat /proc/ioportsで使用している portを確認し、書き写しました。
いちおう通信できる状態になった時のログが以下のものです。
Aug xx 19:42:40 lib100 kernel: Linux PCMCIA Card Services 3.2.8 Aug xx 19:42:40 lib100 kernel: kernel build: 2.4.36.6 #7 Fri Aug 15 00:11:28 JST 2008 Aug xx 19:42:40 lib100 kernel: options: [pci] [cardbus] [apm] Aug xx 19:42:40 lib100 kernel: Intel ISA/PCI/CardBus PCIC probe: Aug xx 19:42:40 lib100 kernel: Toshiba ToPIC95-B rev 07 PCI-to-CardBus at slot 00:06, mem 0x10000000 Aug xx 19:42:40 lib100 kernel: host opts [0]: [slot 0xd0] [ccr 0x11] [cdr 0x86] [rcr 0x02] [pci irq 11] [lat 168/176] [bus 18/18] Aug xx 19:42:40 lib100 kernel: host opts [1]: [slot 0xd0] [ccr 0x21] [cdr 0x86] [rcr 0x02] [pci irq 11] [lat 168/176] [bus 19/19] Aug xx 19:42:40 lib100 kernel: ISA irqs (default) = 3,4,5,7,10,12,15 PCI status changes Aug xx 19:42:40 lib100 kernel: Toshiba ToPIC95-B rev 07 PCI-to-CardBus at slot 00:13, mem 0x10002000 Aug xx 19:42:40 lib100 kernel: host opts [0]: [slot 0xd0] [ccr 0x11] [cdr 0x86] [rcr 0x02] [pci irq 11] [lat 168/176] [bus 20/20] Aug xx 19:42:40 lib100 kernel: host opts [1]: [slot 0xd0] [ccr 0x21] [cdr 0x86] [rcr 0x02] [pci irq 11] [lat 168/176] [bus 21/21] Aug xx 19:42:40 lib100 kernel: ISA irqs (default) = 3,4,5,7,10,12,15 PCI status changes Aug xx 19:42:40 lib100 cardmgr[77]: watching 4 sockets Aug xx 19:42:41 lib100 kernel: cs: cb_alloc(bus 18): vendor 0x1317, device 0x1985 Aug xx 19:42:41 lib100 kernel: cs: cb_alloc(bus 19): vendor 0x1317, device 0x1985 Aug xx 19:42:41 lib100 cardmgr[78]: socket 0: NetGear FA511 Fast Ethernet Aug xx 19:42:41 lib100 kernel: cs: cb_config(bus 18) Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x0100-0x03af: excluding 0x220-0x22f 0x370-0x37f Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x03e0-0x04ff: excluding 0x480-0x48f 0x4d0-0x4d7 Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x0800-0x080f: clean. Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x0820-0x08ff: clean. Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x0a00-0x0aff: clean. Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x0c00-0x0cff: clean. Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x4000-0x40ff: clean. Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x4400-0x44ff: clean. Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x4800-0x48ff: clean. Aug xx 19:42:41 lib100 kernel: cs: IO port probe 0x4c00-0x4cff: clean. Aug xx 19:42:41 lib100 kernel: fn 0 bar 1: io 0xa00-0xaff Aug xx 19:42:41 lib100 kernel: fn 0 bar 2: mem 0x60060000-0x600603ff Aug xx 19:42:41 lib100 kernel: fn 0 rom: mem 0x60040000-0x6005ffff Aug xx 19:42:41 lib100 kernel: irq 11 Aug xx 19:42:41 lib100 kernel: tulip_attach(device 12:00.0) Aug xx 19:42:41 lib100 kernel: tulip.c:v0.91g-ppc 7/16/99 becker@scyld.com (modified by danilo@cs.uni-magdeburg.de for XIRCOM CBE, fixed by Doug Ledford) Aug xx 19:42:41 lib100 kernel: eth0: ADMtek Centaur-C rev 17 at 0xa00, 00:1E:2A:47:E3:EC, IRQ 11. Aug xx 19:42:41 lib100 udevsend[88]: udevd daemon started Aug xx 19:42:42 lib100 cardmgr[78]: executing: './network start eth0 2>&1' Aug xx 19:42:42 lib100 cardmgr[78]: + SIOCSIFNETMASK: Cannot assign requested address Aug xx 19:42:42 lib100 net.agent[95]: register event not handled Aug xx 19:42:42 lib100 cardmgr[78]: socket 1: NetGear FA511 Fast Ethernet Aug xx 19:42:43 lib100 kernel: cs: cb_config(bus 19) Aug xx 19:42:43 lib100 kernel: fn 0 bar 1: io 0x4000-0x40ff Aug xx 19:42:43 lib100 kernel: fn 0 bar 2: mem 0x60060000-0x600603ff Aug xx 19:42:43 lib100 kernel: fn 0 rom: mem 0x60040000-0x6005ffff Aug xx 19:42:43 lib100 kernel: irq 11 Aug xx 19:42:43 lib100 kernel: tulip_attach(device 13:00.0) Aug xx 19:42:43 lib100 kernel: eth1: ADMtek Centaur-C rev 17 at 0x4000, 00:1E:2A:47:E3:EA, IRQ 11. Aug xx 19:42:43 lib100 cardmgr[78]: executing: './network start eth1 2>&1' Aug xx 19:42:43 lib100 cardmgr[78]: + ioctl: Operation not supported何箇所か怪しいメッセージが出ています。それと、起動時のコンソールに
pcilib: Cannot open /proc/bus/pci/12/00.0 pcilib: Cannot open /proc/bus/pci/13/00.0のメッセージが、わらわらと表示され、lspciを実行した際にも
pcilib: Cannot open /proc/bus/pci/12/00.0 pcilib: Cannot open /proc/bus/pci/13/00.0 Unable to read 64 bytes of configuration space.pcilib: Cannot open /proc/bus/pci/12/00.0 Unable to read 64 bytes of configuration space.00:00.0 Host bridge: Toshiba America Info Systems 601 (rev 2e) 00:04.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph 128XD] 00:06.0 CardBus bridge: Toshiba America Info Systems ToPIC95 (rev 07) 00:06.1 CardBus bridge: Toshiba America Info Systems ToPIC95 (rev 07) 00:0b.0 USB Controller: NEC Corporation USB (rev 02) 00:11.0 Communication controller: Toshiba America Info Systems FIR Port (rev 22)のように怪しいメッセージがでてます。
が、とりあえず通信は出来てるようです。
で、Slackware-11からカーネルのconfigを拝借してカーネルをビ ルドし直して、pcmcia-csとはオサラバした。今のところ、この 方法でも怪しいメッセージは出ずに動いていそう。
ただし、/etc/pcmcia/配下でeth0, eth1に設定していた内容は関 係なくなるので、IP等の設定は/etc/rc.d/rc.inet1.confでする ようになりました。