What's the name of the protocol that android devices use in debug mode? I have a strange Android prototype what we got from a customer. Said customer has forgotten about it, and I'm now fiddling with it to see if I can make it do anything interesting. The device appears to be the same family as the Acer beTouch.

It used to boot fine, but while trying to make it go into fastboot mode it has stopped booting correctly at all. Now it boots up into some weird debug mode. If I plug it in to USB, it shows up on my Linux box as a /dev/ttyACM0 port via Linux's USB modem driver. However, it's not a modem.

If I connect to it via a serial terminal and press RETURN it responds with:

OK


If I type anything else and press return, I get:

NOTSUPPORTED


So, it's not a Hayes modem. It's not Android's fastboot or adb protocols. hwinfo tried to probe it but didn't get anything. Since it's a USB device, I can't get any messages that appears on startup. I've done evil things with a whole bunch of Android devices but I've never seen this before. Anyone recognise it?

(Tips on how to make it boot again would be useful, too; I have found recovery mode --- CALL+VOLUP+POWER, for reference --- but factory resetting it does nothing. I haven't found fastboot yet.)

Update: I was wrong! It is a Hayes modem. It just doesn't understand any commands. So:

AT
OK


But:

ATI0
NOTSUPPORTED


I can't find any commands that make it do anything, not even AT&amp;V or ATS0=0. Which is weird. I don't know why the phone is booting into this mode; probably something's wrong with the root filesystem. Don't suppose anyone knows a magic Android Hayes command to get a root shell, or reboot into recovery or fastboot, or anything that I could try?
Have you tried using adb from the Android SDK to connect to the device? I believe it's the same protocol also used when the OS is running and connected via USB.