Rpi4 < $(community_build)

That's plenty already!
Looks like this will be a multithreading exercise then.

I'll give it a shot. Thank you!

1 Like

sorry, I missed you were asking specifically re:sqm...

i'm probably not the best person to ask... I don't even use overheads... or any other fancy settings... just tweak the speeds down until it works (-2 to 5%)... then make sure that value is lower than mean actual obtainable bandwidth over time...

that said... on really high speeds you might experiment with trying 'ack-filter'... ( a separate thread would be good for your tuning once you get the baseline bandwidth to a predictable value)...

I think I may have also read that fqcodel(or no sqm) not cake is prefferred for super high bandwidth connections...

(that said... the low(er) results from the AP are likely application load on the AP itself or some constraint thereafter)

I personally wouldn't be too concerned with such a value if it's consistent... and nothing (any cpu core) is maxed out... ( but I suspect we are not there yet )

sir I want to keep setting in folder /etc/sysctl.d and do certain commands in first boot after upgrade/update.

1 Like

you can create a regular file there and add it to sysupgrade.conf as discussed i.e.;

echo 'net.ipv6.route.max_size = 24576' > /etc/sysctl.d/19-mysysctl
echo '/etc/sysctl.d/19-mysysctl' >> /etc/sysupgrade.conf

if they are truly only for firstboot... just create your script in /etc/custom/firstboot/999-something and add it to /etc/sysupgrade.conf

if for everyboot do the same in /etc/custom/everyboot/999-myscript and add to /etc/sysupgrade.conf

all depends what the commands do really... 999 means late... after all the other stuff...


for even more complicated stuff (more packages?) you could also use your own imagebuilder...

http://rpi4.wulfy23.info/ib/

1 Like

thank you for the explanation. Since I need a dependency package that doesn't available yet in OpenWrt so I need to make sure the services running well after upgrading.

1 Like

in this case... it may be better if you track "release" aka 21.02 and not the other builds...

it will mean you have to update way less (be offered much less updates anyway)...

but some packages may not be compatible / available on 21.02... (most should be ok)

1 Like

Hey there wulfy! Status update.

It seems enabling IRQBalance and setting affinity to cores 2 and 3 worked correctly for normal operation (commands below)

echo -n 3 > /proc/irq/38/smp_affinity
echo -n 2 > /proc/irq/39/smp_affinity

And set the governor to performance using the following command

echo -n performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

All bundled up in /bin/toaster.sh as my custom perftweaks.sh you helped me create yesterday.

I also added the following to /boot/config.txt to overclock to 2.0GHz

# Overclocking to 2Ghz
over_voltage=6
arm_freq=2000

After all that, it seems I'm able to do a speedtest without maxing out any CPU core reliably from any device in the network, topping out around 87% for core 1 on average as long as SQM is disabled, in which case using cake as qdisk and simple.qos as the Queue Setup Script leads to the core maxing out at 100% but not reducing speed, and only reducing latency a little.

Given that SQM aside the configuration seems stable, should I aim for further fine-tuning, or look somewhere else along the chain?

Thanks for everything!

2 Likes

good news... sounds like your are on the limit / have enough wiggle room to tune things to run cake if you really want to...

what i've done in this case... is to ensure any services that may use cpu are pinned to core 4(or 3 if you count from zero)... you can see examples with taskset maybe in rpi-perftweaks.sh if not... ask and I may be able to advise... but these are just for a 'little' wiggle room on a single core and can backfire...

i.e.

taskset-aarch64 -apc 2,3 $thispid

( good cantidates are collectd, nlbwmon, uhttpd etc. )

other than that... i'd create that new thread regarding sqm for more professional advice re: tuning cake/fqcodel/other for on-the-limit-cpu/high bandwidth scenarios...

2 Likes

Perfect, I'll go ahead and check on that then.

Seriously, thanks for everything you've done. I've learnt more about multithreading and networking in the past two months than the last 6 months of college. Thanks for all the help, the patience and the motivation!

2 Likes

