Repository navigation
What's new in 0.4
Faster, more robust firmware-version lookup
rom_version and flash_info now locate the firmware version directly via the
ROM's ASMT header instead of scanning the whole image:
- The magic
ASMTat offset0x100identifies the format, and the 32-bit offset
at0x0points to a descriptor block. The 48-bit version is atbase + 0x10. - This is O(1) and works for both 128 KB and 256 KB ROM images.
flash_infonow reads the version with just two small reads (header + the
6 version bytes) instead of streaming the flash — so it returns near-instantly.- The previous name-marker search is kept as a fallback for images without
the header.
Usage
# Print the firmware version of a ROM file (no driver / admin needed)
AsmTool rom_version ASM1166_10250005.ROM
Firmware version: 241025-0000-05
# Detect the flash chip + firmware version on a SATA controller
AsmTool flash_info
The firmware version is reported as YYMMDD-build-rev (for example
241025-0000-05).
Assets
AsmTool-<hash>_windows.zip— Windows x86 (32-bit) build.AsmTool-<hash>_linux.zip— Linux x86-64 build (includeslibAsmIoLinux.so).
Drivers (not included)
As with previous releases, the ASMedia driver is not bundled:
- Windows: you need
asmiodll.dllandAsmIo.sys(32-bit) orAsmIo64.sys
(64-bit). Theasmiodll.dll/AsmIo.sysfrom ASMedia's ASM116x firmware
updater provide the SATA flash access. Place them next toAsmTool.exe. - Linux: the build uses the userspace implementation and links
libpci
(install your distribution'slibpci/pciutilsdevelopment package).
Note: the Windows build is 32-bit by design, to interoperate with the 32-bit
ASMedia user-mode DLLs.rom_versionworks on both platforms and needs no
driver; the SATAflash_read/flash_infocommands require the driver and
elevated privileges.