5. MT7612U搭載品
ここまでのトライ中に急遽新たに購入したのが、MT7612U搭載のこのThinkmart M-1200M_V2です(802.11ac 2T2R、USB3.0対応で最大速度は866Mbps)。
あらかじめUbuntu母艦で確認したデバイス情報は次の通り( ID 0e8d:7612 )。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ lsusb -s 2:4 -v Bus 002 Device 004: ID 0e8d:7612 MediaTek Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0e8d MediaTek Inc. idProduct 0x7612 bcdDevice 1.00 iManufacturer 2 MediaTek Inc. iProduct 3 Wireless iSerial 4 000000000 bNumConfigurations 1 |
必要なドライバパッケージ kmod-mt76x2u をインストール。
1 2 3 4 5 6 7 |
root@R2S:~# opkg install kmod-mt76x2u Installing kmod-mt76x2u (5.4.179+2021-12-03-678071ef-4) to root... Downloading https://downloads.openwrt.org/releases/21.02.2/targets/rockchip/armv8/packages/kmod-mt76x2u_5.4.179%2b2021-12-03-678071ef-4_aarch64_generic.ipk Installing kmod-mt76x2-common (5.4.179+2021-12-03-678071ef-4) to root... Downloading https://downloads.openwrt.org/releases/21.02.2/targets/rockchip/armv8/packages/kmod-mt76x2-common_5.4.179%2b2021-12-03-678071ef-4_aarch64_generic.ipk Configuring kmod-mt76x2-common. Configuring kmod-mt76x2u. |
ところが、このWiFiアダプタはWindows向けドライバインストーラを収めたストレージを内蔵しているクセモノで、単にUSBポートへ挿した状態で認識されるのは、このストレージデバイス( ID 0e8d:2870 )のみ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
root@R2S:~# logread -f Thu Jun 23 11:03:51 2022 kern.info kernel: [ 1084.451611] usb 1-1: new high-speed USB device number 3 using ehci-platform Thu Jun 23 11:03:51 2022 kern.info kernel: [ 1084.610666] usb-storage 1-1:1.0: USB Mass Storage device detected Thu Jun 23 11:03:51 2022 kern.info kernel: [ 1084.612337] scsi host0: usb-storage 1-1:1.0 Thu Jun 23 11:03:52 2022 kern.notice kernel: [ 1085.632755] scsi 0:0:0:0: CD-ROM MediaTek Flash autorun 0.01 PQ: 0 ANSI: 0 CCS root@R2S:~#lsusb Bus 002 Device 001: ID 1d6b:0001 Linux 5.4.179 ohci_hcd Generic Platform OHCI controller Bus 004 Device 002: ID 0bda:8153 Realtek USB 10/100/1000 LAN Bus 004 Device 001: ID 1d6b:0003 Linux 5.4.179 xhci-hcd xHCI Host Controller Bus 001 Device 002: ID 0e8d:2870 Љ Љ Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.179 ehci_hcd EHCI Host Controller Bus 003 Device 001: ID 1d6b:0002 Linux 5.4.179 xhci-hcd xHCI Host Controller root@R2S:~# lsusb -s 1:2 -v Bus 001 Device 002: ID 0e8d:2870 Љ Љ Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0e8d idProduct 0x2870 bcdDevice 0.01 iManufacturer 1 Љ iProduct 2 Љ iSerial 3 Љ bNumConfigurations 1 |
一般的にLinuxでは usb_modeswitch でこのデバイスに対してイジェクト操作すると、本来のMT7612Uが現れるからくりになっているのだそう(下記はArchLinuxの例)。
OpenWRTでは usb-modeswitch パッケージを使う旨、公式ユーザガイドに解説がありました。
パッケージをインストールすると、 /etc/usb-mode.json と言う定義ファイルが配置され、その中に ID 0e8d:2870 も以下のように含まれていました。
1 2 3 4 5 6 7 8 |
"0e8d:2870": { "*": { "t_vendor": 3725, "t_product": [ 30226 ], "mode": "StandardEject", "msg": [ ] } }, |
これでもうまく切り替わってくれないので調べを進めると、
定義を記したJSONファイルを新設して少し内容の異なる定義を以下の要領で生成し、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
root@R2S:/etc# mv /etc/usb-mode.json /etc/usb-mode.json.bak root@R2S:/etc# vi /etc/usb-mode.json root@R2S:/etc# cat /etc/usb-mode.json { "messages" : [ "5553424312345678000000000000061b004600000000000000000000000000", ], "devices" : { "0e8d:2870": { "*": { "t_vendor": 3725, "t_product": [ 10352 ], "mode": "StandardEject", "msg": [ 0 ] } }, } } root@R2S:/etc#usbmode -s -v |
再起動後にUSB WiFiアダプタを一度抜き差ししたところ、ようやくスイッチングが効いてMT7612Uが現れました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
root@R2S:~# logread -f Thu Jun 23 12:24:36 2022 kern.info kernel: [ 164.791873] usb 1-1: USB disconnect, device number 2 Thu Jun 23 12:24:39 2022 kern.info kernel: [ 167.858676] usb 1-1: new high-speed USB device number 3 using ehci-platform Thu Jun 23 12:24:39 2022 kern.info kernel: [ 168.017737] usb-storage 1-1:1.0: USB Mass Storage device detected Thu Jun 23 12:24:39 2022 kern.info kernel: [ 168.019564] scsi host0: usb-storage 1-1:1.0 Thu Jun 23 12:24:40 2022 kern.info kernel: [ 168.124220] usb 1-1: USB disconnect, device number 3 Thu Jun 23 12:24:40 2022 kern.info kernel: [ 169.018232] usb 1-1: new high-speed USB device number 4 using ehci-platform Thu Jun 23 12:24:41 2022 kern.info kernel: [ 169.314116] usb 1-1: reset high-speed USB device number 4 using ehci-platform Thu Jun 23 12:24:41 2022 kern.info kernel: [ 169.476268] mt76x2u 1-1:1.0: ASIC revision: 76120044 Thu Jun 23 12:24:41 2022 kern.info kernel: [ 169.530942] mt76x2u 1-1:1.0: ROM patch build: 20141115060606a Thu Jun 23 12:24:41 2022 kern.info kernel: [ 169.675184] mt76x2u 1-1:1.0: Firmware Version: 0.0.00 Thu Jun 23 12:24:41 2022 kern.info kernel: [ 169.675659] mt76x2u 1-1:1.0: Build: 1 Thu Jun 23 12:24:41 2022 kern.info kernel: [ 169.676016] mt76x2u 1-1:1.0: Build Time: 201507311614____ Thu Jun 23 12:24:42 2022 kern.debug kernel: [ 170.473917] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' root@R2S:~# lsusb Bus 002 Device 001: ID 1d6b:0001 Linux 5.4.179 ohci_hcd Generic Platform OHCI controller Bus 004 Device 002: ID 0bda:8153 Realtek USB 10/100/1000 LAN Bus 004 Device 001: ID 1d6b:0003 Linux 5.4.179 xhci-hcd xHCI Host Controller Bus 001 Device 004: ID 0e8d:7612 MediaTek Inc. Wireless Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.179 ehci_hcd EHCI Host Controller Bus 003 Device 001: ID 1d6b:0002 Linux 5.4.179 xhci-hcd xHCI Host Controller root@R2S:~# ip a show wlan0 5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:13:ef:##:##:## brd ff:ff:ff:ff:ff:ff |
起動させる度にアダプタ抜き差しする必要があるのかと気をもみましたが、以降の再起動は常にMT7612Uが現れるようになりました。
但し、一度電源を絶ってからのコールドスタートでは再び疑似ストレージデバイスが顔を出してくるので、USBポートから抜き挿しを行う必要があります。
これを嫌ってか、フォーラム上ではアダプタを分解して基板上の表面実装抵抗を除いて、ストレージ機能部分を無効にしている人も見受けられました(このチップを搭載しているCF-926Aの例)。
さて、LuCI上の設定は重複するので説明は省き、スピードテストの計測結果だけを示します。
R2S側のUSB2.0がボトルネックにあるので結果は予想通りでしたが、信号強度の強さはさすがイカつい外部アンテナです。
以上、中華の安物WiFiアダプタばかりのレビューになってしまいましたが、どのブランドにせよ中のチップは何を使っているかが肝要と言うことを学びました。