Supervisor not getting an IP address from my bridge

Hi all,

I’ve downloaded and installed the Home Assistant Operating System KVM and followed the instructions to add the image in virt-manager.

The hypervisor specific instructions don’t go into detail about how to create a bridge connection if one doesn’t exist, it just says to choose the existing one. So I first needed to create a bridge connection.

I’ve followed some guides online to create a bridge connection and setting my ethernet connections master as the new bridge. This seems to have worked:

$ bridge link
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100

And I can see the following:

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether 1c:69:7a:0b:b8:b3 brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 62:7a:d3:a7:17:09 brd ff:ff:ff:ff:ff:ff permaddr 04:ea:56:63:4f:d9
16: virbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:01:b7:4e brd ff:ff:ff:ff:ff:ff
22: vnet2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether fe:54:00:cb:b1:d3 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fecb:b1d3/64 scope link 
       valid_lft forever preferred_lft forever
23: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 12:a2:69:b3:d6:28 brd ff:ff:ff:ff:ff:ff
    inet 192.168.86.74/24 brd 192.168.86.255 scope global noprefixroute br0

I’ve setup the VM in virt-manager to use my br0 bridge, and have started up the image okay. It boots to the supervisor CLI where I can see:

System information
  IPv4 addresses for enp0s3:
  IPv6 addresses for enp0s3: fe80::7337:bf3a:e4cd:7946/64

And running network info reveals:

docker:
  address: 172.30.32.0/23
  dns: 172.30.32.3
  gateway: 172.30.32.1
  interface: hassio
host_internet: false
interfaces:
- connected: true
  enabled: true
  interface: enp0s3
  ipv4:
    address: []
    gateway: null
    method: auto
    nameservers: []
    ready: false
  ipv6:
    address:
      - fe80::7337:bf3a:e4cd:7946/64
    gateway: null
    method: disabled
    nameservers: []
    ready: true
  primary: false
  type: ethernet
  vlan: null
  wifi: null
supervisor_internet: false

I’ve tried to update the network using network update enp0s3 with a specific ipv4 address but it doesn’t seem to take effect and I can’t browse to the onboarding URL.

I suspect it’s the bridge that’s the issue since that’s the part that’s not covered by the documentation.

Checking in virt-manager’s hardware details for the homeassistant image, it says that the IP address is unknown.

image

Any help would be appreciated here.

Many thanks!

2 Likes

I managed to resolve this by recreating the bridge using nmcli instead of ip link by basically following the instructions from here: Network bridge - ArchWiki