Could you give more details on that ? are you modifying collectd / dropbear / etc... init scripts, or do you have your own script that applies taskset to these tasks after they have already been started by their usual init script ?
The following script is written in rc.local.
PROGS='procd ubusd askfirst urngd logd rpcd netifd dropbear blockd collectd crond dnsmasq odhcp6c odhcpd uhttpd ujail'
for prog in $PROGS; do
PIDS=`pgrep $prog`
for pid in $PIDS; do
echo $prog
taskset -ap -c 0-3 $pid
done
done
However, there are also processes that cannot change the CPU after startup. Ideally, you should modify the startup script under init.d, but in my case, I was satisfied that I was able to move collectd.
I also do little tricks like this (lol)
alias htop='taskset -c 0-3 htop'
will the @StarWhiz affinity optimization work on openwrt rc6?? or is itdifferent
Same SoC, so basically should be the same.
Anybody here edit the Nic settings for performance? If so any optimizations you got for things such as ethtool -A, -G, and -C.
Does anybody know what’s are the safe temp ranges for the R6S. Just moved to a new house and unlike before where my router was placed in the open. It is now placed in a network patch panel that’s built into the house so it’s in an enclosed space. Currently my gateway and nano pi r6s and access point will be in there. I monitored my temps they were slowly increasing. The last temp recorded on my R6S was 52.8 degrees. When I did touch my router. It was warm/hot. Not enough for me to pull away hot though.
Mine operates more or less on the same temperatures. It is wall mounted, behind a rack in the living room, but is well ventilated.
Notice that the operating temperature depends on the room temperature as well. Where I live is summer now, room temperatures (with A/C off) can reach up to 28°C on the hottest days. During the winter room temperature can drop down to 12°C (with heating off).
You can install luci-app-statistics
and collectd-mod-thermal
for temperature monitoring. See graph below from my R6S. Highest temp close to 52°C during a summer day, A/C was off and room temperature around 27°C. Lowest temp close arount 45° at night, with A/C on and room temperature around 23°.
I think that 50~55°C should not be a problem.
Ahh I see. I never had any experience with these network patch panels as I’ve always had my network set up in an open space on top of a table. I just noticed how hot it got last night when I set it up after an hour and a half of use. For more insight, the patch panel is a Legrand patch panel. It has holes here and there in the panel but it is a small-medium sized panel. I’m just worried if it will cause issues due to heat kinda being trapped inside. I do keep my pc hardwired to my router and I know it may sound dumb but I hope my Ethernet cords won’t face any damage due to the heat
But for that hour and a half of use I did see thru sensors command that the temp was at 51.7 then I checked about 30 mins later it has risen up to 52.8. Given that it was a short time of monitoring. I would have to give it a day to see but what worried me was how hot the R6S was in that panel when I touched it. Not enough to be like oof and pull my hand away immediately but noticeably hot to the touch.
The max. core temperature for RK3588 without throttling is 85C, you are still very far away from getting problem
For any newbies wondering how they can flash the official OpenWrt image into their R6S eMMC storage I have written a tutorial here on my GitHub page.
I also took personal notes on how to transfer: static IP configs, custom DNS hostnames, and port forwards over as well in this page.
So far this official image is working great me for 1.4 Gbps SQM with just basic Packet Steering Enabled (all CPUs)
.
No cpu affinity tweaks needed! htop
shows that my CPU cores are being having their loads evenly distributed under full network load with SQM on!
thanks for this. gonna try on my unit. it has been acting wonky since i flashed stable 24.10 plus some tweaks i found here.
You can also use dd
to flash an OpenWrt sysupgrade image to eMMc. Personally I think it is much easier and faster, specially if you are already running OpenWrt from SD card. Example:
cd /tmp
wget https://downloads.openwrt.org/releases/24.10.0/targets/rockchip/armv8/openwrt-24.10.0-rockchip-armv8-friendlyarm_nanopi-r6s-squashfs-sysupgrade.img.gz
gzip -d openwrt-24.10.0-rockchip-armv8-friendlyarm_nanopi-r6s-squashfs-sysupgrade.img.gz
dd if=openwrt-24.10.0-rockchip-armv8-friendlyarm_nanopi-r6s-squashfs-sysupgrade.img of=/dev/mmcblk1 bs=1M
reboot
To transfer the configuration, just backup from OpenWrt running from the SD card and restore after you boot OpenWrt from eMMC.
Be aware that once you have OpenWrt on eMMC, you will not be able to boot from SD card anymore (OpenWrt bootloader does not seem to give preference to SD cart when booting).
For this reason I prefer booting OpenWrt from the SD card, and mount eMMC as ext4 storage.
I see it's great to know that there's a more straightforward method than FriendlyWrt's way! Thanks for sharing! I added your comment to the guide as an alternative method.
The good thing about the FriendlyWrt way though is that the bootloader is preserved! So I could still boot from MicroSD even after it's flashed to eMMC.
I discovered this by accident because I was like hey why did all my changes dissapear after remembering to eject the microSD at a much later time after reboot.
Turns out it I was making changes to the SD Card OpenWrt and not the eMMC OpenWrt. After unplugging the SD card and making changes to the eMMC OpenWrt the changes remained. I personally like using the eMMC to free up some 32GB SD cards!
Just FYI, for whatever reason I still had to use your affinity tweaks on a 2GB symmetrical fiber line to get the loads to the faster cores on this latest stable release (24.10.10), even with packet steering on it was still using the slower ones. Really appreciate your guide on it!
Would love to know how you mounted the eMMC as storage? Running the same as you and booting OpenWRT directly from SD card, but would like to use the eMMC if possible.
Basically install block-mount
, edit /etc/config/fstab
, enable your eMMC (option enabled '1'
) and run the command block mount
.
The two Wikis below have more details, but some information is outdated. Below is my fstab
for reference (see last mount
section). If you need more details let me know, and I can make a small "How To" if needed.
https://openwrt.org/docs/techref/block_mount
https://openwrt.org/docs/guide-user/storage/fstab
root@router:~# cat /etc/config/fstab
config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
config 'mount'
option target '/overlay'
option uuid '3c415c56-ee2f-4f85-a99c-a456960ade0b'
option enabled '0'
config 'mount'
option target '/mnt/mmcblk0p1'
option uuid '84173db5-fa99-e35a-95c6-28613cc79ea9'
option enabled '0'
config 'mount'
option target '/rom'
option uuid '7737ca72-9a51f003-74492f19-6962aa67'
option enabled '0'
config 'mount'
option target '/mnt/emmc'
option uuid 'c6c28203-3cad-4345-8204-a4603d1e5023'
option enabled '1'
I just bought one of these devices. So to install openwrt on it, I need to follow this guide(pic related). However in the repo I see ext4 and squashfs, which image do I use? I would like to install it on the internal emmc chip not via a SD card, aware of the no longer booting from SD card option. Is there anything else I'm missing or need to do?
Appreciate this, thank you!
I had written a guide here for the R6S. It also has a section explaining squashfs vs ext4 which can be explained by https://openrouters.com/docs/openwrt-chose-ext4-or-squashfs-image/ as well