StarLabsLtd / firmware

78 stars 5 forks source link

updating fwupd on Mint 20.2 fails #29

Closed mrberry closed 2 years ago

mrberry commented 2 years ago

After updating on Mint 20.2 fails with error:

E: /var/cache/apt/archives/libfwupdplugin5_1.7.7+f_amd64.deb: trying to overwrite '/usr/lib/x86_64-linux-gnu/libfwupdplugin.so.5.0.0', which is also in package libfwupdplugin4:amd64 1.7.4+f+3

Reading database ... 601521 files and directories currently installed.) Preparing to unpack .../libfwupdplugin5_1.7.7+f_amd64.deb ... Unpacking libfwupdplugin5:amd64 (1.7.7+f) ... dpkg: error processing archive /var/cache/apt/archives/libfwupdplugin5_1.7.7+f_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libfwupdplugin.so.5.0.0', which is also in package libfwupdplugin4:amd64 1.7.4+f+3 dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/libfwupdplugin5_1.7.7+f_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) A package failed to install. Trying to recover: dpkg: dependency problems prevent configuration of fwupd: fwupd depends on libfwupdplugin5 (>= 1.7.7+f); however: Package libfwupdplugin5:amd64 is not installed.

dpkg: error processing package fwupd (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of fwupd-signed: fwupd-signed depends on fwupd (= 1.7.7+f); however: Package fwupd is not configured yet.

dpkg: error processing package fwupd-signed (--configure): dependency problems - leaving unconfigured Processing triggers for libc-bin (2.31-0ubuntu9.2) ... Errors were encountered while processing: fwupd

Unable to fix broken package.

fwupd version information

fwupd-gui/focal,focal,now 1 all [installed] fwupd-signed/focal,now 1.62+f+1.7.7+f amd64 [installed] fwupd-unsigned/focal,now 1.7.7+f amd64 [installed] fwupd/focal,now 1.7.7+f amd64 [installed] libfwupd2/focal,now 1.7.7+f amd64 [installed] libfwupdplugin1/focal-updates,now 1.5.11-0ubuntu1~20.04.2 amd64 [installed] libfwupdplugin4/focal,now 1.7.4+f+3 amd64 [installed]

fwupdmgr --version fwupdmgr --version Failed to connect to daemon: Error calling StartServiceByName for org.freedesktop.fwupd: Failed to activate service 'org.freedesktop.fwupd': timed out (service_start_timeout=25000ms)

Please note how you installed it (apt, dnf, pacman, source, etc): apt (Synatptic package manager)

fwupd device information Please provide the output of the fwupd devices recognized in your system.

fwupdmgr get-devices --show-all-devices fwupdmgr get-devices --show-all-devices Failed to connect to daemon: Error calling StartServiceByName for org.freedesktop.fwupd: Failed to activate service 'org.freedesktop.fwupd': timed out (service_start_timeout=25000ms)

Operating system and version: Mint 20.2

Sean-StarLabs commented 2 years ago

Looks like you've got multiple versions of libfwupdplugin1 installed.

If you remove the older ones with:

sudo dpkg --remove libfwupdplugin1 libfwupdplugin4

And then finish the install with:

sudo apt -f instal

That should do the trick :)

mrberry commented 2 years ago

Sean, that solved the problem. This happened on two different laptops: a Starlite running Mint 20 and a Starbook running Mint 20.2 after running the Mint update manager. The Synaptic package manger was unable to fix it. Others using Mint might see this issue.

Thanks,

Mark

achou11 commented 2 years ago

Was experiencing a similar issue with Elementary. @Sean-StarLabs's suggestion worked for me :+1:

teewz commented 2 years ago

On Manjaro with fwupd-starlabs installed I am also getting

fwupdmgr --version
Failed to connect to daemon: Error calling StartServiceByName for org.freedesktop.fwupd: Failed to activate service 'org.freedesktop.fwupd': timed out (service_start_timeout=25000ms)

The same happens with other commands such as fwupdmgr update. And the gnome-firmware GUI reports "No Devices - The fwupd service is not available on your OS".

When I switch from fwupd-starlabs to regular fwupd, fwupdmgr --version works and gnome-firmware recognizes devices and I was able to update ITE128 to version 1.03 that way (with the GUI). But when I want to update coreboot I get an error: "Failed to install Firmware - Message recipient disconnected from message bus without replying".

When I try the same (still with fwupd instead of fwupd-starlabs) in terminal with fwudpmgr update it finds and downloads the updateable versions but fails after decompressing with the error: "Firmware version formats were different, device was 'plain' and release is 'pair'"

I'm not very knowledgeable on these things, so I hope this is relevant to the issue and I'm sorry if it's not! And I'm guessing this is because I'm not on a Ubuntu-based system but I can't find libfwupdplugin on my system...

Sean-StarLabs commented 2 years ago

The Manjaro package was updated yesterday, so I'd recommend checking that's up to date.

For the Message recipient disconnected... error, you need the iomem=relaxed kernel parameter - how to add here

