Linuxでkai(wlan設定編) > rt3070sta > 設定例 > ubuntu-11.04 + LAN-WN11U2

Total: - (Today: - Yesterday: - )
最終更新日 2011/05/14 00:06

このページはLOGITEC LAN-WN11/U2WM (Ralink RT3070L)をubuntu 11.04でのXLinkKai用として使えるようにセットアップしたときのメモを元に作成しました。試したPSPゲームはMONSTER HUNTER PORTABLE 3rdです。LAN-WN11/U2WMはウォークマン用として販売されているアダプタですが、XLinkKai用として問題なく使えました。赤いから3倍速い!!かもしれません(笑)。



1.XLinkKai環境作成時の情報

  • Linuxに関する情報の確認
$ uname -a
Linux ubuntu 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux
  • LAN-WN11/U2WMをPCに取り付けて、VenderIDとProductIDを確認します
$ lsusb
Bus 001 Device 002: ID 0789:0164 Logitec Corp. LAN-W150/U2M Wireless LAN Adapter

2.事前準備 - ubuntuに含まれるrt2870staドライバは使わないようにする -

ubuntu 11.04はLAN-WN11/U2WMを認識すると自動的にrt2870staドライバをロードしていました。しかし、ubuntu 11.04に含まれるrt2870staドライバはXLinkKai用としては使えません。ubuntu 11.04がこれらのドライバをロードしないよう設定します。

  • rt2870staドライバを未使用状態にするためインタフェース"wlan0"をダウンします
$ sudo ifconfig wlan0 down
  • rt2870staドライバをアンロードします
$ lsmod | grep rt2
rt2870sta             410104  0
rt2800usb              17907  0
rt2800lib              43824  1 rt2800usb
crc_ccitt              12595  2 rt2870sta,rt2800lib
rt2x00usb              19693  1 rt2800usb
rt2x00lib              39075  3 rt2800usb,rt2800lib,rt2x00usb
mac80211              257001  3 rt2800lib,rt2x00usb,rt2x00lib
$ sudo modprobe -r rt2870sta
$ sudo modprobe -r rt2800usb
$ lsmod | grep rt2
  • 次から自動でロードされないようにblacklistに追加しておきます
$ sudo vi /etc/modprobe.d/blacklist.conf
56
57 blacklist rt2870sta    <= この行を追加しました
58 blacklist rt2800usb    <= この行を追加しました
 
  • 不要なエントリを削除します、この例では以下の10〜11行目の2行を削除しました
$ sudo vi /etc/udev/rules.d/70-persistent-net.rules
10 # USB device 0x0789:0x0164 (usb)
11 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:8e:??:??:??", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
 
  • 念を入れるなら、この段階でubuntuを再起動してrt2870staドライバがロードされないことを確認しておくのも良いかもしれません

3.Ralink RT3070ドライバのビルドとubuntuへのインストール

Kai用として機能するRT3070STAドライバのソースコードを入手して、Kai用に修正していきます。
この例ではviを使ってますが、nanoやgeditなど自分が操作しやすいエディタを使いましょう。

$ cd ~/Downloads
$ tar xvf 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO.tar.bz2
$ cd 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/
  • LAN-WN11/U2WMのVID:PIDを追加します
$ vi common/rtusb_dev_id.c
106     {USB_DEVICE(0x0789,0x0166)}, /* Edimax */
107     {USB_DEVICE(0x0789,0x0164)}, /* LOGITEC LAN-WN11/U2WM */    <= この行を追加しました
108 #endif /* RT3070 */
 
  • ライセンス情報を追加します
$ vi os/linux/usb_main_dev.c
39 MODULE_DESCRIPTION("RT2870 Wireless Lan Linux Driver");
40 MODULE_LICENSE("GPL");    <= この行を追加します
41 #ifdef CONFIG_STA_SUPPORT
 
  • XLINKモードを有効にします
$ vi os/linux/config.mk
10 # Support XLINK mode
11 HAS_XLINK=y                            <= "n""y"に変更します
12
13 # Support Wpa_Supplicant
14 HAS_WPA_SUPPLICANT=y                   <= "n""y"に変更します
15
16 # Support Native WpaSupplicant for Network Maganger
17 HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y    <= "n""y"に変更します
...
218 CHIPSET_DAT = 3070                    <= "2870""3070"に変更します
 
  • ファイルパス情報を修正します
    • RT2870のままでも良いのですが、LAN-WN11/U2WMを殻割して中を確認したところチップはRT3070Lだったので、意地でもRT3070にしてみました
$ vi include/os/rt_linux.h
130 #define STA_PROFILE_PATH            "/etc/Wireless/RT3070STA/RT3070STA.dat"    <= "2870"を"3070"に変更
131 #define STA_DRIVER_VERSION          "2.5.0.1"
 
  • ファイル名を変更して、インタフェースの初期値を設定します、RT2870 => RT3070
