Updated OpenWrt/muvirt/kernels + SFP info for LuCI

Hi all,

I have gone through and updated all our OpenWrt and kernel builds in the last few days.
This includes:

  • OpenWrt 21.02 (with 5.10 backport)
  • OpenWrt 22.03+rc5
  • muvirt with 22.03+rc5
  • Kernel 5.10.128, 5.15.52 and 5.19.0-rc5 packages for Debian

Download links are on the front page of archive.traverse.com.au

All these include a bugfix for the real time clock driver, which did not properly read and set the 12/24 hour mode. The patch has been submitted upstream.

If you are upgrading from OpenWrt 21.02 to 22.03, be aware that 22.03 migrates to the new nftables based firewall4. You may need to take action if you have custom iptables rules (e.g /etc/firewall.user), or applications that interact with iptables rather than nftables (see openwrt/packages: Certain upstream switch to firewall4 aka nftables instead of iptables)

Note: due to a compile breaking change in recent 5.10.12x kernels, the xtables-addons package has been removed from our 21.02 builds.

I am going on vacation for the next couple of weeks, so there won’t be any updates during that time, except for a major security issues.

SFP information/statistics for LuCI

Also included in the OpenWrt/muvirt 22.03 builds is a new SFP information module for LuCI:

This is basically a nice interace to the ethtool -m command.

The code for this module currently lives in muvirt-feed/sfp-diagnostics-luci. It also requires an addition to board.d to add the SFP slot info to board.json.

This depends on a patch I developed for ethtool that adds JSON export support for it’s -m / --module-info command:

Once the ethtool patches are upstreamed I will look into getting the module itself added to LuCI.
Any feedback on this would be much appreciated.

1 Like

Currently running 22.03 on my Ten64. Working great so far. (Just had to rebuild dropbear to add full ECC support so I can SSH in from my MacBook)

Looking at the “sftp-diagnostics-luci”, it seems it will only ever read board.json, which is probably fine for most boards, however due to the fact I run a customized DPL, my SFPs are eth4 and eth5 and not 8 and 9.
There is currently no “/etc/config/sfp-diagnostics” or similar to be able to override the board definitions.
For now I have manually edited board.json to fit my setup, but some overrides might be nice, especially for upstreaming this for devices that might have full PCIe slots so you can add custom NICs etc.

Also, on another note: This might be better moved under the “Status” tab in LuCi, rather than “Network”, following the pattern of where all other things go.

Thanks for the feedback!

Yes, the interfaces are ‘hardcoded’ by board and I would like to fix this.
In the meantime you can edit /etc/board.d/73_sfp so it refers to the correct interfaces in your case.

The problem in my way at the moment is that there doesn’t seem to be a way to find out (from userspace, like sysfs) what network interface the SFP driver is ultimately controlling. We can figure it out on the Ten64 using restool but I would like a generic solution.

Didn’t realise there were updates: I’ve just sysupgraded and am running OpenWrt 22.03.0-rc5+traverse 585453076 / LuCI openwrt-22.03 branch git-22.167.28394-8a4486a

Initially I’d lost luci, but I’d used the ‘keep list of installed packages’ option so I could fix it via opkg install $(cat /etc/backup/installed_packages.txt | awk '{print $1}')

Missing certain things like upnp from the archive but otherwise it seems fine.

The /data mountpoint that I’ve been using on the NVMe drive was missing but the partition was there and untouched.

Crap, /proc is missing - is this intended?

Phew, rebooted and we’re back.

Missing packages - samba, upnp etc

1 Like