Skip to main content

Updates the firmware of Western Digital SSDs on Ubuntu / Linux Mint.

Project description

PyPI-Server Monthly Downloads

wd_fw_update

Western Digital SSD Firmware Update Tool

This is a firmware update tool for Western Digital SSDs on Ubuntu / Linux Mint.

It provides a user-friendly interface to select the firmware version for the update process.

It uses the Western Digital API and the NVME toolbox nvme-cli but is NOT associated in any case to them.

It was originally developed for Frame.Work laptops, but should work with any Ubuntu / Mint device with Western Digital NVME SSD.

See the discussion on: community.frame.work and juleskreuer.eu

GIF

Installation

Prerequisites

Make sure the following dependencies are installed on your system:

  • sudo
  • nvme-cli

Via source

Clone the repository:

git clone https://github.com/not-a-feature/wd_fw_update.git
cd wd_fw_update

pip install .

Via pypi:

The newest release is published on pypi.

pip install wd-fw-update

Usage

Run

wd_fw_update

Follow the on-screen prompts to select the appropriate options for your firmware update. The script will guide you through the process, and once completed, it will provide a summary of the update. Depending on the update mode, it may prompt you to reboot or switch to the new slot.

Command-Line Options

--version: Display the version of the firmware update tool.
-i, --info: Display information about the available drives.
-m, --manual: Disable version and dependency checks.
--ignore_ssl_errors: Disable SSL check.
-v, --verbose: Set the log level to INFO.
-vv, --very-verbose: Set the log level to DEBUG.

-i, --info

The -i flag will display about the available drives.

Example:

========== Device Info ==========
Device                   : /dev/nvme0n1
Model                    : WD_BLACK SN770 500GB
Current fw version       : 731120WD
Slot 1 readonly          : False
Slot count               : 2
Current slot             : 2
Slots with firmware      : {1: '731030WD', 2: '731120WD'}

-m, --manual

The -m flag enables manual mode, bypassing several checks:

  • Displays all available firmware versions for selection, not just newer ones.
  • Allows selection of firmware versions that do not list the current version as a dependency.

Note

This project has been set up using PyScaffold 4.5. For details and usage information on PyScaffold see https://pyscaffold.org/.

Dependencies

License

Copyright (C) 2026 by Jules Kreuer - @not_a_feature and contributers. This piece of software is published unter the GNU General Public License v3.0 TLDR:

Permissions Conditions Limitations
✓ Commercial use Disclose source ✕ Liability
✓ Distribution License and copyright notice ✕ Warranty
✓ Modification Same license
✓ Patent use State changes
✓ Private use

Go to LICENSE to see the full version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wd_fw_update-2.3.0.tar.gz (326.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wd_fw_update-2.3.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file wd_fw_update-2.3.0.tar.gz.

File metadata

  • Download URL: wd_fw_update-2.3.0.tar.gz
  • Upload date:
  • Size: 326.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wd_fw_update-2.3.0.tar.gz
Algorithm Hash digest
SHA256 555b3be14b3d774d04acd9adee50441ee52b63c45b39c3104e6deda3880b153b
MD5 1c04e602d4119d44faee3e4e3062149b
BLAKE2b-256 c696d8c2d08b38f28a908932a3bef11e38227a250b002572858a368b52b6d3c2

See more details on using hashes here.

File details

Details for the file wd_fw_update-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: wd_fw_update-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wd_fw_update-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b3ad29d6f5305a29d74e6b37b5bf2d35b91f255e22a731f9fc5bbb9587fe650
MD5 6ed5261cafb951a6d6926eed525e9b57
BLAKE2b-256 c6bce1586c2a6f60705cb9ac26b2ec7235015f76a2c2b10197756f4bf54abe4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page