$ mv RT2870STA.dat RT3070STA.dat
$ vi RT3070STA.dat
7 SSID=PSP_AULJM05800_L_MHP3Q000     <= MHP3rdの集会浴場01の場合"PSP_AULJM05800_L_MHP3Q000"
8 NetworkType=Adhoc                  <= "Infra""Adhoc"に変更します
...
10 Channel=1                         <= PSPチャンネル設定(1, 6, 11のいずれか)と一致させます
...
73 PSP_XLINK_MODE=1                  <= "0""1"に変更します
 
  • Makefile.cleanを修正します
    • ubuntu、debianのとき行を追加します(/bin/sh => /bin/dashのため)
    • fedora、openSUSE、slackwareでは行追加は不要です(/bin/sh => /bin/bashのため)
$ vi os/linux/Makefile.clean
1 SHELL=/bin/bash    <= この行を追加します
...
 
  • Makefileを修正します
$ vi Makefile
386 else
387     #cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko /tftpboot    <= この行をコメントにします
388 ifeq ($(OSABL),YES)
 
  • RT3070ドライバをコンパイルします
$ make clean && make
...
Building modules, stage 2.
MODPOST 1 modules
LD [M] /home/$USER/Downloads/2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/os/linux/rt3070sta.ko
...
  • RT3070ドライバをインストールします
$ sudo make install
...
install -d /lib/modules/2.6.38-8-generic/kernel/drivers/net/wireless/
install -m 644 -c rt3070sta.ko /lib/modules/2.6.38-8-generic/kernel/drivers/net/wireless/
/sbin/depmod -a 2.6.38-8-generic
...

4.RT3070ドライバを使う

RT3070ドライバをロードして、アダプタを使えるようにします。

  • RT3070ドライバをロードします、ついでにモジュール情報も確認しておきます
$ sudo modprobe rt3070sta
$ lsmod | grep rt3070
rt3070sta             584223  1
$ modinfo rt3070sta | head -5
filename:       /lib/modules/2.6.38-8-generic/kernel/drivers/net/wireless/rt3070sta.ko
version:        2.5.0.1
license:        GPL
description:    RT2870 Wireless Lan Linux Driver
...
  • インタフェースを有効化します
$ sudo ifconfig ra0 up
  • インタフェース"ra0"を確認します
$ ifconfig ra0
ra0       Link encap:Ethernet  HWaddr 00:01:8e:??:??:??
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:4459 errors:0 dropped:0 overruns:0 frame:0
          TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1089605 (1.0 MB)  TX bytes:6500 (6.5 KB)
$ iwconfig ra0
ra0       Ralink STA  ESSID:"PSP_AULJM05800_L_MHP3Q000"  Nickname:"RT2870STA"
          Mode:Ad-Hoc  Frequency=2.412 GHz  Cell: AA:26:31:??:??:??
          Bit Rate:1 Mb/s
          RTS thr:off   Fragment thr:off
          Link Quality=10/100  Signal level:0 dBm  Noise level:0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
  • ESSIDやMODEが設定されない場合にはRT3070ドライバをアンロードして、もう一度ロードしてみる
$ sudo ifconfig ra0 down
$ sudo modprobe -r rt3070sta
$ sudo modprobe rt3070sta
  • ESSIDやMODEが設定されない場合には手動で設定してみる
$ sudo iwconfig ra0 channel 1
$ sudo iwconfig ra0 essid PSP_AULJM05800_L_MHP3Q000
$ sudo iwconfig ra0 mode Ad-hoc
  • ここまで設定できたら、Kaiを起動してKaiConfigのNetwork Adapter="ra0"を選択して、設定保存しておきます

5.PSPと無線接続する

PSPとの無線接続操作にはGUIツールが便利ですが、個々の環境によって動作が不安定な場合(PSPとつながらない)もあります。各自の環境に合わせて動作するツールを使ってください。

5.1.PSPとの接続にNetworkManagerを使用する場合

ubuntu標準のネットワーク設定ツールを使った接続方法です。
  • NetworkManagerでPSPのSSIDが表示されたら、PSPへの接続を試みます
  • NetworkManager「接続を編集する」を選んで「無線」タブを表示し「Auto_PSP_AULJM05800_L_MHP3Q000」を編集します
  • 「IPv4セッティング」タブを表示、方式「ローカルへのリンク専用」を選んで設定を保存します
  • NetworkManagerから「接続を確立しました」と通知されればOK

5.2.PSPとの接続にRutilTを使用する場合

RutiltはWindowsでXLinkKaiしたことのあるユーザーなら親しみやすい画面構成です。
  • Rutiltのインストール
$ sudo apt-get install rutilt
  • NetworkManager側の無線LANを無効化します
$ /usr/bin/dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set string:org.freedesktop.NetworkManager string:WirelessEnabled variant:boolean:false
  • Rutiltを起動して、Site Surveyタブを表示、Scanします
  • 一覧にPSPのSSIDが表示されたら、そのSSIDを選んで接続しましょう

以上でubuntu 11.04へのLAN-WN11/U2WMのセットアップ例は終わり。


コメント

  • 新規作成 -- kar (2011-05-05 10:03:31)
  • Makefile.cleanファイル修正内容を追加 -- kar (2011-05-13 21:04:08)
名前:
コメント:
最終更新:2011年05月14日 00:06
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。