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