Hi,
I am new to QubesOS and currently looking for a way to update the firmware of my Notebook.
I had a Linux distro before which had the option of doing the firmware updates via a GUI.
I searched online for a way and found that since the Qubes 4.2 version that the fwupd is included.
I searched on their github and tried the following command: fwupdmgr refresh
I got this response:
updating lvfs
downloading…
failed to download file: Could not resolve host: cdn.fwupd.org.
It seems that dom0 does not have access to get the updates.
Then I was looking in the forum and people were recommending this approach:
qubes-fwupdmgr
I thought this “workaround” is not necessary anymore since the 4.2 version. Or is this the normal way to use commands in dom0?
Welcome!
Theres documentation for this feature currently missing:
The command you’re looking for is sudo qubes-fwupdmgr --help
Unfortunately it didn’t work for me. Command always froze and never finished even after multiple minutes, tried sys-firewall and sys-whonix.
This is by design. dom0 is isolated for security reasons.
Since you’re new you might want to do a bit of reading the documentation:
I was curious about this so I just tried it out. The packages were not installed for me in dom0. I had to install fwupd-qubes-dom0 (version: 1.8.14-5.fc37).
Running sudo qubes-fwupdmgr get-devices listed out several devices on my system.
I then found that I needed to run refresh before get-updates.
Running sudo qubes-fwupdmgr get-updates just hangs, as I believe previously mentioned. I suspect that the tool and command get-updates is attempting to read some data from a file that is empty or does not exist (until after running refresh). The traceback shows execution at a line intended to read data. Instead of generating an error, it just hangs.
Traceback after interrupting get-updates:
Traceback (most recent call last):
File "/usr/sbin/qubes-fwupdmgr", line 731, in <module>
main()
File "/usr/sbin/qubes-fwupdmgr", line 709, in main
q.get_updates_qubes()
File "/usr/sbin/qubes-fwupdmgr", line 586, in get_updates_qubes
self._get_dom0_updates()
File "/usr/sbin/qubes-fwupdmgr", line 196, in _get_dom0_updates
new_data = os.read(mstdout, 4096)
^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Running commands in this order seems to work:
sudo qubes-fwupdmgr refresh
sudo qubes-fwupdmgr get-updates
Generates:
======================================================
Dom0 updates:
======================================================
No updates available.
Traceback (most recent call last):
File "/usr/bin/qubes-vmexec", line 5, in <module>
sys.exit(main())
^^^^^^
File "/usr/lib/python3/dist-packages/qubesagent/vmexec.py", line 55, in main
os.execvp(command[0], command)
File "<frozen os>", line 574, in execvp
File "<frozen os>", line 597, in _execvpe
FileNotFoundError: [Errno 2] No such file or directory
Failed to refresh remote 'lvfs': Metadata download failed.
Had the same issue. New UEFI update was released about a week ago, but dom0 said there were no updates. Fedora 41 live stick found and installed the updates.
It also does not help that dom0 only returns No updates available while on fedora live stick both fwupdmgr refresh and fwupdgmr get-updates actually list the devices, both devices with no updates at all, and devices which are already on the latest update.