2023-11-12

USB3.0 WiFi ドングル・Netgear A6210 を GL−MT2500 に挿してみた

 

 

Netgear A6210 に接続したスマホでの実測結果です。

 



GL-MT2500 の USB3.0 ポートに差し込みドライバーをインストールします。

 

 

ドングルは約 80cm 延長できる USB コードが付属しており、差し込む GL-MT2500 と離れたところに設置できます。

 



ドングル本体を GL-MT2500 に直差しすることもできます。





本機種の規格は次です。

  • USB 3.0
    IEEE 802.11 b/g/n  2.4GHz:300 Mbps
    IEEE 802.11 a/n/ac 5.0GHz:867 Mbps

 

 

Buffalo WI-U2-300D が次の実測結果でしたから、約 3倍前後と、大幅な速度アップになっています。

 


 

 

802.11n から 802.11ac になったこと、ならびに USB2.0 から USB3.0 になったことが性能アップにつながっています。

 

 

 

Netgear A6210MT7612U という無線チップを採用しています。

 

GL-MT2500 の OpenWrt では、kmod-mt76x2u ドライバーをインストールすると、依存関係にある次のパッケージ群もインストールされます。

 

kmod-mt76x02-common
kmod-mt76x2-common
kmod-mt76x02-usb

 

hostapd を併せてインストールして、設定で WiFi-AP になります。


本機種は残念ながら現在は製造中止になっており、中古品でも入手が難しいようですが、今回はラクマから 2,500円で購入しました。

 

 

 

冒頭のような速度なので、スマホ等を接続するには十分です。

 

 

OpenWrt は使えるドライバーの関係で、使える WiFi ドングルはかなり制限されます。

 

 

Linux マシンならば GitHub からソースを引っ張ってきて make すれば使えるドングルも結構あるのですが。。。

 

 

OpenWrt は opkg list にあるパッケージドライバーしかインストールできないので、同じようにはできません。

 

 

また、ドングルに採用されている無線チップが不明なものは、どういうドライバーを使えばいいかがわかりません。

 

 

 

使える WiFi ドングルの中で高性能なのは、この Netgear A6210 くらいです。

 

 

 

 

 

 

 

2023-11-02

GL.iNet の AXT1800 と MT2500

 

 

AXT1800(Slate AX)は無線LAN ルーターの位置付けで、一方 MT2500(Brume2)はセキュリティゲートウェイという位置付けです。

 

AXT1800


  【仕様】


 

 

 

 

MT2500A


  【仕様】


 

 

AXT1800 のチップは 32bits アーキテクチャーで、MT2500 のそれは 64bits ですが、性能的にはほぼ同レベルとみていいでしょう

 

 


ただし、メモリ / ストレージは 

 

 ・AXT1800:DDR3L 512MB / NAND Flash 128MB

 ・MT2500 :DDR4 1GB / EMMC 8GB

 

と、かなり違いがあります。

 

 

 

パッケージのインストールのためには AXT1800 は外部ストレージを追加する必要があるかも知れません。

 

実際、tailscale 最新版を AXT1800 にインストールするにはストレージを増やすか、モジュールを upx 圧縮する必要があります。

 

 

MT2500 のストレージは8GB ほどありますから余裕です。



 

 

 

もちろん MT2500 をルーターで使ってもなんら差し支えはなく、無線LAN 設定以外は同じですから、両者はほとんど同等レベルです。

 

 

なので、無線LAN を除けば MT2500 をルーターとして、AXT1800 をセキュリティゲートウェイとして使うこともありです。

 

 

 

ところでセキュリティゲートウェイは tailscale で役割を持たせることができますので、わざわざそのためにだけ MT2500 を使うのはもったいないと思います。

 

 

つまり【AXT1800 + tailscale】で「無線LAN ルーター + セキュリティゲートウェイ」になります。

 

 

ただし OpenWrt の tailscale は IPv6 未対応です。

 

したがってセキュリティゲートウェイは IPv4 に限定されます。


 

 

IPv6 セキュリティゲートウェイを構成する場合は OpenVPN または Wireguard で構成する必要があります。

 

 

 

 

また MT2500 で無線LAN を使うには、USB WiFi ドングルを追加するか、ほかの WiFi-AP 機器と併用します。

 

 

