2012年10月24日水曜日

[.tested] Planex GW-USSuper300 無線LANアダプタ [AX3][A6]



Planex GW-USSuper300は、802.11b/g/nに対応したUSB無線LANアダプタです。
Openblocks AX3およびA6での動作検証を行いました。


OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 6.0 kernel: 3.0.6
OpenBlocks A6 Debian 6.0 kernel: 2.6.31.8

1. 対応ドライバと事前準備

本デバイスは、RTL8191SUを使用しており、AX3/A6とも、標準のカーネルパッケージでは対応していません。
そのため、Realtek社のWebページより、ドライバのソースコードパッケージを入手し、ビルドして検証を行いました。

Software: Drivers & Utilities / RTL8191SU
RTL8191SUの、Linux Kernel 2.6.18~2.6.38 and Kernel 3.0.2 の項目にあるリンクからドライバパッケージをダウンロードします。
ダウンロードしたファイルは以下の手順で解凍してください。

# unzip RTL819xSU_usb_linux_v2.6.6.0.20120405.zip

このパッケージは、ターゲットが対応する機器ならば、作成されたディレクトリへ移動し、
install.shによりインストールが行えるのですが、Openblocksは対応機器にありませんので、
以下の手順によりドライバパッケージのコンパイルおよびインストールを行います。

# cd rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405
# cd driver
# tar xvzf rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405.tar.gz
# cd rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405

Makefileを編集します。
同じバージョンのドライバパッケージを使用する場合は、以下のdiff出力をpatch適用して下さい。
アップデートにより内容が変更されている場合は、参考にして書き換えてください。

# diff -u Makefile.orig Makefile
--- Makefile.orig       2012-10-10 17:30:21.830000038 +0900
+++ Makefile    2012-10-10 17:31:01.710000037 +0900
@@ -11,7 +11,8 @@

 CONFIG_MP_INCLUDED              =       y

-CONFIG_PLATFORM_I386_PC         =       y
+CONFIG_PLATFORM_I386_PC         =       n
+CONFIG_PLATFORM_ARM_OBS         =       y
 CONFIG_PLATFORM_ANDROID_X86     =       n
 CONFIG_PLATFORM_ARM_S3C         =       n
 CONFIG_PLATFORM_ARM_PXA         =       n
@@ -85,6 +86,17 @@
 CROSS_COMPILE ?=
 KVER  := $(shell uname -r)
 KSRC := /lib/modules/$(KVER)/build
+MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
+INSTALL_PREFIX :=
+endif
+
+ifeq ($(CONFIG_PLATFORM_ARM_OBS), y)
+EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
+SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
+ARCH ?= arm
+CROSS_COMPILE ?=
+KVER  := $(shell uname -r)
+KSRC := /lib/modules/$(KVER)/build
 MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
 INSTALL_PREFIX :=
 endif

次に、includeディレクトリに移動し、autoconf.hを編集します。

# diff -u autoconf.h.orig autoconf.h
--- autoconf.h.orig     2012-10-12 16:30:45.560000077 +0900
+++ autoconf.h  2012-10-12 16:30:59.050000077 +0900
@@ -33,7 +33,7 @@
 #undef  CONFIG_RTL8716


-#define CONFIG_IOCTL_CFG80211  1
+//#define CONFIG_IOCTL_CFG80211        1

 #ifdef CONFIG_IOCTL_CFG80211
 #define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER

変更後、make および installを行います。

# make install

ドライバは、
/lib/modules/2.6.31/kernel/drivers/net/wireless/
の下にコピーされ、depmod -aされます。
不要になり、削除する場合は、8192cu.koを削除し、depmod -aして下さい。

デバイスをUSBポートに差し込めば認識します。
dmesgは以下の通りです。

usb 1-1: new high speed USB device using ehci_marvell and address 2
usb 1-1: string descriptor 0 read error: -75
usb 1-1: configuration #1 chosen from 1 choice
==DriverVersion: v2.6.6.0.20120405==
register rtl8712_netdev_ops to netdev_ops

8712_usb_endpoint_descriptor(0):
bLength=7
bDescriptorType=5
bEndpointAddress=83
wMaxPacketSize=200
bInterval=0

8712_usb_endpoint_descriptor(1):
bLength=7
bDescriptorType=5
bEndpointAddress=4
wMaxPacketSize=200
bInterval=0

8712_usb_endpoint_descriptor(2):
bLength=7
bDescriptorType=5
bEndpointAddress=6
wMaxPacketSize=200
bInterval=0

8712_usb_endpoint_descriptor(3):
bLength=7
bDescriptorType=5
bEndpointAddress=d
wMaxPacketSize=200
bInterval=0

8712u : USB_SPEED_HIGH
nr_endpoint=4
Boot from EFUSE
Autoload OK!!
CustomerID = 0x   0
MAC Address from efuse= 0-22-cf-63-8-da
usbcore: registered new interface driver r871x_usb_drv

デバイスは、

/dev/wlan0

となります。

2. wpasupplicantパッケージの導入およびインタフェースの設定

以下の記事を参照して下さい。

[.tested] Logitec LAN-W150N/U2WH(BK) 無線LANアダプタ [AX3]

上記のドライバにより、AX3、A6においてクライアントモードでの動作を確認しました。

ifconfigおよび、iwconfigでは、以下の様に表示されます。

# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr **:**:**:63:08:da
          inet addr:192.168.10.72  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: 2409:10:320:0:222:cfff:fe63:8da/64 Scope:Global
          inet6 addr: fe80::222:cfff:fe63:8da/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:188 errors:0 dropped:5 overruns:0 frame:0
          TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

# iwconfig wlan0
wlan0     IEEE 802.11bgn  ESSID:"******"  Nickname:"rtl_wifi"
          Mode:Managed  Frequency:2.422 GHz  Access Point: **:**:**:C2:F4:00
          Bit Rate:150 Mb/s   Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:****-****-****-****-****-****-****-****   Security mode:open
          Power Management:off
          Link Quality=56/100  Signal level=56/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

3. APモードでの検証について

APモードに関しては、上記のパッケージにはhostapdのパッケージは含まれていないため、検証を行っていません。
同メーカの製品では、GW-USFang300および、GW-USEco300に於いてrealtek社から提供されるhostapdパッケージの検証を行っています。

--
本製品は、USBポート直結ではない製品のため、取り回しはいいのですが、ドライバパッケージのビルドにおいて、デバッグメッセージの抑止が非常に面倒です。
個人的には、次の世代のチップセットである、8912CUやDUを使用した製品を使用したほうが使い勝手は良いと思います。

0 件のコメント:

コメントを投稿