LoginSignup
4
5

More than 3 years have passed since last update.

【Ubuntu Dell XPS13-9380】Firmware(UEFI/BIOS)の更新が出来なくて困ったけどfwupdを使って更新できた話

Last updated at Posted at 2020-09-13

0. はじめに

こんにちは。都内でエンジニアをしている、@gkzvoiceです。
先日、私用Linux PCのFirmwareの更新でコケてしまったので、そのトラブルシュートにチャレンジしておりました。

結論からお伝えしますと、後述する、fwupdを使って無事更新することができました。
そこで本記事では、fwupdを使ってFirmware(UEFI/BIOS)の更新ができるようになるまでの手順について解説していきます。

1. 目次

  • 2. 環境/バージョン情報
  • 3. 遭遇したエラーの説明
  • 4. 更新手順
  • 5. 参考資料

2.環境/バージョン情報

ローカル開発環境

  • Dell XPS13-9380
  • Ubuntu 20.04.1 LTS (Focal Fossa)"
  • BIOS 1.11.0
  • fwupdmgr
    • client 1.3.11
    • daemon 1.3.11

僕だけかも知れませんが、バージョン一つ確認するのも苦労したので確認に使ったコマンドを貼っておきます(とくにBIOS。。)。

## Dell XPS13-9380
$ sudo lshw -short | head -3
H/W path           Device           Class          Description
==============================================================
                                    system         XPS 13 9380 (08AF)
## Ubuntu
$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

## BIOS
$ sudo dmidecode -s bios-version
1.11.0

## fwupdmgr client/daemon
$ fwupdmgr --version
client version: 1.3.11
compile-time dependency versions
    gusb:   0.3.4
    efivar: 37
daemon version: 1.3.11

3. 遭遇したエラーの説明

なにがきっかけかは分かりませんが、下記のスクリーンショットの左側に表示されているようなエラーメッセージが画面に出るようになったんですよね大汗。

Screenshot from 2020-09-08 22-31-08.png

エラーメッセージ全文です↓。

Unable to update "Dell Inc. System Firmware" as download failed:
failed to download https://fwupd.org/downloads/-xxxxxxx-d35-XPS_9380_1.11.0.cab: Connection terminated unexpectedlly

4. 更新手順

4-1.下記のLinux Vendor Firmware Service(LVFS⁠)⁠から自分PCに合ったcabをダウンロード

https://fwupd.org/lvfs/devices/com.dell.uefice945437.firmware

  • 下記のようにcurlやwgetを使ってダウンロードしても、GUIでcabをクリックしてもよい
$ curl https://fwupd.org/downloads/60344cbcc1f3c061ea202e1c7d7cc9c6333f0f070eba09fc8ef27114fe3ced35-XPS_9380_1.11.0.cab \
> --output $HOME/Downloads/xps_9380.cab
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 21.6M  100 21.6M    0     0  1454k      0  0:00:15  0:00:15 --:--:-- 2711k

Screenshot from 2020-09-13 19-49-01.png

  • 無事 curlのoutputオプションで指定したダウンロード先にcabがあることを確認(GUIでダウンロードされた方はよしなに)
$ ls $HOME/xps_9380.cab 
$HOME/Downloads/xps_9380.cab

4-2. fwupdmgr installコマンドでcabをインストール

  • 下記のようにfwupdmgr install /path/to/$FILEを実行してからyを押す
  • fwupdmgr installコマンドを実行するためには、ACアダプタをつなぐ必要があります。
  • なお、このfwupdmgr installとはfwupdというデーモンが提供するインストールコマンドみたいです。
$ fwupdmgr install Downloads/xps_9380.cab 
Decompressing…           [***************************************]
Authenticating…          [***************************************]
Installing on System Firmware…                                   ]
Scheduling…              [***************************************]
Successfully installed firmware

An update requires a reboot to complete. Restart now? [y|N]: 
  • 後は画面に従って再起動したり、淡々と進めるだけでした。

fwupdmgr installコマンドについては、fwupd/firmware-dellリポジトリで自分で立てたissueで教えていただきました。

Download the .cab files that match your hardware and then install them on the target hardware via Ansible or Puppet using fwupdmgr install foo.cab.

参考:Offline Firmware — LVFS documentation

  • fwupdについてはこちらを。

The Linux Foundationは3月26日(米国時間⁠)⁠,同ファウンデーション傘下の新しいプロジェクトとして「Linux Vendor Firmware Service(LVFS⁠)⁠」がスタートしたことを発表した。

Linux Vendor Firmware Service
LVFS Project Announcement - The Linux Foundation
LVFSはRed Hatの開発者が中心となって進めてきた活動で,各ハードウェアベンダが提供するファームウェアやBIOSを,再配布可能な形式(.cab)でサイト上で集約し,ユーザや開発者は「fwupd」というデーモンを介してLVFSに接続することで,ローカルマシンのファームウェアアップデートが可能になる。

参考:2019年3月29日 ファームウェア提供のスタンダードに! Linux Foundationの新プロジェクト「Linux Vendor Firmware Service」がスタート:Linux Daily Topics|gihyo.jp … 技術評論社

5. 参考資料

P.S. Twitterもやってるのでフォローしていただけると泣いて喜びます:)

@gkzvoice

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5