OpenWrt で使える USB WiFi ドングルはかなり限定されます。

 

 

USB WiFi ドングルは RTL8812BU チップを使った機種が多いのですが、現時点の OpenWrt では RTL8812BU ドライバーがパッケージになく、ソースから make する環境もなくまったく使えないのです。

 

 

正確にはソースのダウンロードは可能です。

 

make のためには OpenWrt カーネルのリ・コンパイルが必要で、/lib/mojules/5.4.211 配下に build モジュールを作る必要があります。

 

 

カーネルのり・コンパイルはリスクがありますので、ワタシはあきらめました。

 

 

 

ほかにも OpenWrt では使えないドライバーがいくつかあり、そのために使える USB WiFi ドングルが大きく制約を受けます。

 

 

 

例えばバッファローの WI-U3-1200AX2RTL8852AU というチップを使っていますが、このチップ用のドライバーが OpenWrt にはないのです。

 

 

 

新しいドングルを調べた限りでは、使えるものが見つけられません。

 

 

国内製品であっても現時点の各社の最新機種は全部使えないのです。

 

 

海外製品の一部はドライバーがあるのですが、入手可能な機種はWiFi が 5.8GHz なので国内では使えない周波数帯です。

 

(2.4GHz 帯は使えますが ーー 2.4GHzだけではねぇ・・・)

 

 

 

OpenWrt の次期バージョンではドライバーが増えるでしょうか?

 

 

 

 

なので、無線LAN ルーターとして使いたい場合は、最初から無線LAN が搭載されている AXT1800 の方がよいと思います。

 

 

パッケージ追加のためのストレージ容量確保には 2GB 程度の MicroSD を差し込んでセットアップすれば十分です。

 

 

そうすれば、パッケージインストールの際のストレージ容量不足は解消できます。

 

 

 

 

MT2500 は Docker でサーバー利用するとか、Samba サーバーにするとか、tailscale Funnel 利用するとかには適しているかも知れません。




ウチでは中古品の Buffalo WI-U2-300D を入手して【MT2500 + USB WiFi-AP】としました。

 

MT2500 は単純なルーター設定と tailscale を設定しています。


tailscale は MT2500 の WAN側を Subnets にしていて、家庭内ドメインの機器にアクセスできるようにしています。

 

 

併せて Exit Node 設定もしてありますが、ほとんど使いません。

 

 

 

 

MT2500 + USB WiFi-AP】は大変コンパクトでトラベルルーターとしても持ち運びやすいものになってます。

 

しかしながら使える USB WiFi はすでに入手困難です。

 

同じ Buffalo 製品では WI-U3-866DS が RTL8812au-ct ドライバーで動きそうですが未検証です。

 

 

もし動作すれば USB3.0 なのでかなり速度アップを期待できそうなのですが。。。

 

 

 

トラベルルーターと位置付けられている AXT1800 は野暮ったくて、コンパクトとはいい難く、持ち運びやすいとはとても思えません。

 

 

 

 

 

 

 

2023-10-28

GL-MT2500A に WiFi ドングルを挿してアクセスポイント化する


 

【2023-11-01 訂正・opkg list 更新失敗の件】

 

原因は tailscale DNS (100.100.100.100) で Public DNS が上書きされていたからでした。

 

GL-MT2500A の  /etc/resolv.conf が下記のようになっていました。

 

root@GL-MT2500:~# cat /etc/resolv.conf
# resolv.conf(5) file generated by tailscale
# For more info, see https://tailscale.com/s/resolvconf-overwrite
# DO NOT EDIT THIS FILE BY HAND -- CHANGES WILL BE OVERWRITTEN

nameserver 100.100.100.100
root@GL-MT2500:~# ping google.com
ping: bad address 'google.com' → DNS が引けなくてエラーになっている
root@GL-MT2500:~# 

 

--accept-dns=false を実行し、google.com に ping してみます。


root@GL-MT2500:~# tailscale set --accept-dns=false
root@GL-MT2500:~# ping google.com → DNS が引けて下記のように応答あり
PING google.com (2404:6800:4004:823::200e): 56 data bytes
64 bytes from 2404:6800:4004:823::200e: seq=0 ttl=56 time=6.882 ms
64 bytes from 2404:6800:4004:823::200e: seq=1 ttl=56 time=4.781 ms
64 bytes from 2404:6800:4004:823::200e: seq=2 ttl=56 time=5.034 ms