teewz commented 2 years ago

Thanks for the reply! I have set iomem=relaxed.

Nonetheless, I only get Message recipient disconnected... if I use fwupd instead of fwupd-starlabs. With fwupd-starlabs installed, I don't even get that far, as the gnome-firmware GUI does not recognize any devices at all on my system.

The version of fwupd-starlabs I have is 1.7.6r321.g539413ca-1, the version of gnome-firmware is 42.0-1.

Sean-StarLabs commented 2 years ago

Can you give me the output of: cat /etc/default/grub fwupdmgr get-devices sudo flashrom -p internal

And is it a Lite Mk III?

teewz commented 2 years ago

It's a StarBook Mk V.

grub:

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=hidden
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet iomem=relaxed udev.log_priority=3"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
#GRUB_SAVEDEFAULT="true"

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment this option to enable os-prober execution in the grub-mkconfig command
GRUB_DISABLE_OS_PROBER=false

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/index.php/Fsck#Boot_time_checking
#GRUB_ROOT_FS_RO=true

fwupdmgr get-devices: Failed to connect to daemon: Error calling StartServiceByName for org.freedesktop.fwupd: Failed to activate service 'org.freedesktop.fwupd': timed out (service_start_timeout=25000ms)

flashrom:

flashrom v1.2 on Linux 5.15.32-1-MANJARO (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).
Cannot open file stream for /dev/mtd0
coreboot table found at 0x76b33000.
Found chipset "Intel Tiger Lake U Premium".
Enabling flash write... Warning: Setting BIOS Control at 0xdc from 0x8b to 0x89 failed.
New value is 0x8b.
Error accessing SPIBAR, 0x1000 bytes at 0x00000000fe010000
/dev/mem mmap failed: Operation not permitted
FAILED!
FATAL ERROR!
Error: Programmer initialization failed.
Sean-StarLabs commented 2 years ago

Did you run update-grub and reboot after adding that kernel parameter?

teewz commented 2 years ago

Yes! I definitely ran update-grub then and have now rebooted. After reboot I get the same output from fwupdmgr get-devices, flashrom now returns

flashrom v1.2 on Linux 5.15.32-1-MANJARO (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).
Cannot open file stream for /dev/mtd0
coreboot table found at 0x76b33000.
Found chipset "Intel Tiger Lake U Premium".
Enabling flash write... Warning: Setting BIOS Control at 0xdc from 0x8b to 0x89 failed.
New value is 0x8b.
SPI Configuration is locked down.
FREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-only.
FREG2: Management Engine region (0x00001000-0x004fffff) is read-only.
Not all flash regions are freely accessible by flashrom. This is most likely
due to an active ME. Please see https://flashrom.org/ME for details.
At least some flash regions are write protected. For write operations,
you should use a flash layout and include only writable regions. See
manpage for more details.
OK.
Found Programmer flash chip "Opaque flash chip" (16384 kB, Programmer-specific) mapped at physical address 0x0000000000000000.
No operations were specified.
Sean-StarLabs commented 2 years ago

Cool, halfway there.

How about systemctl status fwupd?

teewz commented 2 years ago

Haha, so sorry about the amount of work this is causing!

× fwupd.service - Firmware update daemon
     Loaded: loaded (/usr/lib/systemd/system/fwupd.service; static)
     Active: failed (Result: exit-code) since Fri 2022-05-06 12:55:56 CEST; 11min ago
       Docs: https://fwupd.org/
    Process: 1775 ExecStart=/usr/lib/fwupd/fwupd (code=exited, status=1/FAILURE)
   Main PID: 1775 (code=exited, status=1/FAILURE)
        CPU: 10ms

Mai 06 12:55:56 manstaro systemd[1]: Starting Firmware update daemon...
Mai 06 12:55:56 manstaro fwupd[1775]: /usr/lib/fwupd/fwupd: /usr/lib/libjcat.so.1: version `LIBJCAT_0.1.11' not found (required by /usr/lib/fwupd/fwupd)
Mai 06 12:55:56 manstaro systemd[1]: fwupd.service: Main process exited, code=exited, status=1/FAILURE
Mai 06 12:55:56 manstaro systemd[1]: fwupd.service: Failed with result 'exit-code'.
Mai 06 12:55:56 manstaro systemd[1]: Failed to start Firmware update daemon.
Sean-StarLabs commented 2 years ago

Thanks,

sudo pacman -Syu libjcat
sudo service fwupd restart

Should solve that :)

teewz commented 2 years ago

Ok, so it seems like the newest version of libjcat available from the stable branch of the Manjaro community rep is 0.1.10 (which was already installed - reinstalled it just to be sure, but no luck). I'm guessing 0.1.11 is required as it says version 'LIBJCAT_0.1.11' not found.

I updated libjcat to 0.1.11 after switching to the Testing branch and the problem is solved!

Sean-StarLabs commented 2 years ago

Awesome, I'll let the Manjaro guys know so they can make 0.1.11 available :)