hanwckf / rt-n56u

Padavan
3.27k stars 3.69k forks source link

unlocked ramcodes #562

Open i3roly opened 3 years ago

i3roly commented 3 years ago

ok @hanwckf

i know you guys are holding out on us ok. there is no way you aren't.

both the mt76 driver (when i did get vht160 stable enough to run speedtest a few times) AND the proprietary driver seem to never pass 400 Mbps down, or 500 Mbps upload.

literally right when it hits about ~400 Mbps, it starts to throttle down and seems to top out around 371Mbps.

it is highly unusual both drivers yield very similar performance that is far below the specification and capabilities of the driver. this would explain why the factory firmware from dlink is encrypted (if i recall correctly) and also you cannot access terminal via serial.

i understand why these unlocked ramcodes aren't public, but please be considerate. i have been supporting this platform for a few years and now all that's missing is the full performance. there is no way that two drivers can yield the same performance cap if it is not being done artificially at the driver (or ram code, is my guess) level.

MeIsReallyBa commented 3 years ago

so you have the switch getting detected now?

I want to say that swconfig did not work. I started to say it wrong.

i3roly commented 3 years ago

no problem. i bet this way is better. are the packets tagged now? should i be using switch commands for "CONFIG_RAETH_SPECIAL_TAG" or not?

MeIsReallyBa commented 3 years ago

no problem. i bet this way is better. are the packets tagged now? should i be using switch commands for "CONFIG_RAETH_SPECIAL_TAG" or not?

I just used 802.1q vlan in openwrt luci and the packet was tagged.But I think it maybe achieved by software instead of switch.I'm not familiar with MTK switch setting,it's hard for me to learn how to use it.

MeIsReallyBa commented 3 years ago

Did raeth switch use something like this?it's really hard to understand. switch vlan set 3 0001100 0 0 ---ut-- switch reg w 0x2004 0x00770003

MeIsReallyBa commented 3 years ago

The reason that I prefer mtk driver is that it has swconfig support without using complex raeth switch setting and more potential to work in newer linux kernel.But it seems that you have made raeth driver work in linux 4.14.

i3roly commented 3 years ago

yeah i'm trying to copy the commands from dlink's GPL.

usually it's in romfs/usr/sbin/internet.sh and romfs/usr/sbin/config-vlan.sh

it's a very powerful program. it can create internal vlans without having to use vconfig. but it's very tricky to use.

first they use

        switch reg w 2004 ff0003 #port0
        switch reg w 2104 ff0003 #port1
        switch reg w 2204 ff0003 #port2
        switch reg w 2304 ff0003 #port3
        switch reg w 2404 ff0003 #port4
        switch reg w 2504 ff0003 #port5
        #LAN/WAN ports as transparent port
        switch reg w 2010 810000c0 #port0
        switch reg w 2110 810000c0 #port1
        switch reg w 2210 810000c0 #port2
        switch reg w 2310 810000c0 #port3  
        switch reg w 2410 810000c0 #port4
        switch reg w 2510 810000c0 #port5
        #set CPU/P7 port as user port
        switch reg w 2610 81000000 #port6
        switch reg w 2710 81000000 #port7

        switch reg w 2604 20ff0003 #port6, Egress VLAN Tag Attribution=tagged
        switch reg w 2704 20ff0003 #port7, Egress VLAN Tag Attribution=tagged

and then for SPECIAL TAG (tagged) LLLLW they use:

            switch reg w 2610 81000020 #port6 // special tag enabled
                #VLAN member port
                switch vlan set 0 1 10000010
                switch vlan set 0 2 01000010
                switch vlan set 0 3 00100010
                switch vlan set 0 4 00010010
                switch vlan set 0 5 00001010
                switch vlan set 0 6 00000110
                switch vlan set 0 7 11110110
                switch vlan set 0 8 00001010
                #set PVID
                switch reg w 2014 10007 #port0
                switch reg w 2114 10007 #port1
                switch reg w 2214 10007 #port2
                switch reg w 2314 10007 #port3
                switch reg w 2414 10008 #port4
                switch reg w 2514 10007 #port5
                 #VLAN member port
                switch vlan set 0 1 10000010
                switch vlan set 0 2 01000010
                switch vlan set 0 3 00100010
                switch vlan set 0 4 00010010
                switch vlan set 0 5 00001010
                switch vlan set 0 6 00000110
                switch vlan set 0 7 11110110
                switch vlan set 0 8 00001010

untagged for LLLLW is

                switch reg w 2610 81000020 #port6 // special tag disabled
                #set PVID
                switch reg w 2014 10001 #port0
                switch reg w 2114 10001 #port1
                switch reg w 2214 10001 #port2
                switch reg w 2314 10001 #port3
                switch reg w 2414 10002 #port4
                switch reg w 2514 10001 #port5
                #VLAN member port
                switch_7530 vlan set  0 1 11110110
                switch_7530 vlan set  0 2 00001010

it's only working thanks to your suggestions lol. and yes it is definitely working. and both gmacs are there. but it's super tricky to configure. i missed one chunk of commands for tagged mode, going to try it and see what happens.

i may just do what you have and use the modified mtk driver in the source tree, but i would rather use this. adding every external interface in dts would be a problem since i allow users to add up to 10 vifs per radio.

MeIsReallyBa commented 3 years ago

yeah i'm trying to copy the commands from dlink's GPL.

usually it's in romfs/usr/sbin/internet.sh and romfs/usr/sbin/config-vlan.sh

it's a very powerful program. it can create internal vlans without having to use vconfig. but it's very tricky to use.

first they use

        switch reg w 2004 ff0003 #port0
        switch reg w 2104 ff0003 #port1
        switch reg w 2204 ff0003 #port2
        switch reg w 2304 ff0003 #port3
        switch reg w 2404 ff0003 #port4
        switch reg w 2504 ff0003 #port5
        #LAN/WAN ports as transparent port
        switch reg w 2010 810000c0 #port0
        switch reg w 2110 810000c0 #port1
        switch reg w 2210 810000c0 #port2
        switch reg w 2310 810000c0 #port3  
        switch reg w 2410 810000c0 #port4
        switch reg w 2510 810000c0 #port5
        #set CPU/P7 port as user port
        switch reg w 2610 81000000 #port6
        switch reg w 2710 81000000 #port7

        switch reg w 2604 20ff0003 #port6, Egress VLAN Tag Attribution=tagged
        switch reg w 2704 20ff0003 #port7, Egress VLAN Tag Attribution=tagged

