Internet does not come back if I unplug and re-plug ethernet -?

In attempting for better resiliency, I want my setup to recover the internet connections properly if the internet goes down and then comes back.

RPI 4 w/8Gig RAM, booted off a 1TB ssd. Running Weewx (on host) and Home Assistant Supervised (fully supported) with the below specs (64 bit Debian).

So simply the question is, if I unplug the ethernet cable and then plug it back in, it should be able to reconnect to the internet - but does not… What log / config details do you need along with the below picture, to troubleshoot?

System Information

version core-2022.11.4
installation_type Home Assistant Supervised
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.7
os_name Linux
os_version 5.10.0-19-arm64
arch aarch64
timezone America/New_York
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4863
Installed Version 1.28.3
Stage running
Available Repositories 1221
Downloaded Repositories 22
AccuWeather
can_reach_server ok
remaining_requests 49
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Debian GNU/Linux 11 (bullseye)
update_channel stable
supervisor_version supervisor-2022.11.dev0401
agent_version 1.4.1
docker_version 20.10.21
disk_total 915.4 GB
disk_used 13.7 GB
healthy true
supported true
supervisor_api ok
version_api ok
installed_addons Log Viewer (0.14.0), Samba share (10.0.0), Home Assistant Google Drive Backup (0.109.2), File editor (5.4.2), Duck DNS (1.15.0), Terminal & SSH (9.6.1), Core DNS Override (0.1.1), Mosquitto broker (6.1.3), AppDaemon (0.10.1), AdGuard Home (4.7.5)
Dashboards
dashboards 4
resources 15
views 25
mode storage
Recorder
oldest_recorder_run October 20, 2022 at 5:25 AM
current_recorder_run November 22, 2022 at 6:28 PM
estimated_db_size 1931.49 MiB
database_engine sqlite
database_version 3.38.5

There should be nothing at the RPi that needs to be changed.
All my RPi just handle the disconnects and reconnects automatically and properly.

My guess would be an issue on the network gear that might think it detects an error on the port, if it happens too fast or it could be a faulty DHCP server, that refuse to reassign the correct IP address to the RPi, if it runs with dynamic addresses (I recommend static addresses both on the RPi and the same addresses as reserved addresses on the DHCP server) or it could be a faulty or sub-standard cable, like a cat5 cable being used to try to run 1gbit/s connections or an UTP cable used in a noisy enviroment where a STP cable should be used.

While HA is up and running unplug and plug the ethernet cable back in. Now run from cli:

sudo dmesg

and show what the last lines are saying. Example:

sudo dmesg

[632311.618175] r8169 0000:02:00.0 eno1: Link is Down
[632317.945265] r8169 0000:02:00.0 eno1: Link is Up - 1Gbps/Full - flow control off

Go to the cli again and do:

sudo tail -f /var/log/daemon.log --lines=25

and show what the last 25 lines are saying. Example for a correctly working system:

sudo tail -f /var/log/daemon.log --lines=25

