Optimized build for IPQ40xx devices

Does this mean the OEM failover partition is not usable as failover partition anymore ?

No, never said that. I said to make a backup. The OEM partition I'm talking about is not the firmware partition, is the OEM settings partition.

1 Like

Hello, people!
You can check out #1 for the new release based on OpenWrt 20.02-rc2!
As always, let me know any issue you may have.

Hi,
great news!
one qq, if I upgrade from previous version the settings are keep, right?

Well, it mostly depends on the version... The only big exception is from "pure" OpenWrt to this build and vice versa. I think you should try. Consider doing a backup beforehand, just in case :slight_smile:

1 Like

Anyone using an Linksys EA6350 v3 via PPPoE with G.Fast VDSL2/FTTH/FTTB with 500Mb or + connection or close to it as I do have a Fritzbox 7530 on IPQ40xx but is reported as 300Mb doing PPPoE + NAT with OpenWrt 19.x builds [Solved] Fritzbox 7530 external modem pppoe speed (Custom firware) - #8 by Nocte not sure on OpenWrt 21.x yet

No idea if anyone can help or had similar problems with there IPQ40xx also the fritzbox 7530 is a ARM quad core / 4 core CPU just like the Linksys EA6350 v3 but without a WAN port just a DSL port.

Issue is if i unplug all my LAN and leave my WAN cable via LAN 1 and PC via LAN 2 in this case so i can rule out no traffic is hitting on my FB 750 so if i ping my FB 750 is jumping a little to 22ms

pinging 192.168.170.1 with 32 bytes of data:
Reply from 192.168.170.1: bytes=32 time=1ms TTL=64
Reply from 192.168.170.1: bytes=32 time<1ms TTL=64
Reply from 192.168.170.1: bytes=32 time<1ms TTL=64
Reply from 192.168.170.1: bytes=32 time=1ms TTL=64
Reply from 192.168.170.1: bytes=32 time=22ms TTL=64
Reply from 192.168.170.1: bytes=32 time=1ms TTL=64
Reply from 192.168.170.1: bytes=32 time<1ms TTL=64
Reply from 192.168.170.1: bytes=32 time<1ms TTL=64
Reply from 192.168.170.1: bytes=32 time<1ms TTL=64
Reply from 192.168.170.1: bytes=32 time<1ms TTL=64

Good evening with this version it does not work to limit the bandwidth through QoS over Nftables.

Any solution??

@francisuk1989 Hmm looks like an opportunity to test all this optimizations... PM me, let's talk about it.

@denisr24 I did not change anything besides updating the source code, so I don't expect it to stop working. But there is something to check out: OpenWrt updated the schema of the /etc/config/network file. There is a chance that some scripts may need an update. That's the only thing I can think of...

No worries, Will send over a PM @NoTengoBattery but i think i read a answer for my problems by installing irqbalance as this is a ARM v7 Quad Core CPU like the EA6300

