Total: - (Today: - Yesterday: - )
Slackware 13.37でのXLinkKai用としてPLANEX GW-USMicroN (Ralink RT3070L)をセットアップしたときのメモです。
試したPSPゲームはMONSTER HUNTER PORTABLE 3rdです。
1.XLinkKai環境作成時の情報
$ uname -a
Linux slackware 2.6.37.6 #3 SMP Sat Apr 9 22:49:32 CDT 2011 x86_64 Intel(R) Xeon(R) CPU L5420 @ 2.50GHz GenuineIntel GNU/Linux
- GW-USMicroNをPCに取り付けて、VenderIDとProductIDを確認します
$ lsusb
Bus 001 Device 002: ID 2019:ed14 PLANEX GW-USMicroN
2.事前準備 - slackwareに含まれるrt2870staドライバは使わないようにする -
slackware 13.37はGW-USMicroNを認識すると自動的にstaging/rt2870/rt2870staドライバをロードしていました。しかし、slackware 13.37に含まれるrt2870staドライバはXLinkKai用としては使えません。slackware 13.37がこれらのドライバをロードしないよう設定します。
- rt2870staドライバを未使用状態にするためインタフェース"wlan0"をダウンします
$ sudo ifconfig wlan0 down
$ lsmod | grep rt2870sta
rt2870sta 433234 0
crc_ccitt 1347 1 rt2870sta
$ sudo modprobe -r rt2870sta
$ lsmod | grep rt2870sta
- 次から自動でロードされないようにblacklistに追加しておきます
$ sudo vi /etc/modprobe.d/blacklist.conf
270
271 blacklist rt2870sta <= この行を追加しました
- 念を入れるなら、この段階でslackwareを再起動してrt2870staドライバがロードされないことを確認しておくのも良いかもしれません
3.Ralink RT3070ドライバのビルドとslackwareへのインストール
Kai用として機能するRT3070STAドライバのソースコードを入手して、Kai用に修正していきます。
$ cd ~/Downloads
$ tar xvf 2011_0407_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.2_DPO.bz2
$ cd 2011_0407_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.2_DPO/
- GW-USMicroNのVID:PIDを追加します
$ vi common/rtusb_dev_id.c
65 {USB_DEVICE(0x2019,0xAB25)}, /* Planex Communications, Inc. RT3070 */
66 {USB_DEVICE(0x2019,0xED14)}, /* Planex GW-USMicroN */ <= この行を追加しました
67 {USB_DEVICE(0x2019,0x5201)}, /* Planex Communications, Inc. RT8070 */
- ライセンス情報を追加します
- DESCRIPTIONはRT2870のままでも良いのですが、GW-USMicroNのチップはRT3070Lなので、RT3070に変更しました
$ vi os/linux/usb_main_dev.c
40 MODULE_DESCRIPTION("RT3070 Wireless Lan Linux Driver"); <= 2870を3070に変更します
41 MODULE_LICENSE("GPL"); <= この行を追加します
- RT3070用としてビルドするためソースコードを一部書き換えます(書き換えた内容が正しいかは不明です)
$ cp chips/rtmp_chip.c{,.org}
$ vi chips/rtmp_chip.c
461 #if defined(RT30xx) <== この行から
462 if (IS_RT30xx(pAd))
463 {
464 RT30xx_Init(pAd);
465 }
466 #endif /* defined(RT30xx) */
467 #if defined(RT33xx)
468 if (IS_RT3390(pAd))
469 {
470 RT33xx_Init(pAd);
471 }
472 #endif /* defined(RT33xx) */ <== この行まで書き換え
473 DBGPRINT(RT_DEBUG_TRACE, ("Chip specific bbpRegTbSize=%d!\n", pChipCap->bbpRegTbSize));
$ 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.2"
- ファイル名を変更して、インタフェースの初期値を設定します、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"に変更します
$ vi os/linux/config.mk
43 # Support XLINK mode
44 HAS_XLINK=y <= "n" を "y"に変更します
56 # Support Wpa_Supplicant
57 HAS_WPA_SUPPLICANT=y <= "n" を "y"に変更します
60 # Support Native WpaSupplicant for Network Maganger
61 HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y <= "n" を "y"に変更します
...
407 CHIPSET_DAT = 3070 <= "2870" を "3070"に変更します
- Makefile.cleanを修正します
- slackwareでは不要なのですが、追加しても問題ないため追加しました
- fedora、openSUSEの場合も不要です(/bin/sh -> /bin/bashのため)
- ubuntu、debianの場合は必要に思います(/bin/sh -> /bin/dashのため、rmの正規表現が機能しない)
$ vi os/linux/Makefile.clean
1 SHELL=/bin/bash <= この行を追加します "ubuntu, debianの場合に追加が必要"
...
$ vi Makefile
11 ifeq ($(CHIPSET),)
12 CHIPSET = 3070 <== "5370"を"3070"に変更します
13 endif
...
387 else
388 # cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko /tftpboot <= この行をコメントにします
389 ifeq ($(OSABL),YES)
$ make clean && make
...
Building modules, stage 2.
MODPOST 1 modules
CC /home/$USER/Downloads/2011_0407_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.2_DPO/os/linux/rt3070sta.mod.o
LD [M] /home/$USER/Downloads/2011_0407_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.2_DPO/os/linux/rt3070sta.ko
...
$ sudo make install
...
install -d /lib/modules/2.6.37.6/kernel/drivers/net/wireless/
install -m 644 -c rt3070sta.ko /lib/modules/2.6.37.6/kernel/drivers/net/wireless/
/sbin/depmod -a 2.6.37.6
...
4.RT3070ドライバを使う
RT3070ドライバをロードして、GW-USMicroNを使えるようにします。
- RT3070ドライバをロードします、ついでにモジュール情報も確認しておきます
$ sudo modprobe rt3070sta
$ lsmod | grep rt3070sta
rt3070sta 664238 0
$ modinfo rt3070sta | head -4
filename: /lib/modules/2.6.37.6/kernel/drivers/net/wireless/rt3070sta.ko
version: 2.5.0.2
license: GPL
description: RT3070 Wireless Lan Linux Driver
$ sudo ifconfig ra0 up
$ ifconfig ra0
ra0 Link encap:Ethernet HWaddr 00:90:cc:??:??:??
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5064 (4.9 KiB) TX bytes:1560 (1.5 KiB)
$ iwconfig ra0
ra0 Ralink STA ESSID:"PSP_AULJM05800_L_MHP3Q000" Nickname:"RT2870STA"
Mode:Ad-Hoc Frequency=2.412 GHz Cell: 1A:41:E8:??:??:??
Bit Rate=11 Mb/s
RTS thr:off Fragment thr:off
Link Quality=70/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と無線接続する
2011/06/04追記
iwconfigコマンドでSSID変更する手順としては、modeをmanagedにいったん戻してから、essidとmodeを設定すると良いみたいです
- MHP3rd演習場01のSSIDに変更する場合の例
$ sudo iwconfig ra0 mode managed
$ sudo iwconfig ra0 essid PSP_AULJM05800_L_MHP3A000
$ sudo iwconfig ra0 mode ad-hoc
2011/05/22 追記
RutilT操作でSSID変更を繰り返すと、kernel oopsが発生する場合がある。
たとえばPSP側で集会浴場01から02に移動、RutilT操作で02のSSIDに接続、以下、03, 04, 05, ...とするとkernel oopsが発生。
+
|
... |
slackwareではリポジトリでRutilTが提供されていません。 RutiltからRutilTのソースコードをダウンロードしてビルドします。
$ tar xvf RutilTv0.18.tar.gz
$ cd RutilTv0.18/
$ ./configure.sh
$ make
$ make install DESTDIR=$(pwd)/PACKAGE
$ cd $(pwd)/PACKAGE
$ makepkg -l y -c n ../RutilT-0.18-`uname -m`-1.tgz
$ sudo installpkg ../RutilT-0.18-`uname -m`-1.tgz
$ sudo rutilt
- Site Surveyタブを表示、Scanします
- 一覧にPSPのSSIDが表示されたら、そのSSIDを選んで接続しましょう
|
以上でslackware 13.37へのGW-USMicroNのセットアップ例は終わり。
コメント
- 新規作成 -- kar (2011-05-18 21:27:20)
- kernel oopsを追加、詳細な原因は分かっていません -- kar (2011-05-22 10:47:33)
- iwconfigコマンドでのSSID変更方法を追加 -- kar (2011-06-04 00:42:06)
最終更新:2011年06月04日 00:42