Nov 23 14:49:07 homeassistant NetworkManager[402]: <info>  [1669189747.9633] dhcp4 (eno1): state changed extended -> terminated
Nov 23 14:49:07 homeassistant NetworkManager[402]: <info>  [1669189747.9765] manager: NetworkManager state is now DISCONNECTED
Nov 23 14:49:07 homeassistant dbus-daemon[401]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.8' (uid=0 pid=402 comm="/usr/sbin/NetworkManager --no-daemon ")
Nov 23 14:49:07 homeassistant systemd[1]: Starting Network Manager Script Dispatcher Service...
Nov 23 14:49:07 homeassistant dbus-daemon[401]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 23 14:49:07 homeassistant systemd[1]: Started Network Manager Script Dispatcher Service.
Nov 23 14:49:08 homeassistant NetworkManager[402]: <info>  [1669189748.2838] device (eno1): carrier: link connected
Nov 23 14:49:08 homeassistant NetworkManager[402]: <info>  [1669189748.2850] device (eno1): state change: unavailable -> disconnected (reason 'carrier-changed', sys-iface-state: 'managed')
Nov 23 14:49:08 homeassistant NetworkManager[402]: <info>  [1669189748.2873] policy: auto-activating connection 'Supervisor eno1' (76b55560-118a-47ba-934e-a1eae625bd43)
Nov 23 14:49:08 homeassistant NetworkManager[402]: <info>  [1669189748.2890] device (eno1): Activation: starting connection 'Supervisor eno1' (76b55560-118a-47ba-934e-a1eae625bd43)
Nov 23 14:49:08 homeassistant NetworkManager[402]: <info>  [1669189748.2893] device (eno1): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Nov 23 14:49:08 homeassistant NetworkManager[402]: <info>  [1669189748.2902] manager: NetworkManager state is now CONNECTING
Nov 23 14:49:08 homeassistant NetworkManager[402]: <info>  [1669189748.2908] device (eno1): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Nov 23 14:49:08 homeassistant NetworkManager[402]: <info>  [1669189748.2920] device (eno1): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Nov 23 14:49:08 homeassistant NetworkManager[402]: <info>  [1669189748.2929] dhcp4 (eno1): activation: beginning transaction (timeout in 45 seconds)
Nov 23 14:49:09 homeassistant NetworkManager[402]: <info>  [1669189749.6634] device (eno1): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Nov 23 14:49:09 homeassistant NetworkManager[402]: <info>  [1669189749.6726] device (eno1): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Nov 23 14:49:09 homeassistant NetworkManager[402]: <info>  [1669189749.6732] device (eno1): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Nov 23 14:49:09 homeassistant NetworkManager[402]: <info>  [1669189749.6741] manager: NetworkManager state is now CONNECTED_LOCAL
Nov 23 14:49:09 homeassistant NetworkManager[402]: <info>  [1669189749.6753] device (eno1): Activation: successful, device activated.
Nov 23 14:49:12 homeassistant NetworkManager[402]: <info>  [1669189752.6124] dhcp4 (eno1): state changed unknown -> bound, address=192.168.178.49
Nov 23 14:49:12 homeassistant NetworkManager[402]: <info>  [1669189752.6146] manager: NetworkManager state is now CONNECTED_SITE
Nov 23 14:49:12 homeassistant NetworkManager[402]: <info>  [1669189752.6150] policy: set 'Supervisor eno1' (eno1) as default for IPv4 routing and DNS
Nov 23 14:49:15 homeassistant NetworkManager[402]: <info>  [1669189755.9227] manager: NetworkManager state is now CONNECTED_GLOBAL
Nov 23 14:49:26 homeassistant systemd[1]: NetworkManager-dispatcher.service: Succeeded.
1 Like

Not very helpful perhaps, but I’m using a HassOS install on an RPi4 and if I reboot my router (which is also the DHCP server), then HA will occasionally also need a reboot to come back online. If both reboot together (e.g. power failure), then HA will never recover as it starts up faster than the router, fails to get an IP address and remains offline until rebooted manually - i.e. it doesn’t appear to continue to request an IP from the router, which does admittedly take several minutes to boot up.

I guess I could have put a static IP address on the HA box, but in the end I’ve put the whole lot (router, RPi, CCTV, networking gear) onto a UPS instead, so at least power cuts don’t cause an immediate loss of HA. I probably should do the static IP too, anyway.

I have the same problem but have always thought it was due to running in a VM and running teamed adapter. (Unifi gear)

I should know better, as my other VM’s don’t seem to have a problem recovering… :man_shrugging:

Thank you @Tamsy .

Running sudo dmesg first resulted in massive amounts of data as I had turned on full logging in an effort to fix the issue. However, then unplugging and plugging the ethernet cable back in, I have this that changed in the meantime at the end:

[ 1137.188556] bcmgenet fd580000.ethernet eth0: Link is Down
[ 1144.356625] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[ 1144.359916] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

BTW I have adguard installed and ever since I pulled the cable and put it back in my syslog is going nuts with errors like these:

