Slow speeds after install on Flint 2

Hello,

I recently purchased a Flint 2 and installed OpenWRT following the instructions at https://openwrt.org/toh/gl.inet/gl-mt6000.

After installation, I configured both the 2.4Mhz and 5Mhz networks to WPA3, renamed them, and set passwords. I changed my ISP's combo modem-router to bridge mode. I also set the country codes for each network to my country (United States).

I ran a speedtest on a whim and noticed my speeds were at 100Mbps. I pay for 600Mbps from my ISP and before OpenWRT I would get that much usually and maybe 300-400Mbps at peak times. I changed the Ethernet cord connecting my router to my modem, that was not the problem.

When I connected via Ethernet from my computer to my modem, bypassing the router entirely, the connection was at the expected ~600Mbps. When I connected to my router, whether wired or wireless, the connection dropped to ~100Mbps. So I assume the router config must be the issue.

Waveform speedtests to substantiate above paragraph: https://imgur.com/a/uaxm5AG

I reviewed other threads on the same issue, and folks were asked to paste results of entering commands into the terminal, which follows here. (I removed passwords and SSIDs, let me know if there is anything else I should delete for privacy.)

root@OpenWrt:~# ubus call system board
{
	"kernel": "6.6.86",
	"hostname": "OpenWrt",
	"system": "ARMv8 Processor rev 4",
	"model": "GL.iNet GL-MT6000",
	"board_name": "glinet,gl-mt6000",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "24.10.1",
		"revision": "r28597-0425664679",
		"target": "mediatek/filogic",
		"description": "OpenWrt 24.10.1 r28597-0425664679",
		"builddate": "1744562312"
	}
}
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'
	list ports 'lan5'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'wan'
	option device 'eth1'
	option proto 'dhcp'

config interface 'wan6'
	option device 'eth1'
	option proto 'dhcpv6'

root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'radio0'
	option type 
	option path 'platform/soc/18000000.wifi'
	option band '2g'
	option channel '1'
	option htmode 'HE20'
	option cell_density '0'
	option country 'US'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 
	option encryption 'sae'
	option key 
	option ocv '0'

config wifi-device 'radio1'
	option type
	option path 'platform/soc/18000000.wifi+1'
	option band '5g'
	option channel '36'
	option htmode 'HE80'
	option cell_density '0'
	option country 'US'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid
	option encryption 'sae'
	option key
	option ocv '0'

root@OpenWrt:~# cat /etc/config/dhcp

config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option cachesize '1000'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard '1'
	option localservice '1'
	option ednspacket_max '1232'
	option filter_aaaa '0'
	option filter_a '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	option ra_slaac '1'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'

root@OpenWrt:~# cat /etc/config/firewall

config defaults
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option synflood_protect '1'

config zone
	option name 'lan'
	list network 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'

config zone
	option name 'wan'
	list network 'wan'
	list network 'wan6'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'

config forwarding
	option src 'lan'
	option dest 'wan'

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

Any ideas?

Check agreed speeds ethtool wan
Strictly 100mbps seems like cable issue on such OP router.

What are your wired speeds?

Am I meant to run ethtool wan on my computer, or after SSHing into the router? I have a Mac and doesn't seem like I can install that via Homebrew. When I ran it after SSHing I just get:

root@OpenWrt:~# ethtool wan
Settings for wan:
Cannot get device settings: No such device
Cannot get wake-on-lan settings: No such device
Cannot get message level: No such device
Cannot get link status: No such device
No data available

(Edit: Booted up an old Linux laptop and connected to my 5Ghz band network, ethtool wan spat out same error: no such device.)

As in the post, when I am connected via Ethernet to my modem, my speeds are ~600Mbps. When I am connected via Ethernet or via Wi-Fi to the router, my speeds are ~100Mbps. Check Imgur link for Waveform speedtests.

Run logread -f on the router via ssh, pull the wan Ethernet cable, and reconnect it.
Post the output.

Okay, here it is:

