My new Motorola RAZR V3xx phone is Cingular branded, which means that Cingular has added many money making links to it ("Shop Cingular!") and have hidden some of the nicer features that Motorola originally built into the phone. For example, Cingular has hidden the IMAP4/POP3/SSL email client that is built into the phone. Luckily for me, by changing a few bits in the phone's memory I can re-enable the features I want. I have already fixed Java on my phone so that Google Maps doesn't ask for permission to access the network every time I zoom or scroll, which is another hack I recommend you do to your V3XX phone. Now I will describe the SEEM edit I made.
Configuration data on the V3xx (and many other Motorola Phones) are stored in special binary files called SEEMS. They are normally identified with 8 hex digits (0-9 and A-F) in two groups of four. For example, the two SEEM files I will describe editing below are 0032_0001 and 004a_0001. After you download a SEEM file to your computer, you can change the configuration by changing individual bits or even full bytes in the file. Each byte is numbered in hex (starting at zero for the first byte, etc), and these bytes are also called "offsets" (as in "Offset from the beginning of the file.") Each byte has eight bits (numbered from 0-7) that can be set (turned on, or to a 1) or cleared (turned off, or to a 0) to enable or disable features.
The tools I use to download and edit SEEMS from my phone are P2KCommander v 4.9.9, along with the associated P2K USB drivers that you can download from the Motorola Developer Webpage after registering for a free account.
P2kCommander offers several ways to edit SEEMS, but the only one that I got to work reliably was to use the SEEM->Old Dialog option to download the entire SEEM to my computer. You can then edit it with your favorite hex editor. (I suggest xvi32 which is a freeware hex editor if you do not already have a favorite.) After you make the changes, you can re-upload the SEEM to the phone. Once you reset (reboot) the phone, the changes will take effect.
The majority of the edits I made were contained within SEEM 0032_0001. Here are the features that I added:
IMAP4/POP3 Email Client Motorola has included an email client that supports IMAP4 and POP3 servers, and allows secure encrypted connections via SSL. Once it is enabled, you can access it from the Messaging->Email Msg menu. You will have to configure it with your POP or IMAP settings to check and send email. To enable it: Change Offset B1, Bit 0, to on (1), and Offset 4F, bit 6, to on (1).
Emergency Only and No Service Displays Cingular normally shows you zero bars in three situations. 1) You have no service. 2) You just lost service for a few seconds, but are likely to regain it quickly. 3) You have service, but through a provider that does not have a roaming agreement with Cingular, so you can only make Emergency Calls. This oversimplifies things, and can even be dangerous (would you think to try and make a 911 call if you had zero bars?). By turning on two bits we can enable the "No Service" text when your phone has not connected to a cell tower for a while, and the "Emergency Only" text when your cell phone call only make Emergency Calls. At Offset 50, turn on bits 3 and 4 (set both bits to 1).
Advanced Network Menu This option enables the Settings->Networking->Network Setup menu. This menu lets you choose your network search speed, as well as specify what bands your phone should use (or use the default, Automatic, to find the best available band.) If you turn your network search speed to "Low" it will save battery life. If you turn it to "High" it will re-connect to the network more quickly when you emerge from a tunnel (perhaps allowing you to send or receive an SMS just before you head into another tunnel) but use extra battery power. Setting the search speed to Continuous will keep searching until a network is found (at which point the search speed will drop back down to Fast).
Cellular bands that the V3xx supports are:
- WCDMA 850/1900 (a.k.a. 3G in N/S America) – 3G data and voice, provides the fastest data service, but requires slightly more battery life than plain old GSM.
- 850/1900 – GSM in N/S America – The standard GSM bands in the Americas. Provides GPRS and EDGE data in addition to Voice.
- 1800 – One-half of the GSM bands in Europe, Asia, and the Middle East, including Australia. Note that the V3xx is a tri-band GSM phone, lacking the 900 band. Most places that use the 900 band also use the 1800 band, so unless you travel to rural areas with low coverage in Europe, Asia or the Middle East, you should be just fine. (Of course, the WCDMA chip-set is only dual-band, so you will not get any 3G service outside of the Americas.)
The reason you might want to change your phone from the default "Automatic" to "850/1900" is if you live in an area with no 3G service. By taking the phone out of Automatic search mode, it will never power up the 3G part of the radio, which saves battery life. Alternatively, if you are traveling outside of the Americas, you may as well leave your phone set only to the 1800 band, so that it doesn't spend battery power trying to find WCDMA and 850/1900 GSM towers that don't exist. Just remember to change it back when you return to the Americas or you won't get any service! To enable this menu, toggle Offset B1, bit 3 to off (0).
Data Transfer Icon. I find it very useful to know when my phone is connected to the data network, and when it is transferring information back and forth. A set of 3 bits enables a special icon at the top of the phone's display (called the HSDPA icon, or High Speed Data Packet Access) that will appear when the phone is connected to the data network. (For example, when the web browser is active, a Java applet is using the network, or a Bluetooth device is connected to a data network) It will also show transfer arrows whenever data is actually flowing. Turn on bits 0, 1 and 2 in offset D0 (on = 1).
Priority Setting Menu for Java Apps. If you want to give Java applications priority over alarm reminders (or even incoming voice calls!) the Settings->Java Settings->App Priority menu is your friend. (I haven't figured out why I'd want to do this, but now I have the option.) Enable it by changing Offset 6B, bit 2 to on (1)
No SIM card required! Normally, most cell phones will not even boot up without a sim card installed. This is kind of annoying if you just want to play the java Zelda game on an old phone you have laying around. By editing an entire byte (changing it to zero, or clearing all of the bits) at offset 4D I am now able to boot my phone without a SIM card.
Record .mp4 movies (instead of .3gp) Normally the cell phone records .3gp movies, but it supports .mp4 movie recording if you change offset 1A1 to 03 (set bits 0 and 1 to on). Note that this SEEM edit was originally reported as offset 1d1, which does not work, so if you are working off of an old version of the seem_map.txt file it may have the incorrect data. I have verified that 1A1 set to 03 works correctly on my Cingular V3xx phone.
Other SEEM edits
Other SEEM edits exist. I found out about the ones I describe here in a post by xlr8 on Howard's Forums, which has a lot of other cellular related gems buried within a lot of less useful posts.
Another suggested edit in the 0032_0001 seam, offset 02, bit 1 said to turn the bit to zero to enable a few extra features (call barring, transfer, info, etc) but all that did was make my voicemail indicator stay on all the time (because the ^@ voicemail messages were no longer working) so I turned the bit back to 1.
If you have other confirmed SEEM edits for the Motorola V3xx, let me know!