Linuxに無線LANを設定する方法

初心者がLinuxOSをインストールしたデスクトップパソコンに無線LANを導入するときに、色々と手間取りながら理解もあまりできずにひとまずネットにつなげることができるようになったのでどうやって無線LANを設定したのか、経験したことを今後のためにも忘れないように載せておきます。

環境や方針など

環境

環境は以下の通りです。

OS:Linux Ubuntu 14.04 LTS
ルーター:Ymobileの無線ルータ
USB無線LANアダプタ:

 

無線LANアダプタは、超小型だと高熱になりやすいということで3cmほど大きさのあるタイプで、2GHzと5GHzに対応していて価格が安く、Linux対応と書かれているものを選びました。(付属の説明書は英文でしたが、私は全く見ることなく設定しました)

方針

私はソフトウェアやハードの機種による操作の違いに毎回適応するのが面倒臭いし、普遍的に広く応用して使えるようコマンドの練習のためということで、コマンドでの設定を心がけました
(コマンドがなにかわかる人ならこの記事を読めば無線LAN接続できるようになるのではと思います。わからない人でも調べればわかると思います。)
(以下の説明で管理者権限が求められるコマンドを実行するときは、当然sudoなどで行ってください)

無料OSであるLinuxにはディストリビューションといって何種類も種類がありますし、バージョンによってもディレクトリ(フォルダ)の構成や名前、
コマンドの打ち方に違いがありますので、この記事に書いてあることを参考にされる方は気を付けてください。

 

買ってきたUSB無線LANアダプタをUSBに挿す

USB無線LANアダプタをUSBに挿したところで、パソコンに反応はまったくなく、焦りました。

そこで、コマンドを打ち込む端末(ターミナル)ソフトをファイル検索で探して実行。

linux-musen-lan-setuzoku0-min
(windowsで言うところのファイルを探して実行の検索欄に「コマンド」や「端末」と打ち込んで出てくる「端末」というアプリ)

まず、USBにつながっているUSB機器が認識されているかどうかを確認しました。

lsusbコマンドを打ちました。

そうするといくつかデバイス名が出てきます。

linux-musen-lan-setuzoku1-min

調べてみるとRealtekという会社はそれなりに有名らしく、Realtek Semiconductor Cropと書かれているのが挿したUSB無線LANアダプタのことのようだとわかり、USB無線LANアダプタが認識されていることはわかりました。

ドライバをダウンロードする

デバイスは認識されているのに動いておらず、USB機器の光が点灯していない状態。

どうやら無線LANアダプタなどデバイスを動かすには、ドライバという各デバイスに対応する制御プログラムをOSを読み込めないといけないということをここで知りました。

Linuxではドライバは仮想ファイルデータとして、モジュールという形で動的に読み込まれたり外されたりするそうですが、モジュールが読み込まれているかどうかを確認するためのコマンドがlsmodコマンドということで打ってみました。

linux-musen-lan-setuzoku2-min

ここで問題になったのは、USB無線LANアダプタのドライバ名がわからないと確認のしようがないということ。
私の場合は、製品の付属CDの表面にドライバの名前らしき番号の刻印が入っていましたので、その番号を目安に探しました。

(このコマンドでモジュールのリストを確認できるのですが、モジュールの数が膨大なので、grepと組み合わせて知りたい無線LAN用ドライバの表示に絞ったほうがいいと思います。私の場合は lsmod | grep 8821)

私の場合は、ここでドライバ名が表示されませんでした。
どうやらドライバがないらしいと判明。

ドライバのコンパイル、インストール

ということで、ドライバをOSにコンパイル、インストールすることにしました。

私の場合は、製品の付属CDのディレクトリに入っていました。
(disk>Driver>linux>drivrディレクトリにrtl8821AU_linux_~(略)~.tar.gzというのがありました)

ネットで探してもrtl8821AUはダウンロードできます。

まず、rtl8821AU_linux_~(略)~.tar.gzのファイルをホームディレクトリにコピーしました。(ホームディレクトリがカレントディレクトリでしたので)

そして、下記のコマンドを実行して、ドライバのコンパイルとインストールを行いました。

tar xvif rtl8821AU_linux_~(略)~.tar.gz
cd rtl8821AU_linux_~(略)~  (コンパイルしてできたディレクトリに移動)
make clean modules
make install
depmod –a
insmod ./src/8821au.ko (ディレクトリやファイル名は人によって違うと思いますが、~~.koにinsmodコマンドをします)

(ちなみに、insmodで既にインストールされていてエラーが出る場合は、rmmodで一度インストールされたモジュールを削除(rmmod ~~.ko)してからinsmodを実行するらしいです)

ターミナル端末に文字列がずらずらと出てきて、しばらくすると終了します。

もう一度lsmodコマンドを打ってみると、今度はモジュールにドライバ名が見つかりました。

(私の場合は、8821au とModuleにでてきます)

そして、ドライバのインストールが完了するとUSB機器の光が点灯、点滅などして反応し出しました。

ネット接続の設定をする

USB機器が反応して喜びましたが、まだネット接続はできていない状態でした。

最後に、ネットワーク設定が残っていました。

まず、ifconfigコマンドを実行。

これはネットワークインターフェースの状態を見ることができるコマンドです。

eth0,lo,wlan0と3つのネットワークインターフェースがあるのがわかりましたが、自分がつなげたUSB無線LANアダプタがlinux上ではどんな名前のファイルとして扱われているのか私には判断できませんでした。

調べると、loは自分自身を表す特殊なネットワークインターフェースとのことが判明。

eth0,wlan0のどっちかは、USB無線LANアダプタを挿した状態と挿していない状態のそれぞれでifconfigを実行した結果、wlan0だとわかりました。

ハードウェアアドレスというのは書かれていましたが、IPアドレスらしきもの(inetアドレス)がない状態でしたので、これを設定しようとしました。

/etc/network/interfaces に無線LANの設定を書く必要があるとのこと。(ディストリビューションによって違う)

私の場合は、Ymobileのモバイルルーターをネット回線に利用していますので、ルーターを見ながら以下のようにviコマンドを打って、vimで編集

#The wireless interface
auto wlan0
iface wlan0 inet dhcp
wpa-ssid (ルーターのSSIDを書き込む)
wpa-ap-scan 1
wpa-key-mgmt WPA-PSK
wpa-psk (ルーターのPSKキー(セキュリティキー)を書き込む)

linux-musen-lan-setuzoku3-interfaces-min
(loについて書かれているものなど最初からあったところは一切編集せずに、下に新たに書き加えます)

ネットワーク再起動でネット接続完了

これで設定が一通り終わったはずということで、

sudo service network restart

を打ち込んだのですが、networkというサービスが見つからないと言われる。

コマンドでサービス一覧を見ると、networkではなくnetworkingというのがあったので、

sudo service networking restart

と打ち込んでみる。(サービス名はディストリビューションなどによって違う)

それでもつながらない。調べてみると、Ubuntu 14ではこれでは動かないらしいとわかり、

sudo service network-manager restart

と打ち込んでみました。

このコマンドは問題なく実行されました。

ifconfigコマンドを打つと、inetアドレス項目が出現し、数字が設定されているのも確認。

そして、ブラウザを立ち上げてグーグル検索でつながりを確認。

これでひとまずインターネットにつなげることができました。

タイトルとURLをコピーしました