and then for SPECIAL TAG (tagged) LLLLW they use:

          switch reg w 2610 81000020 #port6 // special tag enabled
                #VLAN member port
                switch vlan set 0 1 10000010
                switch vlan set 0 2 01000010
                switch vlan set 0 3 00100010
                switch vlan set 0 4 00010010
                switch vlan set 0 5 00001010
                switch vlan set 0 6 00000110
                switch vlan set 0 7 11110110
                switch vlan set 0 8 00001010
                #set PVID
                switch reg w 2014 10007 #port0
                switch reg w 2114 10007 #port1
                switch reg w 2214 10007 #port2
                switch reg w 2314 10007 #port3
                switch reg w 2414 10008 #port4
                switch reg w 2514 10007 #port5
                 #VLAN member port
                switch vlan set 0 1 10000010
                switch vlan set 0 2 01000010
                switch vlan set 0 3 00100010
                switch vlan set 0 4 00010010
                switch vlan set 0 5 00001010
                switch vlan set 0 6 00000110
                switch vlan set 0 7 11110110
                switch vlan set 0 8 00001010

untagged for LLLLW is

                switch reg w 2610 81000020 #port6 // special tag disabled
                #set PVID
                switch reg w 2014 10001 #port0
                switch reg w 2114 10001 #port1
                switch reg w 2214 10001 #port2
                switch reg w 2314 10001 #port3
                switch reg w 2414 10002 #port4
                switch reg w 2514 10001 #port5
                #VLAN member port
                switch_7530 vlan set  0 1 11110110
                switch_7530 vlan set  0 2 00001010

it's only working thanks to your suggestions lol. and yes it is definitely working. and both gmacs are there. but it's super tricky to configure. i missed one chunk of commands for tagged mode, going to try it and see what happens.

i may just do what you have and use the modified mtk driver in the source tree, but i would rather use this. adding every external interface in dts would be a problem since i allow users to add up to 10 vifs per radio.

By the way,did you make hardware offload work in dd-wrt?you said that you are using flow_offload version of the mtk_eth_soc.c driver

i3roly commented 3 years ago

yes i have that working, but that is only for wired as @blogic said

what they did is backported version of hnat driver you're using, but with NF_FLOW_TABLES. it is better than nothing, but it's "old" now.

http://lists.infradead.org/pipermail/lede-commits/2018-April/006569.html

this is the patches that add it

MeIsReallyBa commented 3 years ago

yes i have that working, but that is only for wired as @blogic said

what they did is backported version of hnat driver you're using, but with NF_FLOW_TABLES. it is better than nothing, but it's "old" now.

http://lists.infradead.org/pipermail/lede-commits/2018-April/006569.html

this is the patches that add it

oh,i think only openwrt support flowoffload.so can dd-wrt also support this?

i3roly commented 3 years ago

developer added the patches. he works with openwrt guys quite a bit.

here is full commit on his svn

MeIsReallyBa commented 3 years ago

developer added the patches. he works with openwrt guys quite a bit.

here is full commit on his svn

This is another chinese ones said.I didn't finish the task as i'm not familiar with openwrt offload. "Yes, you need to change the driver. Call mtk_flow_offload in ndo_flow_offload of mt7615, set ipv4_hnapt.iblk2.dp in the wan-->wifi direction to 0 in mtk_foe_prepare_v4, and change skb->dev in fe_poll_rx. Mt7622 should support pure hardware nat, while mt7621 should only be able to do ppe-->cpu-->wifi"

i3roly commented 3 years ago

he's saying i can make changes to flow_offload in the mtk openwrt driver version and get hwnat?

i didn't know i could change some kernel settings and have it work.

from what i can understand he's saying change

entry->ipv4_hnapt.iblk2.dp = 1;

to

entry->ipv4_hnapt.iblk2.dp = 0

and

skb->dev = netdev;

in fe_poll_rx. but what should i change the skb device to?

MeIsReallyBa commented 3 years ago

he's saying change

entry->ipv4_hnapt.iblk2.dp = 1;

to

entry->ipv4_hnapt.iblk2.dp = 0

and

skb->dev = netdev;

in fe_poll_rx. but what should i change the skb device to?

another one write a module to support wifi hwnat and he did something like i mentioned above. https://github.com/x-wrt/x-wrt/commit/da39469d6722cf858d44403ab657539e62699609 https://github.com/ptpt52/natflow/commit/f65d07b30a621ac6674d6b03b3b3f3a72e887da8

i3roly commented 3 years ago

ohhhhh wowwwww

very nice find!! WOW! hwnat with flow offload!

MeIsReallyBa commented 3 years ago

ohhhhh wowwwww

very nice find!! WOW! hwnat with flow offload!

From the above point of view, modifying the flow offload that comes with openwrt should be able to achieve wireless hwnat, but this requires people who are very familiar with linux network and mtk hwnat.

i3roly commented 3 years ago

the person whose github you shared is obviously very skilled.

i couldn't do this. i am assuming with his changes that we can just install this module and have hwnat

MeIsReallyBa commented 3 years ago

RA_HW_NAT is for reath instead of openwrt open source driver.They are not related.PTPT52

ot related

but mt_wifi driver references HW_NAT, i think? so how does driver know where

i3roly commented 3 years ago

i am hoping raeth is matured by next DIRX1860 gpl release. it's close. i had issues getting dhcp locally at times. sometimes it worked, sometimes it did not. it is definitely initalised properly. i am quite surprised they even fixed it. i never thought they would! i hope it is even better soon.

they did not do the "easy" things like assign mac address from mtd like old raeth driver, so i hope it's work in progress.

i3roly commented 3 years ago

RA_HW_NAT is for reath instead of openwrt open source driver.They are not related

but mt_wifi driver references HW_NAT, i think? so how does driver know where to send packets if no macro is present to tell it? with RA_HW_NAT it knows to send to ethernet, and with HW_NAT module the ethernet is configured to receive it.

does flow offload somehow intercept packets from external devices without needing to change mt_wifi driver?

i want to use RAETH now lol. you have me excited for what may be in future releases!@

MeIsReallyBa commented 3 years ago

RA_HW_NAT is for reath instead of openwrt open source driver.They are not related

but mt_wifi driver references HW_NAT, i think? so how does driver know where to send packets if no macro is present to tell it? with RA_HW_NAT it knows to send to ethernet, and with HW_NAT module the ethernet is configured to receive it.

does flow offload somehow intercept packets from external devices without needing to change mt_wifi driver?

i want to use RAETH now lol. you have me excited for what may be in future releases!@

He has even realized mt76 hardware nat offload in mt7621 platform.I guess this code did this.Wifi driver has no ndo_flow_offload so the ethernet driver could distinguish it. entry->ipv4_hnapt.iblk2.dp = (dest->dev->netdev_ops->ndo_flow_offload ? 1 : 0);

