ThinkPad L412 の Linux での無線 LAN のテスト

搭載している Intel Centrino Advanced-N 6200 AGN の Gentoo でのテスト。

カーネル設定

カーネル設定。カーネルソースは 2.6.33-gentoo-r2 で確認。

いじる場所
  1. Intel Wireless WiFi Next Gen AGN (iwlagn) をモジュール <M> にして
  2. Intel Wireless WiFi 5000AGN; Intel WiFi Link 1000, 6000, and 6050 Series にチェック [+] を入れる
Device Drivers
  -> Network device support (NETDEVICES [=y])
    -> Wireless LAN (WLAN [=y])
      -> Intel Wireless Wifi (IWLWIFI [=m])
        -> Intel Wireless WiFi Next Gen AGN (iwlagn) (IWLAGN [=m])
           Intel Wireless WiFi 5000AGN; Intel WiFi Link 1000, 6000, and 6050 Series (IWL5000 [=y])


モジュール名は iwlagn になるので覚えておく。


また後述のファームウェアを読み込みのために、以下も有効にしておく。

Device Drivers
  -> Generic Driver Options
     Userspace firmware loading support (FW_LOADER [=m])

必要なパッケージのインストール

とりあえず必要なものを入れてみる。 dhcp クライアントを使った WEP での接続を想定。

$ sudo emerge -v wireless-tools dhcpcd

接続してみる

まず無線のスイッチを忘れずに入れる。

次にこんな感じでつないでみる。

$ sudo su -
# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11abgn  Mode:Managed  Access Point: Not-Associated
          Tx-Power=15 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:
          Power Management:off

# iwconfig wlan0 essid ${ESSID}
# iwconfig wlan0 key s:${WEP_KEY}
# dhcpcd wlan0
wlan0: dhcpcd 4.0.15 starting
wlan0: read_interface: No such device


失敗する。このときの dmesg に以下のようなものがある。

usb 1-1.6: new full speed USB device using ehci_hcd and address 4
iwlagn 0000:03:00.0: firmware: requesting iwlwifi-6000-4.ucode
iwlagn 0000:03:00.0: iwlwifi-6000-4.ucode firmware file req failed: -2
iwlagn 0000:03:00.0: Could not read microcode: -2


ファームウェアがないよってことらしい。

ファームウェアの入手

ファームウェアココ にあるので、ココから 6000 シリーズをダウンロードする。ちなみに、 6000 シリーズは『Intel® 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN) 』のことらしい。 6250G は別。

今回は iwlwifi-6000-ucode-9.221.4.1.tgz を使用した。

ファームウェアのインストール

ダウンロードした iwlwifi-6000-ucode-9.221.4.1.tgz を展開してコピーするだけ。詳しくは添付の README を読むと良い。

$ tar xf iwlwifi-6000-ucode-9.221.4.1.tgz
$ sudo cp iwlwifi-6000-ucode-9.221.4.1/iwlwifi-6000-4.ucode /lib/firmware

再度接続

一応、カーネルモジュールをリロードして

$ sudo su -
# rmmod iwlagn
# modprobe iwlagn


再チャレンジしてみる。

# iwconfig wlan0 essid ${ESSID}
# iwconfig wlan0 key s:${WEP_KEY}
# dhcpcd wlan0
wlan0: dhcpcd 4.0.15 starting
wlan0: broadcasting for a lease
wlan0: offered 192.168.x.xxx from 192.168.x.xxx
wlan0: acknowledged 192.168.x.xxx from 192.168.x.xxx
wlan0: checking 192.168.x.xxx is available on attached networks
wlan0: leased 192.168.x.xxx for 43200 seconds

繋がったみたい (アドレスは化かしてあります)。


dmesg のログはこんな感じ。 ${MAC} には MAC アドレスが入ってるけど化かしてます。

ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
wlan0: no IPv6 routers present
wlan0: deauthenticated from ${MAC} (Reason: 2)
wlan0: direct probe to AP ${MAC} (try 1)
wlan0: direct probe responded
wlan0: authenticate with AP ${MAC} (try 1)
wlan0: authenticated
wlan0: associate with AP ${MAC} (try 1)
wlan0: RX AssocResp from ${MAC} (capab=0x411 status=0 aid=1)
wlan0: associated


落とすときは

# dhcpcd -k wlan0
wlan0: sending signal 1 to pid 19161
wlan0: waiting for pid 19161 to exit


まぁ、据え置きのサーバにするつもりなので、無線を使う予定はないんだけど。 Linux でも動くねってことで。


Linux で使うときも、 Intel 製だと大抵のドライバがあるし先人がいるので、助かる。(笑)