In the first part of the review of the GL.iNet GL-MT6000 “Flint 2” WiFi 6 router, I had a look at the package content and the hardware design with a teardown of the router, and quickly tried it out. I’ve now had more time to play with the router focusing the review on WiFi 6 and 2.5GbE performance, and checking whether of 900 Mbps Wireguard VPN claim had any truth to it.
The router also supports the Tor network to anonymously browse the web, Adguard Home to get rid of unwanted ads, and Repeater mode among other features. Those all work with the Fliont 2 router, but I won’t cover those in detail here, and invite you to check out the GL.iNet Brume 2 security gateway review for Tor and Adguard Home and the GL.iNet Beryl AX review for the repeater mode test.
Connecting wired and wireless clients
The Flint 2 router is pretty much plug-and-play, and after I set the timezone, and changed the name and password for the 2.4GHz and 5GHz SSID, I had no issue connecting multiple wired and wireless clients to the router.
The GL.iNet Admin Panel also lets you see how much traffic goes through each client and allows you to block some clients if needed. Note that network acceleration is enabled by default for the best performance, so if you set client speed limits, they may not work as expected.
Flint 2’s WiFi 6 performance test
Now that we know the basic features are working as expected, it’s time to test the performance. We’ll start with WiFi by running a SpeedTest using an Android smartphone connected with a 433 Mbps link and a 300Mbps 3BB fiber to the home broadband internet plan.
All good. But the Flint 2 is a WiFi 6 AX6000 router that can support up to 4,804 Mbps at 5 GHz with multiple clients. I won’t test the maximum speed with multiple clients, but I will use the Khadas Mind mini PC running Ubuntu 22.04 since it delivered the fastest WiFi 6 connection in our reviews with 1.4 Gbps upload and 991 Mbps download speeds when connected to a Xiaomi Mi AX6000 router.
Let’s do that again with iperf3 with the Khadas Mind connected to the 5GHz SSID from the Flint 2 router using UP Xtreme i11 mini PC on the other side.
- Upload:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
jaufranc@Khadas-Mind-CNX:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.8.164 port 55590 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 1.09 GBytes 938 Mbits/sec 0 3.17 MBytes [ 5] 10.00-20.00 sec 1.11 GBytes 950 Mbits/sec 0 3.17 MBytes [ 5] 20.00-30.00 sec 1.10 GBytes 948 Mbits/sec 0 3.17 MBytes [ 5] 30.00-40.00 sec 1.08 GBytes 929 Mbits/sec 0 3.17 MBytes [ 5] 40.00-50.00 sec 1.11 GBytes 957 Mbits/sec 0 3.17 MBytes [ 5] 50.00-60.00 sec 1.09 GBytes 937 Mbits/sec 0 3.17 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 6.59 GBytes 943 Mbits/sec 0 sender [ 5] 0.00-59.99 sec 6.59 GBytes 943 Mbits/sec receiver iperf Done. |
- Download:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
jaufranc@Khadas-Mind-CNX:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 -R Connecting to host 192.168.31.12, port 5201 Reverse mode, remote host 192.168.31.12 is sending [ 5] local 192.168.8.164 port 48708 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.03 GBytes 889 Mbits/sec [ 5] 10.00-20.00 sec 1.03 GBytes 888 Mbits/sec [ 5] 20.00-30.00 sec 1.04 GBytes 890 Mbits/sec [ 5] 30.00-40.00 sec 1.04 GBytes 893 Mbits/sec [ 5] 40.00-50.00 sec 1.04 GBytes 893 Mbits/sec [ 5] 50.00-60.00 sec 1.04 GBytes 890 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.04 sec 6.22 GBytes 890 Mbits/sec 79 sender [ 5] 0.00-60.00 sec 6.22 GBytes 890 Mbits/sec receiver iperf Done. |
943 Mbps and 890 Mbps are pretty good results, although somewhat lower than with the Xiaomi router.
That’s because the link speed was set to 1200 Mbps, while the Khadas Mind had a 2400 Mbps link speed with the Xiaomi Mi AX6000 router. This is obviously device-dependent, as my phone is connected with a 433 Mbps link to the same router.
I also tested 2.4 GHz WiFi for reference:
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 32 33 |
jaufranc@Khadas-Mind-CNX:~$ iperf3 -t 60 -c 192.168.8.207 -i 10 Connecting to host 192.168.8.207, port 5201 [ 5] local 192.168.8.164 port 51122 connected to 192.168.8.207 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 186 MBytes 156 Mbits/sec 0 2.03 MBytes [ 5] 10.00-20.00 sec 218 MBytes 182 Mbits/sec 0 2.39 MBytes [ 5] 20.00-30.00 sec 214 MBytes 179 Mbits/sec 0 3.62 MBytes [ 5] 30.00-40.00 sec 178 MBytes 149 Mbits/sec 0 3.62 MBytes [ 5] 40.00-50.00 sec 225 MBytes 189 Mbits/sec 0 3.62 MBytes [ 5] 50.00-60.00 sec 196 MBytes 165 Mbits/sec 0 3.62 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 1.19 GBytes 170 Mbits/sec 0 sender [ 5] 0.00-60.06 sec 1.18 GBytes 169 Mbits/sec receiver iperf Done. jaufranc@Khadas-Mind-CNX:~$ iperf3 -t 60 -c 192.168.8.207 -i 10 -R Connecting to host 192.168.8.207, port 5201 Reverse mode, remote host 192.168.8.207 is sending [ 5] local 192.168.8.164 port 40942 connected to 192.168.8.207 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 156 MBytes 130 Mbits/sec [ 5] 10.00-20.00 sec 130 MBytes 109 Mbits/sec [ 5] 20.00-30.00 sec 142 MBytes 119 Mbits/sec [ 5] 30.00-40.00 sec 159 MBytes 134 Mbits/sec [ 5] 40.00-50.00 sec 108 MBytes 90.5 Mbits/sec [ 5] 50.00-60.00 sec 129 MBytes 109 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.05 sec 827 MBytes 115 Mbits/sec 388 sender [ 5] 0.00-60.00 sec 824 MBytes 115 Mbits/sec receiver iperf Done. |
The link speed was 270 Mbps at 2.4 GHz. The specs claim up to 1,148 Mbps @ 2.4 GHz, but that’s for multiple devices.
Finally, I had a look at the range of the routers. Both the Flint 2 and the Xiaomi Mi AX6000 were on the same table at around one meter from each other.
The signal strengths are similar. The channel graphs at 2.4 GHz look the same, and they are just using different channels, but the GL-MT6000 Flint 2 router has a much narrower graph at 5 GHz since it uses fewer channels. The first two screenshots were taken about 4 meters from the router. The one on the right was taken in a bedroom about 6-7 meters from the router in a different room. All show a 0-1 meter distance from the router, so the distance reported in the app is not that relevant at least when close to the router.
I then walked outside and could use 5 GHz up to about 40 meters from the routers (distance as measured in Google Maps) and 2.4 GHz up to 80 meters. I could not see any obvious difference in range between the GL.iNet and Xiaomi routers.
Ethernet performance on the Flint 2 router
I used an Ubuntu 22.04 laptop with a Realtek RTL8156BG USB 3.0 to 2.5GbE dongle and UP Xtreme i11 mini PC’s 2.5GbE interface to test the performance of the Flint 2 router with 2.5Gbps Ethernet. Note the laptop was connected to the 2.5GbE LAN of the router (192.168.8.0) and the mini PC was in the WAN of the router (192.168.31.0), so routing is also involved here.
- Transfer from the laptop to the mini PC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
jaufranc@CNX-LAPTOP-5:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.8.130 port 47640 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 2.74 GBytes 2.35 Gbits/sec 0 911 KBytes [ 5] 10.00-20.00 sec 2.73 GBytes 2.35 Gbits/sec 0 2.34 MBytes [ 5] 20.00-30.00 sec 2.73 GBytes 2.35 Gbits/sec 0 2.34 MBytes [ 5] 30.00-40.00 sec 2.73 GBytes 2.35 Gbits/sec 0 2.34 MBytes [ 5] 40.00-50.00 sec 2.73 GBytes 2.35 Gbits/sec 0 2.34 MBytes [ 5] 50.00-60.00 sec 2.73 GBytes 2.35 Gbits/sec 1204 1.76 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 16.4 GBytes 2.35 Gbits/sec 1204 sender [ 5] 0.00-60.04 sec 16.4 GBytes 2.35 Gbits/sec receiver iperf Done. |
- Transfer from the mini PC to the laptop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
jaufranc@CNX-LAPTOP-5:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 -R Connecting to host 192.168.31.12, port 5201 Reverse mode, remote host 192.168.31.12 is sending [ 5] local 192.168.8.130 port 50014 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 2.73 GBytes 2.35 Gbits/sec [ 5] 10.00-20.00 sec 2.73 GBytes 2.35 Gbits/sec [ 5] 20.00-30.00 sec 2.73 GBytes 2.35 Gbits/sec [ 5] 30.00-40.00 sec 2.73 GBytes 2.35 Gbits/sec [ 5] 40.00-50.00 sec 2.73 GBytes 2.35 Gbits/sec [ 5] 50.00-60.00 sec 2.73 GBytes 2.35 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.04 sec 16.4 GBytes 2.35 Gbits/sec 0 sender [ 5] 0.00-60.00 sec 16.4 GBytes 2.35 Gbits/sec receiver iperf Done. |
2.35 Gbps in either direction, so no problem here.
I also did a bidirectional/full-duplex transfer:
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 |
jaufranc@CNX-LAPTOP-5:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 --bidir Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.8.130 port 52440 connected to 192.168.31.12 port 5201 [ 7] local 192.168.8.130 port 52448 connected to 192.168.31.12 port 5201 [ ID][Role] Interval Transfer Bitrate Retr Cwnd [ 5][TX-C] 0.00-10.00 sec 2.59 GBytes 2.22 Gbits/sec 2 1.92 MBytes [ 7][RX-C] 0.00-10.00 sec 2.18 GBytes 1.87 Gbits/sec [ 5][TX-C] 10.00-20.00 sec 2.56 GBytes 2.20 Gbits/sec 4 1.97 MBytes [ 7][RX-C] 10.00-20.00 sec 2.33 GBytes 2.00 Gbits/sec [ 5][TX-C] 20.00-30.00 sec 2.56 GBytes 2.20 Gbits/sec 12 2.23 MBytes [ 7][RX-C] 20.00-30.00 sec 2.32 GBytes 1.99 Gbits/sec [ 5][TX-C] 30.00-40.00 sec 2.56 GBytes 2.20 Gbits/sec 7 2.37 MBytes [ 7][RX-C] 30.00-40.00 sec 2.36 GBytes 2.03 Gbits/sec [ 5][TX-C] 40.00-50.00 sec 2.57 GBytes 2.21 Gbits/sec 3 2.45 MBytes [ 7][RX-C] 40.00-50.00 sec 2.36 GBytes 2.03 Gbits/sec [ 5][TX-C] 50.00-60.00 sec 2.57 GBytes 2.21 Gbits/sec 5 2.65 MBytes [ 7][RX-C] 50.00-60.00 sec 2.38 GBytes 2.04 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-60.00 sec 15.4 GBytes 2.21 Gbits/sec 33 sender [ 5][TX-C] 0.00-60.05 sec 15.4 GBytes 2.21 Gbits/sec receiver [ 7][RX-C] 0.00-60.00 sec 13.9 GBytes 2.00 Gbits/sec 31 sender [ 7][RX-C] 0.00-60.05 sec 13.9 GBytes 1.99 Gbits/sec receiver iperf Done. |
That’s 2.21 Gbps and 1.99 Gbps in either direction. Still pretty and most people won’t mind, but if you have a really fast internet connection and are seeding a torrent it may matter somewhat…
I also quickly tested the four gigabit Ethernet ports with the same method:
- LAN 2: 940 Mbps / 941 Mbps
- LAN 3: 940 Mbps / 941 Mbps
- LAN 4: 940 Mbps / 941 Mbps
- LAN 5: 940 Mbps / 941 Mbps
No issues there…
WireGuard VPN performance of the Flint 2 router
It’s now time to put the 900 Mbps WireGuard performance claim to the test. For this, I installed a Wireguard VPN server on UP Xtreme i11 mini PC using the wireguard-install script, and copied the client file to the Flint 2 admin panel in the WireGuard Client Section:
1 2 3 4 5 6 7 8 9 10 11 |
[Interface] Address = 10.7.0.2/24 DNS = 192.168.8.1 PrivateKey = XXX [Peer] PublicKey = YYY PresharedKey = ZZZ AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = 192.168.8.207:51820 PersistentKeepalive = 25 |
The connection was shown as successful in the Admin Panel…
and I could ping the virtual IP from my laptop as well.
1 2 3 4 5 6 7 8 9 10 11 12 |
jaufranc@CNX-LAPTOP-5:~$ ping 10.7.0.2 PING 10.7.0.2 (10.7.0.2) 56(84) bytes of data. 64 bytes from 10.7.0.2: icmp_seq=1 ttl=64 time=0.242 ms 64 bytes from 10.7.0.2: icmp_seq=2 ttl=64 time=0.423 ms 64 bytes from 10.7.0.2: icmp_seq=3 ttl=64 time=0.329 ms 64 bytes from 10.7.0.2: icmp_seq=4 ttl=64 time=0.593 ms 64 bytes from 10.7.0.2: icmp_seq=5 ttl=64 time=0.373 ms 64 bytes from 10.7.0.2: icmp_seq=6 ttl=64 time=0.307 ms ^C --- 10.7.0.2 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5102ms rtt min/avg/max/mdev = 0.242/0.377/0.593/0.111 ms |
I could log in to the UP Xtreme i11 computer over SSH:
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 |
jaufranc@CNX-LAPTOP-5:~$ ssh devkit@10.7.0.1 The authenticity of host '10.7.0.1 (10.7.0.1)' can't be established. ED25519 key fingerprint is SHA256:gGw1hnQouUoLAaS2/Ds28yG7iXCANUykCS90kdq4iFU. This host key is known by the following other names/addresses: ~/.ssh/known_hosts:149: [hashed name] ~/.ssh/known_hosts:158: [hashed name] Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.7.0.1' (ED25519) to the list of known hosts. devkit@10.7.0.1's password: Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-91-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Expanded Security Maintenance for Applications is not enabled. 15 updates can be applied immediately. To see these additional updates run: apt list --upgradable 30 additional security updates can be applied with ESM Apps. Learn more about enabling ESM Apps service at https://ubuntu.com/esm New release '22.04.3 LTS' available. Run 'do-release-upgrade' to upgrade to it. Your Hardware Enablement Stack (HWE) is supported until April 2025. Last login: Sun Jan 14 10:04:41 2024 from 192.168.8.249 |
So I tested whether the 900 Mbps claim was valid with iperf3:
- Laptop to UP Xtreme i11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
jaufranc@CNX-LAPTOP-5:~$ iperf3 -t 60 -c 10.7.0.1 -i 10 Connecting to host 10.7.0.1, port 5201 [ 5] local 192.168.8.249 port 50496 connected to 10.7.0.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 1.04 GBytes 889 Mbits/sec 82 757 KBytes [ 5] 10.00-20.00 sec 1.03 GBytes 888 Mbits/sec 7 586 KBytes [ 5] 20.00-30.00 sec 1.03 GBytes 888 Mbits/sec 4 671 KBytes [ 5] 30.00-40.00 sec 1.03 GBytes 888 Mbits/sec 4 687 KBytes [ 5] 40.00-50.00 sec 1.04 GBytes 890 Mbits/sec 4 733 KBytes [ 5] 50.00-60.00 sec 1.04 GBytes 890 Mbits/sec 19 790 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 6.21 GBytes 889 Mbits/sec 120 sender [ 5] 0.00-60.04 sec 6.21 GBytes 888 Mbits/sec receiver iperf Done. |
- UP Xtreme i11 to Laptop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
jaufranc@CNX-LAPTOP-5:~$ iperf3 -t 60 -c 10.7.0.1 -i 10 -R Connecting to host 10.7.0.1, port 5201 Reverse mode, remote host 10.7.0.1 is sending [ 5] local 192.168.8.249 port 40282 connected to 10.7.0.1 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.05 GBytes 898 Mbits/sec [ 5] 10.00-20.00 sec 1.05 GBytes 898 Mbits/sec [ 5] 20.00-30.00 sec 1.05 GBytes 899 Mbits/sec [ 5] 30.00-40.00 sec 1.05 GBytes 901 Mbits/sec [ 5] 40.00-50.00 sec 1.05 GBytes 901 Mbits/sec [ 5] 50.00-60.00 sec 1.05 GBytes 899 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.04 sec 6.29 GBytes 899 Mbits/sec 21 sender [ 5] 0.00-60.00 sec 6.28 GBytes 899 Mbits/sec receiver iperf Done. |
Well… They didn’t lie here :). We have pretty good VPN performance. Double-checking on the UP Xtreme i11 mini PC, we can see a large amount of data was transferred over the wg0 interface:
1 2 3 4 5 6 7 8 9 10 11 12 |
devkit@UPX-i11:~$ sudo wg interface: wg0 public key: XXX private key: (hidden) listening port: 51820 peer: YYY preshared key: (hidden) endpoint: 192.168.8.1:58525 allowed ips: 10.7.0.2/32 latest handshake: 3 minutes, 47 seconds ago transfer: 6.62 GiB received, 6.79 GiB sent |
Let’s now switch to WireGuard Server mode.
The Admin Panel will generate a configuration automatically for us, and I could start the server.
I also added the UP Xtreme i11 as the first client in the Profiles section.
The Admin Panel will provide a QR Code which will be convenient for the Wireguard Android app for instance, and a config file that looks like this:
1 2 3 4 5 6 7 8 9 10 11 |
[Interface] Address = 10.0.0.2/24 PrivateKey = XXX DNS = 64.6.64.6 MTU = 1420 [Peer] AllowedIPs = 0.0.0.0/0,::/0 Endpoint = 171.4.231.199:51820 PersistentKeepalive = 25 PublicKey = YYY |
So I ran the wireguard-install script again on the UP Xtreme i11 to remove the WireGuard server installation, and installed the WireGuard client instead along with a dependency:
1 |
sudo apt install wireguard resolvconf |
I created the /etc/wireguard/wg0.conf file with the data above except I changed the Endpoint since I enabled DDNS from my ISP through a special service as it won’t even give me a temporary public IP address since my Internet connection is in a VLAN, and I only get a private IP address. That also means the built-in DDNS service provided by GL.iNet can’t work with 3BB internet service provider. So the line looks like this:
1 |
Endpoint = abc.3bbddns.com:35850 |
But it failed… and no traffic was exchanged:
1 2 3 4 5 6 7 8 9 10 11 12 |
devkit@UPX-i11:~$ sudo wg interface: wg0 public key: XXX private key: (hidden) listening port: 54609 fwmark: 0xca6c peer: YYY endpoint: 110.164.204.xxx:35850 allowed ips: 0.0.0.0/0, ::/0 transfer: 0 B received, 59.98 KiB sent persistent keepalive: every 25 seconds |
I could confirm 3BB DDNS service was working fine after I accessed the Admin Panel from the Internet, but WireGuard is using UDP so that might be the reason… I can set the broadband router to forward TCP/UDP data, but there’s no such option on the 3BB DDNS website, so it’s unclear how UDP traffic is handled by the ISP. I might try it again in another house in a few weeks, where I do have a public IP address so the built-in DDNS service should work.
Anyway, I decided to change the config to use a local IP address instead just like I did for the Wireguard Client test:
1 |
Endpoint = 192.168.31.240:51820 |
And it looks better with some received and sent packages:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
devkit@UPX-i11:~$ sudo wg interface: wg0 public key: XXX private key: (hidden) listening port: 58532 fwmark: 0xca6c peer: YYY endpoint: 192.168.31.240:51820 allowed ips: 0.0.0.0/0, ::/0 latest handshake: 1 minute, 14 seconds ago transfer: 188 B received, 20.64 KiB sent persistent keepalive: every 25 seconds |
And the UP Xtreme i11 also shows as a VPN client in the GL.iNet Admin Panel.
But for some reasons, it’s not very stable:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
root@GL-MT6000:~# ping 10.0.0.2 PING 10.0.0.2 (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: seq=65 ttl=64 time=122728.235 ms 64 bytes from 10.0.0.2: seq=66 ttl=64 time=121728.138 ms 64 bytes from 10.0.0.2: seq=67 ttl=64 time=120727.979 ms 64 bytes from 10.0.0.2: seq=68 ttl=64 time=119727.851 ms 64 bytes from 10.0.0.2: seq=70 ttl=64 time=117727.565 ms 64 bytes from 10.0.0.2: seq=72 ttl=64 time=115727.367 ms 64 bytes from 10.0.0.2: seq=73 ttl=64 time=114727.235 ms 64 bytes from 10.0.0.2: seq=74 ttl=64 time=113727.109 ms 64 bytes from 10.0.0.2: seq=75 ttl=64 time=112726.969 ms 64 bytes from 10.0.0.2: seq=81 ttl=64 time=106727.444 ms 64 bytes from 10.0.0.2: seq=82 ttl=64 time=105727.261 ms 64 bytes from 10.0.0.2: seq=83 ttl=64 time=104727.133 ms 64 bytes from 10.0.0.2: seq=84 ttl=64 time=103727.005 ms 64 bytes from 10.0.0.2: seq=185 ttl=64 time=2709.087 ms ^C --- 10.0.0.2 ping statistics --- 214 packets transmitted, 14 packets received, 93% packet loss round-trip min/avg/max = 2709.087/105940.455/122728.235 ms |
I tried to do the same with the OPPO A98 5G smartphone, and it works much better.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
root@GL-MT6000:~# ping 10.0.0.3 PING 10.0.0.3 (10.0.0.3): 56 data bytes 64 bytes from 10.0.0.3: seq=0 ttl=64 time=117.946 ms 64 bytes from 10.0.0.3: seq=1 ttl=64 time=39.689 ms ... 64 bytes from 10.0.0.3: seq=21 ttl=64 time=111.074 ms 64 bytes from 10.0.0.3: seq=22 ttl=64 time=28.050 ms 64 bytes from 10.0.0.3: seq=23 ttl=64 time=50.634 ms 64 bytes from 10.0.0.3: seq=24 ttl=64 time=77.005 ms ^C --- 10.0.0.3 ping statistics --- 25 packets transmitted, 25 packets received, 0% packet loss round-trip min/avg/max = 20.894/72.414/118.397 ms root@GL-MT6000:~# ping 10.0.0.2 PING 10.0.0.2 (10.0.0.2): 56 data bytes ^C --- 10.0.0.2 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss |
I could confirm the stability with iperf3 with the phone connected through a 433 Mbps link.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
jaufranc@CNX-LAPTOP-5:~$ iperf3 -t 60 -c 10.0.0.3 -i 10 Connecting to host 10.0.0.3, port 5201 [ 5] local 192.168.8.249 port 46212 connected to 10.0.0.3 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 204 MBytes 171 Mbits/sec 240 100 KBytes [ 5] 10.00-20.00 sec 208 MBytes 174 Mbits/sec 459 150 KBytes [ 5] 20.00-30.00 sec 228 MBytes 191 Mbits/sec 414 178 KBytes [ 5] 30.00-40.00 sec 221 MBytes 186 Mbits/sec 434 144 KBytes [ 5] 40.00-50.00 sec 216 MBytes 181 Mbits/sec 420 159 KBytes [ 5] 50.00-60.00 sec 217 MBytes 182 Mbits/sec 272 178 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 1.26 GBytes 181 Mbits/sec 2239 sender [ 5] 0.00-60.00 sec 1.26 GBytes 181 Mbits/sec receiver iperf Done. |
But it’s not really exploiting the full performance of the router, so I did one last try in a Ubuntu client with my laptop.
It quickly appeared in the list of VPN clients after I followed the same step as with the UP Xtreme i11 that is shown as offline despite the wg0 still up.
I then shut down the wg0 interface in the UP Xtreme i11 and ran iperf3 from there to 10.0.0.4 accessing my laptop through the WireGuard network.
- UP Xtreme i11 to Laptop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
devkit@UPX-i11:~$ iperf3 -t 60 -c 10.0.0.4 -i 10 Connecting to host 10.0.0.4, port 5201 [ 5] local 192.168.8.207 port 37768 connected to 10.0.0.4 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 1.04 GBytes 891 Mbits/sec 1 2.28 MBytes [ 5] 10.00-20.00 sec 1.04 GBytes 892 Mbits/sec 0 2.74 MBytes [ 5] 20.00-30.00 sec 1.03 GBytes 885 Mbits/sec 501 899 KBytes [ 5] 30.00-40.00 sec 1.03 GBytes 887 Mbits/sec 14 765 KBytes [ 5] 40.00-50.00 sec 1.04 GBytes 889 Mbits/sec 4 636 KBytes [ 5] 50.00-60.00 sec 1.03 GBytes 887 Mbits/sec 3 759 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 6.21 GBytes 889 Mbits/sec 523 sender [ 5] 0.00-60.04 sec 6.21 GBytes 888 Mbits/sec receiver iperf Done. |
- Laptop to UP Xtreme i11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
devkit@UPX-i11:~$ iperf3 -t 60 -c 10.0.0.4 -i 10 -R Connecting to host 10.0.0.4, port 5201 Reverse mode, remote host 10.0.0.4 is sending [ 5] local 192.168.8.207 port 55352 connected to 10.0.0.4 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 999 MBytes 838 Mbits/sec [ 5] 10.00-20.00 sec 1006 MBytes 844 Mbits/sec [ 5] 20.00-30.00 sec 995 MBytes 834 Mbits/sec [ 5] 30.00-40.00 sec 981 MBytes 823 Mbits/sec [ 5] 40.00-50.00 sec 1004 MBytes 842 Mbits/sec [ 5] 50.00-60.00 sec 980 MBytes 822 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.05 sec 5.83 GBytes 834 Mbits/sec 349 sender [ 5] 0.00-60.00 sec 5.82 GBytes 834 Mbits/sec receiver iperf Done. |
The performance is excellent, although quite lower than 900 Mbps for the laptop to mini PC transfer. At the time of the test, both devices were connected through Gigabit Ethernet.
Misc features
GL.iNet routers are versatile with plenty of features that would make the review really long, potentially boring to readers, and time-consuming to complete, so it’s not practical to test everything. But I’ll still show the list of features, some of which have already been tested in previous reviews as mentioned in the introduction.
The Applications section offers menus for plug-ins (packages that can installed in the router), dynamic DNS, GoodCloud for remote access, network storage (we’ll test that below), parental control, and services such as ZeroTier and Tailscale.
The Network section allows the user to configure the firewall, multi-WAN, LAN, guest network, DNS, IPv6, NAT, network acceleration, and more…
The System section provides some information about the router, and for example, we can see the GL.iNet Flint 2 runs OpenWrt 23.05 (or more likely a fork although it’s also officially supported) on top of Linux 5.15.139 with the latest firmware. We also get menus for firmware updates, scheduled tasks, time zone configuration, logs for debugging/troubleshooting, security (password, remote access to admin panel, etc…), factory reset, and advanced settings that point to the OpenWrt’s LuCi web interface.
I decided to quickly try Network Storage by connecting our “review” USB hard drive. The Flint 2 has no problems mounting the NTFS, EXT-4, and exFAT partitions, but is not so pleased with the BTRFS partition…
The next step is to enable Samba in the File Services tab.
After I set a shared folder on the EXT-4 partition in the Shared Folders tab.
My Ubuntu 22.04 laptop could see the GL-MT6000 share (twice! not sure why…) and I could log in with the credentials I set in the Admin Panel.
I could then transfer a large file from the router to my laptop at around 31.3 MB/s.
That’s quite slow considering that’s a USB 3.0 port and my drive should support around 95 MB/s. But at least it works.
1 2 3 4 |
root@GL-MT6000:~# lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 20000M/x2 |__ Port 1: Dev 2, If 0, Class=, Driver=uas, 5000M/x2 /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/2p, 480M |
Conclusion
GL.i.Net Flint 2 (GL-MT6000) is a solid router with two 2.5GbE ports, four gigabit Ethernet, support for WiFi 6, and an Admin Panel with plenty of features that should meet the needs of most users. I would confirm the 2.5GbE and WiFi 6 performance was excellent and verified the 900 Mbps WireGuard VPN claim both in Server and Client modes, although it drops to 834 Mbps in Server mode in one direction.
I did not encounter issues that should not be directly related to the Flint 2 router. Notably, I did have some challenges with my ISP which appears to block UDP traffic (so WireGuard is not an option, now that I think about it the slower OpenVPN might work) and one of the WireGuard VPN clients could not connect reliably to the Flint 2 WireGuard server for unknown reasons (it could only connect for a few seconds, and then disconnected). The only real disappointment was the slow transfer speed (a little over 30MB/s) for SAMBA using a USB 3.0 drive and gigabit Ethernet.
I’d like to thank GL.iNet for sending the GL-MT6000 “Flint 2” AX6000 router for review. It can be purchased for $159 with free shipping on the company’s store or on Amazon.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
You may try to install usb3 drivers for OvenWRT. They seem to be missing in their standart install.
This might boost drive performance.
Contact their support, they are aware of it. (Since a week…)
https://forum.gl-inet.com/t/no-usb3-drivers-for-brume-ii-fw4-5-0rc-installed/36881
I stumbled about it trying to do some (advanced) Docker stuff
(Needs some tweaking to get Docker running)
Hopefully both will be fixed in 4.5 release…
With the Docker opportunities threes routers really a good choice…
Thanks for the tip, but the kmod-usb3 package is already installed in the latest firmware for the Flint 2. But I’ve tried again just in case (since I had just installed the package for lsusb), and the results are the same.
Have you also tried this one:
1. To install support for UASP aka USB Attached SCSI (supported by many USB drives and drive enclosures, especially if USB 3.0. It enhances performance if it’s supported by both the drive and the host controller in your device):
opkg install kmod-usb-storage-uas
I am not to deep into usb3 drive performance & OpenWRT, but it would make sense…
UAS is already enabled. I added the lsusb output shortly after publishing the review, and it’s there
But I double-checked anyway and the kmod-usb-storage-uas package is also installed.
it can do 145MB/s with official openwrt snapshots see https://forum.openwrt.org/t/gl-inet-flint-2-gl-mt6000-discussions/173524/382
“The link speed was 270 Mbps at 2.4 GHz. The specs claim up to 1,148 Mbps @ 2.4 GHz, but that’s for multiple devices” – You need to set the width to 40 MHz, use a device that supports 802.11ax and be within a few meters of the router. Then you should see the faster link speeds.
“but the GL-MT6000 Flint 2 router has a much narrower graph at 5 GHz since it uses fewer channels” – You should set the width to 160 MHz and pick a DFS channel. That should then drastically increase your link speed while also increasing the channel coverage, providing your phone supports 160 MHz.
The GL-MT6000 might come preconfigured with the wrong country codes set for WiFi, so be sure to go into LuCI and configure WiFi that way.
Based on past experience, having worked at a router manufacturer, USB 3.0 often requires driver tuning and as we used a third party chipset, we worked with the manufacturer to optimise the drivers for our router.
In this case it appears that MTK didn’t provide an optimised driver for the USB 3.0 implementation in the SoC, which it’s causing the poor USB 3.0 performance.
Interesting that everything wired is Realtek. That was quite unexpected.
Hi. Thanks for the review info.
Please could you run an iPerf UDP test from the router itself. Can it do 800Mbps of UDP without packet loss over the ethernet / WAN port?
I’m interested to use it to monitor fibre line health, and the easiest way is to see if you can do 80% of line speed UDP iPerf test without packet loss… usually on gigabit lines.
Something like:
iperf3 -4 -V -t 30 -O 3 -u -b 800M -l 1440 -R -c <IPERF SERVER>
The WireGuard test already shows a UDP performance of 900 Mbps. I can do the test again with your specific command line, but I’d need one week since I’m not at home right now.