Rpi4 < $(community_build)

from the last debug output you sent me... your network ( upload ) showed extremely high contention ( too much load for the speed )... you really need to study more about qos/sqm... and ideally upgrade your wan subscription speed / isp...

read this it explains clearly (using an alternate shaper) how adequate upload bandwidth availability is CRITICAL to everything...

1 Like

for the dnsmasq stuff... you could try adding;

option logqueries '1'

in the main dhcp config... restart dnsmasq... then checking logread when there are errors...

1 Like

looks like it is a issue with background services in windows 10

1 Like

thanks for the update... I should have read the line above a little closer... apologies...

1 Like

Just some SQM questions, it seems like the Rpi4 can handle upload SQM pretty well(comfortable at 800 000kbit/s). But for download it caps at 600 000~kbit/s no matter what settings I use. Is this a restriction of the Rpi4 from a CPU standpoint or should I do some tests for you @anon50098793?

Queue Discipline:

Link Layer Adaption:
none (default)

I've got Fiber 1G/1G, UE300.

1 Like

no ~931 is the restriction... ( not cpu )

ive never used pie... should be cake for that shaper...

off-topic-note: realized recently that script should really be called;


due to it instantiating with diffserv8... but i'm happy to just keep the name aligned with where it was pilfered from for provinence reasoning...

i've never really provided much guidance for the SQM-CONFIG setting for use with that script...


partly because i'm not sure what it can support... but for reference... i've always used it with a bone standard up/down on single wan with practically no other options...


up to you... but you need to ressign eth0 interrupt affinity (or use packet_steering ) to achieve max throughput...


i (got off my rear) ran controlled 'internal-fake-GB-wan' testing yesterday ( @dlakelan did so a long time ago ) with and without sqm... so we know where the main impediments are... we just don't know what is 'perfect'-value-s/sane-default/alternate nic behavior... which is something only a user comfortable with messing with IRQ etc. can really assist with... even with my mediocre ( witness-me ) skills its difficult to isolate or interpret tweaking all of these values...

fwiw... i'm now semi-randomly setting...

echo -n c > /proc/irq/32/smp_affinity
echo -n c > /proc/irq/33/smp_affinity
echo -n a > /sys/class/net/eth0/queues/*/*_cpus

and to avoid panic / confusion... most of this is only really relevant for people with WAN OVER ~250-350Mb/s hence why it took me so long to dig into this at all...

this graph is pretty interesting/evident... the spike at the end of monday is the perf testing with defaults which was cpu bound...

you can see high sirq and little to no load on cpu3/4 in the proceeding days...

tuesday onwards are with the current tweaks... sirq barely registers and load is distributed much more evenly across all cores... ( the big spike on tuesday are identical perf tests yet thresholds are almost halved due to interrupt levelling and better cpu allocations )

edit: higher base-clock of 900000 likely effected the normalisation of the current tweak results...

1 Like


Tried your build and couldn't find any poweroff button. Is it hidden somewhere? Could only find reboot. Didn't want to corrupt the SD card. Had to SSH in to use poweroff command. Any shortcut for this?

1 Like

system > custom_commands > docmd@ARGUMENTS: "poweroff" > click RUN


Seems like changing wifi to VHT80 or 80mhz channel width kills all wifi, requires reboot.

Is VHT80 working for you?

you may wish to start here then look into this both via the raspberrypi forums or a specific thread on the general forum...

apart from making sure;

  • wpad is enabled/started...
  • wpad-openssl<->wpad... (unlikely to create probs)
  • some alternative defaults... (will not create probs)

nothing about the rpi4 wifi is build specific and most people who can help you likely don't read / post on this thread...

1 Like

Damn you're fast at replying. :grinning:

No, its fine. Just want to let you and others know about it, 80mhz onboard is a nono.

Since you're here and it hasn't been mentioned anywhere, I stumbled upon this.



The chinese scene towards SBC are unexpectedly great. Thought it would be a good read, with google translate.

Don't think anyone has done docker openwrt RP4.

1 Like

up to you... but you need to ressign eth0 interrupt affinity (or use packet_steering ) to achieve max throughput...

How do I do this?

echo -n c > /proc/irq/32/smp_affinity

Goes through.

echo -n c > /proc/irq/33/smp_affinity

nonexistent directory

echo -n a > /sys/class/net/eth0/queues//_cpus

nonexistent directory

those commands were examples for

I have provided a means and instructions from which to do so... otherwise you may need to wait until others have fully test

Ah those instructions was for that, I will try them out!

Edit: Just with

curl -sSL https://raw.githubusercontent.com/wulfy23/rpi4/master/utilities/20-smp-packet-steering > /etc/hotplug.d/net/20-smp-packet-steering
#and reboot or restart networking

I am hitting my target speed with SQM, should I test the rest too?

1 Like

great... so you pulled down the main part which was the packet_steering (FORCEON) for testing ... then rebooted...

if you have improved speeds... then there is no real need to run the other (2nd) script from which you would have needed/wanted to test mostly the IRQ-AFFINITY part...

no... you don't really need it... what you can do is run


then do a speedtest... (edit: it's worth using a few sites as they vary how they work)

and look for peaks of over 80% on any core...

Peaked at 60%.

1 Like

excellent news!

thankyou very much for testing and providing valuable feedback...

No problem, if there's anything else you want me to test, let me know.

1 Like

htop is sometimes also a little slow also...

you can also run 'top' then press 'c' and watch the idle column... it's inverted... ( i.e. 100% means no load )...

or in htop there is F2 > display options > Update Interval ( set it to 0.5 or something )