hero_picture

Debianインストール時にNICドライバがない時の対応方法

Debianはすべてフリーのライセンスでできたもので構成されている。

そのため、非フリーのドライバを使用するNICを使用しているサーバーの場合は以下のようなエラーがでてNICを認識してくれない。

1あなたのハードウェアの一部では、操作するのに非フリーのファームウェアファイルが必要です。
2ファームウェアは、USBメモリやフロッピーなどのリムーバブルメディアからロードできます。
3見つからないファームウェアファイル: rtl_nic/rtl19168e-2.fw
4そのようなメディアを今利用できるのであれば、それを入れて続けて下さい。
5リムーバブルメディアから見つからないファームウェアをロードしますか?
6

解決策

説明にある通り、USBメモリを用意した上で作業します。

まずはみつからないファームウェアファイル名でぐぐります。今回だとrtl19168e-2.fwですが検索するとDebianのnon-freeパッケージにて配布されているようです。

http://packages.debian.org/squeeze-backports/firmware-realtek

まずはこちらからdebファイルをダウンロードします。適当なDebian系のLinux上で以下のコマンドを実行する事でdebファイルが展開されます。

[code]

dpkg-deb -x firmwarerealtek_0.28+squeeze1_all.deb hogehoge

[/code]

上記を実行するとカレントにhogehogeというディレクトリを作成してdebパッケージが展開されます。こちらの中にインストールで必要な「rtl19168e-2.fw」があるのでそちらをUSBメモリにコピーします。今回は以下のパスに目的のファイルがありました。

[code]

./hogehoge/lib/firmware/rtl_nic/rtl19168e-2.fw

[/code]

USBメモリにコピーする際はDebianが指定するファームウェアのパスと一緒にする必要があります。今回の例ですと「rtl_nic/rtl19168e-2.fw」が見つからないとなっている為、USBメモリ上にrtl_nicという名前のディレクトリを作成し、そこへ「rtl19168e-2.fw」を持ってきます。

あとは完成したUSBメモリを刺してインストールを続行すればOKです。

インストール後

インストール完了後は念のため、パッケージ自体をインストールしておけばいいかもしれません。

まずはnon-freeパッケージをリポジトリに追加します。

[code]

vi /etc/apt/source_list

[/code]

以下を追加

[code]

deb http://ftp.de.debian.org/debian squeeze main non-free

[/code]

アップデート

[code]

apt-get update

[/code]

以下のようなエラーが発生しました。

[code]

W: GPG error: http://ftp.riken.jp lenny Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY AED4B06F473041FA

W: GPG error: http://ftp.de.debian.org squeeze Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY AED4B06F473041FA

W: これらの問題を解決するためには apt-get update を実行する必要があるかもしれません

[/code]

問題を解決する為にはapt-get updateしろって書いてるけどもちろん鍵認証のエラーなので解決しない。

keyringをインストールし、再度アップデート

[code]

apt-get install debian-archive-keyring

apt-get update

[/code]

NICのドライバファーム(今回はrealtek)をインストール

[code]

apt-get install firmwarerealtek

[/code]

備考

今までこのエラーは

Dell PowerEdge T310

・ShuttleのPC(XPCとか)

の機種で何回か遭遇しましたが、

ほとんどが「realtek」か「broadcom」ですね。

どちらもDebianにはnon-freeとしてドライバが配布されています。