/jmb58x-re

Notes and utilities for reverse engineering JMicron's JMB582 / JMB585 SATA host controllers.

Primary LanguagePythonBSD Zero Clause License0BSD

JMB58x Reverse Engineering

The JMicron JMB582 and JMB585 are SATA 6Gb/s host controllers with PCIe Gen3 interfaces. The JMB582 has one PCIe Gen3 lane and two SATA ports, while the JMB585 has two PCIe Gen3 lanes and five SATA ports.

Quick start

Software dependencies

Procedure

  1. Install dependencies.
  2. Dump the flash from your JMB585 card.
  3. Parse and print the configuration flash with ./tools/parse.py ..., where ... is the name of the binary you got when you dumped your JMB585 card's flash.
  4. Run make doc to generate XHTML documentation in doc/generated.

Obtaining a flash image

In addition to dumping the flash of a JMB58x device, a flash image and proprietary flash tool for JMB58x devices can be downloaded from here.

Reverse engineering notes

See doc/Notes.md.

License

Except where otherwise stated: