Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d770d2def | ||
|
|
1a57375fff | ||
|
|
66408ff68f | ||
|
|
7a672833aa | ||
|
|
b80dad6a75 | ||
|
|
9494d1693b | ||
|
|
5a1ae7b0e2 | ||
|
|
6980d7369a |
@@ -0,0 +1,298 @@
|
||||
---
|
||||
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 | **GXA7801Q** | **Yes (applied)** | 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** | **GXA7801Q** (non-SED, `00B00`) |
|
||||
| Source | [GitHub: samsung-nvme-firmware](https://github.com/lolyinseo/samsung-nvme-firmware) |
|
||||
|
||||
**Status**: **Update applied 2026-04-02.** GXA7801Q is the correct firmware for non-SED PM9A1 drives (model `00B00`). Reboot pending to activate.
|
||||
|
||||
> **Important**: GXA7802Q is for SED drives (model `00B07`) only. Our non-SED drive (MZVL2512HCJQ-**00B00**) requires GXA7801Q.
|
||||
> The OVHCloud mirror only hosts GXA7802Q, which was rejected as "Invalid Firmware Image".
|
||||
|
||||
### Firmware Naming Convention
|
||||
|
||||
| Suffix | Type | Model Suffix |
|
||||
|--------|------|-------------|
|
||||
| `GXA***1Q` | Non-SED (standard) | `00B00` |
|
||||
| `GXA***2Q` | SED (Self-Encrypting) | `00B07` |
|
||||
|
||||
### Firmware Changelog (GXA7401Q → GXA7801Q)
|
||||
|
||||
| Version | Key Changes |
|
||||
|---------|-------------|
|
||||
| **GXA7401Q** (current) | Fixed Pyrite spec violation (prevented user data erase during TCG revert). Improved write performance drop beyond 70% capacity usage via foreground GC in SSB area. |
|
||||
| **GXA7602Q** | Changed LPN per Unmap Range from total device LPN to 1000. Improved free block generation, reduced unnecessary migrations and TLC writes. |
|
||||
| **GXA7702Q** | Increased LPN per Unmap Range to 10,000. Introduced **side effects**: lengthened FW time for Unmap operations, slower free block generation, increased unnecessary migrations. Samsung recommended **holding** this version. |
|
||||
| **GXA7801Q** (latest, applied) | **Fixes all GXA7702Q side effects.** Non-SED variant. Corrects unmap handling, restores free block generation performance. Released ~Nov 2022 after internal qualification. Overall stability and performance improvements. |
|
||||
|
||||
**Key benefit for workstation**: The GXA7401Q → GXA7801Q jump fixes unmap/TRIM performance regression chain from GXA7702Q intermediate versions. Since this is a root NVMe drive with heavy I/O, improved unmap handling and write stability are relevant.
|
||||
|
||||
**Note**: No official Samsung changelog exists publicly. Information sourced from Samsung internal PDF (gzhls.at), OVHCloud deployment guide, and Win-Raid community.
|
||||
|
||||
**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 (GitHub mirror - correct for non-SED drives)
|
||||
wget -O /tmp/GXA7801Q.bin \
|
||||
"https://raw.githubusercontent.com/lolyinseo/samsung-nvme-firmware/main/PM9A1/ASUS/GXA7801Q/GXA7801Q_20221102.bin"
|
||||
|
||||
# 4. Apply firmware (ensure NVMe is /dev/nvme0n1)
|
||||
sudo nvme fw-download --fw=/tmp/GXA7801Q.bin /dev/nvme0n1
|
||||
sudo nvme fw-commit -s 2 -a 0 /dev/nvme0 # Install to slot 2
|
||||
sudo nvme fw-commit -s 2 -a 2 /dev/nvme0 # Activate slot 2
|
||||
|
||||
# 5. Reboot to apply
|
||||
sudo reboot
|
||||
|
||||
# 6. Verify after reboot
|
||||
nvme list
|
||||
```
|
||||
|
||||
**Update applied**: 2026-04-02 10:51 CET. All three nvme-cli steps succeeded. Reboot pending.
|
||||
|
||||
**Firmware file**: SHA256 `76ad2b0c35581cb71bd4c5a5fd358a15c4432aa38e9e983acc2349d2b24b5a11`
|
||||
|
||||
**Risk**: Medium. NVMe firmware update can brick the drive if interrupted (power loss). Original firmware GXA7401Q preserved in slot 1 as fallback.
|
||||
|
||||
**Pre-firmware benchmark**: See `docs/tech/nvme-benchmark-pre-gxa7802q.md`
|
||||
|
||||
---
|
||||
|
||||
### 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
|
||||
|
||||
**Installed**: fwupd 2.1.1 (2026-04-02)
|
||||
|
||||
### Detected Devices (7 total)
|
||||
|
||||
| Device | Type | Current Version | Updatable via LVFS? |
|
||||
|--------|------|-----------------|---------------------|
|
||||
| MZVL2512HCJQ-00B00 | NVMe SSD | GXA7401Q | Yes (flag) / No update published |
|
||||
| SSD 840 EVO 500GB | SATA SSD | EXT0BB6Q | Yes (flag) / No update published |
|
||||
| Ryzen 7 2700X | CPU Microcode | 0x0800820e | No |
|
||||
| AMD TPM 2.0 | TPM | 3.8.0.3 | Yes (flag, signed payload) |
|
||||
| Unknown (PNP:WOR) | Display (?) | - | No |
|
||||
| Unknown (PNP:BNQ) | Display (?) | - | No |
|
||||
| Unknown (PNP:WOR) | Display (?) | - | No |
|
||||
|
||||
### LVFS Update Check Result
|
||||
|
||||
```
|
||||
No updatable devices
|
||||
```
|
||||
|
||||
Samsung does not publish PM9A1 or 840 EVO firmware on LVFS. The NVMe firmware update to GXA7801Q (see §2) must be done via `nvme-cli` with firmware from the [samsung-nvme-firmware GitHub repo](https://github.com/lolyinseo/samsung-nvme-firmware). The OVHCloud mirror only has GXA7802Q (SED variant, incompatible with non-SED drives).
|
||||
|
||||
### New Discovery: AMD TPM 2.0
|
||||
|
||||
fwupd detected an **AMD TPM 2.0** device (version 3.8.0.3) not in original inventory. This is the firmware TPM (fTPM) built into the Ryzen processor. It supports signed payload updates via fwupd/LVFS. Currently no update is published.
|
||||
|
||||
### fwupd Verification Commands
|
||||
|
||||
```bash
|
||||
fwupdmgr refresh # Refresh metadata from LVFS
|
||||
fwupdmgr get-devices # List all detected devices
|
||||
fwupdmgr get-updates # Check for available updates
|
||||
fwupdmgr update # Apply available updates
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Recommended Action Plan
|
||||
|
||||
### Immediate (Low Risk)
|
||||
|
||||
| # | Action | Command | Status |
|
||||
|---|--------|---------|--------|
|
||||
| 1 | Install fwupd | `sudo pacman -S fwupd` | **Done** (fwupd 2.1.1) |
|
||||
| 2 | Update linux-firmware | `sudo pacman -Syu linux-firmware` | Pending |
|
||||
| 3 | Check NVIDIA driver version | `pacman -Q nvidia` | Pending |
|
||||
|
||||
### Scheduled (Medium Risk - Requires Maintenance Window)
|
||||
|
||||
| # | Action | Risk | Downtime |
|
||||
|---|--------|------|----------|
|
||||
| 4 | ~~Update NVMe firmware to GXA7801Q~~ | ~~Medium (power loss risk)~~ | **Applied 2026-04-02, reboot pending** |
|
||||
|
||||
### 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 -> GXA7801Q) - APPLIED 2026-04-02
|
||||
|
||||
| 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)
|
||||
- [Samsung PM9A1 Firmware PDF (gzhls.at)](https://gzhls.at/blob/ldb/1/a/2/a/90ce739915b765d7fdae4620177253f0056e.pdf)
|
||||
- [Win-Raid PM9A1 Discussion](https://winraid.level1techs.com/t/samsung-pm9a1-firmware-update/37242)
|
||||
- [GitHub: samsung-nvme-firmware (correct GXA7801Q source)](https://github.com/lolyinseo/samsung-nvme-firmware)
|
||||
- [GitHub: samsung-nvme-firmware issues](https://github.com/lolyinseo/samsung-nvme-firmware/issues/10)
|
||||
@@ -0,0 +1,163 @@
|
||||
---
|
||||
description: >-
|
||||
Hardware inventory for mw-pfeddersheim-workstation. Captured 2026-04-02.
|
||||
tags: [hardware, inventory, tech, workstation]
|
||||
last_updated: '2026-04-02'
|
||||
---
|
||||
|
||||
# Hardware Inventory: mw-pfeddersheim-workstation
|
||||
|
||||
## System Overview
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Machine | mw-pfeddersheim-workstation |
|
||||
| Location | satware AG, Pfeddersheim |
|
||||
| OS | Manjaro Linux, kernel 6.12 |
|
||||
| Desktop | KDE Plasma 6.5.6 |
|
||||
| User | Michael Wegener (mw) |
|
||||
|
||||
## CPU
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Model | AMD Ryzen 7 2700X Eight-Core Processor |
|
||||
| Architecture | x86_64 |
|
||||
| Cores/Threads | 8C/16T |
|
||||
| Max Clock | 3.9 GHz |
|
||||
| L1 Cache | 256 KiB (L1d) + 512 KiB (L1i) |
|
||||
| L2 Cache | 4 MiB |
|
||||
| L3 Cache | 16 MiB |
|
||||
| Socket | AM4 (1 socket) |
|
||||
|
||||
## Motherboard
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Manufacturer | Gigabyte Technology Co., Ltd. |
|
||||
| Model | AX370M-DS3H-CF |
|
||||
| Form Factor | Micro-ATX |
|
||||
| Chipset | AMD X370 |
|
||||
|
||||
## BIOS/UEFI
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Vendor | American Megatrends International, LLC |
|
||||
| Version | F53 |
|
||||
| Date | 2025-10-28 |
|
||||
|
||||
## Memory
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Total RAM | 62 GiB |
|
||||
| Swap | 16 GiB (zram) + 31 GiB (disk) |
|
||||
| Type | DDR4 |
|
||||
| Speed | 2666 MT/s |
|
||||
| ECC | None |
|
||||
|
||||
### DIMM Modules
|
||||
|
||||
| Slot | Size | Manufacturer | Part Number |
|
||||
|------|------|-------------|-------------|
|
||||
| DIMM A | 16 GiB | Kingston | 9905701-006.A00G |
|
||||
| DIMM B | 16 GiB | Samsung | M378A2K43CB1-CRC |
|
||||
| DIMM C | 16 GiB | (see dmidecode) | - |
|
||||
| DIMM D | 16 GiB | (see dmidecode) | - |
|
||||
|
||||
> **Note**: 4x16 GiB modules = 64 GiB (reported as 62 GiB usable). Run `sudo dmidecode -t memory` for full module details.
|
||||
|
||||
## Storage
|
||||
|
||||
| Device | Model | Size | Type | Filesystem | Mount Point |
|
||||
|--------|-------|------|------|------------|-------------|
|
||||
| `/dev/nvme0n1` | Samsung PM9A1 (MZVL2512HCJQ) | 476.9G | NVMe SSD | - | - |
|
||||
| ├─ `/dev/nvme0n1p1` | - | 512M | - | vfat (EFI) | `/boot/efi` |
|
||||
| └─ `/dev/nvme0n1p2` | - | 476.4G | - | ext4 | `/` |
|
||||
| `/dev/sda` | Samsung SSD 840 EVO 500GB | 465.8G | SATA SSD | - | - |
|
||||
| └─ `/dev/sda1` | - | 465.8G | - | btrfs | `/home/mw/models` |
|
||||
| `/dev/zram0` | - | 16G | zram | swap | `[SWAP]` |
|
||||
|
||||
### NVMe Health
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Temperature | 51°C |
|
||||
| Available Spare | 100% |
|
||||
|
||||
### Disk Usage (2026-04-02)
|
||||
|
||||
| Filesystem | Size | Used | Avail | Use% |
|
||||
|------------|------|------|-------|------|
|
||||
| `/` (NVMe) | 468G | 386G | 59G | 87% |
|
||||
| `/home/mw/models` (SATA) | 466G | 54G | 411G | 12% |
|
||||
| `/boot/efi` | 511M | 328K | 511M | 1% |
|
||||
|
||||
## GPU
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Model | NVIDIA GeForce GTX 1050 Ti |
|
||||
| VRAM | 4096 MiB |
|
||||
| Driver | 575.64.05 |
|
||||
| GPU Temp (idle) | 47°C |
|
||||
| PCI Address | 08:00.0 |
|
||||
|
||||
## Network
|
||||
|
||||
### Physical
|
||||
|
||||
| Interface | Model | Speed | MAC |
|
||||
|-----------|-------|-------|-----|
|
||||
| `enp5s0` | Realtek RTL8111/8168/8411 | 1 Gbps | e0:d5:5e:69:6f:c5 |
|
||||
|
||||
### Virtual/Software
|
||||
|
||||
| Interface | Type | Purpose |
|
||||
|-----------|------|---------|
|
||||
| `tailscale0` | VPN | Tailscale mesh VPN |
|
||||
| `docker0` | Bridge | Docker default bridge |
|
||||
| `br-1ba9d2122bb7` | Bridge | Docker network |
|
||||
| `br-87dbe859ba36` | Bridge | Docker network |
|
||||
| `br-1f223e02995b` | Bridge | Docker network |
|
||||
| `br_vm_internal` | Bridge | VM internal network |
|
||||
|
||||
## USB Peripherals
|
||||
|
||||
| Bus | Device | Description |
|
||||
|-----|--------|-------------|
|
||||
| 001 | 002 | Jabra SPEAK 510 USB (speakerphone) |
|
||||
| 001 | 003 | Genesys Logic microSD Reader/Writer |
|
||||
| 003 | 002 | Pixart Imaging Optical Mouse |
|
||||
| 003 | 003 | Microdia Terra HD1080PC Camera |
|
||||
| 003 | 004 | CHERRY Mechanical Keyboard |
|
||||
|
||||
## Thermal Sensors (Idle)
|
||||
|
||||
| Sensor | Value |
|
||||
|--------|-------|
|
||||
| CPU Tctl | 57.2°C |
|
||||
| CPU Tdie | 47.2°C |
|
||||
| Gigabyte temp1 | 44.0°C |
|
||||
| Gigabyte temp2 | 58.0°C |
|
||||
| NVMe Sensor 1 | 51°C |
|
||||
| NVMe Sensor 2 | 63°C |
|
||||
|
||||
## Data Collection Commands
|
||||
|
||||
Re-run to update inventory:
|
||||
|
||||
```bash
|
||||
lscpu | grep -E "^(Model name|Socket|Core|Thread|CPU|Architecture|L1|L2|L3)"
|
||||
free -h
|
||||
sudo dmidecode -t baseboard | grep -E "Manufacturer|Product|Version"
|
||||
sudo dmidecode -t bios | grep -E "Vendor|Version|Date"
|
||||
sudo dmidecode -t memory | grep -E "Size|Speed|Type:|Manufacturer|Part"
|
||||
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL
|
||||
lspci | grep -iE "VGA|3D|Display|net"
|
||||
lsusb
|
||||
nvidia-smi --query-gpu=name,driver_version,memory.total,temperature.gpu --format=csv,noheader
|
||||
sudo smartctl -A /dev/nvme0n1 | grep -E "Temperature|Available"
|
||||
sensors
|
||||
df -h / /home/mw/models /boot/efi
|
||||
@@ -22,4 +22,4 @@ This document tracks all persistent system changes implemented manually that are
|
||||
|
||||
| Date | Change | Rationale | Ansible Status |
|
||||
|------|--------|-----------|----------------|
|
||||
| | | | |
|
||||
| 2026-04-02 | Moved LLM models to `/home/mw/models/` (SATA SSD) with symlinks | Free root NVMe space (93%→87%, +25G freed) | Not yet |
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
# NVMe Benchmark: Pre-Firmware Update (GXA7401Q)
|
||||
|
||||
> **Date**: 2026-04-02 10:35 CET
|
||||
> **Device**: Samsung PM9A1 (MZVL2512HCJQ-00B00), 512GB
|
||||
> **Serial**: S675NF0R703667
|
||||
> **Firmware**: GXA7401Q (pre-update)
|
||||
> **OS**: Manjaro Linux, kernel 6.12, KDE 6.5.6
|
||||
> **NVMe slot**: /dev/nvme0n1 (root drive)
|
||||
|
||||
## SMART Health Data
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Critical Warning | 0 (healthy) |
|
||||
| Temperature | 51°C (Sensor 2: 64°C) |
|
||||
| Available Spare | 100% |
|
||||
| Available Spare Threshold | 10% |
|
||||
| Percentage Used | 19% |
|
||||
| Data Units Read | 17.97 TB |
|
||||
| Data Units Written | 94.19 TB |
|
||||
| Host Read Commands | 683,328,216 |
|
||||
| Host Write Commands | 1,651,377,088 |
|
||||
| Controller Busy Time | 9,265 min |
|
||||
| Power Cycles | 884 |
|
||||
| Power On Hours | 4,926 h (~205 days) |
|
||||
| Unsafe Shutdowns | 88 |
|
||||
| Media Errors | 0 |
|
||||
| Error Log Entries | 0 |
|
||||
|
||||
## hdparm Results
|
||||
|
||||
| Test | Throughput |
|
||||
|------|-----------|
|
||||
| Cached Reads | 7,349.97 MB/sec |
|
||||
| Buffered Disk Reads | 741.99 MB/sec |
|
||||
|
||||
## fio Benchmarks (4K block, libaio, iodepth=32, 30s per test)
|
||||
|
||||
### Sequential Read
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Bandwidth | 1,554 MiB/s (1,630 MB/s) |
|
||||
| IOPS | 398,000 |
|
||||
| Avg Latency | 80.16 µs |
|
||||
| P99 Latency | 128 µs |
|
||||
| P99.9 Latency | 186 µs |
|
||||
|
||||
### Sequential Write
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Bandwidth | 1,305 MiB/s (1,368 MB/s) |
|
||||
| IOPS | 334,000 |
|
||||
| Avg Latency | 95.53 µs |
|
||||
| P99 Latency | 163 µs |
|
||||
| P99.9 Latency | 255 µs |
|
||||
|
||||
### Random Read
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Bandwidth | 1,409 MiB/s (1,477 MB/s) |
|
||||
| IOPS | 361,000 |
|
||||
| Avg Latency | 88.42 µs |
|
||||
| P99 Latency | 141 µs |
|
||||
| P99.9 Latency | 200 µs |
|
||||
|
||||
### Random Write
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Bandwidth | 1,135 MiB/s (1,190 MB/s) |
|
||||
| IOPS | 291,000 |
|
||||
| Avg Latency | 109.78 µs |
|
||||
| P99 Latency | 190 µs |
|
||||
| P99.9 Latency | 334 µs |
|
||||
|
||||
### Random Read/Write (70/30)
|
||||
|
||||
| Metric | Read | Write |
|
||||
|--------|------|-------|
|
||||
| Bandwidth | 919 MiB/s (964 MB/s) | 394 MiB/s (413 MB/s) |
|
||||
| IOPS | 235,000 | 101,000 |
|
||||
| Avg Latency | 94.72 µs | 95.05 µs |
|
||||
| P99 Latency | 149 µs | 149 µs |
|
||||
|
||||
## Test Configuration
|
||||
|
||||
```text
|
||||
fio-3.41
|
||||
Block size: 4096B
|
||||
IO Engine: libaio
|
||||
IO Depth: 32
|
||||
Direct IO: yes
|
||||
Runtime: 30s per test
|
||||
File size: 1GiB
|
||||
Directory: /tmp (on NVMe root drive)
|
||||
```
|
||||
|
||||
## Assessment
|
||||
|
||||
- Drive health is good: 0 media errors, 0 error log entries, 100% spare
|
||||
- 19% endurance used after ~205 days powered on (within normal range)
|
||||
- Sequential performance consistent with PCIe 4.0 x4 NVMe expectations
|
||||
- Random IOPS strong for a client-grade TLC SSD
|
||||
- Temperature under load: 51-64°C (well within spec)
|
||||
|
||||
## Firmware Update Applied
|
||||
|
||||
> **Date**: 2026-04-02 10:51 CET
|
||||
|
||||
### Key Discovery: Firmware Naming Convention
|
||||
|
||||
| Suffix | Type | Model Suffix |
|
||||
|--------|------|-------------|
|
||||
| `GXA***1Q` | Non-SED | `00B00` (our drive) |
|
||||
| `GXA***2Q` | SED | `00B07` |
|
||||
|
||||
Our drive (MZVL2512HCJQ-**00B00**) requires `GXA7801Q`, NOT `GXA7802Q`.
|
||||
The OVH mirror only hosts `GXA7802Q` (SED variant) which was rejected as "Invalid Firmware Image".
|
||||
|
||||
### Correct Firmware Source
|
||||
|
||||
- **Repository**: `lolyinseo/samsung-nvme-firmware` (GitHub, 199 stars)
|
||||
- **File**: `PM9A1/ASUS/GXA7801Q/GXA7801Q_20221102.bin`
|
||||
- **Size**: 2,097,152 bytes (2.0 MiB)
|
||||
- **SHA256**: `76ad2b0c35581cb71bd4c5a5fd358a15c4432aa38e9e983acc2349d2b24b5a11`
|
||||
|
||||
### Update Process (all succeeded)
|
||||
|
||||
```bash
|
||||
# Step 1: Download to controller SRAM
|
||||
sudo nvme fw-download --fw=/tmp/GXA7801Q.bin /dev/nvme0n1
|
||||
# → Firmware download success
|
||||
|
||||
# Step 2: Install to slot 2 (preserve original in slot 1)
|
||||
sudo nvme fw-commit -s 2 -a 0 /dev/nvme0
|
||||
# → Success committing firmware action:0 slot:2
|
||||
|
||||
# Step 3: Activate slot 2
|
||||
sudo nvme fw-commit -s 2 -a 2 /dev/nvme0
|
||||
# → Success committing firmware action:2 slot:2
|
||||
|
||||
# Step 4: Reboot to apply
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
## Next Steps
|
||||
|
||||
- [ ] Reboot system to activate GXA7801Q firmware
|
||||
- [ ] Verify firmware version with `nvme list`
|
||||
- [ ] Re-run identical benchmarks post-update
|
||||
- [ ] Compare results in `docs/tech/nvme-benchmark-post-gxa7801q.md`
|
||||
@@ -14,7 +14,7 @@ last_updated: '2026-03-17'
|
||||
## System Specifications
|
||||
|
||||
- **CPU**: AMD Ryzen 7 2700X (16 threads) @ 3.9GHz max
|
||||
- **Memory**: 62 GiB DDR5-3200 MHz
|
||||
- **Memory**: 64 GiB DDR4-2666 MT/s (4x 16 GiB, 2x Kingston + 2x Samsung)
|
||||
- **Primary Disk**: 512 GB NVMe SSD (Samsung MZvl2512HCJQ)
|
||||
- **Secondary Disk**: 500 GB SATA SSD (Samsung 840 EVO) -> `/home/mw/models`
|
||||
- **OS**: Manjaro Linux (Kernel 6.12)
|
||||
|
||||
Reference in New Issue
Block a user