StarLabsLtd / firmware

68 stars 4 forks source link

Support for (Open)SUSE #174

Open radekholy24 opened 2 weeks ago

radekholy24 commented 2 weeks ago

Hello,

I decided to give a try to SLES (SUSE Linux Enterprise Server) 15 SP5 on my StarBook Mk VI. So far so good but fwupdmgr does not seem to recognize the firmware which implies that I might not be able to update it via fwupdmgr (or even notice that there is an update), I guess. Is there anything that can be done on your side (perhaps with my contribution) to support (Open)SUSE or should I rather ask fwupd or SUSE or is it just that you do not have enough resources to support it and there is no place where I can request support for it?

Also, would it make sense to update https://support.starlabs.systems/kb/firmware/lvfs-requirements with information regarding this distro?

$ sudo zypper packages -i | grep 'fwupd
libflashrom1'
i  | SLE-Module-Desktop-Applications15-SP5-Updates   | fwupd                                          | 1.8.6-150500.4.3.1                        | x86_64
v  | SLE-Module-Desktop-Applications15-SP5-Pool      | fwupd                                          | 1.8.6-150500.2.2                          | x86_64
i  | SLE-Module-Desktop-Applications15-SP5-Updates   | fwupd-bash-completion                          | 1.8.6-150500.4.3.1                        | noarch
v  | SLE-Module-Desktop-Applications15-SP5-Pool      | fwupd-bash-completion                          | 1.8.6-150500.2.2                          | noarch
i  | SLE-Module-Desktop-Applications15-SP5-Pool      | fwupd-efi                                      | 1.2-150400.1.14                           | x86_64
i  | SLE-Module-Desktop-Applications15-SP5-Updates   | fwupd-lang                                     | 1.8.6-150500.4.3.1                        | noarch
v  | SLE-Module-Desktop-Applications15-SP5-Pool      | fwupd-lang                                     | 1.8.6-150500.2.2                          | noarch
i  | SLE-Module-Desktop-Applications15-SP5-Pool      | libflashrom1                                   | 1.2-150500.1.1                            | x86_64
i  | SLE-Module-Desktop-Applications15-SP5-Updates   | libfwupd2                                      | 1.8.6-150500.4.3.1                        | x86_64
v  | SLE-Module-Desktop-Applications15-SP5-Pool      | libfwupd2                                      | 1.8.6-150500.2.2                          | x86_64
$
$ fwupdmgr --version
runtime   org.freedesktop.fwupd         1.8.6
runtime   org.freedesktop.fwupd-efi     1.0
compile   org.freedesktop.gusb          0.3.9
runtime   com.dell.libsmbios            2.4
runtime   org.kernel                    5.14.21-150500.55.65-default
runtime   com.hughsie.libjcat           0.1.12
compile   com.hughsie.libjcat           0.1.12
compile   org.freedesktop.fwupd         1.8.6
runtime   org.freedesktop.gusb          0.3.9
$
$ fwupdmgr refresh --force
Updating lvfs
Downloading…             [***************************************]
Successfully downloaded new metadata: 0 local devices supported
$
$ fwupdmgr -v get-updates
Devices with no available firmware updates: 
 • Star Drive PCIe SSD
No updatable devices
$
$ fwupdmgr switch-branch
No supported devices
$
$ uname -a
Linux radek-holy-laptop-star-labs 5.14.21-150500.55.65-default #1 SMP PREEMPT_DYNAMIC Thu May 23 04:57:11 UTC 2024 (a46829d) x86_64 x86_64 x86_64 GNU/Linux
$
$ cat /sys/class/dmi/id/bios_version
24.04
$ cat /sys/class/dmi/id/ec_firmware_release
24.4
Sean-StarLabs commented 2 weeks ago

What's the output of:

sudo fwupdtool get-devices --plugins flashrom --verbose
radekholy24 commented 2 weeks ago
$ sudo fwupdtool get-devices --plugins flashrom --verbose
20:34:09:0146 FuDebug              Verbose debugging enabled (on console 1)
20:34:09:0147 FuMain               locked /run/lock/fwupdtool
Loading…                 [-                                      ]20:34:09:0151 FuConfig             trying to load config values from /etc/fwupd/daemon.conf
20:34:09:0151 FuCommon             reading /etc/fwupd/daemon.conf with 2224 bytes
20:34:09:0151 FuConfig             trying to load config values from /var/etc/fwupd/daemon.conf
20:34:09:0151 FuConfig             using autodetected max archive size 4.3 GB
20:34:09:0151 GLib-GIO             _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
Loading…                 [ -                                     ]20:34:09:0152 FuRemoteList         loading /usr/share/fwupd/metainfo
20:34:09:0152 XbSilo               attempting to load /var/cache/fwupd/metainfo.xmlb
20:34:09:0152 XbSilo               file: 1ed6cad6-7cc2-21c9-d6d9-ab23a37952c6, current:1ed6cad6-7cc2-21c9-d6d9-ab23a37952c6, cached: (null)
20:34:09:0152 XbSilo               loading silo with file contents
20:34:09:0152 FuRemoteList         loading remote from /etc/fwupd/remotes.d/dell-esrt.conf
20:34:09:0152 FuRemoteList         loading remote from /etc/fwupd/remotes.d/lvfs-testing.conf
20:34:09:0152 FuRemoteList         loading remote from /etc/fwupd/remotes.d/lvfs.conf
20:34:09:0152 FuRemoteList         loading remote from /etc/fwupd/remotes.d/vendor-directory.conf
20:34:09:0152 FuRemoteList         loading remote from /etc/fwupd/remotes.d/vendor.conf
20:34:09:0152 FuRemoteList         ordering lvfs-testing=lvfs+1
20:34:09:0152 FuRemoteList         ignoring unfound remote fwupd
Loading…                 [                                       ]20:34:09:0152 Jcat                 ignoring GPG-KEY-Linux-Foundation-Firmware as not PKCS-7 certificate
20:34:09:0152 Jcat                 ignoring GPG-KEY-Linux-Vendor-Firmware-Service as not PKCS-7 certificate
20:34:09:0152 Jcat                 reading /etc/pki/fwupd/LVFS-CA.pem with 1679 bytes
20:34:09:0153 Jcat                 loaded 1 certificates
20:34:09:0153 Jcat                 ignoring GPG-KEY-Linux-Foundation-Metadata as not PKCS-7 certificate
20:34:09:0153 Jcat                 ignoring GPG-KEY-Linux-Vendor-Firmware-Service as not PKCS-7 certificate
20:34:09:0153 Jcat                 reading /etc/pki/fwupd-metadata/LVFS-CA.pem with 1679 bytes
20:34:09:0153 Jcat                 loaded 1 certificates
20:34:09:0153 Jcat                 reading /var/lib/fwupd/pki/secret.key with 2459 bytes
20:34:09:0153 Jcat                 reading /var/lib/fwupd/pki/client.pem with 1383 bytes
20:34:09:0153 FuEngine             client certificate now exists: nothing to do
Loading…                 [                                       ]20:34:09:0153 FuHistory            trying to open database '/var/lib/fwupd/pending.db'
20:34:09:0153 FuHistory            got schema version of 8
Loading…                 [*                                      ]20:34:09:0159 FuPlugin             load(/usr/lib64/fwupd-1.8.6/libfu_plugin_modem_manager.so)
20:34:09:0160 FuPluginUefiCapsule  failed to get fwupd-efi runtime version: searching /usr/lib/fwupd/efi/fwupdx64.efi: needle of 0x24 bytes was not found in haystack of 0xf578 bytes
20:34:09:0160 FuContext            added udev subsystem watch of platform
20:34:09:0160 FuContext            added udev subsystem watch of mei
20:34:09:0160 FuContext            added udev subsystem watch of block
20:34:09:0160 FuContext            added udev subsystem watch of pci
20:34:09:0160 GLib                 setenv()/putenv() are not thread-safe and should not be used after threads are created
20:34:09:0160 FuPluginDell         Using libsmbios 2.4
20:34:09:0160 FuContext            added udev subsystem watch of i2c
20:34:09:0160 FuContext            added udev subsystem watch of i2c-dev
20:34:09:0160 FuContext            added udev subsystem watch of hidraw
20:34:09:0160 FuContext            added udev subsystem watch of gpio
20:34:09:0160 FuContext            added udev subsystem watch of iommu
20:34:09:0160 FuContext            added udev subsystem watch of msr
20:34:09:0160 FuContext            added udev subsystem watch of mtd
20:34:09:0161 FuContext            added udev subsystem watch of nvme
20:34:09:0161 FuContext            added udev subsystem watch of drm
20:34:09:0161 FuContext            added udev subsystem watch of drm_dp_aux_dev
20:34:09:0161 FuContext            added udev subsystem watch of serio
20:34:09:0161 FuPluginTest         init
20:34:09:0162 FuContext            added udev subsystem watch of thunderbolt
20:34:09:0162 FuContext            added udev subsystem watch of tpm
20:34:09:0162 FuQuirks             loading quirks from /usr/share/fwupd/quirks.d
20:34:09:0162 FuQuirks             loading quirks from /var/lib/fwupd/quirks.d
20:34:09:0162 XbSilo               attempting to load /var/cache/fwupd/quirks.xmlb
20:34:09:0162 XbSilo               file: cecf5e19-796e-9c42-1f2e-e24d6964c722, current:cecf5e19-796e-9c42-1f2e-e24d6964c722, cached: (null)
20:34:09:0162 XbSilo               loading silo with file contents
Loading…                 [*                                      ]20:34:09:0162 FuHwids              loading HwId overrides from /etc/fwupd/daemon.conf
20:34:09:0162 FuHwids              not loading HwId overrides from /var/lib/fwupd/daemon.conf
20:34:09:0162 FuHwids              smbios property Manufacturer=Star Labs
20:34:09:0162 FuHwids              smbios property EnclosureKind=9
20:34:09:0162 FuHwids              smbios property Family=B62-I
20:34:09:0162 FuHwids              smbios property ProductName=StarBook
20:34:09:0162 FuHwids              smbios property ProductSku=B62-I
20:34:09:0162 FuHwids              smbios property BiosVendor=coreboot
20:34:09:0162 FuHwids              smbios property BiosVersion=24.04
20:34:09:0162 FuHwids              smbios property BiosMajorRelease=18
20:34:09:0162 FuHwids              smbios property BiosMinorRelease=02
20:34:09:0162 FuHwids              smbios property FirmwareMajorRelease=18
20:34:09:0162 FuHwids              smbios property FirmwareMinorRelease=04
20:34:09:0162 FuHwids              smbios property BaseboardManufacturer=Star Labs
20:34:09:0162 FuHwids              smbios property BaseboardProduct=StarBook
20:34:09:0164 FuContext            added udev subsystem watch of firmware-attributes
20:34:09:0164 FuContext            Error opening directory “/sys/class/firmware-attributes”: No such file or directory
Loading…                 [**                                     ]20:34:09:0164 FuEngine             ignoring: Error opening directory “/var/lib/fwupd/local.d”: No such file or directory
20:34:09:0164 FuEngine             ignoring: Error opening directory “/usr/share/fwupd/local.d”: No such file or directory
20:34:09:0164 XbSilo               attempting to load /var/cache/fwupd/metadata.xmlb
20:34:09:0165 XbSilo               file: d5beab50-b130-d68d-efd0-6838648f9693, current:d5beab50-b130-d68d-efd0-6838648f9693, cached: (null)
20:34:09:0165 XbSilo               loading silo with file contents
20:34:09:0166 FuEngine             2633 components now in silo
Loading…                 [***                                    ]20:34:09:0172 FuPlugin             constructed(flashrom)
Loading…                 [***                                    ]20:34:09:0172 FuEngine             plugins disabled: modem_manager, uefi_capsule, acpi_dmar, acpi_facp, acpi_ivrs, acpi_phat, amd_pmc, amt, analogix, android_boot, ata, bcm57xx, bios, ccgx, cfu, ch341a, colorhug, corsair, cpu, cros_ec, dell, dell_dock, dell_esrt, dfu, dfu_csr, ebitdo, elantp, elanfp, emmc, ep963x, fastboot, focalfp, fpc, fresco_pd, genesys, goodixmoc, gpio, hailuck, intel_usb4, iommu, jabra, lenovo_thinklmi, linux_lockdown, linux_sleep, linux_swap, linux_tainted, logind, logitech_hidpp, logitech_bulkcontroller, msr, mtd, nitrokey, nordic_hid, nvme, optionrom, parade_lspcon, pci_bcr, pci_mei, pci_psp, pixart_rf, powerd, realtek_mst, redfish, rts54hid, rts54hub, steelseries, scsi, superio, synaptics_cape, synaptics_cxaudio, synaptics_mst, synaptics_prometheus, synaptics_rmi, system76_launch, test, test_ble, thelio_io, thunderbolt, tpm, uefi_dbx, uefi_pk, uefi_recovery, uf2, upower, usi_dock, vbe, vli, wacom_raw, wacom_usb
Loading…                 [***                                    ]20:34:09:0175 FuContext            battery threshold now 30
Loading…                 [-                                      ]20:34:09:0175 FuPlugin             startup(flashrom)
20:34:09:0177 FuEngine             disabling plugin because: failed to startup using flashrom: no HwIDs found
Loading…                 [-                                      ]
20:34:09:0246 FuCommon             creating path /var/cache/fwupd/motd.d
20:34:09:0246 FuEngine             writing motd target /var/cache/fwupd/motd.d/85-fwupd
No detected devices
20:34:09:0250 FuMain               No detected devices

