Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package & Integrate fwupd (T2532) #292

Closed
3 tasks done
celticmagic opened this issue Aug 17, 2023 · 53 comments
Closed
3 tasks done

Package & Integrate fwupd (T2532) #292

celticmagic opened this issue Aug 17, 2023 · 53 comments
Assignees
Labels
Package: Addition Request Please consider adding this to the repository Priority: Normal Normal priority

Comments

@celticmagic
Copy link
Collaborator

celticmagic commented Aug 17, 2023

Marc Van Giel (#marcvg), 2017-02-10 14:22:26 UTC

Actionable Item: Integrate fwupd (pulled from repo due to lack of integration points) in various tools and software in Solus. The should likely be:

  • Package fwupd and deps
  • Software Center - Firmware installation and updating. Relevant upstream repo here however no upstream issue, not necessary. See KDE Discover #318 and GNOME Software #319.
  • Track and land upstream clr-boot-manager fwupd support, pending issue here. PR here.
@celticmagic
Copy link
Collaborator Author

Beatrice T. Meyers (#DataDrake), 2017-02-17 21:52:16 UTC

Please format according to the following:

https://wiki.solus-project.com/Package_Requests

@celticmagic
Copy link
Collaborator Author

Marc Van Giel (#marcvg), 2017-02-20 09:49:36 UTC

More information about vendor support here: https://en.wikipedia.org/wiki/Fwupd

@celticmagic
Copy link
Collaborator Author

Beatrice T. Meyers (#DataDrake), 2017-02-23 18:42:33 UTC

This is going to have to wait until appstream-glib gets updated.

@celticmagic
Copy link
Collaborator Author

Nathan Caldwell (#saintdev), 2017-02-26 00:09:02 UTC

I could not find a complete list of vendors that use this technology, but Dell is one of them.

It's kind of hidden in the End Users page of the fwupd site.

https://secure-lvfs.rhcloud.com/lvfs/devicelist

@celticmagic
Copy link
Collaborator Author

Ikey Doherty (#ikey), 2017-04-12 23:17:54 UTC

fwupd is going to need managing by clr-boot-manager. Please note that it is NOT PERMITTED for any Solus package to contain /boot files anymore. I'm planning for clr-boot-manager to manage fwupd though, so I'd like to see this in the repo, with that exception :)

@celticmagic
Copy link
Collaborator Author

Michael Tintiuc (#michaeltintiuc), 2017-06-29 12:47:33 UTC

Happy to see that this is going to be implemented at some point, looking forward to that.

@celticmagic
Copy link
Collaborator Author

Philipp (#der_eismann), 2017-10-09 08:58:37 UTC

#ikey, anything new after 6 months?

@celticmagic
Copy link
Collaborator Author

Pierre-Yves (#kyrios123), 2017-10-09 09:11:27 UTC

! In T2532#83543, #der_eismann wrote:
#ikey, anything new after 6 months?

See here : clearlinux/clr-boot-manager#77

@celticmagic
Copy link
Collaborator Author

Marc Van Giel (#marcvg), 2017-10-10 13:34:50 UTC

Note: fwupd-1.0.0 released.

https://blogs.gnome.org/hughsie/2017/10/09/fwupd-hits-1-0-0/

@celticmagic
Copy link
Collaborator Author

Joey Riches (#joebonrichie), 2017-11-30 17:44:25 UTC

Saving ikey some time for when he gets to this, also interested in playing around with supported firmware myself.

@celticmagic
Copy link
Collaborator Author

Martin (#baimafeima), 2017-12-06 14:19:15 UTC

I suppose before updating firmware there must be a way to find out what firmware it is that I have on my computer. Is such a probing function integrated with fwupd or would a tool like MEAnalyzer be necessary? See: https://github.com/platomav/MEAnalyzer

@celticmagic
Copy link
Collaborator Author

Marc Van Giel (#marcvg), 2017-12-06 14:39:05 UTC

Device/hardware detection is part of fwupd.

fwupdmgr get-devices
Displays all devices detected by fwupd.

I would assume that it only detects supported devices.

@celticmagic
Copy link
Collaborator Author

Willi Mutschler (#wmutschl), 2018-01-23 20:39:44 UTC

Hi, I have a Dell XPS 13 and used fwupdmgr in Ubuntu to update my firmware. Now I am using Solus and tried to install fwupd with snap, i.e. as root user (or with sudo):

snap install uefi-fw-tools
snap connect uefi-fw-tools:fwupdmgr uefi-fw-tools:fwupd
uefi-fw-tools.fwupdmgr refresh
uefi-fw-tools.fwupdmgr get-devices

However, the only thing it finds is:

XPS 13 9360
Guid:                 5ff..................
DeviceID:             UEFI-5ff........
Provider:             UEFI
Flags:                internal|allow-offline|require-ac|supported
Version:              0.2.4.2
VersionLowest:        0.2.4.2
Created:              2018-01-23

What am I missing?

@celticmagic
Copy link
Collaborator Author

unknown user (#unknown), 2018-08-06 16:34:18 UTC

I just read that Lenovo has joined the LVFS (https://phoronix.com/scan.php?page=news_item&px=Lenovo-LVFS-Support). Now I can easily update the firmware of my ThinkPad. Will fwupd be available anytime soon?

@celticmagic
Copy link
Collaborator Author

Pierre-Yves (#kyrios123), 2018-08-06 17:13:32 UTC

It's not because a company joins the LVFS that magically you'll be able to update the firmware of your computer... It doesn't mean that all the models of this manufacturer will be supported and this is especially true for older models !!!

This is anyway in the Solus to-do list, probably not a high priority item though and anyway it is pending upstream. If you want to discuss this further, there are the forums and the social medias... this is the bug tracker !

@celticmagic
Copy link
Collaborator Author

Joshua Strobl (#JoshStrobl), 2018-08-06 17:33:35 UTC

If you want to discuss this further, there are the forums and the social medias... this is the bug tracker !

This is a development tracker and #Vistaus's comment is relevant to the task, since the LVFS support enables them to ship updated firmware via fwupd. You are correct however regarding the fact it may not support their device, but the tone could've been different.

From Hughes' post:

That said, we’ll only be supporting UEFI hardware produced fairly recently, so there’s no point looking for updates on your beloved T61. I also can’t comment on what other Lenovo branded hardware is going to be supported in the future as I myself don’t know.

@celticmagic
Copy link
Collaborator Author

unknown user (#unknown), 2018-08-06 18:06:15 UTC

Thanks #JoshStrobl ! I'm pretty sure that my device will be supported as this ThinkPad model was officially released globally in February 2018 as part of their (new) 2018 line-up (though I bought it last month), so it would be weird if Lenovo wouldn't support their 2018 line-up through this new firmware update method as 2018 is the current year, so the 2018 line-up should be covered by "fairly recently".

@celticmagic
Copy link
Collaborator Author

Joshua Strobl (#JoshStrobl), 2018-08-06 18:13:02 UTC

I'm going to re-open this task and move it to Software (for "enabling fwupd") since we technically landed it (thus fulfilling the package request + inclusion), however pulled it from the repo when #joebonrichie landed it, since we have no integration points at this moment in time, in addition to pending upstream items.

@celticmagic
Copy link
Collaborator Author

Joshua Strobl (#JoshStrobl), 2018-08-06 18:13:45 UTC

Adding Upstream Issue since it relies on changes in clr-boot-manager.

@celticmagic
Copy link
Collaborator Author

Zvober (#crom5), 2018-08-21 05:39:42 UTC

Yesterday, 20.08.2018 I noticed an interesting info: "The Next Challenge For Fwupd / LVFS Is Supporting NVMe SSD Firmware Updates". Shortly said, Richard Hughes at Red Hat is hoping for Linux users with NVMe drives to send him the id-ctrl identification data on their drives - this data will be useful so he knows what drives/models are most popular but also for how the firmware revision string is advertised across drives and vendors:
https://blogs.gnome.org/hughsie/2018/08/17/nvme-firmware-i-need-your-data/

I followed the instructions. Can you please confirm that all went ok:

solus#user ~ $ sudo nvme id-ctrl --raw-binary /dev/nvme0 > /tmp/id-ctrl
Password:
solus#user ~ $ curl -F type=nvme \

-F "machine_id="`cat /etc/machine-id` \
-F file=@/tmp/id-ctrl \
https://staging.fwupd.org/lvfs/upload_hwinfo

{
"success": true
}solus#user ~ $

@celticmagic
Copy link
Collaborator Author

onkara (#iamonkara), 2018-11-19 21:05:27 UTC

FYI the upload is failing

cat /etc/machine-id` \
-F file=@/tmp/id-ctrl \
https://staging.fwupd.org/lvfs/upload_hwinfo
<!DOCTYPE html>
<!-- Copyright (C) 2018 Richard Hughes <richard&#35;hughsie.com>
     Licensed under the GNU General Public License Version 2 -->
<html lang="en">
  <head>
    <title>LVFS: Temporarily Unavailable</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  </head>
  <body>
    <div class="container mt-3">
      <div class="container mt-3">
        <div class="alert alert-warning" role="alert">
          The LVFS is temporarily unavailable and should be back soon.
        </div>
      </div>
    </div>
  </body>
</html>

@celticmagic
Copy link
Collaborator Author

onkara (#iamonkara), 2018-11-19 21:08:24 UTC

Any updates on fwupd its badly needed for folks like me who have purchase laptops like X1 Carbon 6th gen and have battery drain issues during sleep

@celticmagic
Copy link
Collaborator Author

Philipp (#der_eismann), 2019-03-08 23:28:27 UTC

I wanted to give it another try because I also really need this and I noticed that Clear Linux already has a package for it, which means that clr-boot-manager must be compatible.
TL;DR: I just updated the ME firmware of my T480s successfully.

The package still needs some polish (as I have basically no knowledge of DBus, polkit & stuff like that), but it's working fine. The only problem I see is that we don't mount the EFI partition which means the user has to do it himself when he wants to update BIOS/firmware. Any ideas on that? Maybe someone can help me with that, see D5647.

@celticmagic
Copy link
Collaborator Author

Nathan Caldwell (#saintdev), 2019-03-09 02:04:32 UTC

The only problem I see is that we don't mount the EFI partition which means the user has to do it himself when he wants to update BIOS/firmware.

That's what ikey meant by fwupd needs managing by clr-boot-manager.

@celticmagic
Copy link
Collaborator Author

Philipp (#der_eismann), 2019-03-09 11:41:39 UTC

Ah, you're probably right. However I wouldn't consider this a blocker because there are lots of updates that don't require the EFI partition and it's possible to make it run without clr-boot-manager integration. Also it doesn't seem like there is much development on that front.

@celticmagic
Copy link
Collaborator Author

Alec Scott (#alecbcs), 2019-05-07 18:39:32 UTC

It looks like the Clear Linux team is no longer interested in integrating this into clr-boot-manager. If all that needed, is to mount the /boot partition before running fwupd, maybe we could consider integrating this with eopkg for the time being, and then sol later on.

@celticmagic
Copy link
Collaborator Author

tuxayo (#tuxayo), 2019-08-12 14:43:18 UTC

! In T2532#150381, #alecbcs wrote:
It looks like the Clear Linux team is no longer interested in integrating this into clr-boot-manager.

Indeed :(

If all that needed, is to mount the /boot partition before running fwupd, maybe we could consider integrating this with eopkg for the time being, and then sol later on.

Can someone else confirm if that's a viable solution for Solus?

@celticmagic
Copy link
Collaborator Author

Moriel (#moriel5), 2019-09-16 07:13:11 UTC

Apparently tss2-esys from tpm2-tss is now required to compile xmlb, one of fwupd's dependencies.

@celticmagic
Copy link
Collaborator Author

Silke (#silke), 2020-10-17 13:12:43 UTC

I have a working fwupd integrated with clr-boot-manager based on my previous comment. The changes are fairly minimal:

  • A mount-boot command and service for clr-boot-manager (changes). This can probably be contributed upstream.
  • A 2-line patch adding a dependency on clr-boot-manager-mount-boot.service for fwupd.service.

#kyrios123, #JoshStrobl: is this sufficient integration to get fwupd back in the repo?

@celticmagic
Copy link
Collaborator Author

Jacob (#Jacalz), 2020-11-20 11:21:38 UTC

It is going to be very exciting to hopefully see those patches landing #silke. I think I remember seeing a differential revision opened here for integrating it, but I can't seem to find it any more. Am I remembering incorrectly or is it just very hard to find?

@celticmagic
Copy link
Collaborator Author

Silke (#silke), 2020-11-20 11:32:04 UTC

#Jacalz I haven't posted a differential, as I'm waiting on a go-ahead from #JoshStrobl. It is on his to-do list afaik, so we'll just have to be patient :)

@celticmagic
Copy link
Collaborator Author

Jacob (#Jacalz), 2020-11-20 12:30:10 UTC

#silke Thank you. Looks like I am remembering incorrectly then. Looking forward to seeing one posted :)

@celticmagic
Copy link
Collaborator Author

Georgy (#DrSheppard), 2021-02-02 00:18:37 UTC

Update on this task clearlinux/clr-boot-manager#77

@celticmagic
Copy link
Collaborator Author

Troy Harvey (#Harvey), 2021-02-02 00:41:02 UTC

There is no update there, nothing changed. Last post was from 31 Jan 2020 an basically reaffirmed their position from 8 May 2019 which had already been linked too.

We don't need updates that tell us that nothing has changed.

@celticmagic
Copy link
Collaborator Author

Georgy (#DrSheppard), 2021-02-02 01:03:46 UTC

! In T2532#181408, #Harvey wrote:
There is no update there, nothing changed. Last post was from 31 Jan 2020 an basically reaffirmed their position from 8 May 2019 which had already been linked too.

We don't need updates that tell us that nothing has changed.

Ooops) I was wrong with the year. It's not joke

@celticmagic
Copy link
Collaborator Author

Claude Durocher (#clauded), 2022-01-19 02:00:19 UTC

Just wandering if any progress can be made here.

I personally installed the snap version and was able to update my bios with fwupdmgr. The snap version is not perfect as it displays errors about missing libraries so a native package would be a plus, even without clr-boot-manager integration.

@celticmagic
Copy link
Collaborator Author

Joey Riches (#joebonrichie), 2022-08-16 14:01:02 UTC

Let's get all the packaging stuff landed (at least with the patches on phab) then we can figure out how to integrate it into the upgrade process. Consider the packaging progress part up for grabs.

@celticmagic
Copy link
Collaborator Author

Moriel (#moriel5), 2022-08-17 14:42:16 UTC

! In T2532#197369, #joebonrichie wrote:
Let's get all the packaging stuff landed (at least with the patches on phab) then we can figure out how to integrate it into the upgrade process. Consider the packaging progress part up for grabs.

I could not agree more. If things are not ready or are undecided, then they do not yet need t be deployed, but at least the foundations should be prepared on Phabricator and then figure out how to work on top of them.

@celticmagic
Copy link
Collaborator Author

Silke (#silke), 2022-08-21 14:24:00 UTC

I submitted an initial set of patches for the packaging and integration of fwupd, see D13506. The PR for integration with clr-boot-manager can be found here.

@celticmagic
Copy link
Collaborator Author

Claude Durocher (#clauded), 2022-08-22 13:33:02 UTC

I did a quick check and I think those buildeps must be added:
- gcab-devel
- libgnutls (instead of gnutls)
Compile cannot be completed a this time as fwup (https://github.com/fwup-home/fwup) is a dependency.

@celticmagic
Copy link
Collaborator Author

Silke (#silke), 2022-08-24 15:56:46 UTC

! In T2532#197641, #clauded wrote:
I did a quick check and I think those buildeps must be added:
- gcab-devel
- libgnutls (instead of gnutls)

Both of those are present: pkgconfig(libgcab-1.0) (i.e. gcab-devel) and pkgconfig(gnutls) (i.e. libgnutls-devel).

Compile cannot be completed a this time as fwup (https://github.com/fwup-home/fwup) is a dependency.

I don't see fwup as a dependency of fwupd, and it builds fine for me. What compilation errors do you see?

@celticmagic
Copy link
Collaborator Author

Claude Durocher (#clauded), 2022-08-24 17:49:10 UTC

I cloned this repo: https://dev.getsol.us/source/fwupd.git and this is what I get on first compile test:

 me   master  ~  git  fwupd  make
make build
make[1] : on entre dans le répertoire « /home/me/git/fwupd »
sudo solbuild build package.yml -p unstable-x86_64;
Updating repositories
Updating repository: Solus
eopkg-index.xml.xz.sha1sum     (40.0  B)100%      0.00 --/- [--:--:--] [complete]
Solus repository information is up-to-date.
No packages to upgrade.
The following package(s) are already installed and are not going to be installed again:
abi-wizard  iproute2  sccache
No packages to install.
The following package(s) are already installed and are not going to be installed again:
autoconf                     automake          bash-completion-devel  binutils     
bison                        catbox            cmake                  dbus-devel   
diffstat                     diffutils         expat-devel            fakeroot     
file-devel                   flex              flex-devel             g++          
gcc                          gfortran          glibc-devel            gmp-devel    
gobject-introspection-devel  intltool          libarchive-bin         libffi-devel 
libgpg-error-devel           libgudev-devel    libtool-devel          libxml2-devel
linux-headers                m4                make                   meson        
mpc-devel                    mpfr-devel        nano                   nanorc       
nasm                         ncurses-devel     openssl-11-devel       openssl-devel
pam-devel                    patch             pkg-config             polkit-devel 
python-devel                 quilt             readline-devel         systemd-devel
texinfo                      util-linux-devel  ypkg                   zlib-devel   
No packages to install.
[BuildDep] Checking build-deps for fwupd-1.0.5-1
[pkgconfig:fwup] This dependency is not in any repo
[BuildDep] pkgconfig(fwup) build dep does not exist in the repository.
 ?  Failed to build packages
make[1]: *** [../Makefile.common:26 : build] Erreur 1
make[1] : on quitte le répertoire « /home/me/git/fwupd »
make: *** [../Makefile.common:11 : complete] Erreur 2

@celticmagic
Copy link
Collaborator Author

Silke (#silke), 2022-08-24 17:57:25 UTC

! In T2532#197720, #clauded wrote:
I cloned this repo: https://dev.getsol.us/source/fwupd.git and this is what I get on first compile test:

 me   master  ~  git  fwupd  make
make build
make[1] : on entre dans le répertoire « /home/me/git/fwupd »
sudo solbuild build package.yml -p unstable-x86_64;
Updating repositories
Updating repository: Solus
eopkg-index.xml.xz.sha1sum     (40.0  B)100%      0.00 --/- [--:--:--] [complete]
Solus repository information is up-to-date.
No packages to upgrade.
The following package(s) are already installed and are not going to be installed again:
abi-wizard  iproute2  sccache
No packages to install.
The following package(s) are already installed and are not going to be installed again:
autoconf                     automake          bash-completion-devel  binutils     
bison                        catbox            cmake                  dbus-devel   
diffstat                     diffutils         expat-devel            fakeroot     
file-devel                   flex              flex-devel             g++          
gcc                          gfortran          glibc-devel            gmp-devel    
gobject-introspection-devel  intltool          libarchive-bin         libffi-devel 
libgpg-error-devel           libgudev-devel    libtool-devel          libxml2-devel
linux-headers                m4                make                   meson        
mpc-devel                    mpfr-devel        nano                   nanorc       
nasm                         ncurses-devel     openssl-11-devel       openssl-devel
pam-devel                    patch             pkg-config             polkit-devel 
python-devel                 quilt             readline-devel         systemd-devel
texinfo                      util-linux-devel  ypkg                   zlib-devel   
No packages to install.
[BuildDep] Checking build-deps for fwupd-1.0.5-1
[pkgconfig:fwup] This dependency is not in any repo
[BuildDep] pkgconfig(fwup) build dep does not exist in the repository.
 ?  Failed to build packages
make[1]: *** [../Makefile.common:26 : build] Erreur 1
make[1] : on quitte le répertoire « /home/me/git/fwupd »
make: *** [../Makefile.common:11 : complete] Erreur 2

It looks like you haven't applied D13506, also don't forget to build the dependencies first!

@celticmagic
Copy link
Collaborator Author

Claude Durocher (#clauded), 2022-08-26 21:39:23 UTC

Good to know :)
Now I have this error:

ERROR:../src/fu-self-test.c:3997:fu_firmware_builder_process_func: assertion failed (error == NULL): failed to build firmware: bwrap: No permissions to creating new namespace, likely because the kernel does not allow non-privileged user namespaces. On e.g. debian this can be enabled with 'sysctl kernel.unprivileged_userns_clone=1'.
 (FwupdError, 0)

@celticmagic
Copy link
Collaborator Author

Silke (#silke), 2022-08-28 09:52:00 UTC

! In T2532#197796, #clauded wrote:
Good to know :)
Now I have this error:

ERROR:../src/fu-self-test.c:3997:fu_firmware_builder_process_func: assertion failed (error == NULL): failed to build firmware: bwrap: No permissions to creating new namespace, likely because the kernel does not allow non-privileged user namespaces. On e.g. debian this can be enabled with 'sysctl kernel.unprivileged_userns_clone=1'.
 (FwupdError, 0)

Strange, AFAIK Solus doesn't disable unprivileged user namespaces. Can you execute unshare -U true as your user?

@celticmagic
Copy link
Collaborator Author

Claude Durocher (#clauded), 2022-08-29 01:25:55 UTC

"unshare -U true" returns nothing. Compile after returns the same error.

@celticmagic
Copy link
Collaborator Author

Hey (#Teroh), 2022-10-12 22:43:25 UTC

Anything i can do to help with this issue?

@silkeh silkeh added the Package: Addition Request Please consider adding this to the repository label Aug 21, 2023
@github-project-automation github-project-automation bot moved this to Triage in Solus Aug 21, 2023
@silkeh silkeh moved this from Triage to Accepted in Solus Aug 21, 2023
@silkeh silkeh self-assigned this Aug 21, 2023
@livingsilver94
Copy link
Member

This checkbox:

Software Center - Firmware installation and updating. Relevant upstream repo here however no upstream issue, not necessary.

I'd remove it as we'll eventually deprecate SC if favor of specific DE's store frontends. Or at least rephrase it to reflect that.

@silkeh
Copy link
Member

silkeh commented Nov 26, 2023

Closing this as fwupd has landed in 1165cad. See #318 and #319 for software centers with integration.

@silkeh silkeh closed this as completed Nov 26, 2023
@github-project-automation github-project-automation bot moved this from Ready to Done in Solus Nov 26, 2023
joebonrichie pushed a commit that referenced this issue Jun 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Package: Addition Request Please consider adding this to the repository Priority: Normal Normal priority
Projects
Archived in project
Development

No branches or pull requests

3 participants