USBMode can be used to change the mode of the USB port on a Motorola A780 cell phone. More so than a useful application, USBMode is meant to be a proof-of-concept that it is possible to create native GUI applications for this device without replacing the operating environment.
There are four possible modes that can be chosen with USBMode:

USBMode cannot be used to switch the phone into mass-storage mode. This requires the /diska and TF filesystems to be unmounted prior to being exposed as storage devices. If the filesystems are not unmounted, they can become corrupt. Use the built-in mechanism to switch to mass-storage mode instead.
To install USBMode:
- Switch the phone to mass-storage mode, plug in the USB cable.
- Copy usbmode.mpkg to the phone.
- Unplug the USB cable.
- Open the "Files" application.
- Locate and tap usbmode.mpkg
If nothing happens when you tap usbmode.mpkg, it could be that the Qt application installer is disabled in your firmware. Check out the MotorolaFans forum for possible workarounds.
Download:
USBMode is a proof-of-concept native application for Motorola A780. It links against the munged Qt/Embedded 2.3.6 libraries used in the EZX GUI environment, as well as the proprietary libezxappbase library.
This program is a derivative work of Trolltech's freely-available Qt/Embedded 2.3.6 codebase, and is licensed to you under the terms of the GNU GPL V2.
Reverse-engineering was used throughout the creation of this program. The more reusable results come in the form of a patch for Qt/Embedded, and interface descriptions for other libraries. These results may be used to create other native GUI software, provided that such software is also licensed under the GPL. Unfortunately, while plenty of documentation is available for Qt/Embedded, almost no documentation is available for the EZX libraries, and it is the developer's challenge to discern how the interfaces work.
| Attachment | Size |
|---|---|
| usbmode.zip | 22.72 KB |
| usbmode-1.0.1.tar.gz | 29.15 KB |
| usbmode-ss.png | 21.63 KB |
Filed Under:
- Login to post comments
Fri, 2005-12-23 10:02
Thanks! You have no idea how much time this saves me!
- Login to post comments
»Thu, 2006-02-02 07:10
Hello, it seems that some firmwares are unable to install this mpkg. Any chance to get a neo installer for it?
regards
- Login to post comments
»Thu, 2006-04-27 18:28
Looks like they changed things on the A1200 - cant install it there.
- Login to post comments
»Fri, 2006-05-12 16:22
I'm hoping I can make ziax a native ezx application so that I can have VOIP and normal GSM calling available simultaneously. I'm curious if you'd be interested in helping out since you're already familar with manipulating the UI?
- Login to post comments
»Fri, 2006-06-16 07:02
Hello and thanks to you for this great little application. With it it's a breeze to get a root shell on my A780 (europe version with GPS) via USB to WinXP without modifying all too much in the phone while it is active.
The link on my name shows a page in German language which describes how I got the shell.
Note 1:
Looking into the source I think the case 'status.sprintf("Could not read status!", buf);' will never show up in the widget, as the string is only assigned but not updated in the status widget.
Note 2:
There seems to be a memory leak in the kernel (I haven't updated my firmware yet) when reading /proc/usbd-switch:
Following done repeatedly on the shell fills the complete memory of my phone until it must be rebooted:
for c in 1 2 3 4 5 6 7 8 9 10; do for b in 1 2 3 4 5 6; do for a in 1 2 3 4 5 6 7 8 9 10; do cat /proc/usbd-switch; done; done; done
As your application reads /proc/usbd-switch each second, it slowly fills the memory while it is active on my phone. So just in case it's the same at your side, be sure to just use the application to switch the mode and then close it quickly again.
- Login to post comments
»