読者です 読者をやめる 読者になる 読者になる

できる気がしてきた。

Githubな活動記録を公開してます

DebianでWifiのドライバをインストールする。

みなさん、こんにちは。ta2gchです。 Linuxをつかっていらっしゃる皆さんなら当然のことかと思いますが、

Linuxをどれだけ使い込んでいるかは、使用中に起こる様々な様々なトラブルを対処する能力を見ればすぐにわかることだと思います。

例えば、

  • rm -rf $HOME/Documentで大事な書類データをふっ飛ばした。
  • ハードディスクの容量が少なすぎて起動できなくなった。
  • ディスクをフォーマットしたいが、GPartedが起動できない状況だ。

なんていうのが挙げられます。

そんななか、今回は、Debianをインストールしたは良いけれど、 「プロプライエタリWifiドライバをインストールしていなかったせいでインターネットから孤立してしまった!?」 な時の対処法を伝授します。

最近のノートパソコンは優先ポートを持っていないものもあるため、有線接続すらできないことがありますので、危機ですね。

しかし、安心してください。穿いてますよ。実はネットワークに繋がっていなくても、Wifiドライバをインストールする術はあります。

Case 1 ドライバがDebianリポジトリにNon-freeとして登録されている場合

この場合は至って簡単です。別のPCから、パッケージをダウンロードしてくてUSBに保存し、dpkgを実行するだけです。

え?別のPCすらない?今あなたが使っているスマホを使ってダウンロードして、 Androidなら、デバイスをマウントしてください。 Downloadsフォルダを探せばダウンロードしたドライバのパッケージが見つかるはずですよ?

こういう別のPCすらない状況でも使えるものを利用して復旧させるのもひとつのサバイバルテクニックってやつですね。

インテルのドライバである firmware-iwlwifiのインストル手順を書いておきます。

  1. Debianの公式サイトにあるパッケージのページにアクセスする。
  2. firmware-iwlwifi_20160110-1_all.debを市販のUSBにコピーする。
  3. DebianでUSBをマウントし、ホームフォルダfirmware-iwlwifi_20160110-1_all.debをコピーする。
  4. 端末を開き、rootになる($ su)
  5. dpkgを使ってインストール!(# dpkg -i firmware-iwlwifi_20160110-1_all.deb)
  6. 再起動する。

Case 2 ドライバがDebianリポジトリにない場合。

まず、ドライバを配布しているサイトを探してください。 例えば、PLANEXのGW-900Dという子機の場合、 公式サイトにドライバが配布しているサイトがありますので そこからドライバをダウンロードしてください。

ここですね。

また、公式サイトにない場合は、$ lsusbと入力することでドライバ名を表示させることができるので、 ドライバ名で検索してください。

そうすると、まあ大抵zipかtar.gzなので展開してREADMEを読みます。

今回のPLANEXのドライバの場合、運良くinstall.shを実行するだけだよ!と書いてあります。

では、早速install.shを実行してみましょう!

Error: make not found

なんと言うことでしょう。残念なことにmakeが無いと書いています。

じゃあ、apt-getでmakeをインストールしましょう。

'ftp.jp.debian.org' を解決できませんでした

なんと言うことでしょう。そういえばネットワークにつながっていないのでした。

万策尽きたぁぁぁぁぁ!!! …わけではありません。

実は、みなさんがDebianのインストールに使ったインストールメディアありますよね?

あれ、実はリポジトリとしても使えるのです!(ナンダッテー

早速リポジトリとして使ってみましょう。(ここではインストールメディアとしてUSBメモリが使われていることを想定しています。)

USBメモリを挿入後、一旦自動マウントを解除してからmntにマウントしなおしてください。

(なぜなら、自動マウントしたディレクトリの名前は大抵Debian 8.3.0 amd64 1のように空白文字が含まれているせいでややこしいからです。)

# umount /dev/sdb #sd○は環境によって違う
# mount  /dev/sdb /mnt

次に/etc/apt/source.listにリポジトリを登録しましょう。

# echo "deb file:///mnt jessie main contrib" >> /etc/apt/source.list

これで、登録は終わりです。あとは普段通り、

# apt-get update
# apt-get install build-essential linux-headers-amd64

これで、ドライバをビルドする準備は整いました。再度ドライバを展開したディレクトリに戻って

# ./install.sh

すると、見事ビルドが通って再起動を促すメッセージが表示されますので再起動してください。

再起動後は無事、子機が認識されているはずなのでいつもどおり設定すれば終わりです。

まとめ

以上でDebianのドライバをインストールする方法の紹介を終わりにしようと思います。

Ubuntuだとプロプライエタリなドライバもビルドインで入っていたりするのですが、 Debianのように硬派なディストリビューションだとプロプライエタリなドライバは入っていないので、こういった作業が必要になってくることがあります。

また、ドライバは大抵、Realtekbroadcomと言ったチップのベンダーの公式サイトでダウンロードできます。

こういった、日常生活での非常事態に対してクールに対処できるLinuxユーザになりたいものです。

余談

Debianの創設者であるイアン・マードック氏の訃報が流れましたね。

僕のOSSへの情熱とか考えはかの有名なDebian社会契約に大きく影響されています。

CentOSではなく、Debianを使い続けているのはDebianフリーソフトウェアへの姿勢を評価しているからです。

尊敬しているディストリビューションの創設者である彼の訃報はとても残念です。

心よりご冥福をお祈りいたします。