USB modes

From S1MP3 Wiki
Jump to: navigation, search

There are currently two working USB modes for any s1mp3 (still working) device. Each of these two modes allows using the peripheral as an USB Client Device. We know that the driver for this binding is contained in the 1st-stage bootloader code located in the BROM, or perhaps the TROM which resides inside the ATJ2085 chip, too.

Normal USB mode

In this mode the device acts like a default USB Mass Storage Client Device, also called USB Disk. See USB Mass Storage Device Class. The Bulk-Only Transport model gets used.

Mass Storage.png

ADFU Recovery Mode

The s1mp3 switches to the ADFU (Actions Device Firmware Update) mode when the 1st-stage bootloader code encounters any error or the firmware wishes to enter firmware upgrade mode. The only possible, regular operation in this mode is to flash a new FULL firmware (a dumped/extracted partial firmware file will not work).

The code which initializes and controls this mode is located inside the 1st-stage bootloader, flashed to the internal BROM.

ADFU.png

HARDADFU

Hard ADFU mode is entered during bootup when loading BREC is unsuccessful. The ADFU server code for this mode is in the BROM.

  • 05: Upload
  • 10: Execute

SOFTADFU

Soft ADFU mode is entered by choosing Firmware Upgrade option on player or sending SCSI commands to switch the player to upgrade mode. The code for this mode is located on the NAND flash along with the firmware, and executes as an ACTOS application (ADFUS.BIN). Soft ADFU does not switch the device to ADFU mode, instead it uses custom commands sent using the USB mass storage protocol.

Related pages