From 9494d1693b8aeeaa59530073ac4bde81fb6f99bb Mon Sep 17 00:00:00 2001 From: Jane Alesi Date: Thu, 2 Apr 2026 09:49:00 +0200 Subject: [PATCH] docs(tech): add firmware/BIOS update research for all workstation components - Researched 7 component categories for available firmware updates - NVMe SSD (PM9A1): update available GXA7401Q -> GXA7802Q - Motherboard BIOS F53 is current (no update needed) - SATA SSD 840 EVO, GPU GTX 1050 Ti: EOL, no updates - NIC/CPU microcode: managed via kernel/firmware packages - USB peripherals: no LVFS/fwupd support - Recommend installing fwupd for future firmware management --- docs/tech/firmware-update-research.md | 244 ++++++++++++++++++++++++++ 1 file changed, 244 insertions(+) create mode 100644 docs/tech/firmware-update-research.md diff --git a/docs/tech/firmware-update-research.md b/docs/tech/firmware-update-research.md new file mode 100644 index 0000000..74d4a16 --- /dev/null +++ b/docs/tech/firmware-update-research.md @@ -0,0 +1,244 @@ +--- +description: >- + Firmware/BIOS update research for all workstation components. + Current vs latest versions, update methods, and risk assessment. +tags: [firmware, bios, update, research, tech, workstation] +last_updated: '2026-04-02' +--- + +# Firmware Update Research: mw-pfeddersheim-workstation + +**Date**: 2026-04-02 +**Purpose**: Research latest firmware/BIOS versions for all components and assess update needs. + +## Summary + +| Component | Current Version | Latest Version | Update? | Risk | +|-----------|----------------|----------------|---------|------| +| Motherboard BIOS | F53 (2025-10-28) | F53 | **No** | - | +| NVMe SSD (PM9A1) | GXA7401Q | **GXA7802Q** | **Yes** | Medium | +| SATA SSD (840 EVO) | EXT0BB6Q | EXT0BB6Q (EOL) | **No** | - | +| GPU VBIOS (GTX 1050 Ti) | 86.07.39.00.50 | 86.07.39.00.50 (EOL) | **No** | - | +| NIC (RTL8111) | rev 0c, r8168 driver | Kernel-integrated | Via kernel | Low | +| CPU Microcode | Kernel-integrated | Kernel-integrated | Via kernel | Low | +| USB Peripherals | Various | Various | **No** (no LVFS) | - | + +**Actionable updates**: 1 (NVMe SSD firmware) + +--- + +## Detailed Findings + +### 1. Motherboard BIOS: Gigabyte AX370M-DS3H-CF + +| Field | Value | +|-------|-------| +| Current | F53, dated 2025-10-28 | +| Latest | F53 (no newer version found) | +| Source | [Gigabyte Support](https://www.gigabyte.com/us/Motherboard/GA-AX370M-DS3H-rev-1x/support) | + +**Status**: **Up to date.** F53 from October 2025 is the latest available. The AX370M-DS3H (rev 1.x) is an AM4 board from 2017 - F53 represents a remarkably long support timeline (8+ years). No further updates expected. + +**Update method** (if future versions appear): Q-Flash (BIOS) or @BIOS (Windows/Linux utility). + +--- + +### 2. NVMe SSD: Samsung PM9A1 (MZVL2512HCJQ-00B00) + +| Field | Value | +|-------|-------| +| Current | GXA7401Q | +| **Latest** | **GXA7802Q** | +| Source | [OVHCloud Firmware Guide](https://support.us.ovhcloud.com/hc/en-us/articles/22361371147923-Advance-Dedicated-Servers-Upgrading-Your-Samsung-NVMe-PM9A1-Firmware) | + +**Status**: **Update available.** GXA7802Q is newer than GXA7401Q. Improves performance, stability, and security. + +**Update procedure** (Linux, no Samsung Magician needed): + +```bash +# 1. Install nvme-cli +sudo pacman -S nvme-cli + +# 2. Verify current firmware +nvme list + +# 3. Download firmware binary (OVHCloud mirror) +wget https://last-public-ovh-baremetal.snap.mirrors.ovh.us/hardware/PM9A1/GXA7802Q_Noformat.bin + +# 4. Apply firmware (ensure NVMe is /dev/nvme0n1) +sudo nvme fw-download --fw=GXA7802Q_Noformat.bin /dev/nvme0n1 +sudo nvme fw-activate --slot=0x1 --action=0x1 /dev/nvme0n1 + +# 5. Reboot to apply +sudo reboot + +# 6. Verify after reboot +nvme list +``` + +**Risk**: Medium. NVMe firmware update can brick the drive if interrupted (power loss). Ensure UPS or stable power. The `_Noformat` variant preserves data. + +**Recommendation**: Schedule during maintenance window. **Backup critical data first.** + +--- + +### 3. SATA SSD: Samsung SSD 840 EVO 500GB + +| Field | Value | +|-------|-------| +| Current | EXT0BB6Q | +| Latest | EXT0BB6Q (EOL - no updates since ~2015) | +| Source | [Samsung Semiconductor Tools](https://semiconductor.samsung.com/consumer-storage/support/tools/) | + +**Status**: **No update available.** The 840 EVO (released 2013) has reached end-of-life. EXT0BB6Q is the final firmware. No further updates will be released. + +**Note**: This drive is 12+ years old. Consider monitoring health via `smartctl` and planning replacement if reliability degrades. + +**If update were needed**: Samsung provides bootable ISO firmware utilities, but none exist beyond EXT0BB6Q for this model. Samsung Magician is Windows-only. + +--- + +### 4. GPU: NVIDIA GeForce GTX 1050 Ti + +| Field | Value | +|-------|-------| +| Current VBIOS | 86.07.39.00.50 | +| Latest VBIOS | 86.07.39.00.50 (EOL) | +| Current Driver | 575.64.05 | +| Latest Driver | ~580.81 (final for 10-series, end of 2025) | +| Source | [NVIDIA Drivers](https://www.nvidia.com/en-us/drivers/) | + +**Status**: **No VBIOS update available.** NVIDIA ended Game Ready driver support for GTX 10-series at end of 2025. No VBIOS updates have been released. + +**Driver note**: Driver 575.64.05 may be close to or past the final supported version. Check `mhwd` or `pacman` for the latest NVIDIA 10-series driver available in Manjaro. + +**Update method** (drivers only): `sudo pacman -Syu nvidia` or via Manjaro Hardware Detection (`mhwd`). + +--- + +### 5. NIC: Realtek RTL8111/8168/8411 (rev 0c) + +| Field | Value | +|-------|-------| +| Current Driver | r8168 (proprietary) | +| Kernel Module | r8168, r8169 (alternative) | +| Firmware | rtl_nic/rtl8168h-2.fw (linux-firmware) | +| Source | linux-firmware.git (kernel.org) | + +**Status**: **Managed via kernel/firmware packages.** No standalone firmware update needed. The NIC firmware blob is part of `linux-firmware` package. + +**Update method**: Keep `linux-firmware` package updated via normal `pacman -Syu`. + +**Note**: Currently using `r8168` (Realtek proprietary driver). The in-kernel `r8169` driver also supports this chip and may be preferable for simpler maintenance. Both are loaded as kernel modules. + +--- + +### 6. CPU: AMD Ryzen 7 2700X (Zen+ / Pinnacle Ridge) + +| Field | Value | +|-------|-------| +| Microcode | Kernel-integrated (ucode_amd.bin) | +| AGESA | Applied via BIOS (F53 includes latest for this board) | +| Source | linux-firmware.git, kernel.org | + +**Status**: **Managed via kernel/BIOS.** AMD CPU microcode updates are delivered through: +1. **BIOS/UEFI** (AGESA updates) - already at F53 (latest) +2. **Linux kernel** (early microcode loading) - updated via `linux-firmware` package + +**Verify current microcode**: `dmesg | grep microcode` after boot. + +**Update method**: Keep kernel and `linux-firmware` packages updated. + +--- + +### 7. USB Peripherals + +| Device | USB ID | Firmware Update? | Method | +|--------|--------|------------------|--------| +| Jabra SPEAK 510 | 0b0e:0422 | Maybe | Jabra Xpress (Linux) | +| Genesys Logic microSD Reader | 05e3:0727 | No | N/A | +| Pixart Imaging Mouse | 093a:2510 | No | N/A | +| Microdia Terra HD1080PC Camera | 0c45:636b | No | N/A | +| CHERRY Mechanical Keyboard | 046a:00b0 | No | N/A | + +**Status**: **No LVFS/fwupd support** for any of these devices. + +**Jabra SPEAK 510**: Jabra Xpress (v49.0.1.2, Dec 2025) is available for Linux. Could check for firmware updates if audio issues exist. Download from [Jabra Support](https://www.jabra.com/supportpages/jabra-speak-510/7510-209). + +**All others**: No firmware update mechanisms available. These are simple HID/USB devices with no user-serviceable firmware. + +--- + +## fwupd Status + +`fwupd` is **not installed** on this workstation. + +**Recommendation**: Install fwupd for future firmware management via LVFS (Linux Vendor Firmware Service). + +```bash +sudo pacman -S fwupd +sudo systemctl enable --now fwupd +fwupdmgr refresh +fwupdmgr get-devices +fwupdmgr get-updates +``` + +fwupd can manage UEFI firmware, some SSD firmware, and select USB devices through LVFS. + +--- + +## Recommended Action Plan + +### Immediate (Low Risk) + +| # | Action | Command | +|---|--------|---------| +| 1 | Install fwupd | `sudo pacman -S fwupd` | +| 2 | Update linux-firmware | `sudo pacman -Syu linux-firmware` | +| 3 | Check NVIDIA driver version | `pacman -Q nvidia` | + +### Scheduled (Medium Risk - Requires Maintenance Window) + +| # | Action | Risk | Downtime | +|---|--------|------|----------| +| 4 | Update NVMe firmware to GXA7802Q | Medium (power loss risk) | ~5 min + reboot | + +### No Action Needed + +| Component | Reason | +|-----------|--------| +| Motherboard BIOS | Already at latest (F53) | +| SATA SSD | EOL, no updates available | +| GPU VBIOS | EOL, no updates available | +| CPU Microcode | Managed via kernel/firmware | +| NIC Firmware | Managed via kernel/firmware | +| USB Peripherals | No update mechanisms | + +--- + +## Risk Assessment + +### NVMe Firmware Update (GXA7401Q -> GXA7802Q) + +| Risk | Mitigation | +|------|------------| +| Power loss during update = bricked drive | Use UPS, verify battery backup | +| Data corruption | Backup critical data first | +| Incompatibility | Verify model match (MZVL2512HCJQ-00B00) | + +### General Considerations + +- **Production workstation**: All firmware updates should be scheduled during non-critical hours. +- **Rollback**: BIOS has dual-BIOS; NVMe/SATA have no rollback mechanism. +- **Testing**: After any firmware update, run `smartctl -a` and `nvme smart-log` to verify health. + +--- + +## References + +- [Gigabyte GA-AX370M-DS3H Support](https://www.gigabyte.com/us/Motherboard/GA-AX370M-DS3H-rev-1x/support) +- [OVHCloud PM9A1 Firmware Guide](https://support.us.ovhcloud.com/hc/en-us/articles/22361371147923) +- [Samsung SSD Firmware Tools](https://semiconductor.samsung.com/consumer-storage/support/tools/) +- [NVIDIA Drivers](https://www.nvidia.com/en-us/drivers/) +- [Jabra Xpress for Linux](https://www.jabra.com/support/release-notes/release-note-jabra-xpress-for-linux) +- [linux-firmware.git](https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git) \ No newline at end of file