Nov 23 10:49:51 kruse-pi hassio_dns[781]: [INFO] 127.0.0.1:57999 - 27936 “A IN api.ring.com. udp 41 true 2048” NOERROR - 0 5.293189509s
Nov 23 10:49:51 kruse-pi hassio_dns[781]: [ERROR] plugin/errors: 2 api.ring.com. A: dial tcp 1.0.0.1:853: connect: no route to host
Nov 23 10:49:51 kruse-pi hassio_dns[781]: [INFO] 127.0.0.1:42776 - 17357 “AAAA IN rt2.ambientweather.net. udp 51 true 2048” NOERROR - 0 7.439346475s
Nov 23 10:49:51 kruse-pi hassio_dns[781]: [ERROR] plugin/errors: 2 rt2.ambientweather.net. AAAA: dial tcp 1.0.0.1:853: connect: no route to host
Nov 23 10:49:51 kruse-pi hassio_dns[781]: [INFO] 127.0.0.1:60347 - 28325 “AAAA IN api.ring.com. udp 41 true 2048” NOERROR - 0 7.29422555s
Nov 23 10:49:51 kruse-pi hassio_dns[781]: [ERROR] plugin/errors: 2 api.ring.com. AAAA: dial tcp 1.1.1.1:853: connect: no route to host

So, continuing on with the info you wanted, issuing this command:

sudo tail -f /var/log/daemon.log --lines=25

I ended up with:

pi@kruse-pi:~$ sudo tail -f /var/log/daemon.log --lines=25
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {add} address 192.168.0.34/24 label eth0 family 2
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {add} route 192.168.0.0 gw 0.0.0.0 scope 253
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {add} route 192.168.0.1 gw 0.0.0.0 scope 253
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {RX} 111230 packets 17689310 bytes
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {TX} 180722 packets 211897785 bytes
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {newlink} index 2 address E4:5F:01:40:1D:B9 mtu 1500
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {newlink} index 2 operstate 6
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {add} route fe80:: gw :: scope 0
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {add} route 192.168.0.0 gw 0.0.0.0 scope 253
Nov 23 10:45:45 kruse-pi connmand[482]: eth0 {add} route 82.165.8.211 gw 192.168.0.1 scope 0
Nov 23 10:45:57 kruse-pi connmand[482]: eth0 {del} route 82.165.8.211 gw 192.168.0.1 scope 0
Nov 23 10:46:06 kruse-pi systemd[1]: NetworkManager-dispatcher.service: Succeeded.
Nov 23 10:46:07 kruse-pi systemd[700]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.XuDGdJ.mount: Succeeded.
Nov 23 10:46:07 kruse-pi systemd[1169]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.XuDGdJ.mount: Succeeded.
Nov 23 10:46:07 kruse-pi systemd[1]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.XuDGdJ.mount: Succeeded.
Nov 23 10:46:38 kruse-pi systemd[1169]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.HNGZmg.mount: Succeeded.
Nov 23 10:46:38 kruse-pi systemd[700]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.HNGZmg.mount: Succeeded.
Nov 23 10:47:08 kruse-pi systemd[1]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.xXzN4A.mount: Succeeded.
Nov 23 10:47:08 kruse-pi systemd[1169]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.xXzN4A.mount: Succeeded.
Nov 23 10:47:38 kruse-pi systemd[1169]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.jXp5oX.mount: Succeeded.
Nov 23 10:47:38 kruse-pi systemd[700]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.jXp5oX.mount: Succeeded.
Nov 23 10:47:38 kruse-pi systemd[1]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.jXp5oX.mount: Succeeded.
Nov 23 10:48:08 kruse-pi systemd[700]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.jtsZWr.mount: Succeeded.
Nov 23 10:48:08 kruse-pi systemd[1]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.jtsZWr.mount: Succeeded.
Nov 23 10:48:08 kruse-pi systemd[1169]: run-docker-runtime\x2drunc-moby-f5faa5f5743192f6d9eeb1bc1275d85eadc3b70cf1094ce75e26d9ab686893ed-runc.jtsZWr.mount: Succeeded.

Thoughts?

Calling out cross-posting. You’re just making double work now for the people trying to help you.

Thank you @parautenbach , yes I am sorry this request is the end result of a more general question in the other thread about overall rebustness, and is much more specific. I have marked the other one as solved and then at the end of that one put a link to this one to remove the double-work. Thanks for pointing that out - ! @Tamsy / anyone else - any ideas on the reconnection issue?

At least a pointer, maybe…

:point_up:t3: Looks to me the default route to your gateway is incorrect.

