Ports missing from LuCI Overview

Just for kicks, I installed 23.05 onto an ancient Check Point U-5 (that's x86 generic). Everything works, but four out of five ports are missing from the Port status section of LuCI's Overview page. The only port shown is eth0 (which has an Intel 82562ET/EZ/GT/GZ NIC behind it). The missing ports are eth1 through eth4, all running on Intel 82574L NICs.

To repeat, everything works. eth4 is WAN, the remaining ports are bridged into a LAN, and there's a client device connected to eth3. Routing and DHCP service are provided, the device communicates upstream and downstream, just the display is out of whack...

So... how do I get all ports to display in the status section? Not sure what additional information is needed in this case, but if you have ideas, ask, and I will post it.

You may find the answer here

3 Likes

Thank you, got it fixed. For future readers, there's a file, /etc/board.json, that you need to edit. Mine, after editing, is as follows:

{
        "model": {
                "id": "checkpoint-u-5-00",
                "name": "CheckPoint U-5-00"
        },
        "network": {
                "lan": {
                        "ports": ["eth0", "eth1", "eth2", "eth3"],
                        "protocol": "static"
                },
                "wan": {
                        "device": "eth4",
                        "protocol": "dhcp"
                }
        }
}

Here's what I noticed. The initial content of the file matched the "out-of-the-box" setup; initially, this device didn't have a driver for the Intel 82574L NICs, so I installed it via opkg. The JSON file, however, remained unchanged, hence, the problem.

This looks like a bug in need of fixing though...

2 Likes

It's not really a bug, but still something you can improve quite easily - e.g. like:

--- a/target/linux/x86/base-files/etc/board.d/02_network
+++ b/target/linux/x86/base-files/etc/board.d/02_network
@@ -43,6 +43,9 @@ pc-engines-apu4|pc-engines-apu6)
 roqos-roqos-core-rc10)
 	ucidef_set_interfaces_lan_wan "eth1" "eth0"
 	;;
+r-s-cybersecurity-gateprotect-gmbh-gp-7543)
+	ucidef_set_interfaces_lan_wan "eth1 eth2 eth3" "eth0"
+	;;
 sophos-sg-105r1|sophos-xg-105r1| \
 sophos-sg-105wr1|sophos-xg-105wr1| \
 sophos-sg-105r2|sophos-xg-105r2| \

@NC1 in addition to what @slh said, if you want to create a patch/PR, I'd use paths for ports and maybe even label eth4 as wan: https://github.com/openwrt/openwrt/pull/13619/commits/3a65dfeb491c47ec51eeaa3fe65d4a4a60d3c6a1

1 Like

I may have failed to communicate the issue, so let me try again.

After the initial installation, there is only one detectable port on the device (e100), so having a single port listed was the expected behavior. Next, I installed the driver (e1000e) for the yet-undetected second network card (actually, it's a group of four identical single-port NICs). The driver installs, the ports work, but /etc/board.json does not get updated, as it did when running 22.x releases. And that, I think, is a bug.

Also, an interesting development following the update to 23.05.2 using auc: my hand-edited /etc/board.json got rewritten, and this time, it includes two ports out of five. So I replaced it again with the hand-edited version from above, and all is right again.

Am I wrong in thinking this is a bug?

As mentioned, you'd need a patch as the one quoted above to teach OpenWrt about your device, as it can't know about it otherwise.

Missing feature ~= new device != bug.