root@OpenWrt:~# logread -f
Tue May 27 03:51:43 2025 daemon.notice netifd: Network device 'eth1' link is down
Tue May 27 03:51:43 2025 daemon.notice netifd: Interface 'wan' has link connectivity loss
Tue May 27 03:51:43 2025 daemon.notice netifd: Interface 'wan6' has link connectivity loss
Tue May 27 03:51:43 2025 kern.info kernel: [31321.006992] mtk_soc_eth 15100000.ethernet eth1: Link is Down
Tue May 27 03:51:43 2025 daemon.notice netifd: wan (12736): udhcpc: received SIGTERM
Tue May 27 03:51:43 2025 daemon.notice netifd: wan (12736): udhcpc: unicasting a release of 192.168.0.13 to 192.168.0.1
Tue May 27 03:51:43 2025 daemon.notice netifd: wan (12736): udhcpc: sending release
Tue May 27 03:51:43 2025 daemon.notice netifd: wan (12736): udhcpc: entering released state
Tue May 27 03:51:43 2025 daemon.notice netifd: wan (12736): Command failed: ubus call network.interface notify_proto { "action": 0, "link-up": false, "keep": false, "interface": "wan" } (Permission denied)
Tue May 27 03:51:43 2025 daemon.notice netifd: Interface 'wan' is now down
Tue May 27 03:51:43 2025 daemon.warn dnsmasq[1]: no servers found in /tmp/resolv.conf.d/resolv.conf.auto, will retry
Tue May 27 03:51:43 2025 daemon.notice netifd: Interface 'wan6' is now down
Tue May 27 03:51:44 2025 daemon.warn odhcpd[2059]: No default route present, overriding ra_lifetime to 0!
Tue May 27 03:52:20 2025 daemon.notice hostapd: phy1-ap0: AP-STA-DISCONNECTED b0:be:83:42:ad:9c
Tue May 27 03:52:20 2025 daemon.info hostapd: phy1-ap0: STA IEEE 802.11: disassociated
Tue May 27 03:52:21 2025 daemon.info hostapd: phy1-ap0: STA IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Tue May 27 03:52:23 2025 daemon.info hostapd: phy1-ap0: STA IEEE 802.11: authenticated
Tue May 27 03:52:23 2025 daemon.info hostapd: phy1-ap0: STA IEEE 802.11: associated (aid 1)
Tue May 27 03:52:23 2025 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED auth_alg=open
Tue May 27 03:52:23 2025 daemon.info hostapd: phy1-ap0: STA WPA: pairwise key handshake completed (RSN)
Tue May 27 03:52:23 2025 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED
Tue May 27 03:52:23 2025 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) 192.168.1.204
Tue May 27 03:52:23 2025 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) 192.168.1.204
Tue May 27 03:52:23 2025 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) 192.168.1.204
Tue May 27 03:52:23 2025 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) 192.168.1.204
Tue May 27 03:52:23 2025 daemon.warn odhcpd[2059]: No default route present, overriding ra_lifetime to 0!
Tue May 27 03:52:23 2025 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) 192.168.1.204 
Tue May 27 03:52:23 2025 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) 192.168.1.204
Tue May 27 03:52:23 2025 daemon.warn odhcpd[2059]: No default route present, overriding ra_lifetime to 0!
Tue May 27 03:52:26 2025 daemon.notice netifd: Network device 'eth1' link is up
Tue May 27 03:52:26 2025 daemon.notice netifd: Interface 'wan' has link connectivity
Tue May 27 03:52:26 2025 daemon.notice netifd: Interface 'wan' is setting up now
Tue May 27 03:52:26 2025 daemon.notice netifd: Interface 'wan6' has link connectivity
Tue May 27 03:52:26 2025 daemon.notice netifd: Interface 'wan6' is setting up now
Tue May 27 03:52:26 2025 kern.warn kernel: [31363.960477] RTL8221B-VB-CG 2.5Gbps PHY (C45) mdio-bus:01: Downshift occurred from negotiated speed 2.5Gbps to actual speed 100Mbps, check cabling!
Tue May 27 03:52:26 2025 kern.info kernel: [31363.973636] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
Tue May 27 03:52:26 2025 daemon.notice netifd: wan (14192): udhcpc: started, v1.36.1
Tue May 27 03:52:26 2025 daemon.notice netifd: wan (14192): udhcpc: broadcasting discover
Tue May 27 03:52:28 2025 daemon.warn odhcpd[2059]: No default route present, overriding ra_lifetime to 0!
Tue May 27 03:52:29 2025 daemon.notice netifd: wan (14192): udhcpc: broadcasting discover
Tue May 27 03:52:29 2025 daemon.notice netifd: wan (14192): udhcpc: broadcasting select for 192.168.0.13, server 192.168.0.1
Tue May 27 03:52:29 2025 daemon.notice netifd: wan (14192): udhcpc: lease of 192.168.0.13 obtained from 192.168.0.1, lease time 86400
Tue May 27 03:52:29 2025 daemon.notice netifd: Interface 'wan' is now up
Tue May 27 03:52:29 2025 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
Tue May 27 03:52:29 2025 daemon.info dnsmasq[1]: using nameserver 192.168.0.1#53
Tue May 27 03:52:29 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
Tue May 27 03:52:29 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Tue May 27 03:52:29 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Tue May 27 03:52:29 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
Tue May 27 03:52:29 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Tue May 27 03:52:29 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Tue May 27 03:52:29 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Tue May 27 03:52:29 2025 user.notice firewall: Reloading firewall due to ifup of wan (eth1)
Tue May 27 03:52:30 2025 daemon.warn odhcpd[2059]: No default route present, overriding ra_lifetime to 0!
Tue May 27 03:52:33 2025 daemon.warn odhcpd[2059]: No default route present, overriding ra_lifetime to 0!