Unfortunately you didn’t provide much information on how exactly you used the ‘nmcli tool’ you told us about on the other thread. Thus we are only able to shoot in the dark :no_mouth:

  1. Run from cli:
    sudo nmcli -t -f NAME c show --active

    The output will be similar to:
    Supervisor eth0

  2. Now configure the default gateway. I assume your Gateway (that’s your router’s ip address) is behind 192.168.0.1. Run from cli:

    sudo nmcli connection edit 'Supervisor eth0'

    where ‘Supervisor eth0’ is the (active) connection name you retrieved from step 1. Note that you only need to use those single quotes around the connection name if the latter consists of more than one word. If the name of the active connection is one word, leave out the quotes.

  3. Because we are using nmcli in interactive mode we have the nmcli-prompt now (nmcli>). Lets set the default gateway:
    nmcli> set ipv4.gateway 192.169.0.1

  4. Verify the above setting:
    nmcli> print

You should see something like:

    ...
    ipv4.gateway:                           192.168.0.1
    ...
  1. Make that setting persistent across reboots:
    nmcli> save persistent

  2. Restart the active connection:
    nmcli> activate 'Supervisor eth0'

    Note: The network connection will be temporarily interrupted!

  3. Leave the nmcli-tool in interactive mode:
    nmcli> quit

  4. Verify the active route:
    sudo ip -4 route

    The output should be similar to:

    default via 192.168.0.1 dev eth0 proto static metric 100
    ...

Note: As I did already pointed it out the above instructions assume that your settings for the default gateway are messed up (at least I suspect that this is the culprit of the problem you are describing here and on the other thread (Building Resilience)).

If the above does not solve the problem please show us the output of:
sudo ip r
and
sudo ip -4 route
and
sudo nmcli device show
and
sudo nmcli device status

1 Like

192.168.0.1 is my router. The 192.168.0.0 comes from here:

https://elinux.org/RPi_Setting_up_a_static_IP_in_Debian

In that article right below where it says;

"#your network address “family” "

and the paragraph below it discusses: “If for example your LAN is configured to have IP adresses in the range x.x.x.1 to x.x.x.255, you will put x.x.x.0 in the network line.”

Maybe the above is incorrect? Anyway, to answer the rest of your question:

  1. Mine matches what you expected:

sudo nmcli -t -f NAME c show --active
Supervisor eth0

  1. In my usage of nmcli I only used the “DEVICE” name when updating the settings instead of the “NAME” as I couldn’t find an instructions about using quotes so I though those were not allowed (and only the first one connected - looks like a big mess!):