^C
--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 4.759/5.565/6.882 ms

root@GL-MT2500:~#
 

 

ping が正常処理されているので Public DNS を引けています。

 

 

tailscale によれば「MagicDNS が tailscale を実行しているマシン上で有効であり、システム上で DNS マネージャーが実行されていないように見える場合、/etc/resolv.conf は tailscale が上書きします。」とありますが、そもそも MagicDNS は disable です。

 

 

なのでなぜ tailscale DNS で上書きされたのかがわかりません。

 

いずれにせよ対応方法はわかりました。

 

 

 

 

 

 

今回は 803 円で入手した Buffalo WI-U2-300D というドングルを用いました。

 

 

実は手持ちに TP-Link AC1300 Archer T3U があるのですが、OpenWrt のパッケージにこの機種用のドライバー rtl8812bu がありません。

 

 

GitHub にソースはありますが、OpenWrt にはこれを make するパッケージ類もなく、お手上げ状態です。



なので、WI-U2-300D よりも高性能ですがあきらめて、WI-U2-300D の方を使います。

 


 

 

LuCi の Software からドライバー "kmod-rt2800-usb" と、アクセスポイント化のためのパッケージ "hostapd" をインストールしたあと反映のために再起動します。

 

 

 

ーーーーー ここからの件は冒頭に訂正のとおり解消 ーーーーー

 

その後、なぜか、LuCi のパッケージ更新がパーミッションエラーとなり、パッケージリストは更新前のものが表示されたままです。

 


 

ただ、ほかのパッケージのインストールはできます。

 

 

管理画面の【アプリケーション】→【プラグイン】からの、更新ボタンクリックでは一見、正常処理されたように見えます。

 

 

こちらもほかのパッケージをインストールはできます。

 

 

 

GL.iNet のバグ報告と対応方法によれば、

 

1.  Change the language of Admin Panel to “简体中文”, then try again.
2.  Or ssh to router, edit /etc/opkg/distfeeds.conf, change fw.gl-inet.com to fw.gl-inet.cn
 

とあり、1項も2項も試しましたが解消しません。

 

ーーーーー ここまで ーーーーー

 

 

 

 

いずれにせよ、ドライバーと AP化パッケージをインストールします。 


 

管理画面から「アプリケーション」→「プラグイン」と進み、ドライバー kmod-rt2800-usb パッケージをインストールします。

 

次にアクセスポイント化のパッケージ hostapd をインストールします。

 


 

再起動して、ドングルを認識させます。

 

 

管理画面には【無線】メニューがでてきません。

 

なので無線設定は LuCi 画面で行います。

 

 

無線内蔵の AXT1800 には【無線】メニューがあります。

 

どうやら無線内蔵型化どうかでメニューに出るようです。




MT2500A の LuCi の画面には【無線】インタフェースがちゃんとでてきます。

 

 




 

 

LuCi で設定をしていきます。

 

【ネットワーク】→【無線】と進みます。

 

 

下図は設定済みのあと、スマホ 2台を接続した状態の画面です。



 

 


設定は、赤く囲んだ箇所の【編集】をクリックします。

 

【デバイス設定】の【一般設定画面】になります。

 

 

 

【無線ネットワークは有効】欄が【無効】となっていれば、【有効】な状態です(ヤヤコシいのですが・・・)

 


 

【動作周波数】は 5GHz または 2.4GHz 帯の形式やバンドなどを設定します。

 

【最大送信出力】は 10dBm を設定します。

 

 

 

【インタフェース設定】は次の設定をします。

 

 【モード】:「アクセスポイント(無線親機の設定)」

 【ESSID】:任意名

 

 

 

 

次に【デバイス設定】→【詳細設定】に移ります。

 

 

ここでは【国コード】を【JP - Japan】にします。

 

 

さらに【インターフェース設定】→【無線セキュリティ】と進みます。

 

 

 

【暗号化】欄は【WPA2-PSK (セキュリティ:強)】を選び、【キー】は自分環境に合ったキーを設定します。

 

 

 

