OpenWrt x86 some lan ports not working

Hi All, recently I have gotten openwrt installed on a N5105 4 port system. After the initial hiccup of needing to install kmod-igc, I have gotten it working in the following configuration:

Port 1 (eth0) - Main PC
Port 4 (eth3) - Wan

This seems to work fine but when I try to plug in devices to port 2 and 3 I could not ping them. The devices show up fine in the openwrt overview with IP addresses allocated to them but they do not have internet and host are not reachable. Did I configure something wrong?

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0'
	list ports 'eth1'
	list ports 'eth2'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'WAN'
	option proto 'dhcp'
	option peerdns '0'
	list dns '8.8.8.8'
	list dns '8.8.4.4'
	option device 'eth3'

config device
	option name 'eth3'

config interface 'WAN6'
	option proto 'dhcpv6'
	option reqaddress 'try'
	option reqprefix 'auto'
	option device 'eth3'

config device
	option name 'eth0'

That configuration looks a bit (very) messy, I'd suggest to try the attached:


config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd36:7803:ead2::/48'
	option packet_steering '1'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0'
	list ports 'eth1'
	list ports 'eth2'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'wan'
	option device 'eth3'
	option proto 'dhcp'

config interface 'wan6'
	option device 'eth3'
	option proto 'dhcpv6'

Hint, don't use upper-case interface names - so you will have to fix WAN to wan (same for WAN6) in several other configuration files (at least firewall and dhcp settings).

Hi thanks for the suggestion, the ports are still not working

That configuration would be correct (tested on an x86_64 device with for igb ports), but given the issues I wouldn't rule out similar issues in the other config files. Normally I'd suggest to do a factory reset, but in that case you'd be back to not having igc included…

Probably look into (online-)imagebuilder to generate a custom (22.03-rc4) image with igc included and then flash that without retaining configs. If that doesn't get you any further, you'd have to debug the kernel/ igc side of things.

Hi I have already done factory reset, install igc from usb, and just included wan.

It is having the same issue. How do we debug the kernel?

I get these in dmesg and I think they seem fine?


[    8.838976] igc 0000:05:00.0 eth3: MAC: 60:be:b4:03:3f:2c
[    8.849546] xt_time: kernel timezone is -0000
[    8.855766] PPP generic driver version 2.4.2
[    8.860609] NET: Registered protocol family 24
[    8.867067] kmodloader: done loading kernel modules from /etc/modules.d/*
[   10.384419] br-lan: port 1(eth0) entered blocking state
[   10.390189] br-lan: port 1(eth0) entered disabled state
[   10.395999] device eth0 entered promiscuous mode
[   10.482372] br-lan: port 2(eth1) entered blocking state
[   10.488138] br-lan: port 2(eth1) entered disabled state
[   10.493949] device eth1 entered promiscuous mode
[   10.579344] br-lan: port 3(eth2) entered blocking state
[   10.585117] br-lan: port 3(eth2) entered disabled state
[   10.590942] device eth2 entered promiscuous mode
[   12.757551] igc 0000:02:00.0 eth0: igc: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[   12.983740] br-lan: port 1(eth0) entered blocking state
[   12.989528] br-lan: port 1(eth0) entered forwarding state
[   12.995747] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   13.081557] igc 0000:05:00.0 eth3: igc: eth3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[   13.307730] IPv6: ADDRCONF(NETDEV_CHANGE): eth3: link becomes ready
[   13.789588] igc 0000:03:00.0 eth1: igc: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[   13.801252] br-lan: port 2(eth1) entered blocking state
[   13.807059] br-lan: port 2(eth1) entered forwarding state

The first things I'd test would be:

  • ip a and check the MAC addresses for eth0-3, which should be valid and different.
  • watch logread ; logread -f and unplug/ plug ethernet cables (with a client attached)

btw. I intentionally suggested a custom image including igc, as that would make sure to reset the configuration to a known state upon first boot (/etc/config/network is autogenerated, if igc is present during this firstboot condition, you'll end up with a correct default config - admittedly, given that this device isn't 'known' to OpenWrt, the default is a bit sub-optimal (eth0 <--> lan, eth1 <--> wan, eth2/ eth3 unconfigured). To test a known good (network) config, please replace yours with the one I pasted above before these tests (and reboot).

1 Like

Hi I think you have raised a good point about the auto configuration at first boot. I tested this to have a custom image with igc drivers preinstalled. Now I am getting the wan and wan6 already preconfigured by itself to eth1.

However, eth2 and 3 are now still not working. Am I right that all I have to do is to add them under devices, br-lan, check the boxes for eth2 and eth3? I did that and I see the IP getting allocated to them but they still do not have internet on those devices, and I cant ping them from the PC at eth0.

Hi all, since I was getting more familiar on testing out custom images, I just thought to just try the snapshot version. It seems that this issue has been fixed in the snapshot. No issues with pinging all the connected devices.

However there are issues with the snapshot which may need more troubleshooting of some wifi devices that are not detected by a bridge downstream of this router.

Sharing this in case anyone encouters the same issue. Meanwhile if anyone could share how to get 21.02.3 working on eth2 and eth3 of this hardware please share too.