(Failing to) Run a VM on Fedora 35 with the Framework Laptop

Tags: fedora vm

Virt-Manager (QEMU/KVM)

The first blocker encountered during setup of my Parrot OS VM is that the VM creation wizard reports that it "Failed to find a suitable default network."

Virt-Manager netword device

If I ignore the problem and attempt to hit finish, it tells me it is "Unable to complete install: 'internal error: No <source> 'bridge' attribute specified with <interface type='bridge'/>'".

I'm not entirely sure what device name it's looking for but I'll try giving it the name of my wireless network device which I'll grab from ip addr show. With that, I get the error "Unable to complete install: 'Unable to add bridge wlp170s0 port vnet0: Operation not supported'".

I'll take that to mean the device name is valid, but it doesn't support being used in this way? Googling around seems to suggest I can create my own bridge interface which sounds useful so we can try that.

$ virsh iface-bridge wlp170s0 br0

error: Failed to define new bridge interface br0
error: this function is not supported by the connection driver: virInterfaceDefineXML

Ah nuts. Well that error leads me to https://help.ubuntu.com/community/KVM/Networking#bridgednetworking which helpfully explains that wireless devices can't be used for creating a network bridge. That's a bummer because my laptop does not contain an ethernet card. So maybe I'm out of luck?

Let's try a few more things gathered from google:

sudo ip link add br0 type bridge

Ok cool, I've successfully created a bridged network interface called br0, virtual machine manager happily accepts it as the device name and actually lets me boot into my new VM. So that's pretty good. But I still haven't specified a network device to actually bridge to so not surprisingly my VM doesn't seem to have any network connectivity. It's possible I'm still doomed to failure.

I'll try linking it my built in wireless card and a USB wireless adapter:

$ sudo ip link set wlp170s0 master br0                                                                   ─╯

Error: Device does not allow enslaving to a bridge.

$ sudo ip link set wlp0s20f0u3 master br0

Error: Device does not allow enslaving to a bridge.

Balls. So I guess bridge networking is off the table until the Framework laptop comes out with an ethernet expansion card.

Alright, well I don't see why I shouldn't be able to pass my USB wireless adapter directly to the VM so it can get it's own IP address that way.

Fortunately, that seems to be as easy as choosing Virtual Machine > Redirect USB Device and selecting my adapter.

I can see it in the VM with ip link show but don't seem to be able to use it yet. Attempting to bring it up:

$ sudo ifconfig wlxe8de270574fd up

SIOCSIFFLAGS: Input/output error

$ sudo ip link set wlxe8de270574fd up

RTNETLINK answers: Input/output error

Attempting to reload the ath9k_htc kernel driver doesn't seem to help.

Dmesg shows the error: "ath: phy3: Unable to reset hardware; reset status -5 (freq 2412 MHz)". The only guess I have at this point is that it's a driver issue which seems difficult to resolve when I don't have network connectivity to attempt other drivers. I'll attempt a different distro.

Bleh same issue with Ubuntu 20.04 :(