pi@kruse-pi:~$ nmcli conn show
NAME UUID TYPE DEVICE
Supervisor eth0 2a026008-b913-42fb-926f-7be9995743b2 ethernet eth0
Ifupdown (eth0) 681b428f-beaf-8932-dce4-687ed5bae28e ethernet –
Supervisor eth0 c99a54b6-cccc-4622-adaa-b495631481d6 ethernet –
Supervisor eth0 7eef2def-c124-40ab-af9d-e904d9b5767b ethernet –
Supervisor eth0 71d6dd8a-f22f-4cd6-a72f-6ff6ee335e0e ethernet –
Supervisor eth0 d409425d-a270-468c-a333-a6cbdb27fd12 ethernet –
Supervisor eth0 1ade1328-2b98-4d93-9359-2ad8e46390aa ethernet –
Supervisor eth0 c828d632-47b2-46a2-be5b-3467b516d61d ethernet –
Supervisor eth0 bcdb7ec7-d8c9-4913-99e2-b6f06027ea03 ethernet –
Supervisor eth0 ccf80c2e-7c48-4fc1-af8f-37a63a41f70c ethernet –
Supervisor eth0 f9aa2e39-9043-4126-8b6d-4cd99a1502f3 ethernet –
Supervisor eth0 1827f5f7-96e3-4935-b427-e0090dda5d17 ethernet –
Supervisor eth0 4fa8e40d-dfbd-4cd0-bba8-dec8f266f1ca ethernet –
Supervisor eth0 620808d2-25fd-4726-8ace-82fe3af25f28 ethernet –
Supervisor eth0 c25954a3-d9d8-4d4f-a601-22338256cb82 ethernet –
Supervisor eth0 69496bf8-7271-4763-819f-155f77db1799 ethernet –
Supervisor eth0 35b03ef2-50be-47c8-b66a-6664ea02f5b2 ethernet –
Supervisor eth0 03484c25-c728-4b8a-81e6-6b0aa76f2456 ethernet –
Supervisor eth0 32c255be-eaf0-4e39-8774-24f813dd8d50 ethernet –
Supervisor eth0 03b9b8bb-6966-483c-b353-15b9ceab0524 ethernet –
Supervisor eth0 d3cb53be-9e38-437f-a7f1-5eb5805bf4f3 ethernet –
Supervisor eth0 aa9a7fab-2976-4c5c-88b3-b4d1b8a55c3c ethernet –
Supervisor eth0 76827ede-cf54-44a5-9046-6552a6eb0b1d ethernet –
Supervisor eth0 f5972ee4-4e2d-40e7-b519-0af947efc81c ethernet –
Supervisor eth0 2b9213c4-88a9-40df-9519-d1b2a57b554a ethernet –
Supervisor eth0 a6cd5521-59e5-4e93-81ee-26c70b6d80ab ethernet –
Supervisor eth0 b5aea838-5bc9-4d27-bf7f-0eb79864e553 ethernet –
Supervisor eth0 e48a480d-aba1-423a-8018-896f1e5eaca6 ethernet –
Supervisor eth0 1731e8f0-a8f9-4546-852a-c7776cd6d3d4 ethernet –
Supervisor eth0 57562cc5-e7ff-4ce3-930f-3d28411b9bc8 ethernet –
Supervisor eth0 61dedee6-eabe-4783-8c86-799d2336017d ethernet –
Supervisor eth0 37dd6977-100d-4688-aef5-6172770f1ad7 ethernet –
Supervisor eth0 c486760b-cbb5-4a73-9427-0173198ee99b ethernet –
Supervisor eth0 58d78194-0f22-4630-b569-48008d3a6906 ethernet –
Supervisor eth0 3daba1af-2d54-4cba-bf86-fe27b6d19993 ethernet –
Supervisor eth0 140e9832-070a-4023-ac9e-e76bbf450aca ethernet –
Supervisor eth0 466d906d-74b2-468f-a0e3-384b4fff539f ethernet –
Supervisor eth0 43c67e26-37ce-4018-b16c-32191b15bc65 ethernet –
Supervisor eth0 56cbf2a5-cf77-4bb8-900d-8075f4f3ce30 ethernet –
Supervisor eth0 ae83ec31-3d0a-4c22-80ea-6413d5c87e8d ethernet –
Supervisor eth0 795bd0c6-4211-4c9d-ba36-8b05c0d5d300 ethernet –
Supervisor eth0 1404dc89-a1e1-4fa4-b734-9e8c313b71e0 ethernet –
Supervisor eth0 3d330ca1-0cfc-4aae-9271-12be4cdd1195 ethernet –
Supervisor eth0 61e8f9b9-9c43-4273-8ff4-339d7ba33457 ethernet –
Supervisor eth0 2053dce6-78ae-46c6-927f-3e9c696f8ce7 ethernet –
eth0 3aee3a3c-360b-4d1a-b547-145edd96c41e ethernet –
pi@kruse-pi:~$

so, per your instructions:

#3
nmcli> set ipv4.gateway 192.168.0.1
#4
nmcli> print

             Connection profile details (Supervisor eth0)

===============================================================================
connection.id: Supervisor eth0
connection.uuid: c99a54b6-cccc-4622-adaa-b495631481d6
connection.stable-id: –
connection.type: 802-3-ethernet
connection.interface-name: eth0
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.autoconnect-retries: 0 (forever)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1669006861
connection.read-only: no
connection.permissions: –
connection.zone: –
connection.master: –
connection.slave-type: –
connection.autoconnect-slaves: -1 (default)
connection.secondaries: –
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
connection.mdns: 2 (yes)
connection.llmnr: 2 (yes)
connection.wait-device-timeout: -1

802-3-ethernet.port: –
802-3-ethernet.speed: 0
802-3-ethernet.duplex: –
802-3-ethernet.auto-negotiate: no
802-3-ethernet.mac-address: E4:5F:01:40:1D:B9
802-3-ethernet.cloned-mac-address: preserve
802-3-ethernet.generate-mac-address-mask:–
802-3-ethernet.mac-address-blacklist: –
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels: –
802-3-ethernet.s390-nettype: –
802-3-ethernet.s390-options: –
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: –

