Hello, Apparatus. Thank you for your suggestion. Before I try it, I would like to know, in the case permissive=True does not work, if I can simply revert it and plug any security hole by running the same commands with permissive=False.
You can revert it by running the same commands without
qvm-pci detach sys-net dom0:xx_xx.x
qvm-pci attach --persistent sys-net dom0:xx_xx.x
Can you execute the following command in sys-net and share the output:
I confirm. After updates and reboot networking stops working completley. Wi-fi stops working. Ethernet doesnt see any cable “no-carrier”.
Have you tried downgrading the firmware?
Im not sure if its firmware. Tried to boot with another template - debian12, fedora37 - didnt help. Tried to boos QO with previous kernels - didnt help.
On 26 october there was massive dom0 update with a lots of firmware upgrades. Maybe this is the cause? Can i rollback?
I just checked, downgrading the firmware in fedora shows a lot of conflicts so it won’t be easy.
Can you execute the following command in sys-net and paste the output here?
Why? It’s not related to root filesystem – i used old templates of august and june fedora-37 and debian-12. No difference.
It seems that reason is in dom0 updates
The PCI controller is attached to sys-net, so what updates in dom0 have no impact. The same kind of firmware update is installed in the template too and sys-net uses it. I asked you to do this command to check which ucode version you are using.
If possible, provide your dmesg logs too:
Try to use
permissive=True option or
SOLVED. It started to work with permissive=True
Try to use
pci=nomsi kernel option, it’s better to use this option instead of
permissive=True if it works.
Side-note: I’m not thrilled that the temporary solution involved opening new attack surface, and I hope that this can be resolved in the current RC. Have a great day!
Did you try
pci=nomsi? It won’t increase attack surface as the permissive flag does.
I would be happy to try using pci=nomsi. Can you please let me know what the full command would look like, and where to run it?
s=$(qvm-prefs -- sys-net kernelopts) && qvm-prefs -- sys-net kernelopts "pci=nomsi $s"
Probably worth explaining:
qvm-prefs -- sys-net kerneloptsdisplays the current kernel options used by
some-name=$(some-command)stores the output of
some-commandin a variable named
some-name. The content of that variable can later be recalled as
&&allows to chain two commands. The second will run once the first succeeds.
qvm-prefs -- sys-net kernelopts "option1=some-value option2=some-other-value"is different from the first item in this list, because there is a list of options at the end. The command sets those options. (Instead of displaying the current options.)
- If you followed, the first part of the command did store all the current kernel options in a variable called
"pci=nomsi $s"is a clever way to make a list of all the current variables, plus
pci=nomsiwhich is the option you wanted to add.
When you combine everything, what @apparatus suggests is:
Taking all the current options, whatever they are, add
pci=nomsi to the list and set that as the new list of kernel options. Does that make sense to you @gatocallejero ?
And you run that in a dom0 terminal.
I revoked permissive=True and put pci=nomsi in its place and yes, my internet is working! Though I wonder if it had something to do with the updates to dom0 in the past two days.
Update: I am back to square one with my WiFi card not working, despite granting permissive=True and pci=nomsi. Now, under WiFi Networks in my panel, I see “device not ready” and no networks to connect to.