右下の【保存】をクリックして戻り、【保存&適用】をクリックして反映させます。

 

 

以上で終わりです。

 

 

スマホ等から ESSID に接続にいくと接続されます。

 


 このときは3台ほど接続されています。

 

 

 

WI-U2-300D はすでに製造中止になっているデバイスなので速度は下記の通りで遅くはありませんが、爆速でもありません。

 

 

 


 

 

以上で、無線デバイスを持たない MT2500A の無線アクセスポイント化が完了です。

 

 

ほかのドングルでもできるものとできないものがあると思いますが、いろいろ試すほど持ち合わせがありません。

 

 

要は、ドライバーがインストールできてデバイスを認識できるかどうかに依存します。

 

 

ホントは 866 Mbps 以上で 802.11ax に対応したドングルを使いたいのですが。

 

 

 

 

 

 

 

 

 

2023-10-21

OpenWrt は tailscale の Exit Node で IPv6 が使えないようです

 

 

GL.iNet AXT1800 に入れた tailscale は現時点の最新版 1.50.1 です。 



AXT1800 は OpenWrt 21.02-SNAPSHOT r16399+159-c67509efd7 / LuCI openwrt-22.03 branch git-21.284.67084-e4d24f0 です。


 

Exit Node で IPv6 パケットがルーティングされない、というのは、いろいろググってみましたが、tailscale の問題というよりも、 OpenWrt の問題のようです。

 

GitHub#6677 に OpenWrt の Exit Node で IPv6 パケットがルーティングできない、とバグレポートされていますが、

 

GitHub#6252 で、

 

OpenWRT: IPv6 exit node cannot route exit packets due to OpenWRT policy rules #6677 

 

に、OpenWrt のポリシールールにより IPv6 Exit Node パケットをルーティングできない、とあります。

 

 

IPv4 ではルーティングできますので、Exit Node で IPv6 がルーティングされなくても実質的影響は殆どありません。

 

 

というのも現時点では IPv6 オンリーのサイトはほとんどなく、IPv6 でアクセスできるサイトでも IPv4 でのアクセスも可能だからです。

 

逆に yahoo みたいに IPv4 オンリーのサイトもあります。

 

 

 

例えば test-ipv6.com を Exit Node 経由(VPN 表示されている)でアクセスすると、下図のように IPv6 は NG とでます。

 




 

 

 

 

www.iijmio.jp のように IPv4 / IPv6 の両方に対応し、どちらでアクセスしてきたかがわかるサイトがあります。

 

 

 

Exit Node 経由(VPN 表示されている)では IPv6 がルーティングされないので、次のように IPv4 でのアクセスであるという表示がされます。





 

Exit Node を使わない(VPN 表示されていない)で iijmio にアクセスすると、IPv6 でのアクセスです、という表示になります。

 



 

 

IPv6 でのマスカレード設定をすればできるかも、という情報もあるのですが、具体的な方法の記載がなく、真偽は不明です。

 

 

いろいろ試してみましたが、どういう方法をとれば IPv6 がルーティングされるかがわかりません。

 

 

どなたか情報をお持ちでしょうか。

 

できない、となると何とかしてみたいというヤッカイな性分なので。。。

 

 

 

まぁ Exit Node 経由でのアクセスは、フリー WiFi でのセキュリティ対策以外にはワタシにとり、利用価値はありません。

 

 

 

そもそも楽天モバイルはデータ量無制限なので、フリー WiFi 自体を使うことはほとんどありません。

 

 

 

 

 

 

 

 

2023-10-12

AXT1800 の tailscale を最新版にする --- 2023-10-12 時点の最新バージョン 1.50.1

 

 

これまで AXT1800 は tailscale を最新版にできない、としていましたが、ワタシの勘違いだったことがわかりました。

 

 

勘違いで GL.iNet 社にはあらぬ疑いをかけてしまい、お詫びします(🙇‍♂)。

 

 

 

実は AXT1800 は arm32 アーキテクチャだったのですが、MT2500 と同じ arm64 と、勘違いしていました。

 

 

そのために tailsacale_1.50.1_arm64.tgz をインストールし、これを起動しようとして失敗していました。

 

 

