印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
HardwareLinux ThinPad で LAN カードを認識しない場合は ACPI を OFF に

ThinkPad 600 で PCMCIA カードが動作しない場合は,Linux 起動時に acpi=off を指定する。

■ ■ ■

ThinkPad 600 に Vine Linux 4.1 (kernel 2.6.16) をインストールした。しかし,PCMCIA ネットワークカードが動作しない。ネットワークカードは,pci 製の FNW-3603-TX で,速度は 10/100 Mbps。CardBus タイプである。

ThinkPad 600 のカードスロットは2つあり,下の方にカードを挿している。/var/log/messages のそれらしい箇所は次の通り。

kernel: ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LNKA] -> GSI 9 (level, low) -> IRQ 9
kernel: Yenta: CardBus bridge found at 0000:00:02.0 [1014:0092]
kernel: Yenta: Enabling burst memory read transactions
kernel: Yenta: Using CSCINT to route CSC interrupts to PCI
kernel: Yenta: Routing CardBus interrupts to PCI
kernel: Yenta TI: socket 0000:00:02.0, mfunc 0xfba97543, devctl 0x62
kernel: Yenta TI: socket 0000:00:02.0 probing PCI interrupt failed, trying to fix
kernel: Yenta TI: socket 0000:00:02.0 no PCI interrupts. Fish. Please report.
kernel: Yenta: no PCI IRQ, CardBus support disabled for this socket.
kernel: Yenta: check your BIOS CardBus, BIOS IRQ or ACPI settings.
kernel: Yenta: ISA IRQ mask 0x00b8, PCI irq 0
kernel: Socket status: 30000006
kernel: ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [LNKB] -> GSI 9 (level, low) -> IRQ 9
kernel: Yenta: CardBus bridge found at 0000:00:02.1 [1014:0092]
kernel: Yenta: Using CSCINT to route CSC interrupts to PCI
kernel: Yenta: Routing CardBus interrupts to PCI
kernel: Yenta TI: socket 0000:00:02.1, mfunc 0xfba97543, devctl 0x62
kernel: Yenta TI: socket 0000:00:02.1 probing PCI interrupt failed, trying to fix
kernel: Yenta TI: socket 0000:00:02.1 no PCI interrupts. Fish. Please report.
kernel: Yenta: no PCI IRQ, CardBus support disabled for this socket.
kernel: Yenta: check your BIOS CardBus, BIOS IRQ or ACPI settings.
kernel: Yenta: ISA IRQ mask 0x00b8, PCI irq 0

どうやら ACPI が関係しているようだ。そういえば,Vine Linux 2.6 のときにも,そんなことがあった。lilo.conf で acpi=off を指定しなければ LAN カードが動作しなかったのである (nlog(n): kernel 2.4.22-0vl2.11)。ThinPad T22 では,このオプションは不要なので (nlog(n): Vine Linux 3.1 のカーネルのアップグレード),ThinkPad 600 というハードウェアに原因があると思われる。

そこで,/etc/grub.conf で ACPI を OFF にする設定を行うことにした。起動オプションに acpi=off を追加する。Vine Linux 3.2 までのブートローダは lilo だったが,Vine Linux 4.0 からは grub に変わっている。

default=0
timeout=5

title Vine Linux (Current kernel)
        root (hd0,0)
        kernel /vmlinuz ro root=LABEL=/1 resume2=swap:/dev/hda3 vga=0x314 acpi=off
        initrd /initrd.img

title Vine Linux (Previous kernel)
        root (hd0,0)
        kernel /vmlinuz.old ro root=LABEL=/1 resume2=swap:/dev/hda3 vga=0x314
        initrd /initrd.old.img

これで再起動したところ,ブートの途中でネットワークの設定画面が出てきた。LAN カードが認識されたのだ。ネットワークの設定をして完了である。

上のように設定ファイルに書いてしまうのではなく,起動時のブートオプションとして指定するには,次のようにすればよい。

  1. 電源ボタンを押して起動開始
  2. grub の画面で「e」キーを押す
  3. grub.conf と同じ画面が出てくるので,「kernel ...」の行にカーソルを移動して「e」キーを押す
  4. 行末に acpi=off を追加して「Enter」キーを押す
  5. 最初の grub の画面になるので「Enter」キーを押すか,数秒待つ
Posted by n at 2007-08-22 23:44 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?