Modes

From MILEDROPEDIA
Jump to: navigation, search

Bootloader Mode

If you want to get your milestone on bootloader mode you've to power off the device and start it by pressing Power + DpadUp. This will bring your milestone on a black screen.

Versions of the Bootloader

When the bootloader is ready to be flashed it shows the version - see the mbm page

Bootloader with Fastboot mode enabled

To access the Fastboot mode on the Bootloader, use the "adb reboot bootloader" command via USB with the Motorola update kit installed on the PC. Usually, this mode is not available on the Droid. Unfortunately, although fastboot does work with the Milestone, none of the known fastboot commands seem to work (except developer phones).

Recovery Mode

What is it for?

A recovery method is required whenever we need to try new kernel versions on the Milestone. Without a recovery method, any unsuccessful test would be the last one (the phone would be "bricked"). The standard recovery method for Android is the recovery mode.


How to access it

You can access the recovery mode on the milestone by shutting down the device and start it by pressing simultaneously Power+CameraButton (on 90.78 bootloader it is Power+X button).

After you get the Warning image you can access the menu by pressing simultaneously CameraButton+VolumeUp

How to run ADB in Recovery Mode: ADBrecovery

The daemon adbd runs unprivileged in the Milestone because property ro.secure is set to 1 in default.prop (you can use the getprop command to check this). But we can use the su command to run adbd as root anyway.

proof of concept of this idea evolved into first version of a recovery patch for Milestone which in turn evolved into current ADBrecovery version, now incorporating a port of nandroid and being to backup and restore several key Milestone partitions.

Open Recovery

Developed by Skrilax_CZ.

Credit for mankind (from alldroid) for the CustomUpdate, on which this recovery is based,

credit for poseidon (also from alldroid) for ADBRecovery.

Current version 1.14 [06/11/2010]

Open Recovery is a fully customised recovery using the payload hack to restart the stock recovery into itself. Supports easy rooting and taking backups from the menu and easily extendable. The page is here: Open Recovery

misc partition

There's an interaction pathway between the OS and the recovery stage, using commands written into the misc partition. See the source code of the GPL motobox command by Motorola. See [1] how the bootloader (mbm or lbl) communicate with the OS in order to update the radio firmware and the boot image itself.

Programming Mode

There is a "hidden" Programming Menu integrated in Android on the Milestone and DROID

  • Select Phone
  • Using the dial pad (not the keyboard) Dial ##PROGRAM (##7764726)
  • Send

the access key on the DROID is "000000". Programming menu is not present on the Milestone, even though you can show the screen to enter the password (see below).

Analysis

User Wally88@foromilestone.com.ar suggests this program lies in the Program Menu apk file. Bavilo also tried to deodex this program using smali/baksmali and maybe deodexerant. His deodex result is here.

By running the following command from a shell the code challenge screen is showed:

$ am start -a android.intent.action.MAIN -n com.motorola.programmenu/.SecurityApp

Result

The Service Programming menu is only for CDMA phones but was somehow kept on the Milestone.

This is logged:

''SecurityApp( 1256): checkSubsidyLockPasswdComplete() errno=OEM_RIL_CDMA_GENERIC_FAILURE''

However, the application defines also errno=OEM_RIL_CDMA_NAM_PASSWORD_INCORRECT, which would be more likely to be thrown when the password was incorrect.