Skip to content

not-a-feature/wd_fw_update

Repository files navigation

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.
-v, --verbose: Set the log level to INFO.
-vv, --very-verbose: Set the log level to DEBUG.

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'}

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) 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.