Omnia ethernet ports might be dead

Hello,

my Turris Omnia updated to OS 5

Powered by LuCI branch (git-20.200.40954-91ac721) / TurrisOS 5.0.4 2ca5a386eeefb11de15a9b359ae2769f775d58c9

and it seems that devices connected via ethernet are not getting IP addresses anymore… I tried with a raspberry4 and with my laptop…

Any I dea where I should be looking to investigate?

Thank you so much!

Are you using VLANs? There seem to be some issues with how they are handled with TOS 5, search for DSA for details.

Other than that you could check whether the dnsmasq process is running and the config it’s using (in /var). Let us know if you more detailed instructions on how to accomplish that.

Hello, and thank you!

I am not using VLANs, all my devices are interconnected… I checked the config file for dnsmasq by grepping ps, and I found a auto-generated config file from /etc/config/dhcp, but I noticed this line in it: no-dhcp-interface=eth2 it looks suspicious: what does it do, and why would it be in an auto-generated file? My raspberry has been connected to the same port for quite some time btw…

(despite the weird line, it doesn’t seem to give out addresses on any port)

Wait, I’m looking at the VLAN wiki, and they’re talking a lot about hardware… I have a mSATA installed to run LXC containers (this guide), and that reroutes some wires… Could that be playing a part?

Lastly, I also recently tried activating the VPN server (from the re-foris interface), but didn’t go anywhere with it.

eth2 is the WAN port, in a common setup it thus makes sense that that DHCP server is not assigning an IP address to the interface.


Is it indeed connecting to the O’s WAN port instead of a LAN port?

no it’s just connected to the second ethernet port :slight_smile: WAN is connected to the building’s router, which is in bridge mode

It updated from which TOS version? Did reboot the node after the update?

I had version 3 before… I followed this guide to update but the first try got stuck, so I restored to the latest snapshot and then it worked fine… Then a couple of days later I logged in and noticed it had updated. I restarted it a couple of times since.

check if the DHCP server is up and running / listening, from cli with ss -tulpn | grep '67\|547'

got this back

root@turris:~# ss -tulpn | grep '67\|547'
Cannot open netlink socket: Protocol not supported
Cannot open netlink socket: Protocol not supported
udp   UNCONN 0      0                         0.0.0.0:67           0.0.0.0:*     users:(("dnsmasq",pid=7420,fd=4))                                              
udp   UNCONN 0      0                               *:547                *:*     users:(("odhcpd",pid=4421,fd=15))

How do you access the O, WLan (DHCP working?) or setting a static IP on the client?


That is a bit unspecific, second counting from where? Depending on which actual port that is what is the output of

ubus -v call network.device status '{ "name": "lan1" }', or
ubus -v call network.device status '{ "name": "lan2" }'

Is the Lan port in question bridged into br-lan? If what is the output of

ubus -v call network.interface.lan status?

And lastly output of

ubus -v call dhcp "ipv4leases"


N.B. mind to obfuscate any data you deem private


What else:

  • try a different ethernet cable
  • try a different Lan port (one that is being served by DHCP)

I already tried different cables and all the available ports (which btw are labeled, so the “second one” is “lan1” :slight_smile: ) except WAN.

ubus -v call network.device status outputs

