LVFS(Linux Vendor Firmware Service) is a way to update firmware (e.g. BIOS, host TBT firmware, device TBT firmware … etc.) And the tool to do that is fwupdmgr which came from fwupd, so this post is to share the experience on using fwupdmgr.
let’s take xps13 with fwupd 1.0.9-0ubuntu2 as example,
$ fwupdmgr get-remotes
http://paste.ubuntu.com/p/njkmfmcCdQ/
$ fwupdmgr refresh ; #get latest meta
Fetching metadata https://cdn.fwupd.org/downloads/firmware.xml.gz
Downloading… [***************************************]
Fetching signature https://cdn.fwupd.org/downloads/firmware.xml.gz.asc
# then you can get /var/lib/fwupd/remotes.d/lvfs/metadata.xml.gz
e.g. http://paste.ubuntu.com/p/Ycg6RTWxjd/
$ fwupdmgr get-devices
http://paste.ubuntu.com/p/QS2MKC9cjk/
$ fwupdmgr get-updates
http://paste.ubuntu.com/p/VNXQtQMpbw/
In this case,fwupdmgr get-updates
get an availiable update “ID: com.dell.tbt4eeb9d07.firmware”, which just match “Guid: 4eeb9d07” in fwupdmgr get-devices
.
And fwupdmgr get-updates
refer to /var/lib/fwupd/remotes.d/lvfs/metadata.xml.gz which downloaded by fwupdmgr refresh
So, here are 2 check points.
- the device which is targeted to update firmware must present in
fwupdmgr get-devices
- the target firmware should preset in metadata.xml.gz if vendor uploaded it correctly.
Tips:
- the firmware indexed by metadata.xml.gz can be downloaded manually, then flash it by fwupdmgr.
- you can put private configuration in /etc/fwupd/remotes.d/ to get private firmware.(might need reboot let daemon include new configuration)
- remember to check if the associated metadata.xml.gz get from the url in private configuration.
- current using firmware version can be get by
fwupdmgr get-devices
as well. - thunderbolt device might can also be update by this way if it shows in
fwupdmgr get-devices
after plug it to thunderbolt slot.
1 https://github.com/hughsie/fwupd/wiki/LVFS-Testing-remote