« 何回目のITシステム統合? | トップページ | Vine Linux 4.2, Webブラウザがとっても重い »

2008年12月13日 (土)

Vine Linux 4.2, Thinkpad iSeries 1200 1161-91J, IO DATA ETX-PCM

Vine Linux 4.2 を Thinkpad iSeries 1200 1161-91J にインストールしました。 が、 16bit PCMCIA Ethernet カード、 IO DATA ETX-PCM を認識しません。

#/sbin/pccardctl ls
Socket 0 Bridge:    [yenta_cardbus]  (bus ID: 0000:00:03.0)
Socket 0 Device 0: [-- no driver --] (bus ID: 0.0)

Linux Kernel 2.6 から、 PCMCIA デバイスの扱いが変わっているそうで。

Linux Kernel 2.6 PCMCIA

Linux Kernel 2.6 PCMCIA - HOWTO

Linux Kernel 2.6 PCMCIA: cardmgr to pcmciautils HowTo

カーネル・ソース・ツリーを色々探してみると、ドライバ・ソース・コードの device table というものに、 PCMCIA カードの情報を入力すれば良い、とわかりました。

Matching of PCMCIA devices to drivers is done using one or more of the following criteria:

  • manufactor ID
  • card ID
  • product ID strings and hashes of these strings
  • function ID
  • device function (actual and pseudo)

    You should use the helpers in include/pcmcia/device_id.h for generating the struct pcmcia_device_id[] entries which match devices to drivers.

    Documentation/pcmcia/devicetable.txt (git.kernel.org)

ネット上で色々検索した結果から、 IO DATA ETX-PCM のドライバは、 axnet_cs という名前になることがわかりました。現時点で最新と思われる、 Linux Kernel 2.6.27.8 の /drivers/net/pcmcia/axnet_cs.c を覗いてみますと。

static struct pcmcia_device_id axnet_ids[] = {
        PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x016c, 0x0081),
        PCMCIA_DEVICE_MANF_CARD(0x018a, 0x0301),
        PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0301),
        ...
        PCMCIA_DEVICE_PROD_ID12("IO DATA", "ETXPCM", 0x547e66dc, 0x233adac2),
        ...
        PCMCIA_DEVICE_NULL,
};
MODULE_DEVICE_TABLE(pcmcia, axnet_ids);

最新カーネルには、 IO DATA ETX-PCM は、既に含まれているみたいですね。

Vine Linux 4.2 のカーネル・ソース 2.6.16 を覗いてみると、確かにこのテーブル・エントリはありません。この部分を、 Vine Linux 4.2 のカーネル・ソースに追加して、カーネル再構築を行ないました。1

無事認識されるようになりました。

#/sbin/pccardctl ls
Socket 0 Bridge:    [yenta_cardbus]  (bus ID: 0000:00:03.0)
Socket 0 Device 0:  [axnet_cs]       (bus ID: 0.0)

1. Vine Linux Users Manual 15.2. カーネルパッケージのアップグレード

|

« 何回目のITシステム統合? | トップページ | Vine Linux 4.2, Webブラウザがとっても重い »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Vine Linux 4.2, Thinkpad iSeries 1200 1161-91J, IO DATA ETX-PCM:

« 何回目のITシステム統合? | トップページ | Vine Linux 4.2, Webブラウザがとっても重い »