{
"br-lan": {
	"external": false,
	"present": true,
	"type": "bridge",
	"up": true,
	"carrier": true,
	"bridge-members": [
		"wlan0",
		"wlan1"
	],
	"mtu": 1500,
	"mtu6": 1500,
	"macaddr": "redacted",
	"txqueuelen": 1000,
	"ipv6": true,
	"promisc": false,
	"rpfilter": 0,
	"acceptlocal": false,
	"igmpversion": 0,
	"mldversion": 0,
	"neigh4reachabletime": 30000,
	"neigh6reachabletime": 30000,
	"neigh4gcstaletime": 60,
	"neigh6gcstaletime": 60,
	"neigh4locktime": 100,
	"dadtransmits": 1,
	"multicast": true,
	"sendredirects": true,
	"statistics": {
		"collisions": 0,
		"rx_frame_errors": 0,
		"tx_compressed": 0,
		"multicast": 0,
		"rx_length_errors": 0,
		"tx_dropped": 0,
		"rx_bytes": 579847954,
		"rx_missed_errors": 0,
		"tx_errors": 0,
		"rx_compressed": 0,
		"rx_over_errors": 0,
		"tx_fifo_errors": 0,
		"rx_crc_errors": 0,
		"rx_packets": 3793207,
		"tx_heartbeat_errors": 0,
		"rx_dropped": 0,
		"tx_aborted_errors": 0,
		"tx_packets": 2966195,
		"rx_errors": 0,
		"tx_bytes": 14452863165,
		"tx_window_errors": 0,
		"rx_fifo_errors": 0,
		"tx_carrier_errors": 0
	}
},
"eth2": {
	"external": false,
	"present": true,
	"type": "Network device",
	"up": true,
	"carrier": true,
	"link-advertising": [
		"10baseT-H",
		"10baseT-F",
		"100baseT-H",
		"100baseT-F",
		"1000baseT-F"
	],
	"link-partner-advertising": [
		"10baseT-H",
		"10baseT-F",
		"100baseT-H",
		"100baseT-F",
		"1000baseT-H",
		"1000baseT-F"
	],
	"link-supported": [
		"10baseT-H",
		"10baseT-F",
		"100baseT-H",
		"100baseT-F",
		"1000baseT-F"
	],
	"speed": "1000F",
	"autoneg": true,
	"mtu": 1500,
	"mtu6": 1500,
	"macaddr": "redacted",
	"txqueuelen": 532,
	"ipv6": true,
	"promisc": false,
	"rpfilter": 0,
	"acceptlocal": false,
	"igmpversion": 0,
	"mldversion": 0,
	"neigh4reachabletime": 30000,
	"neigh6reachabletime": 30000,
	"neigh4gcstaletime": 60,
	"neigh6gcstaletime": 60,
	"neigh4locktime": 100,
	"dadtransmits": 1,
	"multicast": true,
	"sendredirects": true,
	"statistics": {
		"collisions": 0,
		"rx_frame_errors": 0,
		"tx_compressed": 0,
		"multicast": 0,
		"rx_length_errors": 0,
		"tx_dropped": 0,
		"rx_bytes": 15006123704,
		"rx_missed_errors": 0,
		"tx_errors": 0,
		"rx_compressed": 0,
		"rx_over_errors": 0,
		"tx_fifo_errors": 0,
		"rx_crc_errors": 0,
		"rx_packets": 11096331,
		"tx_heartbeat_errors": 0,
		"rx_dropped": 0,
		"tx_aborted_errors": 0,
		"tx_packets": 3771437,
		"rx_errors": 0,
		"tx_bytes": 622808358,
		"tx_window_errors": 0,
		"rx_fifo_errors": 0,
		"tx_carrier_errors": 0
	}
},
"lo": {
	"external": false,
	"present": true,
	"type": "Network device",
	"up": true,
	"carrier": true,
	"mtu": 65536,
	"mtu6": 65536,
	"macaddr": "00:00:00:00:00:00",
	"txqueuelen": 1000,
	"ipv6": true,
	"promisc": false,
	"rpfilter": 0,
	"acceptlocal": false,
	"igmpversion": 0,
	"mldversion": 0,
	"neigh4reachabletime": 30000,
	"neigh6reachabletime": 30000,
	"neigh4gcstaletime": 60,
	"neigh6gcstaletime": 60,
	"neigh4locktime": 100,
	"dadtransmits": 1,
	"multicast": false,
	"sendredirects": true,
	"statistics": {
		"collisions": 0,
		"rx_frame_errors": 0,
		"tx_compressed": 0,
		"multicast": 0,
		"rx_length_errors": 0,
		"tx_dropped": 0,
		"rx_bytes": 13270108,
		"rx_missed_errors": 0,
		"tx_errors": 0,
		"rx_compressed": 0,
		"rx_over_errors": 0,
		"tx_fifo_errors": 0,
		"rx_crc_errors": 0,
		"rx_packets": 197179,
		"tx_heartbeat_errors": 0,
		"rx_dropped": 0,
		"tx_aborted_errors": 0,
		"tx_packets": 197179,
		"rx_errors": 0,
		"tx_bytes": 13270108,
		"tx_window_errors": 0,
		"rx_fifo_errors": 0,
		"tx_carrier_errors": 0
	}
},
"wlan0": {
	"external": true,
	"present": true,
	"type": "Network device",
	"up": true,
	"carrier": true,
	"mtu": 1500,
	"mtu6": 1500,
	"macaddr": "redacted",
	"txqueuelen": 1000,
	"ipv6": false,
	"promisc": false,
	"rpfilter": 0,
	"acceptlocal": false,
	"igmpversion": 0,
	"mldversion": 0,
	"neigh4reachabletime": 30000,
	"neigh6reachabletime": 30000,
	"neigh4gcstaletime": 60,
	"neigh6gcstaletime": 60,
	"neigh4locktime": 100,
	"dadtransmits": 1,
	"multicast": true,
	"sendredirects": true,
	"statistics": {
		"collisions": 0,
		"rx_frame_errors": 0,
		"tx_compressed": 0,
		"multicast": 0,
		"rx_length_errors": 0,
		"tx_dropped": 0,
		"rx_bytes": 660246564,
		"rx_missed_errors": 0,
		"tx_errors": 0,
		"rx_compressed": 0,
		"rx_over_errors": 0,
		"tx_fifo_errors": 0,
		"rx_crc_errors": 0,
		"rx_packets": 1945881,
		"tx_heartbeat_errors": 0,
		"rx_dropped": 0,
		"tx_aborted_errors": 0,
		"tx_packets": 4219044,
		"rx_errors": 0,
		"tx_bytes": 5680401132,
		"tx_window_errors": 0,
		"rx_fifo_errors": 0,
		"tx_carrier_errors": 0
	}
},
"wlan1": {
	"external": true,
	"present": true,
	"type": "Network device",
	"up": true,
	"carrier": true,
	"mtu": 1500,
	"mtu6": 1500,
	"macaddr": "redacted",
	"txqueuelen": 1000,
	"ipv6": false,
	"promisc": false,
	"rpfilter": 0,
	"acceptlocal": false,
	"igmpversion": 0,
	"mldversion": 0,
	"neigh4reachabletime": 30000,
	"neigh6reachabletime": 30000,
	"neigh4gcstaletime": 60,
	"neigh6gcstaletime": 60,
	"neigh4locktime": 100,
	"dadtransmits": 1,
	"multicast": true,
	"sendredirects": true,
	"statistics": {
		"collisions": 0,
		"rx_frame_errors": 0,
		"tx_compressed": 0,
		"multicast": 0,
		"rx_length_errors": 0,
		"tx_dropped": 0,
		"rx_bytes": 1716464105,
		"rx_missed_errors": 0,
		"tx_errors": 0,
		"rx_compressed": 0,
		"rx_over_errors": 0,
		"tx_fifo_errors": 0,
		"rx_crc_errors": 0,
		"rx_packets": 4049955,
		"tx_heartbeat_errors": 0,
		"rx_dropped": 0,
		"tx_aborted_errors": 0,
		"tx_packets": 8659684,
		"rx_errors": 0,
		"tx_bytes": 11366426679,
		"tx_window_errors": 0,
		"rx_fifo_errors": 0,
		"tx_carrier_errors": 0
	}
}

}

