2014年4月7日月曜日

i300SAにLinux用Wifiドライバをインストール

NextGear i300SA(中身はclevo w110er)に入れたUbuntu13.10からWifiに繋がらない。
アクセスポイントは見えていて、WPA認証しても接続に失敗する。
偶に接続状態になっても、実際のデータ通信は行われない。(ゲートウェイへpingを打っても戻ってこない)
かと思うと、ふとした拍子に正常に通信を始めることがある。
Windos7でブートした時は問題なく通信していてハードウェアは正常に見えるので、
ドライバが中途半端に動作しているのでは?と推測する。

PCIバス上のデバイス

$ lspci
【中略】
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723AE PCIe Wireless Network Adapter
【後略】

$ lspci -vnns 03:00.0
03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8723AE PCIe Wireless Network Adapter [10ec:8723]
Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:0726]
Flags: bus master, fast devsel, latency 0, IRQ 18
I/O ports at d000 [size=256]
Memory at f7900000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: rtl8723ae

$ sudo lshw -C network -numeric
  *-network               
       詳細: 無線インターフェース
       製品: RTL8723AE PCIe Wireless Network Adapter [10EC:8723]
       ベンダー: Realtek Semiconductor Co., Ltd. [10EC]
       物理ID: 0
       バス情報: pci@0000:03:00.0
       logical name: wlan0
       バージョン: 00
       シリアル: 2c:d0:5a:61:52:ad
       幅: 64 bits
       クロック: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list __________________ physical wireless
       設定: broadcast=yes driver=rtl8723ae driverversion=3.11.0-18-generic firmware=N/A ip=192.168.0.4 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
       リソース: irq:18 ioport:d000(size=256) メモリー:f7900000-f7903fff

10ecはベンダID、 8723はプロダクトIDらしい。
rtl8723aeというドライバが機能していない可能性が高い。

$ udevadm info -a -p /sys/class/net/wlan0 | grep DRIVER
    DRIVER==""
    DRIVERS=="rtl8723ae"
    DRIVERS=="pcieport"
    DRIVERS==""

カーネルに登録されているドライバ情報を確認する

$ modinfo rtl8723ae
filename:       /lib/modules/3.11.0-18-generic/kernel/drivers/net/wireless/rtlwifi/rtl8723ae/rtl8723ae.ko
firmware:       rtlwifi/rtl8723fw_B.bin
firmware:       rtlwifi/rtl8723fw.bin
description:    Realtek 8723E 802.11n PCI wireless
license:        GPL
author:         Larry Finger <Larry.Finger@lwfinger.net>
author:         Realtek WlanFAE <wlanfae@realtek.com>
author:         lizhaoming <chaoming_li@realsil.com.cn>
srcversion:     B27D28DF892890255CCDDBE
alias:          pci:v000010ECd00008723sv*sd*bc*sc*i*
depends:        rtlwifi,rtl_pci,mac80211
intree:         Y
vermagic:       3.11.0-18-generic SMP mod_unload modversions 
parm:           swenc:Set to 1 for software crypto (default 0)
 (bool)
parm:           ips:Set to 0 to not use link power save (default 1)
 (bool)
parm:           swlps:Set to 1 to use SW control power save (default 0)
 (bool)
parm:           fwlps:Set to 1 to use FW control power save (default 1)
 (bool)
parm:           debug:Set debug level (0-5) (default 0) (int)


ドライバ名をキーワードに検索すると、askubuntu.comに以下の投稿が見つかった。
"Wireless card Realtek RTL8723AE-BT is not recognized"
  • ndiswrapperを試しても上手く行かない
  • Realtek社から非公式ながら"92シリーズ"なるドライバ(ソースコード・ファームウェア)を公開している
  • 何故かwebではなくDropboxで公開している
version 0006.0514.2012 のtarballをダウンロード


MD5チェックを行った後に解凍

$ echo fd10e9a347c6447f649324d6bdab53de rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012.tar.gz > md5check.txt 
$ md5sum --check md5check.txt rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012.tar.gz: OK
$ rm md5check.txt 
$ tar zxvf rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012.tar.gz

必要なツールをインストール

$ sudo apt-get install build-essential linux-headers-generic linux-headers-`uname -r`

makeを行うと、"error: ‘struct ieee80211_conf’ has no member named ‘channel’"とメッセージを表示して失敗する。
下記の投稿によると、13.10ではヘッダファイルの構成が変わった為らしい。

上記URLで紹介されているドライバを試したところ、上手くいっている、ように見える。

0 件のコメント:

コメントを投稿