ipv4.method: manual
ipv4.dns: –
ipv4.dns-search: –
ipv4.dns-options: –
ipv4.dns-priority: 100
ipv4.addresses: 192.168.0.34/24
ipv4.gateway: 192.168.0.1
ipv4.routes: –
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.routing-rules: –
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: –
ipv4.dhcp-iaid: –
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: –
ipv4.dhcp-fqdn: –
ipv4.dhcp-hostname-flags: 0x0 (none)
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.dad-timeout: -1 (default)
ipv4.dhcp-vendor-class-identifier: –
ipv4.dhcp-reject-servers: –

ipv6.method: link-local
ipv6.dns: –
ipv6.dns-search: –
ipv6.dns-options: –
ipv6.dns-priority: 100
ipv6.addresses: –
ipv6.gateway: –
ipv6.routes: –
ipv6.route-metric: -1
ipv6.route-table: 0 (unspec)
ipv6.routing-rules: –
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: -1 (unknown)
ipv6.addr-gen-mode: stable-privacy
ipv6.ra-timeout: 0 (default)
ipv6.dhcp-duid: –
ipv6.dhcp-iaid: –
ipv6.dhcp-timeout: 0 (default)
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: –
ipv6.dhcp-hostname-flags: 0x0 (none)
ipv6.token: –

proxy.method: none
proxy.browser-only: no
proxy.pac-url: –
proxy.pac-script: –

#5:
nmcli> save persistent
Connection ‘Supervisor eth0’ (c99a54b6-cccc-4622-adaa-b495631481d6) successfully updated.

#6 & 7
nmcli> activate ‘Supervisor eth0’
Error: Cannot activate connection: device '‘Supervisor’ not compatible with connection ‘Supervisor eth0’.

(due to the above I just figured I would reboot after quitting!) :slight_smile:

nmcli>quit

#8 - After everything came back up (slightly different than what you were saying I would see but also note the last line which did also have “proto” and 192.168.0.0 however, but at least that isn’t the default! (and if they were talking about a ‘range’ in the other instructions then it shouldn’t end up with a “/24”!!!)

pi@kruse-pi:~$ sudo ip -4 route
default via 192.168.0.1 dev eth0
169.254.0.0/16 dev veth780f499 proto kernel scope link src 169.254.33.20
169.254.0.0/16 dev veth8e90836 proto kernel scope link src 169.254.172.179
169.254.0.0/16 dev veth16d9b86 proto kernel scope link src 169.254.186.104
169.254.0.0/16 dev vetha14ff2e proto kernel scope link src 169.254.175.21
169.254.0.0/16 dev veth5c94112 proto kernel scope link src 169.254.38.98
169.254.0.0/16 dev vethf8425ab proto kernel scope link src 169.254.140.201
169.254.0.0/16 dev veth0938ade proto kernel scope link src 169.254.58.17
169.254.0.0/16 dev vethd25bddc proto kernel scope link src 169.254.240.183
169.254.0.0/16 dev vethe6f4330 proto kernel scope link src 169.254.75.242
169.254.0.0/16 dev veth2f7fdc0 proto kernel scope link src 169.254.194.146
169.254.0.0/16 dev veth62ced36 proto kernel scope link src 169.254.238.14
169.254.0.0/16 dev vethddf4db0 proto kernel scope link src 169.254.63.170
169.254.0.0/16 dev vethb07e14c proto kernel scope link src 169.254.32.108
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.30.32.0/23 dev hassio proto kernel scope link src 172.30.32.1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.34 metric 100
pi@kruse-pi:~$

Testing - pulling the plug and plugging it back in, fingers crossed…

Nope - the same errors are appearing in the syslog about plugins, and I cannot ping google.com or 8.8.8.8 successfully, so I rebooted again -

so here is the output as you requested, of:

pi@kruse-pi:~$ sudo ip r
default via 192.168.0.1 dev eth0
169.254.0.0/16 dev veth377f5a5 proto kernel scope link src 169.254.88.86
169.254.0.0/16 dev vethc1157ef proto kernel scope link src 169.254.194.49
169.254.0.0/16 dev veth4594a0e proto kernel scope link src 169.254.163.25
169.254.0.0/16 dev veth7e54b13 proto kernel scope link src 169.254.102.47
169.254.0.0/16 dev veth24f9c05 proto kernel scope link src 169.254.253.5
169.254.0.0/16 dev veth70cdd8d proto kernel scope link src 169.254.47.242
169.254.0.0/16 dev veth5e1df68 proto kernel scope link src 169.254.129.248
169.254.0.0/16 dev veth4d13201 proto kernel scope link src 169.254.60.62
169.254.0.0/16 dev veth9b1fe47 proto kernel scope link src 169.254.94.222
169.254.0.0/16 dev veth7f0b967 proto kernel scope link src 169.254.156.170
169.254.0.0/16 dev vethece8e91 proto kernel scope link src 169.254.81.254
169.254.0.0/16 dev veth017e939 proto kernel scope link src 169.254.213.145
169.254.0.0/16 dev veth2b31cd1 proto kernel scope link src 169.254.222.174
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.30.32.0/23 dev hassio proto kernel scope link src 172.30.32.1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.34 metric 100

pi@kruse-pi:~$ sudo ip -4 route
default via 192.168.0.1 dev eth0
169.254.0.0/16 dev veth377f5a5 proto kernel scope link src 169.254.88.86
169.254.0.0/16 dev vethc1157ef proto kernel scope link src 169.254.194.49
169.254.0.0/16 dev veth4594a0e proto kernel scope link src 169.254.163.25
169.254.0.0/16 dev veth7e54b13 proto kernel scope link src 169.254.102.47
169.254.0.0/16 dev veth24f9c05 proto kernel scope link src 169.254.253.5
169.254.0.0/16 dev veth70cdd8d proto kernel scope link src 169.254.47.242
169.254.0.0/16 dev veth5e1df68 proto kernel scope link src 169.254.129.248
169.254.0.0/16 dev veth4d13201 proto kernel scope link src 169.254.60.62
169.254.0.0/16 dev veth9b1fe47 proto kernel scope link src 169.254.94.222
169.254.0.0/16 dev veth7f0b967 proto kernel scope link src 169.254.156.170
169.254.0.0/16 dev vethece8e91 proto kernel scope link src 169.254.81.254
169.254.0.0/16 dev veth017e939 proto kernel scope link src 169.254.213.145
169.254.0.0/16 dev veth2b31cd1 proto kernel scope link src 169.254.222.174
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.30.32.0/23 dev hassio proto kernel scope link src 172.30.32.1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.34 metric 100