ubus -v call network.interface.lan status outputs

{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"dynamic": false,
"uptime": 69678,
"l3_device": "br-lan",
"proto": "static",
"device": "br-lan",
"updated": [
	"addresses"
],
"metric": 0,
"dns_metric": 0,
"delegation": true,
"ipv4-address": [
	{
		"address": "192.168.1.1",
		"mask": 24
	}
],
"ipv6-address": [
	
],
"ipv6-prefix": [
	
],
"ipv6-prefix-assignment": [
	{
		"address": "2001:1ba8:1504:e300::",
		"mask": 60,
		"preferred": 16739,
		"valid": 16739,
		"local-address": {
			"address": "2001:1ba8:1504:e300::1",
			"mask": 60
		}
	},
	{
		"address": "fddb:2077:aff0::",
		"mask": 60,
		"local-address": {
			"address": "fddb:2077:aff0::1",
			"mask": 60
		}
	}
],
"route": [
	
],
"dns-server": [
	
],
"dns-search": [
	
],
"neighbors": [
	
],
"inactive": {
	"ipv4-address": [
		
	],
	"ipv6-address": [
		
	],
	"route": [
		
	],
	"dns-server": [
		
	],
	"dns-search": [
		
	],
	"neighbors": [
		
	]
},
"data": {
	
}

}

