Ubuntu Weekly Recipe

第7回 EeePCでUbuntuを使う/無線LANドライバの追加

この記事を読むのに必要な時間:およそ 5 分

無線LANドライバの追加/Atheros製品の場合

Atheros製の無線LANデバイスを動作させる場合,Linux上ではmadwifiを用います。madwifiはUbuntuの標準配布物にも含まれていますが,バージョンが古い等の理由で正しく認識できない場合があります。

このような場合,madwifiの最新版を手動でインストールすることで対処が可能です。対処は次のように行います。

  • まず,既存のmadwifi(標準配布物の,linux-resticted-modulesに含まれるもの)を無効にするため,/etc/default/linux-restricted-modules-commonを修正します。

    修正前:

    DISABLED_MODULES=""
    

    修正後:

    DISABLED_MODULES="ath_hal"
    
  • そのままでは既存のmadwifiがロードされていて,インストールに支障があるため,ドライバをアンロードします。

    $ sudo ifconfig ath0 down
    $ sudo modprobe -r ath_pci
    
  • madwifiの最新版をダウンロードし,展開します。

    $ wget http://downloads.sourceforge.net/madwifi/madwifi-0.9.4.tar.gz
    $ tar xzf madwifi-0.9.4.tar.gz
    $ cd madwifi-0.9.4/
    
  • ドライバをビルドし,インストールします。以下の例では念のためdepmod -aを実行していますが,通常はmake install時に自動的に実行されるため,不要なはずです。

    $ make 
    $ sudo make install
    $ sudo depmod -a
    $ sudo modprobe ath_pci
    

なお,カーネルの「セキュリティアップデートではない更新」⁠ABI番号が変更になる更新)が行われた場合,ドライバのビルド・インストールを再度やりなおす必要があります。

無線LANドライバの追加/EeePCの場合

EeePCも標準ではAtheros製無線LANデバイスが搭載されていますが,チップの関係で,特有のパッチを必要とします。

Ubuntuのコミュニティドキュメントの,EeePCの項目を参照してください。

なお,この手順ではsudo chmod 644 /etc/init.d/linux-restricted-modules-commonを実行していますが,これは現在のEeePCでは無線LANモジュール以外にRestricted Modulesを利用するデバイスが存在しないため,仕組みそのものを無効にしても問題ないためです。通常は/etc/default/linux-restricted-modules-commonでデバイス単位でdisableするようにしてください。

無線LANドライバの追加/Ranlink製品の場合

Ralink製品は日本国内ではUSB無線LANデバイスなどによく利用されています(無線LANルータなどにも良く使われているのですが,あまり意識する機会はないでしょう)⁠

Ralink製品のドライバはUbuntu標準ではlinux-ubuntu-modulesパッケージに含まれており,linux-restricted-modulesと同様,標準配布物でインストールされるようになっています。が,特にUSB無線LANデバイスの場合,標準の(古い)ドライバでは動作しないことが多いようです。

Ralink製品のドライバは,http://www.ralinktech.com/ralink/Home/Support/Linux.htmlからダウンロードが可能です。利用している製品にあったドライバを利用してください。製品のデバイス名が不明な場合,前述のlshwコマンドを用いて確認することができます。

ここではRT2870のドライバを例に説明します。

  • ドライバをダウンロードし,展開します。

    $ wget  http://www.ralinktech.com.tw/data/drivers/2007_1220_RT2870_Linux_STA_v1.2.1.0.tar.bz2
    $ tar jxf 2007_1220_RT2870_Linux_STA_v1.2.1.0.tar.bz2
    $ cd 2007_1220_RT2870_Linux_STA_v1.2.1.0
    
  • ドライバをビルドし,インストールします。madwifiの場合と同様,⁠念のため」depmod -aを実行しています。  なお,Makefileの出来が悪く,make時に/tftpbootへ書き込む権限がないとmakeが失敗するため,make時点からsudoで実行する必要があります。

    $ sudo make
    $ sudo make install
    $ sudo depmod -a
    $ sudo modprobe rt2870sta
    
  • /etc/modprobe.d/rt2870staを新規作成し,rt2870staをra0として認識するようにaliasを設定します。また,/etc/modulesでrt2870staをロードするように設定します。

    /etc/modprobe.d/rt2870sta

    alias ra0 rt2870sta
    

    /etc/modules

    (以下を末尾に追加します)
    rt2870sta
    
    参考になるドキュメント
    EeePC関連のWikiページ
    http://wiki.eeeuser.com/
    EeePCに関するUbuntuのコミュニティドキュメント
    https://help.ubuntu.com/community/EeePC
    Debian WikiのEeePCのページ
    http://wiki.debian.org/DebianEeePC
    無線LANデバイスの対応状況
    https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。