[Android Software/Hacking General [Developers Only]] erlern:
Recovery Mode (This is how it works)

Okay, I have found some helpful help not from HTC Aria devices, though they share the same CPU, but from Foxconn devices.

I am very sure this is the way to ROOT the device. It should be exactly the same (and should work for Mi300). However, there is ONE big problem (which I will explain at the end). This is from http://sean-feeney.com/2010/06/how-to-root-cincinnati-bell-blaze.html

1) Copy RUT folder from the faux CDROM that shows up when you plug in your phone in Windows to somewhere on your hard drive. These are the drivers you'll need for the following steps. Alternatively, here are the 32-bit Windows drivers and here are the 64-bit Windows drivers. [Step tested and works]

2) Download GoRoot.zip. (from http://data.sean-feeney.com/apk/GoRoot.zip)

3) Unplug your phone from your computer and power off. Hold down both volume up and down keys and while holding them down press and release the power button. Keep holding the buttons down until you see the black Foxconn FTM screen. [This step works, and this is the Recovery mode that is common in all Android devices]

4) Now that the phone is in the bootloader ("FTM mode"), plug it back into your computer. The new hardware installation wizard should appear. Select the option to choose the location of the driver files. Choose the option to instruct Windows where to search for drivers, then either key in the path or use the browse button to navigate to the location where you copied the RUT folder from step one. If Windows asks for permission to install unsigned/unverified drivers, select Yes. A series of devices will be installed. [PROBLEM: it is not possible to access ADB while in FTM/recovery mode!]

5) When all the devices are installed, open a command prompt by pressing Win+R and typing "cmd". In the command prompt navigate to the location where your GoRoot.zip files were unpacked to (e.g. if you unpacked to C:\ then type cd \). Type goroot.bat and wait for the commands to complete. After they are completed you have root access. [Cant proceed]

So, as you can see... we need to be able to access ADB while in FTM/recovery mode. If someone has been successful, please post here.

Part of the problem is explained by a member who replied in the post.

I quote the comment by bkraptor:

"All Orange Boston [which is also manufactured by Foxconn] phones sold here, when connected to a PC, show a virtual CD drive with a program that you need to run/install in order to use the phone. After you install the program, the virtual CD disappears and instead appears ADB Interface (the one when the phone is running normally), flash drive, and others. So what I am thinking is that the program is somehow communicating to the phone and telling it to switch modes and expose the other devices (ADB Interface, flash, etc). I think we need to know how that program does it exactly in order to do the same when the phone is in FTM mode.

C003 is actually a special device. Just like C004 which is the virtual CDROM that appears when you connect the phone while booted in Android. When you run the program from the CDROM it switches the device from C004 to C001 and the driver works. In a similar way, we need to find how to switch from C003 to C001.

For the 1st part I have identified the raw USB message that is sent to the C004 device (CDROM) in order to switch to C001 (ADB Interface & others). I have posted the details here: http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=454

Now all we need to do is identify the message that we need to send to the C003 device to make it switch to C001 (ADB Interface).

Question to all the others that don't have this problem: when you normally connect your fully booted device, does it first show a virtual CDROM, on which you find an application that needs to be run in order for the device to be seen through ADB and sync?"

I tried contacting him via XDA. We'll see whether he found the answer or not.

The other possible solution is to try adb using linux OS... Ubuntu would be the most common.

Hope someone can help out in this. I am at my limit in computing knowledge here :P