ubus -v call dhcp "ipv4leases" outputs

{
"device": {
	
}

}

this is not looking great is it?

Thank you

Yes, wifi seems to have zero issues: my laptop, my phone, another raspberry, and my appletv are all working fine

It is not, unless the Lan would be IPv6 only.
And it is odd since you mentioned that the WLan clients do not exhibit the issue - but then where those clients get their IP assigned from if not from the router?


Your node’s br-lan is only enslaving:

but not the Lan port in question, maybe you set it up that way?


Entirely absent from ubus -v call network.device status are the Lan 0 - 4 ports, as if non-existent (or did you just miss that output?). You should look into the syslog whether there are any issue printed regarding those ports, also for switch. Worst case the switch chip is suffering a malfunction (or is dead).

Normally the log would exhibit something like

mv88e6085 f1072004.mdio-mii:10: switch 0x1760 detected: Marvell 88E6176, revision 1
libphy: mv88e6xxx SMI: probed
DSA: switch 0 0 parsed
DSA: tree 0 parsed
mv88e6085 f1072004.mdio-mii:10 lan0 (uninitialized): PHY [mv88e6xxx-1:00] driver [Marvell 88E1540]
mv88e6085 f1072004.mdio-mii:10 lan1 (uninitialized): PHY [mv88e6xxx-1:01] driver [Marvell 88E1540]
mv88e6085 f1072004.mdio-mii:10 lan2 (uninitialized): PHY [mv88e6xxx-1:02] driver [Marvell 88E1540]
mv88e6085 f1072004.mdio-mii:10 lan3 (uninitialized): PHY [mv88e6xxx-1:03] driver [Marvell 88E1540]
mv88e6085 f1072004.mdio-mii:10 lan4 (uninitialized): PHY [mv88e6xxx-1:04] driver [Marvell 88E1540]
mv88e6085 f1072004.mdio-mii:10 lan4: configuring for phy/gmii link mode
mv88e6085 f1072004.mdio-mii:10 lan0: configuring for phy/gmii link mode
mv88e6085 f1072004.mdio-mii:10 lan1: configuring for phy/gmii link mode
mv88e6085 f1072004.mdio-mii:10 lan2: configuring for phy/gmii link mode
mv88e6085 f1072004.mdio-mii:10 lan3: configuring for phy/gmii link mode
mv88e6085 f1072004.mdio-mii:10 lan0: Link is Up - 1Gbps/Full - flow control rx/tx
mv88e6085 f1072004.mdio-mii:10 lan1: Link is Up - 1Gbps/Full - flow control rx/tx

That’s the whole output of the commands :frowning:

I haven’t changed the setup so thoroughly, only enough to add the mSATA drive and having pihole respond to DNS queries.

Some of my devices have static IP assigned to them, but the playstation definitely doesn’t and I have just checked that it works just fine on the router’s wifi network.

Which is odd considering that ubus -v call dhcp "ipv4leases" came up empty, maybe it only utilises IPv6 whose leases on the O should show with ubus -v call dhcp "ipv6leases".


Well, unless you find some debug output in the syslog that would explain the absence of the Lan ports there could be a hardware issue:

  • switch chip
  • board lanes from switch chip to Lan ports
  • Lan ports

You may want to consider the manufacturer’s diagnostics routine https://docs.turris.cz/basics/support/

Thank you very much. There are indeed many entries in ipv6leases, some of which I recognize and some more misterious with no hostname…

I have emailed support with al the logs and whatnot, hopefully they can determine if it’s a hardware problem :confused:

Did you check in Foris if the ports are assigned to the right zone? This was not a setting on TOS3.
I got locked out too from the Ethernet ports.
After the upgrade they were not assigned to a vlan.

Edit: added screenshot, Ethernet ports were Unassigned, I moved them to the LAN.

I had the same after going from 3 to 5. Do a factory reset? That solved it here…

Hey sorry for the late reply, it turns out that my ethernet ports were indeed removed from my (only) vlan, for whatever reason, and as soon as I reassigned them (and restarted) everything went back to normal!
Thanks for all the help, here’s to some more successful automated updates!