coming up on one month on the hetzner hosting... some cool stats...

  • Total monthly auto upgrades: ~170 ( approx 50 users * 3.3 )
  • Total monthly downloads: ~60G ( old guess was 15-25G )
    ( approx 12G per build )

cool stats


us	United States	479	960	7.28 GB		Seiten: 479
gb	Great Britain	76	203	2.17 GB		Seiten: 76
de	Germany	de	139	247	1.45 GB		Seiten: 139
il	Israel	il	40	67	1.34 GB		Seiten: 40
ca	Canada	ca	42	124	1015.57 MB	Seiten: 42
ro	Romania	ro	28	97	858.89 MB	Seiten: 28
ua	Ukraine	ua	10	22	788.70 MB	Seiten: 10
ph	Philippines	36	73	641.62 MB	Seiten: 36
at	Austria	at	22	74	641.40 MB	Seiten: 22
vn	Vietnam	vn	39	86	623.68 MB	Seiten: 39
nl	Netherlands	82	180	547.95 MB	Seiten: 82
se	Sweden	se	134	497	473.81 MB	Seiten: 134
is	Iceland	is	9	24	468.72 MB	Seiten: 9
in	India	in	26	56	468.05 MB	Seiten: 26
hk	Hong Kong	14	52	430.17 MB	Seiten: 14
pt	Portugal	42	99	390.32 MB	Seiten: 42
au	Australia	99	159	390.31 MB	Seiten: 99
fi	Finland	fi	51	71	390.23 MB	Seiten: 51
ru	Russian Fed	94	112	235.44 MB	Seiten: 94
cn	China	cn	76	177	158.07 MB	Seiten: 76
it	Italy	it	68	185	312.71 MB	Seiten: 68
fr	France	fr	39	40	78.55 MB	Seiten: 39
pl	Poland	pl	31	58	157.09 MB	Seiten: 31
sg	Singapore	21	29	136.46 MB	Seiten: 21
za	South Africa	20	51	234.43 MB	Seiten: 20
tr	Turkey	tr	15	41	327.90 MB	Seiten: 15
mx	Mexico	mx	15	30	156.22 MB	Seiten: 15
ch	Switzerland	14	23	299.31 MB	Seiten: 14
eu	European cty	14	34	234.20 MB	Seiten: 14
my	Malaysia	13	36	78.21 MB	Seiten: 13
es	Spain	es	12	28	468.77 MB	Seiten: 12
nz	New Zealand	11	27	112.25 MB	Seiten: 11
id	Indonesia	11	32	156.47 MB	Seiten: 11
jp	Japan	jp	9	29	78.13 MB	Seiten: 9
sk	Slovak Republic	6	15	78.15 MB	Seiten: 6
bh	Bahrain	bh	5	14	156.03 MB	Seiten: 5
ar	Argentina	1	5	78.11 MB	Seiten: 1
kr	South Korea	1	3	209.18 MB	Seiten: 1
kw	Kuwait	kw	0	1	78.16 MB	Seiten: 0
ir	Iran	ir	0	1	78.05 MB	Seiten: 0
lu	Luxembourg	0	1	78.10 MB	Seiten: 0
lk	Sri Lanka	0	2	156.16 MB	Seiten: 0
rs	Rep Serbia	0	2	156.17 MB	Seiten: 0
?Unbekannt	Unbekannt	ss	3	13	78.10 MB	Seiten: 3
? 	Sonstige	0	0	2.62 GB
  • schveeden! vietnam!
  • lol @ germany vs france numbers "je n'aime pas wulfy23, zut alors"
  • americans will be getting a surcharge, guess you do want fries with that
5 Likes

sorry sir, where did you move the setting, if I'm changing my sqm to other interfaces. I'm setting up mwan3, and aliasing eth1 as ueth1 so might want to set sqm in ueth1 rather than eth1

1 Like

i'm not adding this automatically anymore for the last 5 builds or so...

so if it's not enabled for you (from existing settings / carried from older installs), it has to be added...

this was due to a user not using sqm... so when we first boot...

  • have to think about how to work out how to do it conditionally...
  • probably something for the luci_statistics initd script but as you mention... people use all sorts of sqm interface configurations which makes it a little complicated...