MeIsReallyBa commented 3 years ago

i am hoping raeth is matured by next DIRX1860 gpl release. it's close. i had issues getting dhcp locally at times. sometimes it worked, sometimes it did not. it is definitely initalised properly. i am quite surprised they even fixed it. i never thought they would! i hope it is even better soon.

they did not do the "easy" things like assign mac address from mtd like old raeth driver, so i hope it's work in progress.

I didn't meet this problem.DHCP works correctly.

MeIsReallyBa commented 3 years ago

eth0 Link encap:Ethernet HWaddr 04:5F:A7:66:70:23

it seems that my ethernet mac address is assigned from MTD as it's close to my wifi mac address.

i3roly commented 3 years ago

i am hoping raeth is matured by next DIRX1860 gpl release. it's close. i had issues getting dhcp locally at times. sometimes it worked, sometimes it did not. it is definitely initalised properly. i am quite surprised they even fixed it. i never thought they would! i hope it is even better soon. they did not do the "easy" things like assign mac address from mtd like old raeth driver, so i hope it's work in progress.

I didn't meet this problem.DHCP works correctly.

for me it does, and sometimes doesn't. it's possible i've flashed my router too many times today and possibly causing issues. it was kind of warm haha. i will try raeth again tomorrow before calling it.

one of the interfaces works correctly, but not both. it will assign random mac to eth1/eth3.

i3roly commented 3 years ago

i also just realised if you leave dts with both gmac as "force-1000", that swithc is still detected.

