privatecoder/ts4tssd230s-firmware-toolkit
GitHub: privatecoder/ts4tssd230s-firmware-toolkit
针对创见 4TB SSD230S(SM2259控制器)的固件更新、ROM模式变砖恢复及序列号/WWN修复工具包,附带厂商刷写工具的完整反逆向文档。
Stars: 1 | Forks: 0
# ts4tssd230s-firmware-toolkit
用于更新、修复(ROM 模式恢复)以及恢复 Transcend 4 TB SSD230S SATA SSD(**TS4TSSD230S**;在 ROM 模式下显示为 `SM2259AC-70-0010M101`)的序列号/WWN
—— 包含对 Silicon Motion 厂商 flash 工具的完整反汇编。
## 范围
专用于 **4 TB TS4TSSD230S**(Silicon Motion **SM2259** —— boot ROM
报告为 `SM2259AC-70-0010M101`,量产固件报告为 SM2259AB;WD/SanDisk
BiCS5 112L NAND;固件 `22Z4W14B` → `22Z4X4IA`)。脚本会针对*此特定*的 ISO、flasher 构建版本和固件镜像进行哈希校验 —— 它们**不**适用于其他 SM2259 硬盘或其他 SSD230S 容量(例如 1 TB 的 `TS1TSSD230S`,其使用不同的控制器/固件)。然而,逆向工程附录普遍适用于 SM2259。
## 快速开始
要求有一台 **Linux** 主机,且目标 SSD 连接在原生 SATA 端口上(非系统启动盘,无 USB 适配器),并以 root 身份运行。你可以在 macOS/Linux 上*准备*该文件夹,然后将其复制过去。
```
# 1. Build the self-contained tool folder (downloads ISO, extracts, builds the
# hash-verified recovery flasher). Needs: 7z (or Linux+root), python3, curl/wget.
./setup.sh # → ./ts-ssd230s-fw-update/
# 2. (Only if the drive is on another machine) copy the whole folder there:
# rsync -a ts-ssd230s-fw-update/ root@FLASHHOST:/root/ts-ssd230s-fw-update/
# 3. On the Linux host with the drive:
cd ts-ssd230s-fw-update
# NOTE: on AMD/ASMedia SATA, disable NCQ first: echo 1 > /sys/block/sdX/device/queue_depth
./SM2258TLC_3D_LinuxTool_64 /dev/sdX keepsn_1 # normal firmware update
./SM2258TLC_3D_LinuxTool_64.patched /dev/sdX initial # un-brick a ROM-mode drive
./patch_identity.py && ./SM2258TLC_3D_LinuxTool_64 /dev/sdX initial # restore serial+WWN
```
完整的操作指南、诊断信息、冗余/阵列策略、故障排除以及厂商工具反汇编:**[`TS-SSD230S-Firmware-Update.md`](TS-SSD230S-Firmware-Update.md)**。
## 本仓库包含的内容
```
setup.sh # bootstrap: download ISO → extract → build → assemble ts-ssd230s-fw-update/
TS-SSD230S-Firmware-Update.md # the complete guide + disassembly reference
recovery/
├── patch_flasher.py # rebuild + hash-verify the 4-byte Patch-A recovery flasher
├── patch_identity.py # restore serial/WWN into ISP2259.bin (identity-masked hash check)
└── RECOVERY_SUMMARY.md # detailed case log of the un-brick + identity restore
```
厂商 ISO、提取的 flasher/固件以及组装好的
`ts-ssd230s-fw-update/` 文件夹均被 **git-ignored**(专有/本地构建)。
## 工作原理(简述)
厂商工具假定运行的是量产固件:其第一步
(`CheckFlashID`)会读取实时的 NAND 映射,但在 ROM 模式下会失败,因此无法正常恢复变砖的硬盘。一个 **4 字节补丁**会解除该限制,并且
`initial`(模式 0)—— 唯一不需要 keep-data 的模式 —— 会驱动 ROM →
Shim → MPISP → Pretest → Program-ISP 链,这*正是*支持 ROM 模式的。随后,序列号/WWN 会直接写入 ISP 镜像中的已知偏移量处。请参阅指南中的反汇编附录以获取完整的状态机、ATA 厂商协议和偏移量。
## 免责声明
按“原样”提供,无任何担保(参见 [LICENSE](LICENSE))。刷写固件 inherently 涉及风险并会破坏数据。你有责任验证目标硬盘并承担任何后果。本仓库与 Transcend 或 Silicon Motion 无关。
## License
[MIT](LICENSE) —— 仅涵盖本仓库中的文档和脚本,不包含
厂商的专有工具/固件(未包含在内)。
标签:Linux工具, SSD修复, 云资产清单, 固件刷新, 存储设备, 应用安全, 硬件维护, 端口探测, 逆向工具, 逆向工程