Virt manager doesn't show correct network interface

I installed kvm years ago via the Yast software roles by installing the patterns under the virt section. It worked like this fine for years as I used virt manager to create and manage the vm/s.

The original laptop I had this on died, it was and is a tumbleweed install from about five years ago so I just moved the drive over to another host. The issue is virt-manager doesn’t list the new wifi card in the drown down for interfaces. It list the old one which was wlp3s0 and the current one is wlp1s0. My VM/s were using the wireless interface as a nat bridge to conntect to the internet.

I’ve tried to research this and found that others have had this issue to but no resolve even after a few bug reports. Virish commands don’t seem to work either, I never used them but from the commands I’ve found during this research they don’t work anymore. Seems like something changed in libvert. To be clear I don’t know if the virish commands ever worked as I just used virt manager.

I can boot my vm/s but I can’t assign the correct interfaces as they do not show up. Is there a config file for libvert or virt manager that needs to be adjusted. I figured libvert would have picked these hardware changes up.

I’m attaching a jpeg of me trying to create another vm and wlp3s0 is the only option but that’s the old interface, the new one is wlp1s0 as you can see below from a “ip a” ouput.

This is a up to date TW install.

virsh iface-list
error: Failed to list interfaces
error: binary '/usr/sbin/virtinterfaced' does not exist in $PATH: No such file or directory

 wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether e8:bf:b8:72:b3:93 brd ff:ff:ff:ff:ff:ff
    altname wlxe8bfb872b393
    inet 192.168.1.161/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp1s0

Sorry about the path error above. Here’s the issue running from sudo.

 sudo virsh iface-list --all
[sudo] password for root: 
error: Failed to list active interfaces
error: this function is not supported by the connection driver: virConnectNumOfInterfaces
sudo virsh net-list
[sudo] password for root: 
 Name      State    Autostart   Persistent
--------------------------------------------
 default   active   yes         yes

@Neal You need to virsh edit <machine_name> (xml) and change the interface name…

1 Like

hi @Neal

Check your libvirt network configuration and active interfaces by running :

sudo virsh net-dumpxml default
sudo ip link

This will help identify if the libvirt network references the correct Wi-Fi interface

1 Like

Right, sorry didn’t see @malcolmlewis and your post. I used grok and it told me how to do it.

virsh net-list --all
 Name      State    Autostart   Persistent
--------------------------------------------
 default   active   yes         yes
virsh net-dumpxml default > default.xml

Then I used nano to changed the interface naming, it’s referenced twice.

 virsh net-dumpxml default 
<network>
  <name>default</name>
  <uuid>2dc19672-cd38-4283-aa82-64d2054de834</uuid>
  <forward dev='wlp1s0' mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
    <interface dev='wlp1s0'/>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:1b:c5:e2'/>
  <domain name='default'/>
  <ip address='192.168.100.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.100.128' end='192.168.100.254'/>
    </dhcp>
  </ip>
</network>


I changed the wlp3s0 to the wlp1s0 then imported it.

virsh net-define default.xml

Then

virsh net-destroy default
virsh net-start default

Now it’s working and shows up in the device list. Grok had a bunch of other stuff regarding bridges and such but for me all I needed to do was change the interface reference so that virbr0.

Thanks guys for your reply.

Thanks, you’re always are so helpful. I appreciate you.

Curious, why this doesn’t work. I’ve never used it but ran across it on my searching for answers. Did libvert change from using some older way of communicating to a systemd sockets or something…I’m seeing people say this.

virsh iface-list --all
error: Failed to list active interfaces
error: this function is not supported by the connection driver: virConnectNumOfInterfaces


@Neal Hi, I see the same, but I only use real interfaces as bridge devices and also don’t run libvirtd all the time, I just use virsh start…

1 Like