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修复, 云资产清单, 固件刷新, 存储设备, 应用安全, 硬件维护, 端口探测, 逆向工具, 逆向工程