fwupd / firmware-lenovo

Missing firmware for Lenovo Thinkpad hardware
121 stars 4 forks source link

Thinkpad L14 (20U1) does not install firmware on reboot #127

Closed aanno closed 3 years ago

aanno commented 3 years ago

Bug description

I downloaded the firmware update (to 1.12) from the lenovo site and used the instructions of https://download.lenovo.com/pccbbs/mobiles/r17ul09w.txt:

# fwupdmgr install R17ET29W.cab 
Entpacken …              [***************************************]
Authentifizierung …      [ -                                     ]
Authentifizierung …      [***************************************]
Wird auf System Firmware installiert …                           ]
Einplanen …              [***************************************]
Successfully installed firmware

However, on reboot the firmware update is not installed.

My system

Fedora 34, LUKS encrypted LVM

I have try with and without secure boot.

# fwupdmgr --version
client version: 1.5.9
compile-time dependency versions
        gusb:   0.3.6

daemon version: 1.5.9
# fwupdmgr get-devices --show-all-devices
20U10012GE
│
├─CometLake-U GT2 [UHD Graphics]:
│     Device ID:          5792b48846ce271fab11c4a545f7a3df0d36e00a
│     Current version:    02
│     Vendor:             Intel Corporation (PCI:0x8086)
│     GUIDs:              c32e6dfc-cec0-5c0d-99d5-f2dbc21dd4b4 ← PCI\VEN_8086&DEV_9B41&SUBSYS_17AA507C&REV_02
│                         f65166f9-ec98-5bf6-ba53-138706d5cdad ← PCI\VEN_8086&DEV_9B41&SUBSYS_17AA507C
│                         9779d679-0f31-5dd5-b3c2-f6ff275a9ca9 ← PCI\VEN_8086&DEV_9B41&REV_02
│                         5589d313-88e5-54d3-8f4c-b2ee3882d4bc ← PCI\VEN_8086&DEV_9B41
│     Device Flags:       • Internal device
│                         • Cryptographic hash verification is available
│   
├─Embedded Controller:
│     Device ID:          176c2a45e48dd6f44b559f4c0ae8b2d9c501472a
│     Current version:    0.1.12
│     Minimum Version:    0.1.12
│     Vendor:             DMI:LENOVO
│     Update State:       Success
│     GUIDs:              feac2f38-19c3-4fae-bf6b-1d8020e6e1ef
│                         019a55e5-f0a0-5318-a25e-cba4c2eacb67 ← UEFI\RES_{FEAC2F38-19C3-4FAE-BF6B-1D8020E6E1EF}
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Supported on remote server
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
├─Intel Management Engine:
│     Device ID:          20d71f43a583ca5aae66378b51333bc411bcf1a2
│     Current version:    3761046893
│     Minimum Version:    1
│     Vendor:             DMI:LENOVO
│     GUIDs:              4060ef9a-20b1-45de-92cd-01c04091dd01
│                         4208d339-d37e-5e56-b766-4ff57a974af7 ← UEFI\RES_{4060EF9A-20B1-45DE-92CD-01C04091DD01}
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Supported on remote server
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
├─Intel(R) Core™ i5-10210U CPU @ 1.60GHz:
│     Device ID:          4bde70ba4e39b28f9eab1628f9dd6e6244c03027
│     Current version:    0x000000de
│     Vendor:             Intel
│     GUIDs:              b9a2dd81-159e-5537-a7db-e7101d164d3f ← cpu
│                         30249f37-d140-5d3e-9319-186b1bd5cac3 ← CPUID\PRO_0&FAM_06
│                         561403e8-143a-5071-ab09-bf5e4c146983 ← CPUID\PRO_0&FAM_06&MOD_8E
│                         d5092916-1868-5182-8c70-12f83dab6372 ← CPUID\PRO_0&FAM_06&MOD_8E&STP_C
│     Device Flags:       • Internal device
│   
├─Samsung SSD 970 EVO 500GB:
│     Device ID:          e32966e41f54b47823eef28bd8b4bd9e1018b923
│     Zusammenfassung:    NVM Express Solid State Drive
│     Current version:    1B2QEXE7
│     Vendor:             Samsung Electronics Co Ltd (NVME:0x144D)
│     Serial Number:      S466NX0K751230N
│     GUIDs:              0b4d773a-7ac3-58c1-a541-e22ef1cdfe02 ← NVME\VEN_144D&DEV_A808&SUBSYS_144DA801&REV_00
│                         c9d531ea-ee7d-5562-8def-c64d0d144813 ← NVME\VEN_144D&DEV_A808&SUBSYS_144DA801
│                         6e54c992-d302-59ab-b454-2d26ddd63e6d ← NVME\VEN_144D&DEV_A808&REV_00
│                         47335265-a509-51f7-841e-1c94911af66b ← NVME\VEN_144D&DEV_A808
│                         5fc1d3d7-f6cf-5f1c-ba7e-18a56f00f262 ← Samsung SSD 970 EVO 500GB
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
├─System Firmware:
│ │   Device ID:          98f9490d4d3db0f556efa6d183ebb076db045545
│ │   Current version:    0.1.9
│ │   Vendor:             LENOVO (DMI:LENOVO)
│ │   Update State:       Success
│ │   Last modified:      2021-06-04 07:12
│ │   GUIDs:              8e01800c-4fdf-4c3c-bd17-f438d96899ee
│ │                       230c8b18-8d9b-53ec-838b-6cfc0383493a ← main-system-firmware
│ │                       3f728da6-269c-5b14-b2b3-bc3286f4e7a6 ← UEFI\RES_{8E01800C-4FDF-4C3C-BD17-F438D96899EE}
│ │   Device Flags:       • Internal device
│ │                       • Updatable
│ │                       • System requires external power source
│ │                       • Supported on remote server
│ │                       • Needs a reboot after installation
│ │                       • Cryptographic hash verification is available
│ │                       • Device is usable for the duration of the update
│ │ 
│ └─UEFI dbx:
│       Device ID:        362301da643102b9f38477387e2193e57abaa590
│       Zusammenfassung:  UEFI Revocation Database
│       Current version:  83
│       Minimum Version:  83
│       Vendor:           UEFI:Linux Foundation
│       Install Duration: 1 second
│       GUIDs:            68f274e9-5d56-5c73-863b-badc87d7f0b5 ← UEFI\CRT_89F07B449C6B701EA4A8FDBA083DA7129E1400685E404F68AAD2263A9E918825
│                         46ee0b67-1caa-5679-b1a7-83a3266a1be5 ← UEFI\CRT_89F07B449C6B701EA4A8FDBA083DA7129E1400685E404F68AAD2263A9E918825&ARCH_X64
│                         c6682ade-b5ec-57c4-b687-676351208742 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503
│                         f8ba2887-9411-5c36-9cee-88995bb39731 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503&ARCH_X64
│       Device Flags:     • Internal device
│                         • Updatable
│                         • Needs a reboot after installation
│     
├─TPM:
│ │   Device ID:          c6a80ac3a22083423992a3cb15018989f37834d6
│ │   Current version:    1.258.0.0
│ │   Vendor:             ST Microelectronics (TPM:STM)
│ │   GUIDs:              ff71992e-52f7-5eea-94ef-883e56e034c6 ← system-tpm
│ │                       84df3581-f896-54d2-bd1a-372602f04c32 ← TPM\VEN_STM&DEV_0001
│ │                       bfaed10a-bbc1-525b-a329-35da2f63e918 ← TPM\VEN_STM&MOD_
│ │                       70b7b833-7e1a-550a-a291-b94a12d0f319 ← TPM\VEN_STM&DEV_0001&VER_2.0
│ │                       06f005e9-cb62-5d1a-82d9-13c534c53c48 ← TPM\VEN_STM&MOD_&VER_2.0
│ │   Device Flags:       • Internal device
│ │ 
│ └─Event Log:
│       Device ID:        58bd405f31c48e6eca290b425f530a94c91e955c
│       GUID:             a25657fe-b5dc-5be0-8b78-8b9dfec678ff ← system-tpm-eventlog
│       Device Flags:     • Internal device
│     
├─UEFI Device Firmware:
│     Device ID:          f3e75cb4f350d6d4e00b7e09fe62214864179806
│     Current version:    1
│     Minimum Version:    1
│     Vendor:             DMI:LENOVO
│     GUIDs:              bf4d282c-4486-41d6-b5f6-19d56c9538b7
│                         35405a53-1b85-56ad-abbb-bdcfa50059e7 ← UEFI\RES_{BF4D282C-4486-41D6-B5F6-19D56C9538B7}
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
├─UEFI Device Firmware:
│     Device ID:          95e09786b84193b26135377fd2f67a366860e733
│     Current version:    16973831
│     Minimum Version:    1
│     Vendor:             DMI:LENOVO
│     GUIDs:              fbdab093-2e81-4e3a-85ef-543dc1999fc3
│                         8ed674ea-250f-5c9e-9d03-d3ab0d38c5bf ← UEFI\RES_{FBDAB093-2E81-4E3A-85EF-543DC1999FC3}
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
├─UEFI Device Firmware:
│     Device ID:          92b1cca1052bc36b59cec160aab53d7817878457
│     Current version:    65794
│     Minimum Version:    65794
│     Vendor:             DMI:LENOVO
│     GUIDs:              e4adfd0c-d97a-4597-89b3-6f5d5d8a4e6f
│                         62711299-097f-5903-b43c-b1f98472dc6b ← UEFI\RES_{E4ADFD0C-D97A-4597-89B3-6F5D5D8A4E6F}
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
└─UEFI Device Firmware:
      Device ID:          7a03e44233a6b89fb72f16b3c85aa9e858d1a696
      Current version:    26404
      Vendor:             DMI:LENOVO
      GUIDs:              b4282edb-2371-44e0-9ab3-f33b3f7aa7c0
                          ee4fe609-495f-5de3-8ca2-f36bb21096ca ← UEFI\RES_{B4282EDB-2371-44E0-9AB3-F33B3F7AA7C0}
      Device Flags:       • Internal device
                          • Updatable
                          • System requires external power source
                          • Needs a reboot after installation
                          • Device is usable for the duration of the update