M10
do ipq40xx have hw offload for nat etc ?(Optimized build for IPQ40xx devices - #337 by M10)

Yes both Software and Hardware, You can find this under Network > Firewall

Two things: irqbalance doesn't actually work on this CPU. I don't understand why, but while it correctly set the CPU bitmask, the kernel won't round robin the interrupts and they'll keep on CPU 0 (unless the bug is already fixed). I have a custom script to balance them manually.

Also, software flow offloading works but I'm unsure if hardware offloading works for this target. It think it doesn't.

Will check it out over the weekend and let you know if is been patched however a user who is running a FB 4040 with irqbalance what is a IPQ4018 (the same SoC) that inside the linksys ea6350 v3 is solves and seems like all CPUs are running and not CPU 0 by looking at the screenshot, see [Speed&Load_2102_2]

Only diffrents is that the FB 750 is an IPQ4019 so have no idea if irqbalance will work.

Hi
Can somebody confirm does VLAN on WAN works on this build? Anyone tested latest build on GL.iNet GL-B1300? (I've tried last 19.07-based build, it bricked my router)

I need testing for the B1300, but I own and use the S1300... So, it should work as well. In the S1300, all ports work. Since I use this exclusively, I'm unaware of issues in other OpenWrt versions.

I would love to have a B1300 owner to test and provide feedback to tune the last details that the B1300 is missing.

Just for matter of knowledge, can you paste the output of cat /proc/interrupts?


Mine is:

root@Convexa-S:~# cat /proc/interrupts
 CPU0       CPU1       CPU2       CPU3       
 18:    3581228     396041     843328   35716245     GIC-0  20 Level     arch_timer
 22:       1567          0       5743          0     GIC-0 155 Level     mmc0
 23:          2          0          0          0     GIC-0 170 Level     7824900.sdhci
 24:      12451          0    3546325          0     GIC-0 270 Level     bam_dma
 25:      26421          0          0      17128     GIC-0 127 Level     78b5000.spi
 26:          0          0          0          0     GIC-0 128 Level     78b6000.spi
 27:          0          0          0          0     GIC-0 239 Level     bam_dma
 28:          6          0          0        183     GIC-0 139 Level     msm_serial0
 29:         31          0          0    3537798     GIC-0 140 Level     msm_serial1
 46:         18          0          0   17679913     GIC-0 200 Level     ath10k_ahb
 63:    6328435          0          0          0     GIC-0 201 Level     ath10k_ahb
 64:          0       9901          0          0     GIC-0  97 Edge      edma_eth_tx0
 65:          0       1337          0          0     GIC-0  98 Edge      edma_eth_tx1
 66:          0          0          0          0     GIC-0  99 Edge      edma_eth_tx2
 67:          0          0          0          0     GIC-0 100 Edge      edma_eth_tx3
 68:          0       7522          0          0     GIC-0 101 Edge      edma_eth_tx4
 69:          0        311          0          0     GIC-0 102 Edge      edma_eth_tx5
 70:          0          0          0          0     GIC-0 103 Edge      edma_eth_tx6
 71:          0          0          0          0     GIC-0 104 Edge      edma_eth_tx7
 72:          0      11371          0          0     GIC-0 105 Edge      edma_eth_tx8
 73:          0        512          0          0     GIC-0 106 Edge      edma_eth_tx9
 74:          0          0          0          0     GIC-0 107 Edge      edma_eth_tx10
 75:          0          0          0          0     GIC-0 108 Edge      edma_eth_tx11
 76:          0       7373          0          0     GIC-0 109 Edge      edma_eth_tx12
 77:          0        218          0          0     GIC-0 110 Edge      edma_eth_tx13
 78:          0          0          0          0     GIC-0 111 Edge      edma_eth_tx14
 79:          0          0          0          0     GIC-0 112 Edge      edma_eth_tx15
 80:          0          0          0          0     GIC-0 272 Edge      edma_eth_rx0
 82:          0          0          0          0     GIC-0 274 Edge      edma_eth_rx2
 84:          0          0          0          0     GIC-0 276 Edge      edma_eth_rx4
 86:          0          0          0          0     GIC-0 278 Edge      edma_eth_rx6
 96:          0          0          0          0   msmgpio  22 Edge      7824900.sdhci cd
 97:          0          0          0          0   msmgpio  53 Edge      keys
 98:          0          0          0          0   msmgpio  18 Edge      keys
 99:        144          0          0   13699600     GIC-0 164 Level     xhci-hcd:usb1
100:          0          0          0          0     GIC-0 168 Level     xhci-hcd:usb3
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0          0          0          0  Timer broadcast interrupts
IPI2:    1709976    1770487     625515    1129361  Rescheduling interrupts
IPI3:    3288393    3116527    2347774     180394  Function call interrupts
IPI4:          0          0          0          0  CPU stop interrupts
IPI5:     378306      11566      90921     216610  IRQ work interrupts
IPI6:          0          0          0          0  completion interrupts
Err:          0
root@Convexa-S:~#

Sure

           CPU0       CPU1       CPU2       CPU3       
 18: 1203295741   62536739   64012847  114766128       GIC  20 Edge      arch_timer
 22:      29261          0          0          0       GIC 270 Level     bam_dma
 23:      60415          0          0          0       GIC 127 Level     78b5000.spi
 25:         36          0          0          0       GIC 139 Level     msm_serial_hsl0
 26:          0          0          0          0       GIC  35 Level     watchdog bark
 43:       3490          0   51721666          0       GIC 200 Edge      wifi0
 60:       3472          0          0   37041486       GIC 201 Edge      wifi1
 61:          0          0    7520171          0       GIC  97 Edge      edma_eth_tx0
 62:          0          0       1810          0       GIC  98 Edge      edma_eth_tx1
 63:          0          0    9654664          0       GIC  99 Edge      edma_eth_tx2
 64:          0          0       6576          0       GIC 100 Edge      edma_eth_tx3
 65:          0          0          0    9242966       GIC 101 Edge      edma_eth_tx4
 66:          0          0          0       6627       GIC 102 Edge      edma_eth_tx5
 67:          0          0          0   14588919       GIC 103 Edge      edma_eth_tx6
 68:          0          0          0       3377       GIC 104 Edge      edma_eth_tx7
 69:   12530246          0          0          0       GIC 105 Edge      edma_eth_tx8
 70:      11583          0          0          0       GIC 106 Edge      edma_eth_tx9
 71:   15428664          0          0          0       GIC 107 Edge      edma_eth_tx10
 72:      20054          0          0          0       GIC 108 Edge      edma_eth_tx11
 73:          0   13880551          0          0       GIC 109 Edge      edma_eth_tx12
 74:          0      11837          0          0       GIC 110 Edge      edma_eth_tx13
 75:          0   13887890          0          0       GIC 111 Edge      edma_eth_tx14
 76:          0         30          0          0       GIC 112 Edge      edma_eth_tx15
 77:   19672214          0          0          0       GIC 272 Edge      edma_eth_rx0
 79:         28   25328187          0          0       GIC 274 Edge      edma_eth_rx2
 81:         37          0   23888584          0       GIC 276 Edge      edma_eth_rx4
 83:         10          0          0   23689047       GIC 278 Edge      edma_eth_rx6
 98:          1          0          0          0   msmgpio   5 Edge      wps
156:          1          0          0          0   msmgpio  63 Edge      reset
193:          0          0          0          0       GIC 164 Edge      xhci-hcd:usb1
194:          0          0          0          0       GIC 168 Edge      xhci-hcd:usb3
IPI0:          0          1          1          1  CPU wakeup interrupts
IPI1:          0          0          0          0  Timer broadcast interrupts
IPI2:   74515887   74769492   73570524   67282890  Rescheduling interrupts
IPI3:         22         24         17         21  Function call interrupts
IPI4:     279467     553305     340961      96112  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
IPI6:          9          1        182          0  IRQ work interrupts
IPI7:          0          0          0          0  completion interrupts
Err:          0

Taken from stock GL.iNet 3.105 Firmware.
I could do some tests in July :grinning:

Hi, does this build able to run on a Frtiz!box 4040 ?

regards
vevere

Not yet. I am waiting for some eager user to help me out. Since I don't own the hardware, I can't directly test it.

If interested, PM me or send me an email :smiley:

@NoTengoBattery : I'm willing to cheer in when it comes to a build for the fb-4040.
Maybe I'm the perfect victim for testing as I own 2 of those devices :slightly_smiling_face:
I've already cloned your "openwrt-custom" repository and found:
Missing line "avm,fritzbox-4040|" in .../etc/board.d/02_network.
The fb-4040 has no "dual boot" feature, hence the plugin "advanced reboot" should probably not be built in.

Cheers,
Thomas

Yeah, all unsupported devices are missing from 02_network. That file needs manual crafting, since it reflects the changes to the switch. That file prevents keeping settings between vanilla OpenWrt and this custom build.

Regarding to the "advanced reboot", as you can see below, it's enabled only for Linksys devices (at the moment of writing this).

@NoTengoBattery : in the past I successfully used your patch "715-net-essedma-disable-default-vlan.patch" for my custom builds and had modified the file 02_network accordingly.
I'm willing to test your "special build" if you wouldn't mind to compile one for the fb-4040.

Cheers,
Thomas