UEFI firmware update failed

​My laptop has been alerting me to a firmware update for awhile, but attempts to perform the update fail:

Poking around, I came across an article on updating firmware from the command line. Following the instructions it contained, everything went swimmingly until the final fwupdmgr update commmand:

% sudo fwupdmgr update
Downloading 0.1.16.0 for Precision 5520 System Firmware...
Updating 0.1.16.0 on Precision 5520 System Firmware...
Decompressing…         [***************************************]
Authenticating…        [***************************************]
Scheduling…            [***************************************]
UEFI firmware update failed: {error #0} efivarfs.c:351 efivarfs_set_variable(): write failed: Input/output error	{error #1} lib.c:81 _efi_set_variable_mode(): ops->set_variable() failed: Input/output error	{error #2} libfwup.c:637 put_info(): efi_set_variable(fwupdate-34578c72-11dc-4378-bc7f-b643866f598c-0) failed: Input/output error	{error #3} libfwup.c:2021 fwup_set_up_update_with_buf(): put_info failed.: Input/output error

Any suggestions about how to debug this error would be appreciated.

Could you please fill out the template as desribed here:

Then describe which storage you are using and specifically, where the update is stored on.

Dear @smontanaro,
Please correct me if I was wrong.
You’re talking about a Dell Precision 5520, correct?
If I’m correct, do you know this link?
https://www.dell.com/support/home/us/en/04/drivers/driversdetails?driverid=p9ymw

Be careful with the update because are some claims about after updated to 1.16.0
https://www.dell.com/community/forums/searchpage/tab/message?filter=location&q=1.16.0&noSynonym=false&location=forum-board:XPS&collapse_discussion=true

2 Likes

I apologize for failing to provide the proper background. (I used to be a core Python developer and frequently encountered incomplete pleas for help. I should have known better.) I posted a comment to the link I referenced. It said, “hey, why don’t you post on the forums?” Needless to say, I failed to do my due diligence before posting my question here.

@akito asked about what “storage” I am using. I apologize, but I failed to understand the question. As @Tech_JA surmised, I am using a Dell Precision 5520. It came from Dell with Ubuntu 16.04 LTS. (I specifically bought the Precision 5520 instead of the XPS 15 to get Linux out of the box.) I have since updated to 18.04.

Now, about that template. (Sorry, I had to mangle some URLs to get past the new user link police.)

Specifications

System:    Host: montanaro Kernel: 4.15.0-70-generic x86_64
           bits: 64 gcc: 7.4.0
           Desktop: Gnome 3.28.4 (Gtk 3.22.30-1ubuntu4)
           Distro: Ubuntu 18.04.3 LTS
Machine:   Device: laptop System: Dell product: Precision 5520 serial: N/A
           Mobo: Dell model: 0X41RR v: A00 serial: N/A
           UEFI: Dell v: 1.2.4 date: 03/29/2017
Battery    BAT0: charge: 26.4 Wh 48.2% condition: 54.9/97.0 Wh (57%)
           model: LGC-LGC8.33 DELL 5XJ2871 status: Discharging
CPU:       Quad core Intel Core i7-7820HQ (-MT-MCP-) 
           arch: Skylake rev.9 cache: 8192 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 23232
           clock speeds: max: 3900 MHz 1: 900 MHz 2: 900 MHz 3: 900 MHz
           4: 900 MHz 5: 900 MHz 6: 900 MHz 7: 900 MHz 8: 900 MHz
Graphics:  Card-1: Intel Device 591b bus-ID: 00:02.0
           Card-2: NVIDIA GM107GLM Quadro M1200 Mobile bus-ID: 01:00.0
           Display Server: wayland (X.Org 1.19.6 )
           drivers: intel (unloaded: fbdev,vesa) FAILED: modesetting,nouveau
           Resolution: 1920x1080@59.88hz
           OpenGL: renderer: Mesa DRI Intel HD Graphics 630 (Kaby Lake GT2)
           version: 4.5 Mesa 19.0.8 Direct Render: Yes
Audio:     Card Intel CM238 HD Audio Controller
           driver: snd_hda_intel bus-ID: 00:1f.3
           Sound: Advanced Linux Sound Architecture v: k4.15.0-70-generic
Network:   Card-1: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter
           driver: ath10k_pci bus-ID: 02:00.0
           IF: wlp2s0 state: up mac: <filter>
           Card-2: Atheros usb-ID: 001-002
           IF: null-if-id state: N/A speed: N/A duplex: N/A mac: N/A
Drives:    HDD Total Size: 256.1GB (57.5% used)
           ID-1: /dev/nvme0n1 model: CX2 size: 256.1GB
Partition: ID-1: / size: 219G used: 123G (59%) fs: ext4 dev: /dev/nvme0n1p2
           ID-2: swap-1 size: 16.89GB used: 0.00GB (0%)
           fs: swap dev: /dev/nvme0n1p3
RAID:      No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors:   System Temperatures: cpu: 34.0C mobo: N/A gpu: 31.0
           Fan Speeds (in rpm): cpu: N/A
Info:      Processes: 323 Uptime: 7:48 Memory: 3908.7/15769.9MB
           Init: systemd runlevel: 5 Gcc sys: 7.4.0
           Client: Shell (bash 4.4.201) inxi: 2.3.56 
  • Distro version | cat /etc/os-release

    NAME=“Ubuntu”
    VERSION=“18.04.3 LTS (Bionic Beaver)”
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME=“Ubuntu 18.04.3 LTS”
    VERSION_ID=“18.04”
    HOME_URL="… mangled …"
    SUPPORT_URL="… mangled …"
    BUG_REPORT_URL="… mangled …"
    PRIVACY_POLICY_URL="… mangled …"
    VERSION_CODENAME=bionic
    UBUNTU_CODENAME=bionic

  • Kernel version | uname -a

Linux montanaro 4.15.0-70-generic #79-Ubuntu SMP Tue Nov 12 10:36:11 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Steps to reproduce

Using the instructions on the above page, execute the following:

sudo apt update && sudo apt upgrade -y
sudo service fwupd start
sudo fwupdmgr refresh
sudo fwupdmgr update

Expected behaviour

In theory, all four steps should execute successfully. In particular the
output of the last command should be similar to that noted on the above page.

Actual behaviour

The first three steps succeeded, but the last failed with this output:

% sudo fwupdmgr update
Downloading 0.1.16.0 for Precision 5520 System Firmware...
Updating 0.1.16.0 on Precision 5520 System Firmware...
Decompressing…        
Authenticating…    
Scheduling…        
UEFI firmware update failed: {error #0} efivarfs.c:351 efivarfs_set_variable(): write failed: Input/output error	{error #1} lib.c:81 _efi_set_variable_mode(): ops->set_variable() failed: Input/output error	{error #2} libfwup.c:637 put_info(): efi_set_variable(fwupdate-34578c72-11dc-4378-bc7f-b643866f598c-0) failed: Input/output error	{error #3} libfwup.c:2021 fwup_set_up_update_with_buf(): put_info failed.: Input/output error
2 Likes

Thanks @Tech_JA. I was unaware of those links. I’d be happy to just ignore the continual warnings that I update the BIOS if it’s assumed the old BIOS is better than 1.16.0. I suppose there’s no telling when DELL might post a new version to replace 1.16.0.

2 Likes

I you really want to update your BIOS, you could that using DOS-bootable USB flash drive like has mentioned in this link:
https://www.dell.com/support/home/us/en/04/drivers/driversdetails?driverid=p9ymw

And this links explains how to create a DOS-bootable USB flash drive in ubuntu:

1 Like