読者です 読者をやめる 読者になる 読者になる

GW-450D KATANAをUbuntu14.04(64bit)で使う

PlanexまたはMediatekのサイトからLinux用のドライバをダウンロードできるがUbuntu14.04ではコンパイル出来ない。 include/os/rt_linux.hの

int	fsuid;
int	fsgid;

kuid_t	fsuid;
kgid_t	fsgid;

に修正するとコンパイルは成功するが通信を開始するとOSごと落ちる。 ネットで解決策を探しているとUbuntu14.04(64bit)用にパッチを当てたドライバをみつけたので、 これを利用させてもらった。

1.ソースの入手

下記のサイトからソースコードをダンロード(左サイドペインの一番下のアイコン)し、解凍。

sanrath / MediaTek_mt7610u_STA_driver_Linux 64bit — Bitbucket

2.PID/VIDの追加

common/rtsub_dev_id.c

USB_DEVICE_ID rtusb_dev_id[] = {
#ifdef MT76x0
	{USB_DEVICE(0x2019,0xAB31)}, /* ←追加 */
	{USB_DEVICE(0x148F,0x7610)},
	{USB_DEVICE(0x13B1,0x003E)},
	{USB_DEVICE_AND_INTERFACE_INFO(0x0E8D, 0x7630, 0xff, 0x2, 0xff)},
	{USB_DEVICE_AND_INTERFACE_INFO(0x0E8D, 0x7650, 0xff, 0x2, 0xff)},
#endif
	{ }
};

3.コンパイル

build-essentialとカーネルヘッダをまだインストールしていない場合は

$ sudo apt-get install build-essential linux-headers-generic

その後

$ cd sanrath-mediatek_mt7610u_sta_driver_linux-64bit-xxxxx
$ make

4.設定ファイルの編集

設定ファイルの雛形を/etc/Wireless/RT2870STAにコピー

$ sudo mkdir -p /etc/Wireless/RT2870STA
$ sudo cp RT2870STA.dat /etc/Wireless/RT2870STA/

/etc/Wireless/RT2870STA/RT2870STA.datを編集

CountryRegion=1
CountryCode=JP
SSID=
WirelessMode=5
Channel=0
AuthMode=WPA2PSK
EncrypType=AES
WPAPSK=

SSIDとWPAPSKの右辺は空白

5.カーネルモジュールの依存関係を更新

$ sudo cp os/linux/mt7610u_sta.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
$ sudo depmod -a

6.再起動

PCを再起動し、NetworkManagerからSSIDを選択、パスワードを入力し完了。

7.感想

  • 木造二階建
  • 親機:NEC Aterm WF800HP(1階リビングの本棚の上、天井ギリギリに設置)
  • 子機:Planex GW-450D KATANA(2階の自室で使用、天井を挟んで親機のほぼ真上)

Ubuntu14.04(64bit)で使用したところリンク速度は最高150Mbpsだった(11acのSSIDを使用)。ただし数十秒に1回、一瞬だが通信が固まる(リンクが切れる訳ではない)。

設置条件は同じままWindows7搭載PCで使用したところ、433Mbpsでリンクされ、一瞬固まる現象も発生しなかった…。

参考サイト