System UEFI configuration

# efibootmgr -v
BootNext: 0002
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0022,0023,0002,0001,0000,0019,001A,001B,001C,001D,001E,0020,001F,0021
Boot0000* Windows Boot Manager  HD(1,GPT,58bb1a10-6dca-46dc-9393-c1e69459e1df,0x800,0x100000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...,................
Boot0001* Fedora        HD(1,GPT,58bb1a10-6dca-46dc-9393-c1e69459e1df,0x800,0x100000)/File(\EFI\fedora\shimx64.efi)
Boot0002* Linux-Firmware-Updater        HD(1,GPT,58bb1a10-6dca-46dc-9393-c1e69459e1df,0x800,0x100000)/File(\EFI\fedora\fwupdx64.efi)
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu     FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0012  Diagnostic Splash Screen      FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0013  Lenovo Diagnostics    FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0014  Regulatory Information        FvFile(478c92a0-2622-42b7-a65d-5894169e4d24)
Boot0015  ThinkShield secure wipe       FvFile(3593a0d5-bd52-43a0-808e-cbff5ece2477)
Boot0016  Startup Interrupt Menu        FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0017  Rescue and Recovery   FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0018  MEBx Hot Key  FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
Boot0019* USB CD        VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot001A* USB FDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot001B* NVMe0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
Boot001C* NVMe1 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a401)
Boot001D* ATA HDD0      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot001E* ATA HDD1      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f601)
Boot001F* USB HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot0020* PXE BOOT      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot0021* LENOVO CLOUD  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,ad38ccbbf7edf04d959cf42aa74d3650)/Uri(https://download.lenovo.com/pccbbs/cdeploy/efi/boot.efi)
Boot0022  Other CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35406)
Boot0023  Other HDD     VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f606)
Boot0024* USBR BOOT CDROM       PciRoot(0x0)/Pci(0x14,0x0)/USB(11,1)
Boot0025* USBR BOOT Floppy      PciRoot(0x0)/Pci(0x14,0x0)/USB(11,0)
Boot0026* ATA HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
Boot0027* ATAPI CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
# efivar -l | grep fw
0abba7dc-e516-4167-bbf5-4d9d1c739416-fwupd-8e01800c-4fdf-4c3c-bd17-f438d96899ee-0
# tree -a /boot/efi 
/boot/efi
├── EFI
│   ├── BOOT
│   │   ├── BOOTIA32.EFI
│   │   ├── BOOTX64.EFI
│   │   ├── fbia32.efi
│   │   └── fbx64.efi
│   └── fedora
│       ├── BOOTIA32.CSV
│       ├── BOOTX64.CSV
│       ├── fonts
│       │   └── unicode.pf2
│       ├── fw
│       │   └── fwupd-8e01800c-4fdf-4c3c-bd17-f438d96899ee.cap
│       ├── fwupdx64.efi
│       ├── gcdia32.efi
│       ├── gcdx64.efi
│       ├── grub.cfg
│       ├── grubia32.efi
│       ├── grubx64.efi
│       ├── mmia32.efi
│       ├── mmx64.efi
│       ├── shim.efi
│       ├── shimia32.efi
│       └── shimx64.efi
├── mach_kernel
└── System
    └── Library
        └── CoreServices
            └── SystemVersion.plist

8 directories, 21 files
aanno commented 3 years ago

Well, it has finally worked - but I'm unsure what has really helped, as I tried several things:

I also thought about chain loading the efi binary fwupdx64.efi in the lines of https://unix.stackexchange.com/questions/277373/is-it-possible-to-use-grub-to-run-an-efi-binary - but the issue was already solved for me.