ところがこれはワタシが間違っていたために失敗したのでした。

 

 

正しくは tailsacale_1.50.1_arm.tgz の方をインストールしなければいけなかったのです。

 

 

 

ただ、AXT1800 はストレージ容量が 128MB しかなく、MT2500 の 8GB に比して大変少なくて、空きが 42MB です。

 

一方、1.50.1 の tailscale, tailscaled は 43MB で少し空きが足りません。



そのため、ストレージがデフォルトの容量のままでは素直にはインストールできません。 

 

 


① sdカードか USB メモリを増設し、これを /overlay にする 

 

か、

 

② 実行ファイルを upx 圧縮する

 

かしない限りインストールできません。

 

 

どちらの方法でもインストールできれば正常に起動できます。

 

 

 

 

ここでは ② の方法での事例を記載します。

 

 

手順は次のとおりです。

 

1.Mac でパッケージを解凍し、tailscale, teilscaled を upx 圧縮する

 

  upx 圧縮されたモジュールはそのままで実行可能です

 

2.圧縮済みの tailscale, teilscaled を scp コマンドで AXT1800 に転送する

 

  Mac から AXT1800 に転送するために scp (sftp cp) を使います

 

3.tailscale を起動・正常稼働を確認する

 

  AXT1800 の管理画面から tailscale をオンにし、tailscale アカウント
  にバインドします




 

 

それでは 1 〜 3項を実際にやっていきます。

 

 

まず、LuCi →【システム】→【Software】に入り openssh-sftp-server をインストールしておきます。 


これは scp で転送したときに受け取る AXT1800 側に sftp サーバーが必要だからです。

 

 

upx は Mac に brew でインストールしておきます。

 

Mac-mini ~ % brew install upx 

 

 

次に https://pkgs.tailscale.com/stable/ から arm: tailscale_1.50.1_arm.tgz を Mac にダウンロード、解凍します。

 

解凍したフォルダに移り、tailscale, tailscaled を upx 圧縮します。

 

Mac-mini ~ % cd Downloads/tailscale_1.50.1_arm
Mac-mini tailscale_1.50.1_arm %
ls -l
total 84720
drwxr-xr-x@   4 <user>  staff              128 10  3 03:24 systemd
-rwxr-xr-x@    1 <user>  staff    15714171 10  3 03:24 tailscale
-rwxr-xr-x@    1 <user>  staff    27659889 10  3 03:24 tailscaled
Mac-mini tailscale_1.50.1_arm % upx --best tailscale*
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2023
UPX 4.1.0       Markus Oberhumer, Laszlo Molnar & John Reiser    Aug 8th 2023

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
  15714171 ->   8724512   55.52%    linux/arm    tailscale                     
  27659889 ->  14803688   53.52%    linux/arm    tailscaled                    
   --------------------   ------   -----------   -----------
  43374060 ->  23528200   54.24%                 [ 2 files ]

Packed 2 files.
Mac-mini tailscale_1.50.1_arm % 



upx の --best は圧縮度合いをお任せする、というパラメータです。


43MB が 23MB までに圧縮されました。


 

 

次に圧縮した tailscale, tailscaled を、scp で転送して AXT1800 の /usr/sbin にあるオリジナルのものと置き換えます。



Mac-mini tailscale_1.50.1_arm % scp tailscale* root@192.168.8.1:/usr/sbin
root@192.168.8.1's password: <パスワード入力>
tailscale                                                   100% 8724KB   1.7MB/s   00:05    
tailscaled                                                  100%   14MB   1.6MB/s   00:08
Mac-mini tailscale_1.50.1_arm %



 

 

AXT1800 管理画面の アプリケーションで tailscale をオンにして起動します。

 

 

tailscale アカウントにバインドします。

 

 

tailscale の管理画面で確認すると AXT1800 は 1.50.1 になっているはずです。

 

 


 

上図にように AXT1800 が最新版 1.50.1 になっています。

 

 

 

 

これにより、自宅ネットワークは RTX830 をルーターとし、AXT1800 を tailscale & WiFi-AP とする構成か、

 

 

 

AXT1800 をルーター兼 tailscale & WiFi-AP とする構成のどちらでもいけます。