20:34:09:0251 FuPlugin             finalize(flashrom)
20:34:09:0251 FuPluginTest         destroy
Sean-StarLabs commented 2 weeks ago

That's just the version of fwupd being too old; usually just a case of waiting for the distro to update it - nudging them won't do any harm (unless you want to go down the rabbit hole of building it from source)

radekholy24 commented 2 weeks ago

IIUIC, SLES 15 SP6 is going to contain fwupd 1.9.10 (and should be released in "mid-2024"). Would that be enough?

(FTR, I tried to download and install that version from OpenSUSE's repos but it apparently depends on newer glibc which will probably require an update of a lot of packages which sounds too risky, so I would rather wait for the new SLES version.)

Sean-StarLabs commented 2 weeks ago

Yup, assuming they build it with flashrom support

radekholy24 commented 1 week ago

So, I upgraded to SLES 15 SP6 and got fwupd 1.9.10. However, the firmware still does not seem to be recognized:

$ sudo fwupdtool get-devices --plugins flashrom --verbose
17:40:44.043 FuDebug              verbose to info (on console 1)
17:40:44.043 FuEngine             starting fwupd 1.9.10…
Loading…                 [ -                                     ]17:40:44.047 FuRemoteList         loading remote from /etc/fwupd/remotes.d/lvfs-testing.conf
17:40:44.047 FuRemoteList         loading remote from /etc/fwupd/remotes.d/lvfs.conf
17:40:44.047 FuRemoteList         loading remote from /etc/fwupd/remotes.d/vendor-directory.conf
17:40:44.047 FuRemoteList         loading remote from /etc/fwupd/remotes.d/vendor.conf
17:40:44.047 FuRemoteList         enabled remotes: vendor-directory[1000], lvfs[0]
Loading…                 [                                       ]17:40:44.047 FuEngine             client certificate now exists: nothing to do
Loading…                 [*                                      ]17:40:44.052 FuQuirks             loading quirks from /usr/share/fwupd/quirks.d
17:40:44.052 FuQuirks             loading quirks from /var/lib/fwupd/quirks.d
Loading…                 [*                                      ]17:40:44.053 FuContext            SMBIOS Manufacturer=Star Labs
17:40:44.053 FuContext            SMBIOS EnclosureKind=9
17:40:44.053 FuContext            SMBIOS Family=B62-I
17:40:44.053 FuContext            SMBIOS ProductName=StarBook
17:40:44.053 FuContext            SMBIOS ProductSku=B62-I
17:40:44.053 FuContext            SMBIOS BiosVendor=coreboot
17:40:44.053 FuContext            SMBIOS BiosVersion=24.04
17:40:44.053 FuContext            SMBIOS BiosMajorRelease=18
17:40:44.053 FuContext            SMBIOS BiosMinorRelease=02
17:40:44.053 FuContext            SMBIOS FirmwareMajorRelease=18
17:40:44.053 FuContext            SMBIOS FirmwareMinorRelease=04
17:40:44.053 FuContext            SMBIOS BaseboardManufacturer=Star Labs
17:40:44.053 FuContext            SMBIOS BaseboardProduct=StarBook
17:40:44.053 FuContext            failed to load fdt: cannot find /sys/firmware/fdt or override /var/lib/fwupd/system.dtb
17:40:44.054 FuContext            added udev subsystem watch of firmware-attributes
Loading…                 [**                                     ]17:40:44.054 FuEngine             loading metadata for remote 'vendor-directory'
17:40:44.054 FuEngine             ignoring: /usr/share/fwupd/remotes.d/vendor/firmware/README.md
17:40:44.054 FuEngine             ignoring: Error opening directory “/var/lib/fwupd/local.d”: No such file or directory
17:40:44.054 FuEngine             ignoring: Error opening directory “/usr/share/fwupd/local.d”: No such file or directory
17:40:44.056 FuEngine             2641 components now in silo
Loading…                 [***                                    ]17:40:44.066 FuEngine             plugins disabled: modem_manager, uefi_capsule, acpi_dmar, acpi_facp, acpi_ivrs, acpi_phat, amd_pmc, analogix, android_boot, ata, aver_hid, bcm57xx, bios, ccgx, ccgx_dmc, cfu, ch341a, ch347, colorhug, corsair, cpu, cros_ec, dell, dell_dock, dfu, dfu_csr, ebitdo, elantp, elanfp, emmc, ep963x, fastboot, focalfp, fpc, fresco_pd, genesys, genesys_gl32xx, goodixmoc, goodixtp, gpio, hailuck, igsc, intel_me, intel_usb4, iommu, jabra, jabra_gnp, kinetic_dp, lenovo_thinklmi, linux_display, linux_lockdown, linux_sleep, linux_swap, linux_tainted, logind, logitech_hidpp, logitech_bulkcontroller, logitech_rallysystem, logitech_scribe, logitech_tap, mediatek_scaler, msr, mtd, nitrokey, nordic_hid, nvme, optionrom, parade_lspcon, pci_bcr, pci_mei, pci_psp, pixart_rf, powerd, qsi_dock, realtek_mst, redfish, rts54hid, rts54hub, steelseries, scsi, superio, synaptics_cape, synaptics_cxaudio, synaptics_mst, synaptics_prometheus, synaptics_rmi, system76_launch, test, test_ble, thelio_io, thunderbolt, ti_tps6598x, tpm, uefi_dbx, uefi_esrt, uefi_pk, uefi_recovery, uf2, upower, usi_dock, vbe, vli, wacom_raw, wacom_usb, wistron_dock
17:40:44.066 FuEngine             enabling flashrom due to HwId 12122d1c-c383-5583-9cb7-3ba8d220913d
17:40:44.066 FuEngine             enabling flashrom due to HwId 12122d1c-c383-5583-9cb7-3ba8d220913d
Loading…                 [***                                    ]17:40:44.066 FuContext            battery threshold now 30
Loading…                 [-                                      ]17:40:44.067 FuPluginFlashrom     coreboot table found at 0x76895000.
17:40:44.068 FuPluginFlashrom     WARNING: No chipset found. Flash detection will most likely fail.
17:40:44.068 FuPluginFlashrom     ========================================================================
17:40:44.068 FuPluginFlashrom     You seem to be running flashrom on an unknown laptop. Some
internal buses have been disabled for safety reasons.
17:40:44.068 FuPluginFlashrom     Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and https://flashrom.org/Laptops for details.

If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
17:40:44.068 FuEngine             disabling plugin because: failed to startup using flashrom: flash probe failed: no chip was found
Loading…                 [**************************             ]17:40:44.068 FuBackend            adding suitable BlueZ device: /org/bluez/hci0/dev_DA_D4_17_DC_8F_F0
Loading…                 [************************************** ]17:40:44.069 FuEngine             FuUsbBackend:
  Name:                 usb
  Enabled:              true
  DoneSetup:            true
  CanInvalidate:        false
FuUdevBackend:
  Name:                 udev
  Enabled:              true
  DoneSetup:            true
  CanInvalidate:        false
FuBluezBackend:
  Name:                 bluez
  Enabled:              true
  DoneSetup:            true
  CanInvalidate:        false

17:40:44.111 FuEngine             resetting update motd timeout

No detected devices
17:40:44.114 FuMain               No detected devices

$ sudo flashrom -p internal
flashrom v1.2 on Linux 6.4.0-150600.23.7-default (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
coreboot table found at 0x76895000.
WARNING: No chipset found. Flash detection will most likely fail.
========================================================================
You seem to be running flashrom on an unknown laptop. Some
internal buses have been disabled for safety reasons.

Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and https://flashrom.org/Laptops for details.

If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.

Does it mean that also flashrom is too old like in https://github.com/StarLabsLtd/firmware/issues/129 ?

Sean-StarLabs commented 1 week ago

It does indeed