Replace the cable.

You're also doubt NATing, modem isn't bridged, or you're using the wrong port on the modem.

1 Like

Realized I am probably supposed to replace wan with my actual wan, which I'm guessing is eth1?

Results of ethtool eth1:

root@OpenWrt:~# ethtool eth1
Settings for eth1:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	                        2500baseT/Full 
	Supported pause frame use: Symmetric Receive-only
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	                        2500baseT/Full 
	Advertised pause frame use: Symmetric Receive-only
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	                                     1000baseT/Half 1000baseT/Full 
	                                     2500baseT/Full 
	Link partner advertised pause frame use: Symmetric Receive-only
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: external
	Auto-negotiation: on
	MDI-X: Unknown
	Current message level: 0x000000ff (255)
			       drv probe link timer ifdown ifup rx_err tx_err
	Link detected: yes

I replaced the cable and ran the speedtest again, same results. Could be the second cable is also throttling it?

Gotcha. I will check the ISP modem-router's settings again.

Edit: Looks like the setting to bridge mode reversed itself. I originally followed the instructions in the top comments on this Reddit thread to switch to bridge mode.

Could also be an issue with the port driver, but I haven't seen any reports about port speed issues on the MT6000.

You could disable autoneg using ethtool, and force port speed to 1gbit.

If you have a gigabit switch, temp put it between the modem and the router.

Tried this:

root@OpenWrt:~# ethtool -s eth1 speed 1000
Cannot advertise speed 1000

Don't have one, unfortunately.

At least the double router issue should be resolved. Modem is now only accessible at 192.168.100.1 as Reddit thread indicated it would be if bridge mode had been successfully activated.

Probably need to switch off autoneg 1st:

The WAN IP subnet would have changed...

Okay, I tried this now:

root@OpenWrt:~# ethtool -s eth1 speed 1000 duplex full autoneg off

Computer remained connected to the Wi-Fi network, but Internet was not accessible.

Oh, I see. You mean eth1 would have become eth0? Perhaps after a router reset?

Then I'd say the issues with the modem, if it got several ports try them all.

No, just not an 192.168.0.X IP any more.

Then I'd say the issues with the modem, if it got several ports try them all.

Tried modem's one WAN port and each LAN port (it has 3 ports total) and no luck. (I was always plugged into router's WAN port on the other side.)

Guess I should try calling up ISP and asking for a standalone modem?

Oh, gotcha. It did change to 192.168.100.X, not 192.168.0.X, but not sure if that makes a difference.

I checked the ISP modem-router web GUI and found this which seems wrong as well: https://imgur.com/a/GWk6oNy.

You can always to back to the GL.iNet firmware, to check if it's a hw issue, or Openwrt.

Everything 192.168.x.y is NAT.

I'll give this a shot after work, though I am beginning to suspect it is a hardware issue with the ports/cables, especially after reading through more threads by people with a similar problem online. I connected via Ethernet from modem to computer again expecting to get my full speeds, and was throttled back down to 100Mbps again. So I'm wondering if the 600Mbps reading I pasted in Imgur was a fluke, e.g., cables aren't aligning properly because they're low-quality hardware and the 600Mbps reading was just when they happened to align well). Some of them are cat5e which shouldn't make a difference? And at least 2-3 of them were new, I'd never used them ever since getting them from the box they came in (I've tried 5-6 different cables at this point).

Oh, I see. If the double NAT issue is persisting, could that also be part of the overall throttling issue? I'm not sure what else to do to fix that.

Okay, I flashed the GL.iNet firmware back, and the issue appears to be persisting. Looks like we can confirm OpenWRT is not the problem, I guess.

Plugged one end of Ethernet into computer, the other into modem LAN port, got fast speeds again.

What would you troubleshoot next? Maybe go back to using the ISP device as both modem and router, and if the issue persists, it's a cables/ports issue, and if it resolves itself, it's a modem configuration or router hardware issue?

https://business.shaw.ca/support/using-existing-router-firewall-with-smartwifi

Do you have in your hitron any settings like IP passthrough setup.

No, I don't. On the webpage you linked, there are screenshots of a tab in the modem web GUI (Admin>IP Passthrough) and that tab doesn't appear in my modem web GUI when I select "Admin". Only "Management", "Diagnostics", "Backup", and "Device Reset".