it was weird i could not get dhcp locally but i suspect it may be due to too much flashing. i must take a break :(

MeIsReallyBa commented 3 years ago

i also just realised if you leave dts with both gmac as "force-1000", that swithc is still detected.

it was weird i could not get dhcp locally but i suspect it may be due to too much flashing. i must take a break :(

So have u ever tested internet speed with raeth driver?

i3roly commented 3 years ago

Yes. But for wireless only. It didn't seem much better but I am going to try again today since flashing router over fifty times may have affected results. Hw_nat module was working properly and added all interfaces, so i'm not sure why it wasn't noticeably better.

From: MeIsReallyBa Sent: Thursday, 14 January 2021 4:44 AM To: hanwckf/rt-n56u Reply To: hanwckf/rt-n56u Cc: gagan sidhu; Mention Subject: Re: [hanwckf/rt-n56u] unlocked ramcodes (#562)

i also just realised if you leave dts with both gmac as "force-1000", that swithc is still detected.

it was weird i could not get dhcp locally but i suspect it may be due to too much flashing. i must take a break :(

So have u ever tested internet speed with raeth driver?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/hanwckf/rt-n56u/issues/562#issuecomment-760145412, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITLEG47H6XQQWXD5CHSHHLSZ3KLPANCNFSM4V35NZEA.

MeIsReallyBa commented 3 years ago

Yes. But for wireless only. It didn't seem much better but I am going to try again today since flashing router over fifty times may have affected results. Hw_nat module was working properly and added all interfaces, so i'm not sure why it wasn't noticeably better. From: MeIsReallyBa Sent: Thursday, 14 January 2021 4:44 AM To: hanwckf/rt-n56u Reply To: hanwckf/rt-n56u Cc: gagan sidhu; Mention Subject: Re: [hanwckf/rt-n56u] unlocked ramcodes (#562) i also just realised if you leave dts with both gmac as "force-1000", that swithc is still detected. it was weird i could not get dhcp locally but i suspect it may be due to too much flashing. i must take a break :( So have u ever tested internet speed with raeth driver? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#562 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITLEG47H6XQQWXD5CHSHHLSZ3KLPANCNFSM4V35NZEA.

which ra_nat.h are u using?one is for reath and another is for mtk driver.And you should make sure that wired hnat works first.

i3roly commented 3 years ago

I copied the one from the dirx1860 include/net directory but I'll do that again to be sure.

From: MeIsReallyBa Sent: Thursday, 14 January 2021 6:00 AM To: hanwckf/rt-n56u Reply To: hanwckf/rt-n56u Cc: gagan sidhu; Mention Subject: Re: [hanwckf/rt-n56u] unlocked ramcodes (#562)

Yes. But for wireless only. It didn't seem much better but I am going to try again today since flashing router over fifty times may have affected results. Hw_nat module was working properly and added all interfaces, so i'm not sure why it wasn't noticeably better. From: MeIsReallyBa Sent: Thursday, 14 January 2021 4:44 AM To: hanwckf/rt-n56u Reply To: hanwckf/rt-n56u Cc: gagan sidhu; Mention Subject: Re: [hanwckf/rt-n56u] unlocked ramcodes (#562https://github.com/hanwckf/rt-n56u/issues/562) i also just realised if you leave dts with both gmac as "force-1000", that swithc is still detected. it was weird i could not get dhcp locally but i suspect it may be due to too much flashing. i must take a break :( So have u ever tested internet speed with raeth driver? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#562 (comment)https://github.com/hanwckf/rt-n56u/issues/562#issuecomment-760145412>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITLEG47H6XQQWXD5CHSHHLSZ3KLPANCNFSM4V35NZEA.

which ra_nat.h are u using?one is for reath and another is for mtk driver.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/hanwckf/rt-n56u/issues/562#issuecomment-760181861, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITLEG57TL4TN4JBM7Z5ASLSZ3THVANCNFSM4V35NZEA.

MeIsReallyBa commented 3 years ago

I copied the one from the dirx1860 include/net directory but I'll do that again to be sure. From: MeIsReallyBa Sent: Thursday, 14 January 2021 6:00 AM To: hanwckf/rt-n56u Reply To: hanwckf/rt-n56u Cc: gagan sidhu; Mention Subject: Re: [hanwckf/rt-n56u] unlocked ramcodes (#562) Yes. But for wireless only. It didn't seem much better but I am going to try again today since flashing router over fifty times may have affected results. Hw_nat module was working properly and added all interfaces, so i'm not sure why it wasn't noticeably better. From: MeIsReallyBa Sent: Thursday, 14 January 2021 4:44 AM To: hanwckf/rt-n56u Reply To: hanwckf/rt-n56u Cc: gagan sidhu; Mention Subject: Re: [hanwckf/rt-n56u] unlocked ramcodes (#562<#562>) i also just realised if you leave dts with both gmac as "force-1000", that swithc is still detected. it was weird i could not get dhcp locally but i suspect it may be due to too much flashing. i must take a break :( So have u ever tested internet speed with raeth driver? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#562 (comment)<#562 (comment)>>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITLEG47H6XQQWXD5CHSHHLSZ3KLPANCNFSM4V35NZEA. which ra_nat.h are u using?one is for reath and another is for mtk driver. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#562 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITLEG57TL4TN4JBM7Z5ASLSZ3THVANCNFSM4V35NZEA.

I used /net/nat/hw_nat directory and replaced the include/net/ra_nat.h .

MeIsReallyBa commented 3 years ago

I copied the one from the dirx1860 include/net directory but I'll do that again to be sure. From: MeIsReallyBa Sent: Thursday, 14 January 2021 6:00 AM To: hanwckf/rt-n56u Reply To: hanwckf/rt-n56u Cc: gagan sidhu; Mention Subject: Re: [hanwckf/rt-n56u] unlocked ramcodes (#562) Yes. But for wireless only. It didn't seem much better but I am going to try again today since flashing router over fifty times may have affected results. Hw_nat module was working properly and added all interfaces, so i'm not sure why it wasn't noticeably better. From: MeIsReallyBa Sent: Thursday, 14 January 2021 4:44 AM To: hanwckf/rt-n56u Reply To: hanwckf/rt-n56u Cc: gagan sidhu; Mention Subject: Re: [hanwckf/rt-n56u] unlocked ramcodes (#562<#562>) i also just realised if you leave dts with both gmac as "force-1000", that swithc is still detected. it was weird i could not get dhcp locally but i suspect it may be due to too much flashing. i must take a break :( So have u ever tested internet speed with raeth driver? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#562 (comment)<#562 (comment)>>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITLEG47H6XQQWXD5CHSHHLSZ3KLPANCNFSM4V35NZEA. which ra_nat.h are u using?one is for reath and another is for mtk driver. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#562 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITLEG57TL4TN4JBM7Z5ASLSZ3THVANCNFSM4V35NZEA.

If it is convenient, can you provide your relevant patch? I also want to test linux 4.14+raeth

i3roly commented 3 years ago

what kind of patch would you like? i'd be happy to provide one if i'm able to.

i'm using the dd-wrt linux-4.14 kernel plus the net/nat/hw_nat directory (and ra_nat.h) and raeth from the dirx1860.

wired performacne and wireless performance wasn't very good :/

(screwed something up. adding back mcm and ethsys to mt7621.dtsi gsw node. hopefully gbit performance on wired returns)

MeIsReallyBa commented 3 years ago

what kind of patch would you like? i'd be happy to provide one if i'm able to.

i'm using the dd-wrt linux-4.14 kernel plus the net/nat/hw_nat directory (and ra_nat.h) and raeth from the dirx1860.

wired performacne and wireless performance wasn't very good :/

wired:

GagansMacPro:datasets Gagan$ iperf3 -c 192.168.1.1 -p 5201 -t 60
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.26 port 49469 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  83.7 MBytes   702 Mbits/sec                  
[  5]   1.00-2.00   sec  45.0 MBytes   377 Mbits/sec                  
[  5]   2.00-3.00   sec  57.0 MBytes   479 Mbits/sec                  
[  5]   3.00-4.00   sec  68.5 MBytes   575 Mbits/sec                  
[  5]   4.00-5.00   sec  72.1 MBytes   605 Mbits/sec                  
[  5]   5.00-6.00   sec  72.5 MBytes   608 Mbits/sec                  
[  5]   6.00-7.00   sec  74.7 MBytes   627 Mbits/sec                  
[  5]   7.00-8.00   sec  74.5 MBytes   625 Mbits/sec                  
[  5]   8.00-9.00   sec  74.6 MBytes   626 Mbits/sec                  
[  5]   9.00-10.00  sec  74.4 MBytes   624 Mbits/sec                  
[  5]  10.00-11.00  sec  72.7 MBytes   609 Mbits/sec                  
[  5]  11.00-12.00  sec  74.6 MBytes   626 Mbits/sec                  
[  5]  12.00-13.00  sec  74.6 MBytes   626 Mbits/sec                  
[  5]  13.00-14.00  sec  71.3 MBytes   598 Mbits/sec                  
[  5]  14.00-15.00  sec  70.6 MBytes   592 Mbits/sec                  
[  5]  15.00-16.00  sec  67.2 MBytes   563 Mbits/sec                  
[  5]  16.00-17.00  sec  61.2 MBytes   513 Mbits/sec                  
[  5]  17.00-18.00  sec  62.3 MBytes   523 Mbits/sec                  
[  5]  18.00-19.00  sec  68.8 MBytes   577 Mbits/sec                  
[  5]  19.00-20.00  sec  68.3 MBytes   572 Mbits/sec                  
[  5]  20.00-21.00  sec  66.8 MBytes   560 Mbits/sec                  
[  5]  21.00-22.00  sec  68.5 MBytes   574 Mbits/sec               

5ghz:

[  5] local 192.168.1.30 port 49366 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  14.2 MBytes   119 Mbits/sec                  
[  5]   1.00-2.00   sec  22.4 MBytes   188 Mbits/sec                  
[  5]   2.00-3.00   sec  26.9 MBytes   225 Mbits/sec                  
[  5]   3.00-4.00   sec  20.0 MBytes   168 Mbits/sec                  
[  5]   4.00-5.00   sec  18.0 MBytes   151 Mbits/sec                  
[  5]   5.00-6.00   sec  15.5 MBytes   130 Mbits/sec                  
[  5]   6.00-7.00   sec  16.6 MBytes   139 Mbits/sec                  
[  5]   7.00-8.00   sec  24.9 MBytes   209 Mbits/sec                  
[  5]   8.00-9.00   sec  22.4 MBytes   188 Mbits/sec                  
[  5]   9.00-10.00  sec  22.2 MBytes   186 Mbits/sec                  
[  5]  10.00-11.00  sec  20.8 MBytes   174 Mbits/sec                  
[  5]  11.00-12.00  sec  21.5 MBytes   180 Mbits/sec                  
[  5]  12.00-13.00  sec  27.0 MBytes   226 Mbits/sec                  
[  5]  13.00-14.00  sec  27.6 MBytes   231 Mbits/sec                  

:(

i don't know why performance is so bad especially compared to mtk openwrt driver :/

the patches about netfilter ,ethernet driver, dtsi and dts.Also ,could you upload some kernel logs?maybe some error happened.

MeIsReallyBa commented 3 years ago

The wired speed result seems that hwnat doesn't work now.I add these to /net/nat/hw_nat/kconfig.I suggest you to use net/nat/hw_nat that I uploaded (Remembering that deleting config_SUPPORT_OPENWRT)

config RA_NAT_HW bool default y

config RALINK_MT7621 bool default y

MeIsReallyBa commented 3 years ago

if defined(CONFIG_RALINK_MT7621) || defined(CONFIG_MACH_MT7623) || \

defined(CONFIG_ARCH_MT7622)|| defined(CONFIG_ARCH_MT7623) ppe_set_infoblk2(&entry->ipv4_hnapt.iblk2, 1, 0x3F, 2);

else / MT7620 /

                ppe_set_infoblk2(&entry->ipv4_hnapt.iblk2, 8, 0x3F, 2);

there is much code need CONFIG_RALINK_MT7621 but it seems that it wasn't selected by default.

i3roly commented 3 years ago

actually this code is in the one i'm using:> eg

#if defined(CONFIG_RALINK_MT7621) ||  defined(CONFIG_MACH_MT7623) || \
defined(CONFIG_ARCH_MT7622) || defined(CONFIG_ARCH_MT7623)
                                if (IS_IPV4_GRP(entry))
                                        ppe_set_infoblk2(&entry->ipv4_hnapt.iblk2, 1, 0x3F, 1);
MeIsReallyBa commented 3 years ago

that code you've given above is not in the ra_nat.c from dirx1860 gpl. where is it? in the linux xz file from raeth.zip?

it's in ra_nat.c.please look up carefully.

i3roly commented 3 years ago
Oct 20 00:26:05 DD-WRT user.warn kernel: Ralink HW NAT Module Disabled
Oct 20 00:26:08 DD-WRT user.warn kernel: Ralink HW NAT Module Enabled
Oct 20 00:26:08 DD-WRT user.info kernel: ***ppe_foe_base = a0c00000
Oct 20 00:26:08 DD-WRT user.info kernel: ***PpeVirtFoeBase_tmp = a0c00000
Oct 20 00:26:08 DD-WRT user.info kernel: ppe_dev_reg_handler : ineterface eth2 register (0)
Oct 20 00:26:08 DD-WRT user.info kernel: ppe_set_dst_port :dst_port[0] =eth2
Oct 20 00:26:08 DD-WRT user.info kernel: ppe_dev_reg_handler : ineterface eth3 register (1)
Oct 20 00:26:08 DD-WRT user.info kernel: ppe_set_dst_port :dst_port[1] =eth3
root@DD-WRT:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.26, port 50195
[  5] local 192.168.1.1 port 5201 connected to 192.168.1.26 port 50196
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  71.3 MBytes   597 Mbits/sec                  
[  5]   1.00-2.00   sec  73.9 MBytes   620 Mbits/sec                  
[  5]   2.00-3.00   sec  73.5 MBytes   616 Mbits/sec                  
[  5]   3.00-4.00   sec  74.6 MBytes   626 Mbits/sec                  
[  5]   4.00-5.00   sec  73.1 MBytes   613 Mbits/sec                  
[  5]   5.00-6.00   sec  71.9 MBytes   603 Mbits/sec                  
[  5]   6.00-7.00   sec  74.5 MBytes   625 Mbits/sec                  
[  5]   7.00-8.00   sec  73.8 MBytes   619 Mbits/sec                  
[  5]   8.00-9.00   sec  73.5 MBytes   617 Mbits/sec                  
[  5]   9.00-10.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  10.00-11.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  11.00-12.00  sec  73.3 MBytes   615 Mbits/sec                  
[  5]  12.00-13.00  sec  73.2 MBytes   613 Mbits/sec                  
[  5]  13.00-14.00  sec  75.0 MBytes   630 Mbits/sec                  
[  5]  14.00-15.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  15.00-16.00  sec  71.6 MBytes   601 Mbits/sec                  
[  5]  16.00-17.00  sec  74.8 MBytes   627 Mbits/sec                  
[  5]  17.00-18.00  sec  72.9 MBytes   611 Mbits/sec                  
[  5]  18.00-19.00  sec  71.9 MBytes   604 Mbits/sec                  
[  5]  19.00-20.00  sec  74.6 MBytes   626 Mbits/sec                  
[  5]  20.00-21.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  21.00-22.00  sec  75.2 MBytes   630 Mbits/sec                  
[  5]  22.00-23.00  sec  70.0 MBytes   587 Mbits/sec                  
[  5]  23.00-24.00  sec  73.6 MBytes   618 Mbits/sec                  
[  5]  24.00-25.00  sec  75.0 MBytes   629 Mbits/sec                  
[  5]  25.00-26.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  26.00-27.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  27.00-28.00  sec  71.6 MBytes   600 Mbits/sec                  
[  5]  28.00-29.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  29.00-30.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  30.00-31.00  sec  71.8 MBytes   603 Mbits/sec                  
[  5]  31.00-32.00  sec  73.6 MBytes   618 Mbits/sec                  
[  5]  32.00-33.00  sec  71.4 MBytes   600 Mbits/sec                  
[  5]  33.00-34.00  sec  73.3 MBytes   615 Mbits/sec                  
[  5]  34.00-35.00  sec  74.8 MBytes   627 Mbits/sec                  
[  5]  35.00-36.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  36.00-37.00  sec  74.9 MBytes   628 Mbits/sec                  
[  5]  37.00-38.00  sec  70.0 MBytes   587 Mbits/sec                  
[  5]  38.00-39.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  39.00-40.00  sec  75.0 MBytes   629 Mbits/sec                  
[  5]  40.00-41.00  sec  74.9 MBytes   629 Mbits/sec                  
[  5]  41.00-42.00  sec  75.0 MBytes   629 Mbits/sec                  
[  5]  42.00-43.00  sec  71.8 MBytes   602 Mbits/sec                  
[  5]  43.00-44.00  sec  74.8 MBytes   627 Mbits/sec                  
[  5]  44.00-45.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  45.00-46.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  46.00-47.00  sec  73.1 MBytes   613 Mbits/sec                  
[  5]  47.00-48.00  sec  73.5 MBytes   617 Mbits/sec                  
[  5]  48.00-49.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  49.00-50.00  sec  74.9 MBytes   628 Mbits/sec                  
[  5]  50.00-51.00  sec  74.9 MBytes   628 Mbits/sec                  
[  5]  51.00-52.00  sec  75.0 MBytes   629 Mbits/sec                  
[  5]  52.00-53.00  sec  73.2 MBytes   614 Mbits/sec                  
[  5]  53.00-54.00  sec  75.0 MBytes   630 Mbits/sec                  
[  5]  54.00-55.00  sec  73.8 MBytes   618 Mbits/sec                  
[  5]  55.00-56.00  sec  74.4 MBytes   625 Mbits/sec                  
[  5]  56.00-57.00  sec  73.5 MBytes   616 Mbits/sec                  
[  5]  57.00-58.00  sec  52.1 MBytes   437 Mbits/sec                  
[  5]  58.00-59.00  sec  72.7 MBytes   610 Mbits/sec                  
[  5]  59.00-60.00  sec  70.7 MBytes   594 Mbits/sec                  
[  5]  60.00-60.00  sec   128 KBytes   404 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-60.00  sec  4.31 GBytes   616 Mbits/sec                  receiver

this is wired performance with hw_nat and proper switch detection etc. still low. it's puzzling.

MeIsReallyBa commented 3 years ago
Oct 20 00:26:05 DD-WRT user.warn kernel: Ralink HW NAT Module Disabled
Oct 20 00:26:08 DD-WRT user.warn kernel: Ralink HW NAT Module Enabled
Oct 20 00:26:08 DD-WRT user.info kernel: ***ppe_foe_base = a0c00000
Oct 20 00:26:08 DD-WRT user.info kernel: ***PpeVirtFoeBase_tmp = a0c00000
Oct 20 00:26:08 DD-WRT user.info kernel: ppe_dev_reg_handler : ineterface eth2 register (0)
Oct 20 00:26:08 DD-WRT user.info kernel: ppe_set_dst_port :dst_port[0] =eth2
Oct 20 00:26:08 DD-WRT user.info kernel: ppe_dev_reg_handler : ineterface eth3 register (1)
Oct 20 00:26:08 DD-WRT user.info kernel: ppe_set_dst_port :dst_port[1] =eth3
root@DD-WRT:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.26, port 50195
[  5] local 192.168.1.1 port 5201 connected to 192.168.1.26 port 50196
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  71.3 MBytes   597 Mbits/sec                  
[  5]   1.00-2.00   sec  73.9 MBytes   620 Mbits/sec                  
[  5]   2.00-3.00   sec  73.5 MBytes   616 Mbits/sec                  
[  5]   3.00-4.00   sec  74.6 MBytes   626 Mbits/sec                  
[  5]   4.00-5.00   sec  73.1 MBytes   613 Mbits/sec                  
[  5]   5.00-6.00   sec  71.9 MBytes   603 Mbits/sec                  
[  5]   6.00-7.00   sec  74.5 MBytes   625 Mbits/sec                  
[  5]   7.00-8.00   sec  73.8 MBytes   619 Mbits/sec                  
[  5]   8.00-9.00   sec  73.5 MBytes   617 Mbits/sec                  
[  5]   9.00-10.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  10.00-11.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  11.00-12.00  sec  73.3 MBytes   615 Mbits/sec                  
[  5]  12.00-13.00  sec  73.2 MBytes   613 Mbits/sec                  
[  5]  13.00-14.00  sec  75.0 MBytes   630 Mbits/sec                  
[  5]  14.00-15.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  15.00-16.00  sec  71.6 MBytes   601 Mbits/sec                  
[  5]  16.00-17.00  sec  74.8 MBytes   627 Mbits/sec                  
[  5]  17.00-18.00  sec  72.9 MBytes   611 Mbits/sec                  
[  5]  18.00-19.00  sec  71.9 MBytes   604 Mbits/sec                  
[  5]  19.00-20.00  sec  74.6 MBytes   626 Mbits/sec                  
[  5]  20.00-21.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  21.00-22.00  sec  75.2 MBytes   630 Mbits/sec                  
[  5]  22.00-23.00  sec  70.0 MBytes   587 Mbits/sec                  
[  5]  23.00-24.00  sec  73.6 MBytes   618 Mbits/sec                  
[  5]  24.00-25.00  sec  75.0 MBytes   629 Mbits/sec                  
[  5]  25.00-26.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  26.00-27.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  27.00-28.00  sec  71.6 MBytes   600 Mbits/sec                  
[  5]  28.00-29.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  29.00-30.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  30.00-31.00  sec  71.8 MBytes   603 Mbits/sec                  
[  5]  31.00-32.00  sec  73.6 MBytes   618 Mbits/sec                  
[  5]  32.00-33.00  sec  71.4 MBytes   600 Mbits/sec                  
[  5]  33.00-34.00  sec  73.3 MBytes   615 Mbits/sec                  
[  5]  34.00-35.00  sec  74.8 MBytes   627 Mbits/sec                  
[  5]  35.00-36.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  36.00-37.00  sec  74.9 MBytes   628 Mbits/sec                  
[  5]  37.00-38.00  sec  70.0 MBytes   587 Mbits/sec                  
[  5]  38.00-39.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  39.00-40.00  sec  75.0 MBytes   629 Mbits/sec                  
[  5]  40.00-41.00  sec  74.9 MBytes   629 Mbits/sec                  
[  5]  41.00-42.00  sec  75.0 MBytes   629 Mbits/sec                  
[  5]  42.00-43.00  sec  71.8 MBytes   602 Mbits/sec                  
[  5]  43.00-44.00  sec  74.8 MBytes   627 Mbits/sec                  
[  5]  44.00-45.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  45.00-46.00  sec  75.2 MBytes   631 Mbits/sec                  
[  5]  46.00-47.00  sec  73.1 MBytes   613 Mbits/sec                  
[  5]  47.00-48.00  sec  73.5 MBytes   617 Mbits/sec                  
[  5]  48.00-49.00  sec  75.1 MBytes   630 Mbits/sec                  
[  5]  49.00-50.00  sec  74.9 MBytes   628 Mbits/sec                  
[  5]  50.00-51.00  sec  74.9 MBytes   628 Mbits/sec                  
[  5]  51.00-52.00  sec  75.0 MBytes   629 Mbits/sec                  
[  5]  52.00-53.00  sec  73.2 MBytes   614 Mbits/sec                  
[  5]  53.00-54.00  sec  75.0 MBytes   630 Mbits/sec                  
[  5]  54.00-55.00  sec  73.8 MBytes   618 Mbits/sec                  
[  5]  55.00-56.00  sec  74.4 MBytes   625 Mbits/sec                  
[  5]  56.00-57.00  sec  73.5 MBytes   616 Mbits/sec                  
[  5]  57.00-58.00  sec  52.1 MBytes   437 Mbits/sec                  
[  5]  58.00-59.00  sec  72.7 MBytes   610 Mbits/sec                  
[  5]  59.00-60.00  sec  70.7 MBytes   594 Mbits/sec                  
[  5]  60.00-60.00  sec   128 KBytes   404 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-60.00  sec  4.31 GBytes   616 Mbits/sec                  receiver

this is wired performance with hw_nat and proper switch detection etc. still low. it's puzzling.

do you select CONFIG_RALINK_MT7621?and you shouldn't run iperf3 on the router as it doesn't test the NAT performance.

i3roly commented 3 years ago

of course. i always have that enabled by default.

i thought testing from router is how you do it .. :/ :P

shouldn't i still be able to get 1Gbit from router to machine via wired?

i will test this build in a few hours on wan.

MeIsReallyBa commented 3 years ago

of course. i always have that enabled by default.

i thought testing from router is how you do it .. :/ :P

shouldn't i still be able to get 1Gbit from router to machine via wired?

i will test this build in a few hours on wan.

No,I run iperf3 server on the device that wan port connected.You could watch the cpu usage to test if hwnat works.Running iperf3 on the router would cost much cpu resource and 7621 would never get 1gbit.

MeIsReallyBa commented 3 years ago

you could also add “-R -P 6” parameter when running iperf3 client.What you excute now is test single thread upload speed.

i3roly commented 3 years ago

hey friend,

so wan does work now and lan is fine lol. it was because i was flashing like a madman yesterday. it's so funny how these ASICs are like human beings in some ways. "circuits need rest" lol.

wired performance is fine now (gbit from wan download).

but, wireless 5g is still slow. is it possible wpa3 is causing problems or something?

also, while i'm at it. why does wireless interface have so many errors?

the only reason it looks low below is because i used speedtest.net a few times. usually there are about 10% errors. i hoped using raeth with hw_nat this would go away. Screen Shot 2021-01-14 at 12 33 39 PM

here is config

CONFIG_HW_NAT=y
# CONFIG_RA_NAT_NONE is not set
CONFIG_RA_NAT_HW=y
CONFIG_RA_HW_NAT=m
CONFIG_RA_HW_NAT_LAN_VLANID=1
CONFIG_RA_HW_NAT_WAN_VLANID=2
CONFIG_RA_HW_NAT_BINDING_THRESHOLD=30
# CONFIG_RA_HW_NAT_TBL_1K is not set
# CONFIG_RA_HW_NAT_TBL_2K is not set
CONFIG_RA_HW_NAT_TBL_4K=y
# CONFIG_RA_HW_NAT_TBL_8K is not set
# CONFIG_RA_HW_NAT_TBL_16K is not set
CONFIG_HNAT_V2=y
# CONFIG_RA_HW_NAT_HASH0 is not set
CONFIG_RA_HW_NAT_HASH1=y
# CONFIG_RA_HW_NAT_HASH2 is not set
# CONFIG_RA_HW_NAT_HASH3 is not set
CONFIG_HW_NAT_AUTO_MODE=y
# CONFIG_HW_NAT_SEMI_AUTO_MODE is not set
# CONFIG_HW_NAT_MANUAL_MODE is not set
CONFIG_RA_HW_NAT_TCP_KA=1
CONFIG_RA_HW_NAT_UDP_KA=1
CONFIG_RA_HW_NAT_NTU_KA=1
CONFIG_RA_HW_NAT_UNB_DLTA=3
CONFIG_RA_HW_NAT_UNB_MNP=1000
CONFIG_RA_HW_NAT_UDP_DLTA=5
CONFIG_RA_HW_NAT_TCP_DLTA=5
CONFIG_RA_HW_NAT_FIN_DLTA=5
CONFIG_RA_HW_NAT_NTU_DLTA=5
CONFIG_RA_HW_NAT_IPV6=y
# CONFIG_RA_HW_NAT_PREBIND is not set
CONFIG_PPE_MCAST=y
CONFIG_RA_HW_NAT_WIFI=y
CONFIG_RA_HW_NAT_WIFI_NEW_ARCH=y
# CONFIG_RA_HW_NAT_NIC_USB is not set
CONFIG_RA_HW_NAT_PPTP_L2TP=y
# CONFIG_RA_HW_NAT_ACCNT_MAINTAINER is not set
CONFIG_QDMA_SUPPORT_QOS=y
CONFIG_WAN_TO_WLAN_SUPPORT_QOS=y
# CONFIG_SUPPORT_WLAN_OPTIMIZE is not set
# CONFIG_HW_NAT_IPI is not set
i3roly commented 3 years ago

*setting TBL_SZ to 16k. lets see if it makes a difference. also adding CONFIG_SUPPORT_WLAN_OPTIMIZE=y

i3roly commented 3 years ago

it's slighty better now. i got 460mbps download once. i noticed though that ethernet driver doesn't have two interrupts like it is supposed to:

           CPU0       CPU1       CPU2       CPU3       
  8:      82508      82507      82371      82517  MIPS GIC Local   1  timer
  9:      59155          0          0          0  MIPS GIC  63  IPI call
 10:          0      16143          0          0  MIPS GIC  64  IPI call
 11:          0          0      24819          0  MIPS GIC  65  IPI call
 12:          0          0          0      34112  MIPS GIC  66  IPI call
 13:      25242          0          0          0  MIPS GIC  67  IPI resched
 14:          0     104652          0          0  MIPS GIC  68  IPI resched
 15:          0          0      15308          0  MIPS GIC  69  IPI resched
 16:          0          0          0      24484  MIPS GIC  70  IPI resched
 19:        640          0        431          0  MIPS GIC  33  ttyS0
 20:          0          0          0          0  MIPS GIC  18  1e007000.hsdma
 21:          2          0          0          0  MIPS GIC  26  1e004000.crypto
 22:        831          0          0          0  MIPS GIC  29  xhci-hcd:usb1
 23:        151          0     132917          0  MIPS GIC  10  eth2
 25:        169          0          0      12952  MIPS GIC  11  ra0
 26:        169     106765        297          0  MIPS GIC  31  rai0
ERR:          1

here is table for openwrt mtk ethernet driver

          CPU0       CPU1       CPU2       CPU3       
 8:      27906      27992      27959      28003  MIPS GIC Local   1  timer
 9:       5743          0          0          0  MIPS GIC  63  IPI call
10:          0       1088          0          0  MIPS GIC  64  IPI call
11:          0          0       9192          0  MIPS GIC  65  IPI call
12:          0          0          0       1176  MIPS GIC  66  IPI call
13:       6635          0          0          0  MIPS GIC  67  IPI resched
14:          0     117588          0          0  MIPS GIC  68  IPI resched
15:          0          0      19939          0  MIPS GIC  69  IPI resched
16:          0          0          0      60649  MIPS GIC  70  IPI resched
19:        619          0          0          0  MIPS GIC  33  ttyS0
20:          0          0          0          0  MIPS GIC  18  1e007000.hsdma
21:         83          0          0          0  MIPS GIC  29  xhci-hcd:usb1
22:          0        867          0          0  MIPS GIC  10  1e100000.ethernet
23:          2          0          0          0  MIPS GIC  30  gsw

i guess since ethernet would have irq 6 we might not be able to see it anyways, i also remember that ethernet irq for mtk driver had low interrupts so maybe it's meaningless.

this shit is awesome but i want FULL performance lol

i3roly commented 3 years ago

another question, aside from errors on wifi interface, when i use auto channel for wifi, sometimes VAP/VIFS do not show up because they assume channel is 0 (for auto channel select):

Nov 11 13:20:04 DD-WRT user.warn kernel: AsicRadioOnOffCtrl(): DbdcIdx=0 RadioOn
Nov 11 13:20:04 DD-WRT user.warn kernel: ApAutoChannelAtBootUp----------------->
Nov 11 13:20:04 DD-WRT user.warn kernel: ApAutoChannelAtBootUp: AutoChannelBootup = 1, pAd: c0681000, ifname: rai0, channel: 0
Nov 11 13:20:04 DD-WRT user.warn kernel: MtCmdSetMacTxRx:(ret = 0)
Nov 11 13:20:04 DD-WRT user.warn kernel: [ApAutoChannelAtBootUp] ACS of BandIdx = 0 is already DONE, Channel = 0
Nov 11 13:20:04 DD-WRT user.warn kernel: ^[[41m AutoChSelUpdateChannel(): Update channel for wdev for this band PhyMode = 49, Channel = 0 ^[[m
Nov 11 13:20:04 DD-WRT user.warn kernel: ^[[1;33m [RadarStateCheck] RD_NORMAL_MODE ^[[m 
Nov 11 13:20:04 DD-WRT user.warn kernel: phy_freq_adjust : no prim_ch value for adjust!
Nov 11 13:20:04 DD-WRT user.warn kernel: ApAutoChannelAtBootUp<-----------------

is there an easy fix for this?

MeIsReallyBa commented 3 years ago

I have not enabled HWQOS.Also,I edited rt_linux.c in wireless driver. VOID RtmpOsPktNatMagicTag(IN PNDIS_PACKET pNetPkt) { struct sk_buff *pRxPkt = RTPKT_TO_OSPKT(pNetPkt);

if (IS_SPACE_AVAILABLE_HEAD(pRxPkt)) {
            FOE_ALG_HEAD(pRxPkt) = 0;
            FOE_MAGIC_TAG_HEAD(pRxPkt) = FOE_MAGIC_WLAN;
            FOE_TAG_PROTECT_HEAD(pRxPkt) = TAG_PROTECT;
        }
        if (IS_SPACE_AVAILABLE_TAIL(pRxPkt)) {
            FOE_ALG_TAIL(pRxPkt) = 0;
            FOE_MAGIC_TAG_TAIL(pRxPkt) = FOE_MAGIC_WLAN;
            FOE_TAG_PROTECT_TAIL(pRxPkt) = TAG_PROTECT;
        }

}

MeIsReallyBa commented 3 years ago

and is there any cpu usage when you run wired speedtest ?

my config is here

CONFIG_PPE_MCAST is not set

CONFIG_QDMA_SUPPORT_QOS is not set

CONFIG_RAETH=y CONFIG_RALINK=y CONFIG_RALINK_MT7621=y

CONFIG_RALINK_WDT is not set

CONFIG_RATIONAL=y CONFIG_RA_HW_NAT=m

CONFIG_RA_HW_NAT_ACCNT_MAINTAINER is not set

CONFIG_RA_HW_NAT_BINDING_THRESHOLD=30 CONFIG_RA_HW_NAT_FIN_DLTA=5

CONFIG_RA_HW_NAT_HASH0 is not set

CONFIG_RA_HW_NAT_HASH1=y

CONFIG_RA_HW_NAT_HASH2 is not set

CONFIG_RA_HW_NAT_HASH3 is not set

CONFIG_RA_HW_NAT_IPV6=y CONFIG_RA_HW_NAT_LAN_VLANID=1

CONFIG_RA_HW_NAT_NIC_USB is not set

CONFIG_RA_HW_NAT_NTU_DLTA=5 CONFIG_RA_HW_NAT_NTU_KA=1

CONFIG_RA_HW_NAT_PPTP_L2TP is not set

CONFIG_RA_HW_NAT_PREBIND is not set

CONFIG_RA_HW_NAT_TBL_16K=y

CONFIG_RA_HW_NAT_TBL_1K is not set

CONFIG_RA_HW_NAT_TBL_2K is not set

CONFIG_RA_HW_NAT_TBL_4K is not set

CONFIG_RA_HW_NAT_TBL_8K is not set

CONFIG_RA_HW_NAT_TCP_DLTA=5 CONFIG_RA_HW_NAT_TCP_KA=1 CONFIG_RA_HW_NAT_UDP_DLTA=5 CONFIG_RA_HW_NAT_UDP_KA=1 CONFIG_RA_HW_NAT_UNB_DLTA=3 CONFIG_RA_HW_NAT_UNB_MNP=1000 CONFIG_RA_HW_NAT_WAN_VLANID=2 CONFIG_RA_HW_NAT_WIFI=y CONFIG_RA_HW_NAT_WIFI_NEW_ARCH=y CONFIG_RA_NAT_HW=y

CONFIG_RA_NAT_NONE is not set

CONFIG_HNAT_V2=y CONFIG_HW_HAS_PCI=y CONFIG_HW_NAT=y CONFIG_HW_NAT_AUTO_MODE=y

CONFIG_HW_NAT_IPI is not set

CONFIG_HW_NAT_MANUAL_MODE is not set

CONFIG_HW_NAT_SEMI_AUTO_MODE is not set

as for raeth driver,I enabled this CONFIG_ETH_SKB_ALLOC_SELECT=y CONFIG_ETH_SLAB_ALLOC_SKB=y

MeIsReallyBa commented 3 years ago

PPTP: MT7621: RAETHER with PAMA + GMAC1 only (No GMAC2 support). HWQOS:HWNAT lan <-> wan will go to qdma schedule. If yoy say Y, short packet cannot wire speed.

You should read the comments before deciding whether to enable these

i3roly commented 3 years ago

i don't know what short packet cannot wire speed means though haha. does that mean it's not going to be forwarded?

QDMA_SUPPORT_QOS is enabled by default i didn't think they would enable something that may make things slower. for pptp, i thought if there was issue it would be using ppp not when using regular or typical setup. so i just left it enabled.

MeIsReallyBa commented 3 years ago

This should be a comment written by a Chinese and what he wants to express is the maximum physical speed