pi@kruse-pi:~$ sudo nmcli device show
GENERAL.DEVICE: eth0
GENERAL.TYPE: ethernet
GENERAL.HWADDR: E4:5F:01:40:1D:B9
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: Supervisor eth0
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.0.34/24
IP4.GATEWAY: 192.168.0.1
IP4.ROUTE[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.0.1, mt = 0
IP6.GATEWAY: –

GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: E4:5F:01:40:1D:BA
GENERAL.MTU: 1500
GENERAL.STATE: 20 (unavailable)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –

GENERAL.DEVICE: p2p-dev-wlan0
GENERAL.TYPE: wifi-p2p
GENERAL.HWADDR: (unknown)
GENERAL.MTU: 0
GENERAL.STATE: 20 (unavailable)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –

GENERAL.DEVICE: docker0
GENERAL.TYPE: bridge
GENERAL.HWADDR: 02:42:72:FF:E9:69
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
IP4.ADDRESS[1]: 172.17.0.1/16
IP4.GATEWAY: –
IP4.ROUTE[1]: dst = 172.17.0.0/16, nh = 0.0.0.0, mt = 0
IP6.ADDRESS[1]: fe80::42:72ff:feff:e969/64
IP6.GATEWAY: –
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 256

GENERAL.DEVICE: hassio
GENERAL.TYPE: bridge
GENERAL.HWADDR: 02:42:EC:F7:71:06
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
IP4.ADDRESS[1]: 172.30.32.1/23
IP4.GATEWAY: –
IP4.ROUTE[1]: dst = 172.30.32.0/23, nh = 0.0.0.0, mt = 0
IP6.ADDRESS[1]: fe80::42:ecff:fef7:7106/64
IP6.GATEWAY: –
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 256

GENERAL.DEVICE: veth017e939
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 4A:CB:B2:E6:82:BC
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth24f9c05
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 86:4D:A3:A7:B0:33
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth2b31cd1
GENERAL.TYPE: ethernet
GENERAL.HWADDR: F2:D9:5A:FB:FD:EC
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth377f5a5
GENERAL.TYPE: ethernet
GENERAL.HWADDR: FA:3C:9F:11:1F:2D
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth4594a0e
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 12:56:B9:11:20:34
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth4d13201
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 32:8D:E5:57:59:86
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth5e1df68
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 16:F4:4D:AF:BD:C7
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth70cdd8d
GENERAL.TYPE: ethernet
GENERAL.HWADDR: D2:6A:45:55:C4:FF
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth7e54b13
GENERAL.TYPE: ethernet
GENERAL.HWADDR: FE:D6:1B:E6:AC:20
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth7f0b967
GENERAL.TYPE: ethernet
GENERAL.HWADDR: FE:11:93:11:CA:32
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: veth9b1fe47
GENERAL.TYPE: ethernet
GENERAL.HWADDR: A6:32:D8:05:75:59
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: vethc1157ef
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 7A:20:23:8A:A9:31
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: vethece8e91
GENERAL.TYPE: ethernet
GENERAL.HWADDR: F6:B3:74:D2:21:40
GENERAL.MTU: 1500
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
WIRED-PROPERTIES.CARRIER: on

GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: –
GENERAL.CON-PATH: –
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY: –
IP6.ADDRESS[1]: ::1/128
IP6.GATEWAY: –

pi@kruse-pi:~$ sudo nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected Supervisor eth0
wlan0 wifi unavailable –
p2p-dev-wlan0 wifi-p2p unavailable –
docker0 bridge unmanaged –
hassio bridge unmanaged –
veth017e939 ethernet unmanaged –
veth24f9c05 ethernet unmanaged –
veth2b31cd1 ethernet unmanaged –
veth377f5a5 ethernet unmanaged –
veth4594a0e ethernet unmanaged –
veth4d13201 ethernet unmanaged –
veth5e1df68 ethernet unmanaged –
veth70cdd8d ethernet unmanaged –
veth7e54b13 ethernet unmanaged –
veth7f0b967 ethernet unmanaged –
veth9b1fe47 ethernet unmanaged –
vethc1157ef ethernet unmanaged –
vethece8e91 ethernet unmanaged –
lo loopback unmanaged –
pi@kruse-pi:~$

As the previous link I supplied talked about the “family” regarding 192.168.0.0, they were talking about

/etc/network/interfaces

however, my config is not all in one file, /etc/network/interfaces, but I thought the below would be helpful also in any suggestions you might have:

image

image

image

image

I assume you would want me to make some changes to /etc/network/interfaces.d/eth0 from the above as those instructions may have been bad?

I have to say - thank yo so much for your help on this… look forward to hearing back!

What is:
sudo nmcli dev
telling?

Note I added the rest of your steps to my previous answer - but also in answer to your latest question, note the below:

Nope, don’t tamper with “interfaces” when using NetworkManager (nmcli). That is exactly what messes things up :stuck_out_tongue_winking_eye:

Ok I will leave the silly “family” 192.168.0.0 thing I had put in there per the article. I agree, I should probably just be using nmcli from now on.

I tried this also -

image

but it didn’t help so when I rebooted again and looked at the setting it had changed back to “auto” anyway.

Also I saw some connman items in the syslog, so I tried updating:

/etc/connman/main.conf

(which was there with everything commented out) but changed it to have:

AlwaysConnectedTechnologies = ethernet

and tried but that didn’t help either so I removed it…

UGH!

@Tamsy just wanted to apologize to you for anything that may have happened before or anything I may have said before, tried to send you a private message but that is turned off. BTW marking this as solved as well as the best resolution was to reinstall from scratch using this - and your additional guide here for eupgrading from Debian 11 to 12 was genius! Please don’t now be a stranger - ?