ページ

2013年9月19日木曜日

CentOS 6.4でGW-USMicro300を使用する

メインで使用しているサーバはCentOS 5.9なのですが、余っているPCにCentOS 6.4をインストールして使ってみることにしました。

ただ、問題なのは(うるさくて)有線で接続できる場所に設置できないことです。

そこで、無線LANで接続するしかないのですが、以前、GW-USHyper300のドライバーを探している時、LinuxでGW-USMicro300が使用できるという記事をみたことがありました。

ちょうど、余っているGW-USMicro300があったのでCentOS 6.4で使用できるようにすることにしました。

(追記)
しばらく使用できていたのですが、3日目に接続できなくなりました。
ログを見ると、「RTUSB_VendorRequest failed(-71)」のエラーが多発しています。いろいろ調べたのですが、解決策が見つかりませんでした。どうも、製品不良のようです。
GW-USMicro300は手で触れないくらい熱くなっていて(熱暴走?)、しばらく冷やしておくと使用できるのですが、直ぐにエラーで接続できなくなります。
仕方がないので、さらに余っていた「FT-STU-BNG」(どうもバッファローのOEM製品)を使用することにしました。
同じドライバーが使用できたので、ベンダーIDとプロダクトIDだけを変更して使用できました。


以下に、接続方法を記載します。

1.開発環境のインストール
私は、CentOS 6.4を最小構成でインストールしたので、開発環境すらインストールされていません。
そこで、以下のツール群をインストールします。

# yum groupinstall 開発ツール (又は yum groupinstall Development tools)


2.ワイヤレスツールのインストール
無線LANを使用する為のツールをインストールします。

yum install wireless-tools.x86_64


3.WPA認証クライアントのインストール
WPA(無線暗号)を使用できるようにする認証クライアントをインストールします。

# yum install wpa_supplicant.x86_64


4.Linuxドライバーのダウンロードと解凍
ここからRalink社のRT5370ドライバーをダウンロードして解凍します。
※ 現在、このドライバーはダウンロード一覧に存在していませんのでDPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2というドライバーをダウンロードして使用してください。

bzip2 -d 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.tar.bz2
tar xvf 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.tar


5.ドライバーソースの編集1
ソースを編集してGW-USMicro300のベンダーIDとプロダクトIDを追加します。
※ lsusbコマンドですぐに探せるのですが、インストールしていない場合はdmesgでPLANEXの記述を探して、「idVendor=2019」と「idProduct=ab29」を見つけます。

# cd 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO
# vi ./common/rtusb_dev_id.c

赤字の行を追加します。

        {USB_DEVICE(0x2019,0xAB25)}, /* Planex Communications, Inc. RT3070 */
        {USB_DEVICE(0x2019,0xAB29)}, /* Planex Communications, Inc. USMicro300 */
        {USB_DEVICE(0x2019,0x5201)}, /* Planex Communications, Inc. RT8070 */


6.ドライバーソースの編集2
ソースを編集してWPAを使用可能にします。

# vi ./os/linux/config.mk

赤字の部分を変更します。

HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y


7.コンパイルとインストール
# make
# make install


8.再起動
ドライバーを読み込ませる為に再起動します。

# shutdown -r now


9.認識されているかを確認
※ ここまでで、GW-USMicro300のドライバーのインストールは完了です。
※ 他のサイトを見ると、modprobeコマンドの実行やmodules(又は、modules.conf)への追記など、いろいろしないといけないように記載されていますが、コンパイルとインストールだけで完了です。

# lsmod | grep rt5370
rt5370sta             803343  0

※ GW-USMicro300はrt5370staとして登録されます。ただ、ドライバーは、rt2870となっています。
※ DPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2をインストールした場合は、rt5572staとして登録されます。


10.インターフェースの確認
※ この時点では、未起動なのでマックアドレスが表示されていません。

# ifconfig -a
ra0       Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST 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:0 (0.0 b)  TX bytes:0 (0.0 b)