so yeah... sadly for a while I won't be adding this automatically...

here is a sample for anyone who needs to add it... and yes... you can probably change that to any other interface and restart luci_statistics...

[root@d 52°] cat /etc/config/luci_statistics |grep -C5 eth1                                  
                                                                                                                   
config collectd_exec_input 'collectd_exec_input'                                                                   
        option cmduser 'nobody'                                                                                    
        option cmdgroup 'nogroup'                                                                                  
        option cmdline '/usr/libexec/collectd/sqm_collectd.sh eth1'
1 Like

Yes since users add a bunch of setting in their sqm, it's a wise move to remove automatically to collect the stat. i missed several updates since I tried other fw but back to your repo again. thank you for the answer.

1 Like

@anon50098793 thanks for the build you provided, I was knackered from trying to (unsuccessfully) build the image from scratch. Everything works perfectly for my use case, although I've encountered a problem.

I can see you have included the asix usb drivers (ax88179 and asix) for the usb to ethernet adapter. The device I'm using is the AmazonBasics USB 3.0 to 10/100/1000 Gigabit Ethernet LAN Adapter, which uses this chipset (as is shown by lsusb: Bus 002 Device 005: ID 0b95:1790 ASIX Elec. Corp. AX88179).

When I plug the device in and connect it straight to my PC, the lights on the adapter turn on for a few seconds, and then turn off. I've tried other OS like ubuntu server focal LTS, manjaro minimal, and raspberry piOS Lite 32 bit. Neither OSs face any problem interfacing on this adapter (The built-in ethernet works fine in all cases).

I am at my wit's end with this issue. I tried replugging the adapter on different ports, with no avail. I thought it could be a power delivery issue, but I'm using the 3A official usb-c power supply. I'm booting from a USB 240GB SATA SSD (ASMedia AS2115, uses UASP), if that helps. I have not resized any partitions yet, but plan to do so once this issue is sorted.

EDIT: I'm on rpi4.64-21.02.0-26723-1.0.3-2-r16279-bcm2711-ext4-fac.img. But I've tried the latest SNAPSHOT also, to no avail.

1 Like

good question... this is partly the reason I left out one of the asix packages as I thought some random conflict may happen... but they seem to be separate drivers...

i'm thinking this might be build related or power related too...

  • try removing usbmodeswitch package...
  • try removing one of the asix driver packages... ( but that can be hard to do if you remove the wrong one... )
1 Like

Here's the output for lsusb.

root@rpi4-e45f0138c6 /39# lsusb
Bus 002 Device 003: ID 174c:1153 ASMedia AS2115
Bus 001 Device 002: ID 2109:3431  USB2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.143 xhci-hcd xHCI Host Controller
Bus 002 Device 005: ID 0b95:1790 ASIX Elec. Corp. AX88179
Bus 002 Device 001: ID 1d6b:0003 Linux 5.4.143 xhci-hcd xHCI Host Controller
1 Like

make sure you turn this off or resize before upgrading or next upgrade your rootfs will be expanded;

#PLACEHASHHERE  ROOTFSEXPAND=1

Cool... Nice to know it works... another person had some issues with some m2 adapter something...

That said... it could also be related... so also try a quick boot from sdcard (you don't need your internet connected... it's just to see if the ASIX works)

1 Like

I tried removing usbmodeswitch using opkg (I think that's how I'm supposed to do it).
Here's the output:

root@rpi4-e45f0138c6 /40# opkg remove usbmodeswitch
No packages removed.
1 Like

sorry i got lazy...

[root@dca632 ../_ADGUARDHOME 50�°] opkg list-installed | grep mode                                                 
                                                                                          
usb-modeswitch - 2017-12-19-f40f84c2-2

opkg remove usb-modeswitch

1 Like

so also try a quick boot from sdcard

So I tried flashing the 21.02.0 file to an sdcard, but I see the same issue. The lights blink for a few seconds, then nothing. I've plugged in only the adapter to any of the ports.

I'll try removing usb-modeswitch now.

EDIT: usb-modeswitch did not help. I've tried all ports, and no success.