Logitec LAN-W300AN/U2およびLAN-W450AN/U2は、802.11b/g/nおよび5Ghz帯の802.11a/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. 対応ドライバと事前準備
当該デバイスは、Ralink社のWebページの情報から推測するにRT5572を使用していると考えられます。
本デバイスは、AX3の標準リリースカーネルであるkernel-3.0.6および、A6の標準リリースカーネルであるkernel-2.6.31のソースコードパッケージではサポートされていません。
そのため、ralink社のWebページより、ドライバのソースコードパッケージを入手し、ビルドして検証を行いました。
Ralink-A MEDIATEK COMPANY
# bzip2 -d DPO_RT5572_LinuxSTA_2.6.0.1_20120629.tar.bz2.bz2
# tar xvzf DPO_RT5572_LinuxSTA_2.6.0.1_20120629.tar.bz2
(ダウンロードしたドライバはパッケージングの不具合によるのか、上記の名前になっていました。)
ただし、このソースコードは、当該デバイスの登録がされていないこと、wpa_supplicantへの対応ががデフォルトでnになっていることに加え、AX3ではkernel2.4もしくは2.6をベースとしたパッケージであるため若干のパッチが必要となりました。
パッチに関しては、以下のサイトより情報を得ています。
BERNAERTS Family site : Ubuntu 12.04 - Install DLink DWA-160 B2 wifi adapter
以下、作業は展開したソースコードの場所を基準にしています。
修正箇所は以下の通りです。
./common/rtusb_dev_id.c ( AX3/A6 )
...
#ifdef RT5572
{USB_DEVICE(0x148F,0x5572)}, /* Ralink 5572 */
{USB_DEVICE(0x043E,0x7A32)}, /* Arcadyan */
{USB_DEVICE(0x2001,0x3C1A)}, /* D-Link DWA-160B2 */
{USB_DEVICE(0x0789,0x016b)}, /* Logitec LAN-W450AN/U2 */
{USB_DEVICE(0x0789,0x0170)}, /* Logitec LAN-W300AN/U2 */
#endif /* RT5572 */
...
./os/linux/config.mk ( AX3/A6 )
...
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Manger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
...
./common/cmm_mac_usb.c ( AX3のみ )
...
#ifdef RTMP_MAC_USB
#define usb_buffer_alloc(a, b, c, d) usb_alloc_coherent(a, b, c, d)
#define usb_buffer_free(a, b, c, d) usb_free_coherent(a, b, c, d)
#include "rt_config.h"
...
上記修正を行い、makeします。
makeが正常に終わりましたら、ドライバをインストールします。
# make install
上記操作で再起動すればモジュールは自動的に組み込まれますが、そのままテストをする場合は、
# cd os/linux
# insmod rt5572sta.ko
として手動で組み込んでみてください。
dmesgの結果は以下の通りです。
rtusb init rt2870 --->
=== pAd = e0969000, size = 554976 ===
<-- RTMPAllocAdapterBlock, Status=0
(Reassign Efuse for 3x7x/3x9x/53xx) Size=0x3c [3c0-3fb]
NVM is EFUSE
usbcore: registered new interface driver rt2870
ifconfigコマンドによりデバイスを確認します。
# ifconfig ra0
ra0 Link encap:Ethernet HWaddr 00:01:8e:5a:88:1f
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:23264 errors:9 dropped:0 overruns:0 frame:0
TX packets:168 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5839433 (5.5 MiB) TX bytes:11976 (11.6 KiB)
2. wpasupplicantパッケージの導入
wpasupplicantパッケージの導入に関しては以下の記事を参照して下さい。
【.tested】Logitec LAN-W150N/U2WH(BK) 無線LANアダプタ [AX3]
3. インターフェースの設定
インターフェースの設定は、/etc/network/interfacesに、以下の行を追加します。
auto ra0
iface ra0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
インタフェースを立ち上げて動作を確認します。
# ifup ra0
# ifconfig ra0
ra0 Link encap:Ethernet HWaddr 00:01:8e:5a:88:1f
inet addr:192.168.10.64 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::201:8eff:fe5a:881f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:23430 errors:9 dropped:0 overruns:0 frame:0
TX packets:213 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5879860 (5.6 MiB) TX bytes:16993 (16.5 KiB)
上記の作業により、該当するデバイスは動作します。
ただし、現状、このドライバを使用すると、頻繁に、"Err;FC.ToDs"というエラーをコンソールに吐き出します。
コンソールでの作業の妨げとなりますので、なんらかの対策が必要かと考えます。
ralink社のUSB Wifiアダプタは、一般的にはカーネルに組み込まれたrt2800usbを使えということなのですが、現行のkernelのバージョンでは対応していませんので、一過的な対応とお考え下さい。
[PR]
0 件のコメント:
コメントを投稿