I figured that I would post this little bit of mobile phone tweaking for any users who may be searching for a solution to the following issue. Ever since I upgraded my Tmobile MDA to the “latest and greatest” rom (v 2.26), I have been plagued with dropping calls after 4 minutes. It was definitely a bug that I had encountered and it was driving me INSANE! Well, digging through HowardForums, XDA-developers and SBSH’s forums, I believe that I found the solution. I thought that I would share both the commentary on the fix as well as the .CAB file as well. Use at your own risk!
Quoted information:
Voice calls hang-up after 4 minutes on the Cingular 8125 or T-Mobile MDA
Technical Note 2208
Last Reviewed 09-Aug-2006
Applies to:
Mobility XE client version 6.7 or 7.0
Mobility client OS: Windows Mobile 5.0 Pocke t PC phones running on the Cingular 8125 (AKU 2.0) or the T-Mobile MDA (AKU 2.2)
Printer-friendly versionSummary
On the Cingular 8125 device running Windows Mobile 5.0 with AKU 2.0 or the T-Mobile MDA device running Windows Mobile 5.0 with AKU 2.2, the radio will reset after 4 minutes if any applications, including Mobility XE, are attempting to transmit data during a voice call. The hang up is caused by a radio reset and can occur regardless of which application attempts to transmit data during a voice call. Note: Cingular and T-Mobile do not support simultaneous voice and data call when the device has a GPRS or EDGE data connection. The hang up can be fixed by changing a registry setting to prevent the radio from resetting.
Symptom
When a voice call is active, if an application tries to send data to the data link, after about 4 minutes the radio will reset, terminating both the voice call and the data session.
Root cause
Due to network conditions, signal coverage and some other factors, there is a small chance the data connection can become detached from the network, but the device is not aware of the detachment. This is normal in real world scenarios. Since data packages can be sent without any error being returned, the device may incorrectly think the connection is still valid. To correct this, HTC introduced a mechanism to watch for such conditions. After the device sends out data without receiving any network acknowledgement for a certain period of time, the device will try to detach from the network and re-establish the data connection. Usually this will silently re-establish the data connection without the user noticing it. Due to radio platform limitations, this task cannot be performed during a voice call. When both of these conditions are met (data being sent out for a period of time with no network acknowledgment, and an active voice call), the device will reset the radio to address the problem.
Solution
HTC has provided the following registry key setting to disable the auto-correction mechanism:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RIL]
“GPRSStallWorkaround”=dword:0
There are two methods we recommend for modifying this registry setting. The first method modifies the registry setting during Mobility client installation. The second method modifies the registry setting independent of Mobility client installation and can be used at any time, before or after Mobility client installation.
Modifying the registry setting during Mobility client installation
The NMCEoptions file allows customization of a Windows CE or Windows Mobile NetMotion Client setup. This file has been configured to set the GPRSStallWorkaround key. You can download the file by clicking the link below:
nmceoptions.ini
This file must be placed in one of the three locations below on a Windows CE device for Setup to find it.
\Storage Card\nmceoptions.ini
\Storage Card1\nmceoptions.ini
\Temp\nmceoptions.ini
The setup CAB file for the Cingular 8125 or T-Mobile SDA—nmc_ppc_wm50.ARMV4I.CAB—is typically also placed in one of these same locations. The NMCEoptions file will be automatically removed by the setup cab file. If you don’t want it to be removed—if, for example, you are using a memory card to install the Mobility XE client software on a series of devices—mark the file read-only (the same applies for the CAB file).
Modifying the registry setting independent of Mobility client installation
The GPRSWorkaround.CAB file has been provided by HTC and is configured to set the GPRSStallWorkaround key when the CAB file is run. You can download the file by clicking the link below:
Download [note: right-click and SAVE AS]: GPRSWorkaround.cab
The GPRSWorkaround.cab file will be automatically removed after running it. If you don’t want it to be removed, mark the file read-only.
Checking to see if registry key has been modified
There is no native method available on a Windows Mobile 5 device to inspect the registry for the GPRSStallWorkaround key and value. The most reusable and portable way to check to see if the registry value has been set on a device is to use the following method:
1. Install a simple Windows Mobile 5.0 registry editor on a memory card.
2. Put the memory card in the device and run the registry editor from the memory card.
3. Navigate in the registry editor to confirm the reg key value.
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RIL]
“GPRSStallWorkaround”=dword:0
Impact of modifying the registry key
By modifying this registry key, in the rare case where this mechanism would have taken effect, the device would appear to have a data connection while it actually doesn’t.
The user can manually disconnect and reconnect the data connection to get it back to normal. There is no need to reset the radio or the device.