Files

65 lines
3.2 KiB
Markdown

# Handoff — 2026-06-14 — clar200-unlock bootstrap
## Context
Started from a `tank` (pve173, 549 TB ZFS) degradation diagnosis. mirror-35 is a
3-way mirror running on effectively ONE healthy disk:
- `4450364206979169854` (ZL2PNZ99) — **UNAVAIL / dead**
- `wwn-0x5000c500c3663b1d-part1` (/dev/sde) — **healthy** (0 pending/realloc)
- `wwn-0x5000c500c37f4eff` (/dev/sdg) — **failing**: 30,536 pending sectors,
11,032 reallocated, 18 ZFS read errors
mirror-35 holds **3.68 TB** of real data (25.3% full) — it is a live stripe
member, not empty. Plus **ex-mirror-38** (`wwn-0x5000c500c382f4ac-part1`) is a
bare single-disk vdev. Both need **14.6 TB+** replacement disks, of which there
are **none free** on pve173 (all 14.6 T disks already in tank; spares are 10.9 T,
too small).
Seth re-added an EMC-locked 16 TB drive (SN **ZRS015V7**) hoping to use it. It's
the same CLAR200-locked Exos X18 that a prior session failed to unlock. This
project is the unlock attempt.
## What I confirmed this session (re: the drive)
- Drive is on **pve173**, dual-pathed: `/dev/sg121` (7:0:43:0) and `/dev/sg122`
(8:0:11:0), model `SS160520 CLAR200`, fake serial `Maxtor 5A320J0…RAMB1TV0`.
- New HBA (pve173 SAS2116, vs pve197 before) → **same lock** ⇒ not the controller.
- SCSI **target/bus reset** (`sg_reset -t`) → drive returns in same state.
- `sg_senddiag --test` → Illegal request. READ CAPACITY → Hardware Error.
- ⇒ Confirmed firmware-level lock below the SCSI layer. No host fix exists.
Prior `EMC_CLAR200_DRIVE_FIX_NOTES.md` conclusion stands; I closed the two
doors it left open (HBA + reset).
## What I built
Project `~/bin/clar200-unlock` + Gitea repo. ESP32-C3 (already on steel141
`/dev/ttyACM0`, MAC 58:8c:81:ac:f0:4c) as a 3.3 V USB-serial bridge to the F3
terminal. Firmware (`firmware/clar200_bridge.ino`, live `~N` baud menu), flash
script, full `PROCEDURE.md`, and `docs/f3-command-reference.md` (honest about
Exos-vs-7200.11 uncertainty).
## Next steps (ordered)
1. `cd ~/bin/clar200-unlock/firmware && ./flash.sh /dev/ttyACM0` — installs
arduino-cli + esp32 core (first run), builds, uploads. **Not done yet.**
2. Bench-test bridge: `screen /dev/ttyACM0 115200`, jumper GPIO4↔GPIO5, confirm echo.
3. Bench the drive (pull from pve173 JBOD, standalone power). **Needs an
SFF-8482→SATA-power adapter / SAS dock — confirm Seth has one.**
4. Multimeter the F3 pinout (PROCEDURE §3), wire, get boot banner + `F3 T>`.
5. Map format command via `?`, format to 512, verify with `sg_readcap`/`smartctl`.
6. If healthy → `zpool replace tank 4450364206979169854 <newdisk>` for mirror-35
(replace before detach), then re-mirror ex-mirror-38. Repeat for ZR511KWK.
## Open questions / decisions pending
- RMA to ServerPartDeals vs. attempt F3 first? Leaning F3 first (cable free).
- Does Seth have standalone SAS power + jumper wires + multimeter on the bench?
- tank mirror-35: the dying sdg is still attached as a (poor) 2nd copy — leave it
until a real replacement resilvers; **don't detach early.**
## Also worth doing
Minor CKSUM counts on mirror-10/18/19/20/30; no scrub since the tank migration.
Worth a `zpool scrub tank` AFTER mirror-35 is on healthy disks (not before — a
scrub hammers the dying sdg).