ReadTheDocs 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.
-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 © 2024 by Jules Kreuer - @not_a_feature 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.