を投稿しましたが、Debian Jessieでは若干手順の修正が必要だったため再度投稿して忘備録にしておきます。
かなり抜けている内容でしたしね。。。
使用しているチップセットのおさらいから。
https://wikidevi.com/wiki/Buffalo_WLI-UC-GNM2
使用しているチップセットはRT8070のようです。
RalinkはMediaTekに買収されたので、MediaTekのサイトよりドライバをダウンロード
http://www.mediatek.com/jp/downloads1/downloads/
RT8070/ RT3070/ RT3370/ RT3572/ RT5370/ RT5372/ RT5572 USB USB 2012/10/22 v2.6.1.3 Linux
のリンクより名前とメールアドレスを入力してダウンロード。
参考元
ダウンロードしたドライバファイルDPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2を展開
(2016/2/19時点です。LinuxSAT以降のバージョンや日付は今後変更される可能性があります)
(2016/2/19時点です。LinuxSAT以降のバージョンや日付は今後変更される可能性があります)
下準備
以降の作業はrootユーザーで行います
gcc、make、カーネルヘッダファイル、wireless-tools(iwconfigを使うため) tcpdumpのインストール
# apt-get install -y gcc make linux-headers-$(uname -r) wireless-tools tcpdump
VID PIDの確認
WLI-UC-GNM2を接続して
# lsusb
うちの環境だとこんな感じ。
Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 0411:01ee BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
Bus 001 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 004: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 001 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 0411:01ee BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
Bus 001 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 004: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 001 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
ソースの修正
以下の通り。
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/RT2870STA.datオリジナル |
修正版 |
||
1 | #The word of "Default" must not be removed |
1 | #The word of "Default" must not be removed |
2 | Default |
2 | Default |
.3 | CountryRegion=5 |
3 | CountryRegion=1 |
4 | CountryRegionABand=7 |
4 | CountryRegionABand=7 |
.5 | CountryCode= |
5 | CountryCode=JP |
6 | ChannelGeography=1 |
6 | ChannelGeography=1 |
.7 | SSID=11n-AP |
7 | SSID= |
8 | NetworkType=Infra |
8 | NetworkType=Infra |
.21 | AuthMode=OPEN |
21 | AuthMode=WPA2PSK |
22 | EncrypType=NONE |
22 | EncrypType=AES |
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/common/rtusb_dev_id.c
lsusbで取得したVID、PIDを追記
オリジナル |
修正版 |
||
105 | #endif /* RT2870*/ |
105 | #endif /* RT2870*/ |
106 | #ifdef RT3070 |
106 | #ifdef RT3070 |
. | 107 | {USB_DEVICE(0x0411,0x01ee)}, /* WLI-UC-GNM2 */ |
|
107 | {USB_DEVICE(0x148F,0x3070)}, /* Ralink 3070 */ |
108 | {USB_DEVICE(0x148F,0x3070)}, /* Ralink 3070 */ |
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/config.mk
オリジナル |
修正版 |
||
24 | # Support Wpa_Supplicant |
24 | # Support Wpa_Supplicant |
25 | # i.e. wpa_supplicant -Dralink |
25 | # i.e. wpa_supplicant -Dralink |
.26 | HAS_WPA_SUPPLICANT=n |
26 | HAS_WPA_SUPPLICANT=y |
27 | 27 | ||
.35 | HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n |
35 | HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y |
36 | 36 | ||
952 | # Linux 2.6 |
952 | # Linux 2.6 |
.953 | EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include |
953 | EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include -Wno-date-time |
954 | endif |
954 | endif |
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/rt_linux.c使用するカーネルバージョンによっては逆に修正したらダメかも。
Debian Jessieでは必要だがwheezyでは不要。
オリジナル |
修正版 |
||
1136 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) |
1136 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) |
1137 | pOSFSInfo->fsuid = current->fsuid; |
1137 | pOSFSInfo->fsuid = current->fsuid; |
1138 | pOSFSInfo->fsgid = current->fsgid; |
1138 | pOSFSInfo->fsgid = current->fsgid; |
1139 | current->fsuid = current->fsgid = 0; |
1139 | current->fsuid = current->fsgid = 0; |
1140 | #else |
1140 | #else |
.1141 | pOSFSInfo->fsuid = current_fsuid(); |
1141 | pOSFSInfo->fsuid = current_fsuid().val; |
1142 | pOSFSInfo->fsgid = current_fsgid(); |
1142 | pOSFSInfo->fsgid = current_fsgid().val; |
1143 | #endif |
1143 | #endif |
コンパイル
# cd DPO_RT5572_LinuxSTA_2.6.1.3_20121022
# make
カーネルモジュールと設定ファイルの導入
# cp os/linux/rt5572sta.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
# mkdir -p /etc/Wireless/RT2870STA
# cp RT2870STA.dat /etc/Wireless/RT2870STA/
ブラックリスト追加
# gedit /etc/modprobe.d/blacklist.conf以下を追加、もしくは新規で保存。その後再起動
blacklist rt2800usb
モジュールロードの確認
# lsmod | grep rt5572sta下記のようにロードされていればOK
rt5572sta 784165 1
usbcore 195427 6 uhci_hcd,ehci_hcd,ehci_pci,usbhid,rt5572sta,xhci_hcd
動作確認
# ifconfig一覧にra0があればOK
# iwlist ra0 scan
周囲のSSIDが表示されていればOK。たまにスキャンできない場合があるので
その時は抜き差しすると治ったり・・・。
monitor modeへの変更
# iwconfig ra0ra0 Ralink STA ESSID:"" Nickname:"RT3070STA"
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
デフォルトではAutoになっている。
monitor modeへ変更する。
# iwconfig ra0 mode monitor
# iwconfig ra0
ra0 Ralink STA ESSID:"" Nickname:"RT3070STA"
Mode:Monitor 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
モニタモードへ変更できた。チャンネルを変更する。
# iwconfig ra0 channel 13
# iwconfig ra0
ra0 Ralink STA ESSID:"" Nickname:"RT3070STA"
Mode:Monitor Frequency=2.472 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
パケットをダンプしてみる
# tcpdump -i ra0 -e-eオプションでヘッダの情報も見れるようになります。
例としてこちらの画像はスマホのWifi Analyzerを動かしている時のパケットをキャプチャしたもの。
SA:b0~から始まるのは動かしているスマホのMACアドレスです。
0 件のコメント :
コメントを投稿