MT7621 HW NAT Offloading broken

Hi! I use Mi Router 3G with OpenWRT 19.07.4 and noticed that when I download many torrents (5-7) on my PC over WiFi I have a problem opening web pages over the same wifi connection on my PC or other devices. It seems that connection to web sites established but data flows very slowly. The speed of my uplink is 100Mbps and actual download speed of Torrent client is 100Mbps. I see via web interface that I have just 700-1000 connections on router. Router has Load Averages something like 1.01, 0.97, 0.61.
I am disappointed because I have an old router Keenetic Omni (it has HW NAT) which is able to handle the same load without depriving me from browsing the web.

Is this anything to do with hw nat? Can I enable o tune something to make my router to work better because it is very disappointing when rather new and powerful hardware works much worse that a 5-years old mediocre router.

Do you also have this problem while using a cable instead of WiFi? Do you also have this issue with HW NAT disabled (it can easily do 100 MBit/s without it enabled).

Thank you for response.
HW NAT was disabled when I wrote this (as far as I understand). I found "offloading" checkboxes in the "firewall" section later and set them on (rebooted also). No changes. The same behavior. I'll check how it goes on cable connection tonight.

I've made some tests.

  1. My problem still exists when I use cable connection.
    When torrent client on my PC is downloading 5 torrents on total speed 100Mbps, web pages on the same PC usually do not load at all or are loaded partially.
    I can open a page with a few tens of images and then watch'em rendering slowly line by line.
    At the same time my mobile phone and tablet, which are connected over wifi have problems with web-browsing too so the problem is not in my PC.

  2. When using cable connection the effect of "software flow offloading" could be seen clearly.
    If HW NAT is off - I see all 4 bars in htop filled roughly by quarter when downloading torrents on 100Mbps.
    If HW NAT is on - all 4 bars are actually empty and the heaviest load is htop itself.
    But despite the perfectly calm CPU I still have problems with web browsing.

  3. "CPU load" of which I speak may be not an "actual" load but some IO waiting etc. Because it is produced by softirq mostly.

  4. I got a suggestion to disable uTP bandwidth management in uTorrent. I tried this. It kind of works.
    I have no problems with web-access, but my torrent client is unable to gain its full speed and is downloading at 7 MB/s instead of 11MB/s when uTP is disabled. So I don't know what actually is helping in this situation.

I think your problem is your connection itself. When it's maxed out there's hardly any bandwidth left for other things. Your previous Keenetic Omni may have some basic QoS implemented. You should use QoS to prioritize DNS and HTTP/HTTPS traffic and maybe pop3/smtp/imap for mail clients.

PS: It sounds good that there is no CPU utilization at all when enabling HW NAT. This is working. I have not tried 19.07.4 yet.

Now, when you have said it, I think that it might be true, though I have no their IntelliQoS module installed. Maybe they invented some helper. I'll try to use luci-app-sqm but there might be a little problem. I have 100Mbps only at night.

HW NAT still seems broken with IPv6. It's working as expected with IPv4 connections though. Anyone else who's seeing the same thing?

Edit: Actually, let me rephrase that: IPv6 of course doesn't use NAT, so it's silly talking about HW NAT not working. What I meant was that HW Flow offloading seems broken with IPv6 on 19.07.4.

Oh yes, I guess I'm seeing this too!

I have a D-Link DIR-1960 A1 here and am using OpenWrt SNAPSHOT r14954-aafbfc6ac3 on it. When I enable "software flow offloading" and "hardware flow offloading", I can reach about wire speed (1 Gbps) when routing IPV4 traffic between WAN and LAN, however, with IPv6 I can only reach a little more than 100 Mbps. When I turn "software flow offloading" and "hardware flow offloading" off, I go down to about that with IPv4 too, so it does indeed currently seem like these two flow offloading options do only have an effect on IPv4 traffic and not on IPv6. A little sad, because otherwise this router rocks for OpenWRT use - it's got plenty of space to install stuff on, which is a vast improvement from the Archer C6 v2 I was using here previously, which would barely accept a handful of carefully selected packages before its storage was vull. :wink:

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.