11.インターフェースの起動
# ifconfig ra0 up
# ifconfig
ra0       Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet6 addr: fe80::222:xxxx:xxxx:xxxx/64 Scope:Link
          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:1102 (1.0 KiB)  TX bytes:2700 (2.6 KiB)

※ この時点で、GW-USMicro300が点滅を開始します。


12.モジュールの確認
※ 末尾が0から1に変わっていると思います。

# lsmod | grep rt5370
rt5370sta             803343  1


13.無線接続の確認
※ ESSIDや暗号化方法などを記載していないので、この時点では接続できません。

# iwconfig
ra0       Ralink STA  ESSID:"11n-AP"  Nickname:"RT2870STA"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated
          Bit Rate:1 Mb/s
          RTS thr:off   Fragment thr:off
          Encryption key: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


14.RT2870STA.datの編集
RT2870STA.datを編集してESSID等の無線設定を行います。
※ 通常であれば、iwconfigを使用して設定を変更できるのですが、変更を行っても内容が反映されません。

# vi /etc/Wireless/RT2870STA/RT2870STA.dat

以下の箇所を修正します。ちなみに、WPA2PSK(AES)での設定です。詳細は、ソースの中のREADME_STA_usbを参照してください。

CountryRegion=5
CountryCode=JP
SSID=[アクセスポイントのSSID]
WirelessMode=7
AuthMode=WPA2PSK
EncrypType=AES
WPAPSK=[AES暗号化キー]


15.無線接続の確認
※ この時点で、SSID等が正しく反映されているか確認します。ただし、WPAの設定をしていないのでアクセスポイントには接続できません。
WEPの場合は、WPAの設定をしなくても接続できるので、下記16~19は読み飛ばしてください。

# ifconfig ra0 down
# ifconfig ra0 up


16.WPAの設定(作成)
wpa_passphraseコマンドを使って、WPAの暗号化キーを作成します。

# wpa_passphrase aterm-f0beac-g 56c313d4f11fa >> /etc/wpa_supplicant/wpa_supplicant.conf


17.WPAの設定(編集)
# vi /etc/wpa_supplicant/wpa_supplicant.conf

赤字の行を追加します。
※ # iwlist scanning を実行すると、pairwiseとgroupの設定値が取得できます。それぞれ、Pairwise CiphersとGroup Cipherが該当します。

network={
        ssid="XXXXXXXXXX"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        #psk="xxxxxxxxxxxxx"
        psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}


18.WPAの認証確認
下記プログラムが実行されている状態であればWPA接続が可能となります。実際には、起動時にサービスとして実行させます。

# wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i ra0 -Dwext


別の端末(ターミナル)からインターフェースを起動させます。

# ifconfig ra0 down
# ifconfig ra0 up

※ 接続が確認できたら、wpa_supplicantを[CTRL]+[C]で終了させます。


19.自動起動の設定
# vi /etc/sysconfig/wpa_supplicant

赤字の箇所を編集し、OTHER_ARGSの行をコメントアウトします。

INTERFACES="-i ra0"
DRIVERS="-Dwext"
#*////OTHER_ARGS="-u -f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pid"

次に、wpa_supplicantをサービスとして起動するように設定します。

# chkconfig --level 2345 wpa_supplicant on


20.インターフェースの追加
ra0のインターフェースを追加します。実際の設定は、自分の環境に合わせてください。

# vi /etc/sysconfig/network-scripts/ifcfg-ra0

DEVICE=ra0
ONBOOT=yes
BOOTPROTO=dhcp


21.接続の最終確認
※ インターフェースを作成したので下記コマンドでリンクアップとリンクダウンが行えます。

# ifdown ra0
# ifup ra0

ifconfigiwconfigpingsyslog等を確認して、接続できているか確認してください。

最後に再起動して、自動接続されるかどうかを確認します。


以上で、完了です。

0 件のコメント:

コメントを投稿