Related
This was originally posted on the PPCGeeks.com forums, but they seem to be having hosting troubles lately, and I've received requests to repost this somewhere else, so here we go...
Check back on this thread every once in a while, as I'll be updating this post when I can with new information.
Setup
To use the Titan's internal GPS you must be running a ROM version of at least 3.16.651.0 with a radio ROM version of at least 3.27.00 (to find your ROM version go to the "Device Information" application found in Start->Settings->"System" tab).
Make sure that in the "External GPS" app (found in Start->Settings->"System" tab) matches the following settings:
Under the "Programs" tab, the "GPS program port:" is set to "COM4".
Under the "Hardware" tab, the "GPS hardware port:" is set to "None", and the "Baud rate:" is set to "4800".
Under the "Access" tab, the "Manage GPS automatically (recommended)" option is checked.
Make sure that your phone's location setting is set to "ON". You can do this by launching the "Phone" app (found in Start->Settings->"Personal" tab), then:
Under the "Services" tab, choose the "Location Setting" item in the listbox, and press the "Get Settings..." button.
Make sure the "Phone: Location Setting" is set to "ON"
OK everything, and soft reset your phone
My ROM version is older than the one listed as required above, where do I get the new ROM?
If your ROM versions are lower than the ones specified above, you have to load the new leaked test ROM first.
If you're on Sprint, and want the stock ROM, and you're running Windows XP, then look here:
http://forum.ppcgeeks.com/showthread.php?t=16806
If you're on Sprint, and want the stock ROM, and you're running Windows Vista, then look here:
http://forum.ppcgeeks.com/showthread.php?t=16886
If want dcd's custom Titan ROM, or if you're on Verizon, Alltel, or Telus, then look here:
http://forum.xda-developers.com/showthread.php?t=362566
NOTE: After the update some are experiencing loss of phone functions (dial in-out). To recover from this, before updating, make sure you record your MDN and MSID. First go to your dialer and dial ##MSL# (where MSL is your unique MSL code for your phone). The MSL unlock code is used for programming your phone yourself, and is unique for every phone. You can retrieve the MSL for your phone by using the GetSPC application. It's essentially a keygen that calculates what the MSL should be from the hexadecimal ESN (case-sensitive). You can get your hexadecimal ESN from several places including the back of your device if you remove the battery. You can download GetSPC from HERE. Otherwise you can call Sprint technical support, tell them you're a developer, and you need the MSL number for your phone. The MDN should be your phone number. Finally, go to your dialer again, and dial ##3282#, your MSL is the unlock code, then make sure you record the settings there. The important things are your username and AAA password (HA password should be 'secret').
Which GPS enabled applications work with the Titan's built-in GPS?
Pretty much any GPS application that supports the NMEA 0183 protocol (almost everything). You may have to set your GPS application to connect to COM 4 with a baud rate of 4800. I have personally successfully tested the internal GPS with the following software:
Sprint Navigation v1.0.21 (Telenav) (Video) (free 2 day trial, downloads maps from an active Internet connection, $10 a month, not included as part of SERO)
Google Maps Mobile (Video) (free, highly recommended, downloads map/navigation data from an active Internet connection)
Microsoft Live Search (Video) (free, highly recommended, downloads map/navigation from an active Internet connection)
iNav iGuidance 4 (Video) (My preferred program for USA navigation, has text to speech for street names, needs workaround to work with the internal GPS, see "known software issues and workarounds for GPS navigation software" FAQ section below).
TomTom 6.030 (Video) (My preferred program for European navigation)
iGO My way 2006 Plus (Video) (Has maps available for some areas that no other navigation software has, such as Egypt).
MGMaps (Video) (Free, Java based, see "known software issues and workarounds for GPS navigation software" FAQ section below)
Holux GPS Viewer (free, starts communication with GPS module, gives GPS satellite status)
Software that others have reported success with include:
Garmin Mobile XT (Video) (requires hacks, see "known software issues and workarounds for GPS navigation software" FAQ section below)
Mapopolis (no longer sold)
Route 66 Navigate 7 (Video of SmartPhone Version)
Pharos Ostia
How much will I be charged for using the GPS?
Accessing the GPS satellite data is completely free. However, some GPS applications (such as TomTom Navigator or Sprint Navigator) are commercial and are not free. Also, be aware that some applications (such as Google Maps Mobile and Sprint Navigator) get their mapping data on-line from the Internet. If you wish to use these "online" applications make sure your service plan includes an appropriate data option to prevent unwanted Internet access charges. All Sprint SERO plans automatically include unlimited data for no extra charge.
Why does my application never find (or find slowly) my built-in GPS?
It seems that the way the gpsOne chipset is implemented, through Microsoft's Intermediate GPS driver, requires it to be primed/started in way not all GPS applications support. Some people have been using Google Maps Mobile to prime the GPS so it can be used with another application, such as TomTom. I've found a much better way to prime the GPS application, using the freely available Holux GPS Viewer v1.5, which you can get HERE. Once you run the application, make sure, under the Setup tab, that the Com Port: is set to COM4:, then just press the "Open GPS" button. You should start recieving a scrolling list of NMEA protocol messages in the listbox below.
You can check the satellite status by going to the "GPS Status" tab. For an accurate fix you must have a signal to at least 4 satellites (at least 4 blue bars).
Once you have a lock you can start the application you wish to use the GPS with, such as TomTom. Once your application is working with the GPS you can exit the GPS Viewer application if you wish. The GPS may stop working if the GPS Viewer application isn't running, and your device goes into standby mode. You can leave GPS Viewer running the background, so that the GPS restarts on wakeup, but this sucks up around 5% CPU power and uses about 1MB of program memory. Hopefully someone can find/program an application that runs as a service in the background taking minimal CPU power that does the same thing that GPS Viewer does (GPSGate does not work).
I was a little annoyed that I had to reselect COM4: every time I started GPS Viewer, so I created a hacked version that preselects COM4 for you, which you can get HERE.
UPDATE 1 ( 1-27-08 ) - Baffles and tekmaven are working on a background service which will keep the GPS running on demand. It should have support for either keeping it going all the time, when you tell it to, or by detecting when GPS-using apps are running.
UPDATE 2 ( 1-27-08 ) - Some have also reported having good luck with VisualGPSce, which uses around 320KB program memory, and around 15% of the CPU when running in the background.
UPDATE 3 ( 1-27-08 ) - Baffles has just released BAF's GPS Launcher v0.1-test. Mirror HERE (post by yacko). The launcher, will set up/connect to the internal GPS, then launch a specified GPS app (TomTom,iGo, etc.). It's pretty basic in functionality, but it gets the job done for now. The next revision of this will end up being a background service on the phone that automatically enables GPS as needed, but for now, this is a better solution than running Google Maps Mobile/Holux GPS Viewer/etc in the background.
UPDATE 4 ( 1-29-08 ) - Shadowmite has just released GPS Launcher. It's a universal GPS proxy launcher. It works in a similar manner to Baf's launcher, but it's written in native code so it should run a lot faster, and take up less memory.
UPDATE 5 ( 1-30-08 ) - AstronusX has just released AstroGPSLauncher. As with the above launchers it opens the GPS port and launches your specified GPS application. It will close itself when you close the GPS application. It's also written in native code, the program is only 10k and uses a minuscule 2k of RAM. Since it keeps running in background until you exit your GPS software will allow your GPS software to reacquire the GPS signal when your Titan comes back from standby (power button) mode.
How can I keep my GPS alive in the background?
I have found no way of keeping the GPS alive while in standby mode. So your best bet, if you want the GPS always running, is to make sure you don't turn off the Titan (which puts it into standby mode). Instead, just turn off turn off the display back light (to maximize battery power). To keep the GPS alive, run the Holux GPS viewer, or better yet just use the AstroGPSLauncher (referenced above). These programs, while running, restart GPS communication when the phone comes back from standby mode. Be careful though, this can be a big battery drain if you're in a weak GPS signal area.
It takes too long to get an initial lock on the GPS satellites (cold boot), is there a way to make it faster?
Our HTC cousin, the Kaiser/Tilt/TyTn II, also with a gpsOne based GPS, included an application called QuickGPS. QuickGPS downloads current orbital satellite locations from the Internet, helping the GPS get its initial (cold) lock faster. It requires an Internet connection to download the orbital data, it does not initiate an Internet Connection for you (so you may have to connect to the Internet yourself first).
You can get QuickGPS (ripped from the Kaiser ROM) : HERE. Make sure you install this into main memory.
After tapping the Download button in QuickGPS, the status bar would reach 100%, and then gave me a "Connection failed" error. It seems the ephemeris orbital data (xtra.bin) is downloaded to the "\Temp" folder, but never copied to the "\Windows" folder. I was able to fix this by, first making sure my QuickGPS registry settings matched the settings shown HERE, and hacking the QuickGPS.exe as described HERE
I have included a patched version of QuickGPS, along with a Resco Regedit export of my QuickGPS registry settings for download HERE (copy the "QuickGPS.exe" into your mobile device's "\Windows" folder).
I have no idea if QuickGPS actually helps/works, since I haven't really had to opportunity to test it yet.
I've tried everything in this FAQ, but can't get the GPS to respond, what else can I try?
Some things that others have had tried that they claimed helped include:
Toggling your phone's location setting is set to "OFF", OKing it, and toggling it back "ON".
As with any GPS unit, you the clearer view of the sky you have, the more likely you'll catch a GPS signal. Also, if you're moving often (such as driving a Car) the GPS will have a harder time getting an initial lock. Ideally try standing outside 5-20 minutes with a program that can start the GPS running, such as "Holux GPS Viewer", and see if that helps.
Hard reseting.
How can I find GPS radio status information?
In your dialer (Green handset button), dial the Debug code ##33284# (this just runs "\Windows\FieldTrial.exe").
In the application that opens, press the "Debug Info" button (left Soft-Key). In the menu that pops up, choose "GPS".
What kind of GPS device is inside the Titan?
The chipset the Titan uses is the Qualcomm MSM7500. As part of this chipset there's an embedded gpsOne GPS module.
The gpsOne can operate in 4 modes:
Standalone - Your handset has no connection to the network, and uses only the GPS satellite signals it can currently receive to try and establish a location.
MS Based - Your handset is connected to the network, and uses the GPS signals + a location signal from the network.
MS Assisted - Your handset is connected to the network, uses GPS signals + a location signal then relays its 'fix' to the server, which then uses the signal strength from your phone to the network towers to further plot your position. You can still maintain voice communication in this scenario, but not 'Internet/Network service' ie Web Browser, IM, streaming TV etc..
MS Assisted/Hybrid - Same as above, but network functionality remains. Normally only in areas with exceptional coverage.
I'm guessing (not verified) that ours runs in "Standalone" mode since the GPS stays on and keeps getting data if the phone is off (to turn off just the phone part of the Mogul, go to the Today Screen, hold down the red hang-up button for 3-4 seconds, and then let go).
When is the GPS active, how do I turn it off?
The GPS isn't active once you exit all applications that may be accessing it. Trying putting your Titan into standby (press the power button), wait 20 seconds, and turn it back on. If the GPS is still active then that means you most likely have some program running in the background keeping the GPS alive.
To disable the GPS, set your phone's location setting to "OFF". You can do this by launching the "Phone" app (found in Start->Settings->"Personal" tab), then:
Under the "Services" tab, choose the "Location Setting" item in the listbox, and press the "Get Settings..." button.
Make sure the "Phone: Location Setting" is set to "OFF"
OK everything, and soft reset your phone
How do I enable GPS Camera Mode?
Our HTC cousin the Tilt/Kaiser/TyTn II has a feature that lets you populate a camera phone's photo EXIF data with GPS location information. It looks like the Titan has registry entries concerning this feature, but no one has been able to make it work yet. Information on an attempt to enable this feature can be found HERE.
Can I use the internal GPS on my Titan as Bluetooth or USB GPS device for use with my PC?
Yes. though I haven't tested this myself, you should be able to do this through the free application GPS2Blue. To use your GPS via USB cable, check out the section titled "How to use with TCP/IP over USB?".
A commercial alternative to GPS2Blue is Franson GpsGate.
Observations:
The GPS turns off when the mobile device goes into standby mode (would be nice if there was a way to keep the GPS alive even in standby mode).
If you put the Titan into standby (power off) while it's attempting to initialize the GPS the system will respond very slowly. It will take a long time to turn back on, and may even appear hard locked. Once the GPS is initialized the system responds normally again. This behavior can also be seen if your terminate an application while it's attempting to initialize the GPS.
What's the best GPS navigation software?
This is one of the most often, and trickiest question to answer. It's tricky because the feature-set and selection of available navigation software changes quickly, and some of what's considered "best" is based on opinion. One person may consider a certain feature crucial, while another wouldn't care about it at all. There are tons of articles, forum posts, and reviews you can find on-line comparing navigation software. I will try to do a quick and dirty rundown of available software. To read discussions concerning Windows Mobile navigation software I recommend visiting the GpsPasSion forums (specifically the PDA Navigation subforum. To see what a particular piece of navigation software looks like when running, I recommend visiting YouTube.
Also be sure to read the "software notes" FAQ below for any gotchyas concerning software you may be considering.
Some feature terms to learn:
Voice Navigation = The software will direct you with voice prompts (eg. "in 500 yards turn left")
Text-To-Speech for road names = The software will direct you with voice prompts that include road name (eg. "in 500 yards turn left at Main street")
Offline Navigation = You don't need an active data (Internet) connection to get map/navigation data.
Online Navigation = You need an active data (Internet) connection to get map/navigation data. Map data is typically stored on your storage (SD) card. For instance iGuidance requires 1.3GB for its North American mapping data, and TomTom request 896MB for its North American mapping data. iGo has state by state maps available, which are smaller in size (California is about 140MB).
The software that is:
Most popular for US/Canadian areas:
iGuidance (no current European maps), TomTom
Most popular for European (and other countries) areas:
TomTom and iGO
Free (currently no free navigation software supports voice navigation, and all are online):
Google Maps Mobile and Microsoft Live Search
Online:
Google Maps Mobile, Microsoft Live Search, Sprint Navigation
Offline (All support voice navigation):
iGuidance, TomTom, iGO, Garmin Mobile XT, Route 66, Destinator. Mapopolis
Supports Text-To-Speech for road names:
iGuidance, Mapopolis, and Sprint Navigation
What are the known issues and workarounds for GPS navigation software?
TomTom Navigator:
Requires software such as "Holux GPS Viewer" to start the GPS.
Set the GPS to "Other NMEA GPS receiver", with a "GPS baud rate" of 4800, and set to "COM4:".
Requires 896MB of storage space for North American mapping data.
When starting TomTom, the sound is muted, and you have to choose the "Change preferences"->"Turn on sound" menu item twice to turn the sound on. This is a known behavior for TomTom if you start the application with an active data connection. If you start TomTom without an active data connection the sound will start out muted.
iNav iGuidance:
Requires software such as "Holux GPS Viewer" to start the GPS.
Requires 1.3GB of storage space for North American mapping data.
GPS seems to be detected (icon turns green), but will rarely refresh the screen with updated location data. This issue is discussed HERE, HERE, and in this thread. I remember having problems with iGuidance before, when targeting it to the Microsoft GPS redirector port with my Bluetooth GPS. I had to point iGuidance directly to the Bluetooth COM port. This seems to be a problem with iNav's inability to work properly with the Microsoft GPS redirector driver. Customers should shoot off an email to INav, so that hopefully they can fix this issue.
A workaround is to install a different redirector, such as Franson GpsGate. Once installed GpsGate installs a tray icon in your Today screen (red or green icon in lower right hand corner of the Today screen).
Tap the tray icon, and choose the "Settings" menu item.
On the "Input" tab set it to "COM4".
On the "Output" tab, choose "Virtual COM Port" under the "Add output" section, and press the "Add" button.
Set the "Virtual port" to an available COM port, such as "COM2".
Press the "OK" button.
On the "Input" tab press the "Open" button.
In iGuidance:
Go to the "Tools" menu, and choose the "GPS Options" submenu, then choose the "COM Port" submenu item. Set it to the same port you used for your "Virtual Port" (COM2 in the example above).
Go to the "Tools" menu, and choose the "GPS Options" submenu, then choose the "Baud Rate" submenu item. Set it to "4800".
A freeware alternative to GpsGate, named GPSProxy, is available HERE. (untested)
I created an iGuidance one tap autolauncher. If GpsGate is not running, it starts it. The script then stores your device's current power timeout, and backlight timeout and brightness settings. Then sets your device for no timeouts for power and backlight, and sets your backlight to maximum brightness. It then sets iGuidance to skip the startup warning dialog, before launching iGuidance through AstroGPSLauncher. Once you exit iGuidance the script will restore your previous backlight/power settings. The only thing not working in the script right now is that it doesn't terminate GpsGate on exit if the script started GpsGate. I have not found a reliable way to close GpsGate. All current methods I've tried of closing/terminating GpsGate leave an unresponsive icon in the tray of the Today screen.
For those who are interested, I've made a copy of this script available for download HERE. Instructions on how to install/use the script are in the included "iGuidanceInternalGPSLauncher.mscr" Mortscript file.
Garmin Mobile XT:
The current version of Mobile XT is tied to the Bluetooth GPS they sell it with. At the recent CES show a rep from Garmin indicated that they will soon be selling a new version that can be used with any GPS device. Until then, our Kaiser/Tilt cousins have created some hacks that make Mobile XT work their internal GPS, that should also work on the Titan. Information on this is HERE.
iGO:
Also sold under the Navigon MobileNavigator and MioMap names.
Mapopolis:
No longer sold
Sprint Navigation
Included as part of the extended ROM installation after a hard reset. If you skipped the extended ROM installation, or are running a custom ROM, you can find the CAB install HERE.
Costs $9.99 a month or $2.99 a day. Includes a free 2-day trial.
Not included with SERO plans (part of the "Sprint Power Vision Navigation Pack" and "Sprint Power Vision Ultimate Pack").
More info HERE.
Route 66 Navigate 7:
Requires software such as "Holux GPS Viewer" to start the GPS.
MGMaps:
Java Based, works with included Java Midlet Manager (Jeodek). Does not work with JBed (doesn't support serial communication).
Get the generic full version, Sprint version doesn't work.
What are the GPS related registry entries and their default values?
These are all the registry settings I could find relating to the GPS and their default values. This is from a virgin Sprint v3.16.651.0, with extended ROM apps skipped, and only Resco Explorer/Regedit installed.
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\SUPL AGPS]
"EnableGPSSmartMode"=dword:00000001
"ServerPort"=dword:00001E6C
"ServerIP"="195.207.101.126"
"QosPerformance"=dword:00000059
"QoSAccuracy"=dword:00000032
"TimeBetweenFixes"=dword:00000001
"NumberFixes"=dword:3B9AC9FF
"GPSMode"=dword:00000002
"EnableAGPS"=dword:00000001
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\OEM\PhoneSetting\LocationSetting]
"ServiceDescExt"="but will not hide your general location based on the cell site serving your call. No application or service may use your location without your request or permission. GPS enhanced 911 is not available in all areas."
"ServiceDesc"="Turning location on will allow the network to detect your position using GPS technology, making some Sprint PCS applications and services easier to use. Turning location off will disable the GPS location function for all purposes except 911,"
"ItemMessageDesc2"=""
"ItemValue2"=dword:00000003
"ItemName2"="OFF"
"ItemMessageDesc1"=""
"ItemValue1"=dword:00000000
"ItemName1"="ON"
"ItemCount"=dword:00000002
"ServiceTitle"="Phone: Location Setting"
"ServiceName"="Location Setting"
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\Camera\General]
"MaximalGPSInitialTime"=dword:00000708
"PositionMaximalAge"=dword:00000002
"MeteringMode"=dword:00000000
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\Camera\Image]
"GpsSaveFolder_0409"="My POI"
"GpsPrefixString"="GPS"
Code:
[HKEY_LOCAL_MACHINE\Services\GPSDaemonService]
"Index"=dword:00000001
"Prefix"="GPC"
"Keep"=dword:00000001
"Order"=dword:00000009
"Description"="Services PPP events on behalf of GPS"
"DisplayName"="GPS Daemon Service"
"Dll"="GpsDaemonService.dll"
Code:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver]
"OldLogFile"="\\windows\\GPSLogFileBack.txt"
"CurrentLogFile"="\\windows\\GPSLogFile.txt"
"IsEnabled"=dword:00000001
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer]
"DriverInterface"="COM4:"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer\ActiveDevice]
"Index"=dword:00000004
"Prefix"="COM"
"Dll"="GPSID_QCT.dll"
"Context"=dword:12344160
"Flags"=dword:00000002
"Keep"=dword:00000001
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers]
"SleepOnNoData"=dword:000003E8
"RetryWaitOnError"=dword:00000003
"OutputBufferSize"=dword:00001000
"InputBufferSize"=dword:00001000
"CurrentDriver"="GPSOneDevice"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\GPSOneDevice]
"Version"=dword:00000001
"PollInterval"=dword:000001F4
"DriverName"="TAI"
"FriendlyName"="QualComm GpsOne Card, version 0.0"
"InterfaceType"="POLL"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\GPSOneEmulate]
"Filex"="\\windows\\GPSOneFileSimulation.txt"
"FriendlyName"="QualComm GpsOne File, version 0.0"
"InterfaceType"="File"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\GPSOnePort]
"CommPort"="COM1:"
"FriendlyName"="QualComm GpsOne Card, version 0.0"
"InterfaceType"="COMM"
Code:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer]
"DriverInterface"="COM4:"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer\ActiveDevice]
"Index"=dword:00000004
"Prefix"="COM"
"Dll"="GPSID_QCT.dll"
"Context"=dword:12344160
"Flags"=dword:00000002
"Keep"=dword:00000001
Code:
[HKEY_LOCAL_MACHINE\Drivers\Active\36]
"Hnd"=dword:0005AFF0
"Name"="GPS1:"
"Key"="Drivers\\BuiltIn\\VirtCOM_GPS1"
"BusParent"=dword:000322E0
"InterfaceType"=dword:00000000
"BusName"="BuiltInPhase1_0_8_0"
Code:
[HKEY_LOCAL_MACHINE\Drivers\Active\59]
"Hnd"=dword:00AFBAB0
"Name"="GPD0:"
"Key"="Drivers\\BuiltIn\\GPSID"
"BusParent"=dword:000322E0
"InterfaceType"=dword:00000000
"BusName"="BuiltInPhase1_0_53_0"
Code:
[HKEY_LOCAL_MACHINE\Drivers\Active\60]
"Hnd"=dword:00AFCB60
"Name"="COM4:"
"Key"="SYSTEM\\CurrentControlSet\\GPS Intermediate Driver\\Multiplexer\\ActiveDevice"
Code:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GPSID]
"IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
"Dll"="GPSID_QCT.dll"
"Flags"=dword:00000002
"Context"=dword:00000000
"Index"=dword:00000000
"Prefix"="GPD"
"Keep"=dword:00000001
"Order"=dword:00000010
Code:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\VirtCOM_GPS1]
"DevConfig"=hex:20,00,00,00,05,00,00,00,10,01,00,00,00,4B,00,00,00,00,08,00,00,00,00,\
00,00
"FriendlyName"="Virtual GPS1"
"DeviceType"=dword:00000000
"Order"=dword:00000003
"DeviceArrayIndex"=dword:00000000
"Index"=dword:00000001
"Prefix"="GPS"
"Dll"="VIRSER_GPS.dll"
Other reading:
Jake's GPS 101 Tutorial on Aximsite
Detailed article on AGPS
Wikipedia Article on AGPS
Wikipedia Article on gpsOne chipset
General GPS Info
How Quick GPS Works
More info on how Quick GPS Works
Other Apps:
MMeteo (AccuWeather.com + Wetter.com in HTC today and GPS Ephemeris synchronization (same as QuickGPS), haven't tried it)
VisualGPSce (does what GPSViewer does, only 320KB running program memory, around 15% CPU usage when running minimized)
Globalsat GPSInfo (does what GPSViewer does, haven't tried it)
HTCGPSTool.exe (preproduction tool, download link at the bottom, doesn't work too well, but might be of interest to some).
Credits:
duttythroy for providing the QuickGPS cab from the Kaiser.
McHale for his QuickGPS registry discoveries.
Ruptor for his QuickGPS.exe hack.
vetvito for his rip of 3.16.651.0's EXtROM (included CAB install for Sprint Navigation).
Baffles for BAF's GPS Launcher
Shadowmite for his GPS Launcher
AstronusX for AstroGPSLauncher
Reserved for future use 4.
Great post. Thanks.
wow seems very useful. is i guidance free? or is it possible to hack?
idenkilla said:
wow seems very useful. is i guidance free? or is it possible to hack?
Click to expand...
Click to collapse
IGuidance is commercial software. It doesn't require an active Internet connection because all the map data is stored locally on your SD Card. Version 4 is about $100, and requires you to have 1.3GB free on a storage card to fit the US map it comes with (version 3 came with state maps, but version 4 only comes with one big "USA" map). Every piece of software I've listed links to either a download location or a information page describing the software. Check out youtube if you want to see what a particular piece of software looks like when running.
thanks very useful info!
Do you know how to enable AGPS on this device? I'd like to be able to get GPS signal from cellular triangulation so I can use location services indoors.
I go into debug mode, and under GPS, everything is NA. Is this mean my mogul don't have a chip inside?
I launched GPS from Google maps, and it stuck in the "Seeking GPS satellites" screen. A blue screen with no maps.
Any help?
I've noticed some people saying they're having trouble with their gps, when really it isn't the gps giving them a problem. After a lot of testing, I've found that if you do not have an active EVDO data connection, the gps will not function correctly with google maps or live search. This is not because the gps is malfunctioning, it's because the program can't connect to load the maps...and this will make it seem like the GPS is not working. My recommendation is, don't give up on your gps unless you know you have a solid data connection when you try it (it also helps to have a clear line of the sky, though not required). That is, unless you use software that doesn't require an internet connection.
I'd like to point out that the wonderful app Mapopolis (which unfortunately is no longer being supported) works wonderfully with the built in GPS, reads street names (like iguidance), can be loaded by county instead of one big "US" map, and apparently does NOT need to be primed/inited!!
That last part came as a surprise to me since the software predates google maps and many of the later editions of Tom Tom, etc.
I happen to have acquired a license for all of their US maps a few years ago (before there were even so many options) and it continues to surprise me as far as just how well it works!
I'd like to point out that the wonderful app Mapopolis (which unfortunately is no longer being supported) works wonderfully with the built in GPS, reads street names (like iguidance), can be loaded by county instead of one big "US" map, and apparently does NOT need to be primed/inited!!
That last part came as a surprise to me since the software predates google maps and many of the later editions of Tom Tom, etc.
I happen to have acquired a license for all of their US maps a few years ago (before there were even so many options) and it continues to surprise me as far as just how well it works!
Click to expand...
Click to collapse
Is this a single license that only works on one device....or can it be used on multiple devices
Hiking/Geocaching SW?
I have Nav in both of my cars, so I'm not that needy for street-type navigation software. On the other hand, I use a Magellan explorist 400 for hiking and so forth. Any recommendations for PPC nav software that can replace this device now that GPS is activated?
Trouble in GPS Paradise with iNavigator
I have iGuidance and have been using it with an external BlueTooth GPS receiver. Have been blown away with how iGuidance performed and did with a signal that was sent from this external source. Keeps up well when traveling at any speed.
That being said. I am having an HORRIBLE time with iGuidance performance with the internal GPS at Com4 that is in this new ROM. It sticks for extended periods of time (4, 5, 6, infinity minutes) and therefore ends up being useless for navigation. I've played with the Baud rate settings and what is running in the background, i.e. googlemaps, or GPSViewer, or Live, and nothing gets IGuidance to perform even remotely close to the way it does with my external receiver.
I feel I'm pretty experienced with the GPS concept on the Mogul and really don't understand first of all why my external Baud rate is at 38,400 and this internal is at 4800?
In watching GPSViewer while traveling (that's right... stay off the road if I'm on it) it shows that the Lat and Long are updating continuously so it isn't that the GPS system isn't getting the signal... there's just some kind of problem that I'm having with getting the signal from there to iNav.
Any ideas would be helpful. I start out prior to cranking up INav with ~15MB of program memory and iNav is somewhat of a Program memory hog. It states that you should have ~20MB but then again... it works fine when I'm getting the signal from the external receiver so I still don't see this as the actual problem.
Anyone else have a chance in the last 4 days to really test the GPS on the road... as opposed to just getting excited about standing in the snow and getting GPS.
It's all good that we've got this faster (Rev A is off the hook with speed for me here in Atlanta) machine with GPS but if my only option is to throw $10 a month at Sprint them I'm going to just end up using my external to get my GPS signal.... Really silly if it is built in...
Hope you're reading this Sprint! ;-P
Anyone else have a chance in the last 4 days to really test the GPS on the road... as opposed to just getting excited about standing in the snow and getting GPS.
Click to expand...
Click to collapse
I've successfully tested the GPS both on the road AND on foot walking around the city lol. I am able to get between 7 and 8 satellites successfully and it's accurate to within 5-10 feet. I'm not sure about your problems with iGuidance as I've never used the software, but with both Google Maps and Live Search, it performs very well and accurate (on the road). lol
Yup! No problem with Google Maps and Live Search. They keep up as well while on the road. The only problem is they really aren't designed like TRUE GPS software... They don't prompt turns, they don't reroute if you get off route, not in 3D view, etc.
Wish GoogleMaps had an upgrade to it that made it TRUE GPS software. I'd pay $100 for it!
It's just somewhat bizarre to me that Sprint created their own Nav software, that has to download maps on the fly (as GM and LS do) and that it keeps up with the location no problem (I tried Sprint's Nav software over the weekend), BUT, iNav that has all of the Maps right there on the SD card can't keep up... Maybe it's iNav's problem and I'll contact them about it but then again... maybe it's a conspiracy by Sprint to get $9.95 out of us every month to use their software by making other software packages have problems! HEHE. Just kidding... Sortof...
I'll be updating the FAQ later today with software notes.
Concerning IGuidance, I haven't tested it on the road yet. I Just tested to see if it recognized the internal GPS. I remember having problems with IGudiance before when targeting it to the Microsoft GPS redirector when using my Bluetooth GPS. I had to point IGuidance directly to it. This seems to be a problem with INav inability to work properly with the Microsoft GPS redirector driver. Customers should shoot off an email to INav, so hopefully they can fix this issue. One thing to try (I haven't yet), is to install different redirector such as Franson GPSGate and point the source port at com4, and create a target virtual COM port at COM8 or COM9, then point IGuidance at the virtual port, and see if that works better with IGuidance.
UPDATE
April 5, 2008 - v0.21 released.
ICS Control is a GUI front-end for Internet Connection Sharing, a component of Microsoft Windows Mobile. It can be configured to do a variety of things including sharing your cellular internet connection over an adhoc WiFi network.
Requirements: .NET Compact Framework 2.0 and Windows Mobile 5 or later with the IPNAT driver included (most WM6 builds have this built-in). The "Internet Sharing" application that some phones have is not required, but IPNAT is.
ICSControl is a single .exe file, included in the zip file below. You can place it directly in /Windows/Start Menu/Programs/ on your device and it will appear as an icon in Programs. Or you can place it elsewhere and create a shortcut.
Comments, bug reports, and requests are welcome.
If you like this program and would like to express your appreciation with money, you can donate via Paypal.
Changelog
v0.21
- Added host names from DHCP leases to DMZ and InternalHost dropdown lists.
v0.2
- DHCP Lease editing is completed.
- Virtual Server (aka incoming port mapping) configuration is completed.
- Application definitions (aka outgoing port triggers) configuration is completed.
- Added really simple icons.
- Attempts to accomodate weird ipnat driver configurations.
- Other minor changes/fixes.
v0.11
- Added auto-dialing to Connection Manager destinations
- Added private interface IP setting
- Fixed bugs involving the up/down controls.
- IMPORTANT: If you were using v.1, some of your saved settings may be messed up. To fix this, press the Set All Defaults button at the bottom of the settings panel.
More info on Internet Connection Sharing
ICS allows a private network (for example, an ad-hoc WiFi network) to access another network (for example, the internet) as long as the Windows Mobile device is connected to both networks. It should be able to share between any set of adapters. The common configurations of course would be:
Cellular to WiFi (probably the most common scenario, sharing internet access to a WiFi network)
Cellular to Bluetooth PAN
Cellular to USB
But it should also work with more "interesting" combinations like:
VPN to Wifi - get wireless clients onto a VPN
Wifi to Bluetooth - allow bluetooth network devices to access a WLAN.
Wifi to USB - basically the pda acts as a wireless network card for the PC (neat, eh?)
Will this allow you to select the wifi adapter as well?
pflatlyne said:
Will this allow you to select the wifi adapter as well?
Click to expand...
Click to collapse
Yes. I guess I should point that out as that is probably what people want to do with it. It should be able to share between any set of adapters. The common ones of course would be:
Cellular to Wifi,
Cellular to Bluetooth PAN,
Cellular to USB.
But it should also work with more "interesting" combinations like:
VPN to Wifi - get wireless clients onto a VPN
Wifi to Bluetooth - allow bluetooth network devices to access a WLAN.
Wifi to USB - basically the pda acts as a wireless network card for the pc
Will test this out when I get home tonight...will find out if Sprint noticed it later this month when the bill comes in
Wow! Sounds great. Downloading now.
This looks interesting. I am hoping this might help me get my phone connected to my laptop as a modem. I do not appear to have the ipnat.dll. Any suggestions?? TIA. AARMD
aarmd said:
This looks interesting. I am hoping this might help me get my phone connected to my laptop as a modem. I do not appear to have the ipnat.dll. Any suggestions?? TIA. AARMD
Click to expand...
Click to collapse
Transplanting ipnat.dll (and the necessary registry settings) from another device is possible but I'm pretty sure it's illegal to distribute it. I know, people do it all the time, and there is no reason for MS to care, but I'd still rather not be the one to do it.
I am using a Verizon 6800 with WM6 Pro and DCD 2.2.5 ROM installed by an acquaintance. I can find an ipnat file, but it is not listed as a .dll. It shows up with the Windows logo. Does this help at all? I am sorry, but I am somewhat new at all this. AARMD
aarmd said:
I am using a Verizon 6800 with WM6 Pro and DCD 2.2.5 ROM installed by an acquaintance. I can find an ipnat file, but it is not listed as a .dll. It shows up with the Windows logo. Does this help at all? I am sorry, but I am somewhat new at all this. AARMD
Click to expand...
Click to collapse
That's it. File Explorer hides the extension.
Cool, this is working on my Alltel 6800. I have a laptop that had its internal wireless hosed, I am now posting using the HTC as a (very expensive) wireless card
Right now I am running through USB, I have to check it out and see if it works with bluetooth.
dangelon said:
Cool, this is working on my Alltel 6800. I have a laptop that had its internal wireless hosed, I am now posting using the HTC as a (very expensive) wireless card
Right now I am running through USB, I have to check it out and see if it works with bluetooth.
Click to expand...
Click to collapse
Hey, most wireless cards can't make phone calls Let me know if it works with bluetooth. Also when bridging like that using the DMZ option could be useful since there is only one USB client so all traffic should route to it. If you hit Refresh after your laptop is connected you should see a host entry in the DMZ dropdown, just choose the laptop's ip and then hit stop ics then start ics.
I couldn't get the WiFi to Bluetooth working, but this laptop has had ongoing bluetooth issues. I'll try it out on my MacBook Pro when I get back from vacation.
Yes, on vacation and still dorking around with the phone. The biggest challenge: finding where my girlfriend hid it after getting upset about where my attention has been focused.
Does using this program burn up you wireless minutes or do I need a special internet plan added to my account?
diterex said:
Does using this program burn up you wireless minutes or do I need a special internet plan added to my account?
Click to expand...
Click to collapse
If you use it to share your internet access then you may be charged for your data usage depending on your service plan. If you don't have an unlimited data plan then you will be charged under most circumstances. On some older phone plans data usage is treated like phone minutes and nights and weekends are free.
I was talking to my sprint rep and they said if the phone is used as a modem then extra charges will be applied even though I have unlimited data. This program works around that?
diterex said:
I was talking to my sprint rep and they said if the phone is used as a modem then extra charges will be applied even though I have unlimited data. This program works around that?
Click to expand...
Click to collapse
I do not know how they determine whether you are tethering or not so I can't say for sure. But, seeing as how I've been using this myself quite a bit, I'll find out when I get my next bill from Sprint.
Changes in v0.11
- Added auto-dialing to Connection Manager destinations
- Added private interface IP setting
- Fixed bugs involving the up/down controls.
- IMPORTANT: If you were using v0.1, some of your saved settings may be messed up. To fix this, press the Set All Defaults button at the bottom of the settings panel.
Wow, this is a great looking app, sort of like a free WMWifiRouter except free and much more powerful with tons of neat options. Keep up the great work, this app has real potential.
Have this program stopped working? I down loaded the file and try to open the exe. file but a window pops up saying the program have stopped working. Any ideas of what is going on? I am running windows vista if it helps any.
etphonehome said:
Have this program stopped working? I down loaded the file and try to open the exe. file but a window pops up saying the program have stopped working. Any ideas of what is going on? I am running windows vista if it helps any.
Click to expand...
Click to collapse
You need to run it on your PPC...
Note this is a BETA version and will have issues.
About
WMLongLife is an automatic 2G/3G band-switching solution. It will keep your device in 2G when you do not need to use 3G, and will switch to 3G automatically when you do need it. For most users, having your device in 2G uses much less battery, and thus your phone lasts longer on a single charge. 2G also usually generates less radiation than 3G, so it will likely be better for your gonads (if you have them) as well (see this thread for a discussion about that) - think of your hypothetical future children!
Main features
2G/3G (auto)/3G (only) automatic band switching based on:
- Running programs and their needs
- Availability of Wi-Fi
- Availability of USB
- Roaming [note: most roaming options have been removed, use the RoamFreely (marketplace) tool instead]
Idle data connections disconnect based on running programs (note that unlike the registry tweak this does not break simultaneous voice/data)
Manual band switching
Automatically disable data when roaming (including AGPS)
Pauses applications while switching bands (so you don't get networking errors)
Several predefined applications supported
Support for HTC/MSM72xx GSM devices (GSM/EDGE vs UMTS/HSDPA)
Support for HTC/MSM75xx CDMA devices (1xRTT vs EV-DO)
Support for various Samsung GSM devices (GSM/EDGE vs UMTS/HSDPA)
How to use
The manual is in the post below this one. Give it a quick skim!
License?
You can use this yourself on your own devices, if-and-only-if you download it from this post. You are not allowed to (re)distribute this app, not to your brother, not to your friends, not to anyone. Cooking it into your ROM and then distributing that is obviously also not allowed.
I reserve the right to turn this into something commercial if I want. I'm not planning it, but lets just cut the crap and say it may eventually happen (avoid BS like the last time). Should that happen, as last time, people who helped out will get taken care of.
Is this guaranteed to save battery?
No, it is not. If it will or will not save battery is dependent on your configuration of WMLongLife, your 'average' network conditions, your radio, and usage. The default WMLongLife configuration will give you (also depending on those other factors) a nice average between least and maximum savings while trying to be not too annoying. Radio firmware is very tricky, and results vary all across the board. It is likely there is a radio thread for your specific device, if you are comfortable with flashing devices, flashing a different radio may give you better (or worse) connectivity and battery life. How your usage effects all this should be obvious: if all you do with your phone is watch YouTube until the battery goes flat, WMLongLife will not help you [at all]. If you pretty much use at as a phone with additional email and some browsing / Google Maps here and there, you may definitely see benefits. It all depends.
Now let's get to the most interesting part: network conditions. 3G [at least in theory] uses less battery than 2G under ideal conditions. However, these ideal conditions are hardly ever reached. A lot of battery is spent finding a decent/better 3G signal to use instead of 2G - and I mean a lot. If 3G is few-bars or just an unreliable signal in your area, your device will not just use a lot, it will use massive amounts of battery trying to get a [better] 3G signal. Aside from that, if the conditions are less than ideal, 2G may use less power than 3G. As an example, I am personally in an area with excellent 3G coverage (5 out of 5 bars of HSDPA) and my device still lasts nearly twice as long on a single charge with WMLongLife running. Your mileage may vary, of course. While it is completely possible that it may not make a relevant difference in your case, I would say there will be many people who this does make a difference for. This is also the reason you will see many people advising in "battery saving" threads to disable 3G and attesting to how much battery it saves for them, and others will always respond that it doesn't make a difference [for them].
Having an idle(!) data connection should theoretically not make a difference with power usage, you have the connection anyway, it's just a question about whether you have an IP or not. However, some background applications (inside services mostly) will initiate data transfers if (and only if) a data connection is already up. So if you have an idle data connection, these applications would start using data, while if you did not have a data connection (connected), they would not.
Supported devices
This is a list of device it should work on, most of them have not been reported to work since 0.2, though.
HTC Touch Cruise
HTC TyTN II
HTC Touch Diamond GSM + CDMA
HTC Touch Pro GSM + CDMA
HTC Touch HD
HTC Touch Diamond II GSM + CDMA
HTC Touch Pro II GSM + CDMA
HTC HD2
Samsung i780
Samsung Omnia GSM
Samsung Omnia II GSM
Samsung Giorgio Armani II
Sony Ericsson Xperia X1
Palm Treo Pro
Suspected to work on (never been tested, not even on 0.2):
HTC Titan/Mogul
HTC Vogue
HTC Touch 3G
HTC Touch Cruise II
HTC MAX 4G
Samsung Epix
Toshiba TG-01 ??
Important release notes
Currently known issues and problems and the changelogs are listed in the 4th post of this thread.
Donate
DONATE ! - Come on, almost 30 000 users and no more than a handful of donations ?
Download
downloads before 0.66: 26977
The Manual (0.5 and newer) - READ IT!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
The Manual
NOTICE: The manual is written for version 0.5 and newer!
Usage notes
I have done my best to let WMLongLife be as least annoying as possible. The idea is (with the default settings) that a band-switch should occur only once in a phone 'session'. Where by a session I mean a screen-on / use device / screen-off cycle. This also means WMLongLife may not switch back to 2G when you expect it to - WMLongLife tries to be smart about things to reduce the number of band-switches but still keep a fairly optimal 2G/power use. Please keep in mind this is a beta release.
Things you should know
WMLongLife generally does not kick-in until you have both entered your PIN (if applicable) at boot, and the screen has been off for about half a minute. There are exceptions to this rule - if you override the current band selected by using the Band Switcher app, WMLongLife will start operating from then on.
When band-switching, the icon in the top bar may stay on 2G (G, E, 1X, etc) for a while before it switches to a 3G icon. This does not mean you are not already using 3G, there is a delay in this display.
Issues
Known issues are listed in the post below this one.
Installation
Installation is easy:
Copy the WMLongLife.cab file to your device and open it to install it.
Go into WMLongLife configuration and make sure to check/configure the following options:
- Radio / Radio chip model (and GSM band for Samsung radios)
- Radio / Restart push mail after band switch
- Roaming - All options
These are likely to be detected and set correctly, however I advise you check them anyways. Details about these options can be found in the configuration section below.
Optional: Go to Start -> Settings -> Personal -> Buttons, and assign a button to the Band Switcher application
Soft-reset
The configuration options in WMLongLife are supposed to have "sane defaults", the setup which I expect will work best for most users.
Please note some beta testers have reported they need to soft-reset twice after installation/upgrade before WMLongLife works
Upgrading
If you are using version 0.2 or older, please remove it manually. All newer versions should be a simple case of copying the new CAB file to your device and opening it to install it without the need to uninstall the old version first. A soft-reset is necessary.
Please note some beta testers have reported they need to soft-reset twice after installation/upgrade before WMLongLife works
Uninstallation
Before uninstallation, there are two things you should do:
1) Open the Band Switcher application, and switch to "3G (auto)" mode
2) If you have roaming options enabled, make sure you are NOT roaming when uninstalling
After these two points, simply uninstall WMLongLife using Windows Mobile's Remove Programs function.
Popup when an unknown application tries to connect to the internet
Please see the application-specific configuration section below - it uses the same screen.
Band Switcher application
Currently this application is not skinned / nice-looking because it still contains some debug functionality.
This application can be used to manually instruct WMLongLife to switch to 2G, 3G (auto) and 3G (only) bands. While WMLongLife should do all this for you at the right time, there will be times when you want to override. It also offers the feature to disconnect cellular data connections, and jump to the configuration application.
There is also a "WMLongLife controlled" button. This will return band-switching control to WMLongLife if you have previously selected a band manually. If the Screen / Return control to WMLongLife when the screen turns off option is enabled, this will also automatically happen when the screen goes off - and stays off for a while.
Configuration
The configuration application offers access to the myriad of features that are present in WMLongLife. It is divided into three main screens: home (about), settings, and application-specific settings.
Configuration - Settings
Radio / Radio chip model
Select the radio model you are using here. This should be auto-detected on first installation. If this option is not set correctly, WMLongLife will not switch bands.
Radio / 3G mode
By default when WMLongLife switches to 3G, it uses the 3G (auto) mode. This lets your radio decide whether to use 2G or 3G, based on signal. The other mode is 3G (only). This mode will force the radio to use only 3G, and you will have no signal if only 2G is available.
Radio / GSM band for Samsung radio
If you are using the Samsung radio option, you will need to configure your GSM band here. Unfortunately there is currently no way to detect this.
Radio / After switching to 3G, connect to
This option allows you to set a connection to automatically connect to after WMLongLife has switched the device to 3G.
Radio / Restart push mail after band switch
Enable this option if you are using Microsoft push mail (Exchange Sync). It should be auto-detected, but this detection is not always perfect. If you are not using Microsoft push mail, I strongly advise you to turn this option off!
Screen / Switch to 3G when the screen turns on
Enabling this option will switch to 3G every time your screen turns on.
Screen / Switch to 2G when the screen turns off
Enabling this option will switch to 2G every time your screen turns off.
Screen / Screen off 2G switch delay
This configures how long to wait after the screen has turned off before switching to 2G. WMLongLife does not switch immediately after the screen goes off, as often you will turn on your screen again - if for example you were doing something but the screen went off automatically.
Screen / Return control to WMLongLife when the screen turns off
This option is relevant to the Band Switcher application. If you manually select a band to switch to in Band Switcher, WMLongLife will temporarily not switch bands itself. In Band Switcher there is also a button to return band-switching control to WMLongLife. If this option is enabled, band-switching control will be returned to WMLongLife automatically after the screen turns off (the Screen off 2G switch delay is also taken into account here).
Screen / Show band switch notification
This option configures whether or not you will see an On-Screen Display when WMLongLife switches bands.
Screen / Vibrate notifications
Very handy for debugging! When this option is enabled, WMLongLife will vibrate when loaded, when ready, and when switching. It may take WMLongLife over a minute to be actually loaded after the device is booted. When it is, it will vibrate very shortly three times (it may feel like a single long vibration). When WMLongLife is ready to allow automatic switching, it will vibrate shortly twice. When WMLongLife actually switches bands, it will vibrate once.
Applications / Switch to 3G on whitelisted application launch
This option configures whether or not to switch to 3G when you launch an application you have configured to use 3G. This is the heart of WMLongLife, disabling this option would usually not make any sense.
Applications / Switch to 2G on whitelisted application close
This option configures whether or not to switch to 2G when you close an application you have configured to use 3G. This option is disabled by default, and WMLongLife will switch back to 2G when the screen goes off instead. Enabling this option would make for a lot of band-switching to occur, while disabling this option ensures a band-switch should only occur once per 'phone-usage-session'.
Applications / Internal cache timeout
WMLongLife maintains an internal cache of all application windows. Because of technical reasons, the cache of these windows needs to be purged every once in a while. I recommend (for now) to keep this option set to 30 seconds.
Wi-Fi / Switch to 2G when Wi-Fi is connected
Enabling this option (default) will make WMLongLife switch to 2G when you connect to a Wi-Fi network.
USB / Switch to 2G when USB is connected
Enabling this option will make WMLongLife switch to 2G when you connect your phone to your computer using USB. This option is disabled by default, as it may cause excessive bandswitching if you are one of those people who cradle / uncradle their device often. USB also usually means charging, so the extra power needed for 3G is usually not an issue in this case.
Data / Disconnect idle connections
Enabling this option will disconnect idle data connections. If you have push mail enabled (and this is detected correctly) this option is turned off by default, else it should be turned on.
Data / Idle connection timeout
This option configures how long a data connection needs to be idle before WMLongLife disconnects it.
Data / Disconnect idle connections when the screen is on
If this option is not enabled, WMLongLife will only disconnect data connections when the screen is off.
Data / Disconnect idle connections when the applications are running
If this option is not enabled, WMLongLife will not disconnect data connections when a whitelisted application is running.
The Manual #2 (0.5 and newer) - READ IT! + Some screenshots from 0.55 (resized)
Data / Disallow background connections
When this option is enabled, WMLongLife will deny access to applications creating so called "background" connections, and only allow "interactive" connections. When an application connects to the internet, it tells Connection Manager some specifics. Only interactive applications like browsers / YouTube / etc should create "interactive" connections, while other application that need something from the internet but which you did not manually initiate should create "background" connections. Obviously this setting only has an effect on applications that set this information correctly. If you have connection notifications turned on, "interactive" connections are the ones that pop-up a "Connecting to ..." bubble - "background" connections do not do this.
Roaming / Disable cellular data connections when roaming [no longer available in 0.65, use RoamFreely instead]
This option allows you to configure which data connections you want to disable when you are roaming.
Roaming / Switch to 2G when roaming
When this option is enabled, WMLongLife will switch to 2G when you are roaming.
Roaming / Treat 2G as roaming [no longer available in 0.65, use RoamFreely instead]
When this option is enabled, WMLongLife will treat a 2G signal as if you are roaming. Obviously, when using this option, you should disable all other options that may make the device switch to 2G - if you don't, this will result in WMLongLife always thinking you are roaming.
Roaming / Turn off AGPS when roaming [no longer available in 0.65, use RoamFreely instead]
This option should only be enabled if you actually use AGPS. This should be auto detected upon first installation, however this detection does not always work correctly. If you do not use AGPS, make sure this option is turned off. If you do not use AGPS but this option is enabled, WMLongLife will also enable AGPS when you are not roaming. If your AGPS is not properly configured, this may slow down normal GPS operation.
Configuration - Application specific
WMLongLife comes preconfigured with optimal settings for various common applications. However, should you use an application that is not listed here, WMLongLife will automatically pop-up a configuration box when that application tries to use the internet. It is not possible to manually add or remove applications from the application list - and this is completely unnecessary!
The application specific configuration screen shows the list of configured applications, and icons to show their currently configured options. When you click an application in the list, the application configuration screen will popup.
There are five options in this popup: 3G, Screen/Off, Wi-Fi and USB.
3G
This option decides whether or not WMLongLife should give 3G to this application. If the 3G option is not enabled, all the other options are not relevant.
Screen/Off
This option decides whether or not WMLongLife should give 3G to this application, even if the screen is turned off. Most applications do not need this - pretty much the only exceptions are tethering applications.
Wi-Fi
This option lets WMLongLife know if this application can use Wi-Fi instead of 3G for its internet connection. Most applications can, however obvious exceptions are (again) tethering applications.
USB
This option lets WMLongLife know if this application can use USB instead of 3G for its internet connection. Most applications can, however obvious exceptions are (again) tethering applications.
Background time-out
This option configures how long WMLongLife will treat an application as "running" if it has not been actually visible on your screen. This only applies to applications that do not actually close when you press the "X" button. If an application is truly closed, WMLongLife will immediately treat it as "not running". However, applications like for example the Opera browser will always remain running in the background, whether you are using them or not, these will be treated as "not running" when they have not been "seen" for the length of time the background time-out is configured.
Most applications should be fine with a setting of 5 minutes or less. Applications that continue to use the data connection (like tethering applications) should have the time-out disabled.
----
To-do & Issues & Changelogs
To-do & Issues
[bug] Sometimes WMLL will not switch when device is booted in 2G *not reproducable so far*
[bug] Allow ConnMgr connections not directed at cellular networks while switching
[bug] Some device/rom combo's drain battery with WMLL... unattended mode issue? *not reproducable so far*
[improvement] Rethink "screen on --> 3G" strategies to be less annoying... perhaps detect user opening the dialer?
[improvement] Improve switching on Samsung devices and auto mode 2g/3g priority
[feature] Auto switch to 3G (auto) if no signal can be found in 2G or 3G (only) modes
[feature/maybe] Make smaller 'switching bands' notification
[feature/maybe] Add option to let the user select band on specific application launch (maybe also Wi-Fi ?)
[feature/maybe] Add option to let the user deny internet access completely to specific applications
[skin] Finish/update missing gfx target: 0.70
[skin] Skin BandSwitcher app target: 0.70
Changelog - 0.66.302 (PUBLIC)
[feature/maybe] Add option to allow background connections only on 3G etc [fixed bug, added option] PLEASE RECONFIGURE THE "DISALLOW BACKGROUND CONNECTIONS" OPTION !
[feature] Timebomb removed
Changelog - 0.65.287 (PUBLIC)
[bug] Find/fix unattended mode sometimes not working [fixed ?]
[bug] Something is broken with the idle data disconnect [fixed ?]
[improvement] Minor algorithm changes
[improvement] Minor settings handling changes
[improvement] Made vibrations a bit longer, as on some devices they were not noticable
[improvement] Improve push mail restart (now sometimes pops up ActiveSync) [implemented]
[removal] Most roaming functions have moved to my RoamFreely app. Details about how and why can be found in the 0.65 release notes
[addition] A simple API has been added
Changelog - 0.62.211 (PUBLIC)
Experimental HD2 changes
Changelog - 0.60.200 (PUBLIC)
[feature] Added option to immediately start an internet connection after switching to 3G
[feature] Added vibrating notifications
[feature] Added option to disallow "background connections"
Changelog - 0.60.191
Config and AppConfig now much faster (usable now )
Added several preconfigured applications, including some who are not configurable through the Config app to prevent issues
Improved IPC
Added friendly descriptions for the preconfigured apps
Modified loading pattern
Fixed screen-on/3g-switch/call-drop issue
Improved skin compression (+- 50%)
[bug] After user band override, treat as screen has been off (no more waiting)
[bug] Find/fix issue with sometimes not loading
[bug] Improve connected-to-network detection
[bug] Find/fix configuration lost issue (hopefully)
[bug] Wi-Fi on -> Opera (stays in 2G) -> close Opera -> Wi-Fi off -> 3G - should stay in 2G (hopefully)
[feature] Implement Omnia II compatibility
[feature] Add option to not show OSD notifications
[feature] Implement roaming options
[feature] Added support for disabling AGPS while roaming
[feature] Added support for Samsung's "uber-fast" band switching (can still be improved)
[feature] Add current status to config app
[skin] Select-popup-box skinned
[skin] Program-state-icons skinned
[skin] Added (temporary) program icons
[skin] Implement (W)QVGA skin
Changelog - 0.50 (beta - private)
Added support for Samsung Omnia
Addes support for MSM75xx (HTC CDMA) devices
Added several preconfigured applications
Turned WMLongLife into a service
Created separate configuration app
Created separate application-specific configuration app
Application-specific configuration app pops up on new unknown connection
Applications are now 'paused' when the band switch is made
Added various configuration options
Added BandSwitcher application
Added code to cope with Wi-Fi and USB connections
Many adjustments to application detection and handling
Usable full-time
(0.5 = changes since 0.2, written after the fact, is not complete)
WMLongLife API (new in 0.65)
I added a really small and simple API as it has been requested by several people.
The DLL file is WMLongLifeAPI.dll and is installed in your \Windows. Use LoadLibrary and GetProcAddress to get at the functions.
Here are the function definitions:
Code:
DWORD WMLL_APIVersion();
BOOL WMLL_IsRunning();
#define BAND_SWITCH_WMLL 0
#define BAND_SWITCH_2G 1
#define BAND_SWITCH_3G_AUTO 2
#define BAND_SWITCH_3G_FORCE 3
VOID WMLL_BandSwitch(DWORD band);
VOID WMLL_DataDisconnect();
VOID WMLL_ReloadSettings();
DWORD WMLL_APIVersion();
Returns the current API version. WMLongLife 0.65 returns 0x100 - or API version 1.00.
BOOL WMLL_IsRunning();
Returns whether or not WMLongLife is loaded and running. Note that WMLongLife can take up to a minute (sometimes longer) to activate itself.
VOID WMLL_BandSwitch(DWORD band);
Instructs WMLongLife to switch bands.
As band parameter use one of the BAND_SWITCH_* values listed above. BAND_SWITCH_WMLL returns control of band switching back to WMLongLife. Note that this may happen automatically when the screen goes off, this depends on WMLongLife configuration options.
VOID WMLL_DataDisconnect();
Instructs WMLongLife to disconnect all cellular data connections.
VOID WMLL_ReloadSettings();
Instructs WMLongLife to reload all settings from registry.
You are a genius and you are super witty to boot! Thanks, I will report bugs if I find any!
This is brilliant.. if only I had a MSM device..
i780 is also on the to-do list.. I just happen to have one lying here next to me
Sounds like something these MSM based 3G smartphones need (especially those for CDMA networks). I'll definitely test it and give you my feed back.
Soul_Est said:
Sounds like something these MSM based 3G smartphones need (especially those for CDMA networks). I'll definitely test it and give you my feed back.
Click to expand...
Click to collapse
Well as stated everywhere, this is only for GSM... there's no CDMA equivalent. (perhaps one day?)
What a great idea for a program, like seriously this is great stuff .
You don't have to convince me......
http://forum.xda-developers.com/showthread.php?t=472727&highlight=worth+it%3F
Was waiting for something like this.......2 thumbs up!!
One app I thought of immediately that I feel needs 3g is youtube. I sometimes use Pandora, but I realize I am one of the few. Other than that, it sound like a superslick idea, and I will test and report bugs/updates on how it works for me.
Well crap... I'm on CDMA. Now my nuts are toast and my children will turn out looking like (the artist formerly known as) Prince.
Thanks for nothing Chainfire!
Look, you might've taken my guide a little too seriously. My intention was to differentiate between 2G and 3G as everything (almost) in life is relative.
if you had a 3G device running full time in your front pocket for 2 days, nothing will happen.
My point is, that the longer you radiate straight to your balls.. or any other organ, the chances to be harmed by it increases. now that's a FACT - radiation isn't healthy. so yeah, chernobyl was somewhat different considering the thousands of terawatts radiated... but that doesn't mean other stuff can't harm us. so let's just minimize the probability of us being able to grant life only to green children in the future, even if it's a 1% chance - why not make it 0.5?
I suggest EVERYONE uses Chainfire's app.. and.. if in the future, you need to buy it.. give in the 20/25$... it's worth it.
Chainfire, i suggest you consider other implementations as well.
our phones invest more energy in retaining a signal when the signal is low, which makes your phone radiate a lot more.
Maybe finding a way to disable this (if at all possible) will be good for us. of course, if someone needs a signal he can enable this option again...
Hehe! I know you shouldn't expect 3G to be really dangerous to your balls, and I primarily made the thing to save power. You may notice the first post is not entirely serious in nature But as said, less is always better.
Still though, having a source of heat close to the gonads has been proven to be bad for the swimmers (same reason why you should never put a laptop on your actual lap), but that is a different story which should be told a different time.
I'm always open to suggestions, though
I actually wasn't refering to you in the "taking it too seriously" matter but ok
nir36 said:
Chainfire, i suggest you consider other implementations as well.
our phones invest more energy in retaining a signal when the signal is low, which makes your phone radiate a lot more.
Maybe finding a way to disable this (if at all possible) will be good for us. of course, if someone needs a signal he can enable this option again...
Click to expand...
Click to collapse
i completely agree with this, while where you are going with this right now is absolutely great(dont get me wrong) this issue stated above at least i know for me has been a big issue. My phone will usually last 1 day EASY, but sometimes ill look down and it will be like 50% less than what i thought it would be. & i look and it has really low signal & is constantly connection/disconnection going form 2g-3g....
Just a thought i dont even no what you could do about this just wanted to state my opinion . Awesome work.
this sounds like it would be really interesting project i would love to see it working on other 3g phones (blackjack ii) i don't currently have one but given that i run beejive or implus all the time when my phone is on along with seven on three accounts and push email a lot of that stuff can be done on 2g rather then 3g and save data and power
Good news everyone, I also figured out how to do 2G<->3G on Omnia! Going to test if that works on the i780 as well.
This thread presents the information available within the Engineering Mode, which is a LG specific extension similar to Samsung's ServiceMode.
The thread is slip in six parts:
How to access the Engineering Mode
2G (GSM/GPRS/EDGE) radio information
3G (WCDMA/HSDPA/HSPA+) radio information
LTE radio information
Network Management / NAS (Non Access Stratum)
Understanding how the Engineering Mode works
How to access the Engineering Mode
The first thing to note is that the Engineering Mode view, provided by HiddenMenu.apk, relies on specific modifications LG added to the framework, more specifically the sending and receiving of RIL_OEM_HOOK_RAW.
Hence, contrary to the SamsungServiceMode.apk that can be install on CyanogenMod, here HiddemMenu will not work on a CyanogenMod ROM without re-implementing the functionnality LG added to the phone class.
First, to get into the application, enter 3845#*802# (that's for the international LG G2 version). Then select "WCDMA-Only", then "Modem Settings", then "Engineering Mode".
2G (GSM/GPRS/EDGE) radio information
You will note some of these screenshots have some blurry areas: this was done on purpose by myself, to anonymize the data. This menu presents information about the current 2G cell (ARFCN, C1, C2) as well as neighbours in GSM and GPRS/EDGE modes. We also get rx quality/tx power information, and various bits and pieces about AMR and GPRS.
3G (WCDMA/HSDPA/HSPA+) radio information
There are two menus, 3G and HSDPA. Various low-level information is shown, for example the PSC (Primary Scrambling Code) the antenna uses, as well as PSC for nearby antennas.
LTE radio information
This menu provides information when connected in 4G. It seems fairly less comprehensive that the 2G and 3G menus.
Network Management / NAS (Non Access Stratum)
This mode is fairly interesting, mostly due to its reporting of the current ciphering algorithm in use. However in packed switched mode (PS) this indicator seems limited to GPRS/EDGE (below, it appears the network uses GEA/3). In circuit switched mode it correctly reports the ciphering status as soon as a call is made or received; below, you can see the network uses A5/1 for GSM and UEA1 (Kasumi) for 3G calls. (for some reason in 3G the baseband only informs the "UEA" field. the "ciphering" field is unused).
Please note the NM menu seems limited to 2G/3G, when the phone is on LTE the fields have their default value.
Understanding how the Engineering Mode works
TBD - I might add information at some point here on how to use strace to peek at the QMI requests rild makes.
It's worth noting this application could be ported to the Nexus 4/5, since it appears from looking at the strings in the baseband LG also included these specific extensions.
Fantastic! Great Job. Can you also say something in OP what BP that phone is using? And if the APK relies on some specific libraries. Then perhaps we could pack up the APK with the libraries, to look at.
To everyone: Hey! Don't just do this blindly. You will ruin some essential functionality if you accidentally overwrite these files/libraries.
E:V:A said:
Fantastic! Great Job. Can you also say something in OP what BP that phone is using? And if the APK relies on some specific libraries. Then perhaps we could pack up the APK with the libraries, to look at.
To everyone: Hey! Don't just do this blindly. You will ruin some essential functionality if you accidentally overwrite these files/libraries.
Click to expand...
Click to collapse
Hi E:V:A,
AFAIK it is a MDM9x25.
Unfortunately LG Terms of use, which I agreed to, prohibit me from redistributing, disassembling or decompiling their binaries.
However there are two points to note:
HiddenMenu can be found in some stock ROM that have been made available on this site by various xda developers. Thanks guys!
Reverse-engineering is not a strict requirement. Instead I examine the side effects eg using strace. The samsung-ril developers used the same technique
please how to repiar my IMEI on lg g2 by useing engineering mode
Can this be used to sim unlock the sprint variant to work on ATT?
I think so although because the commitments make to the powers that be at LG strictly prohibit any type of such activities to be discussed lest the lg ivory towers no longer shield us from destruction
I finally got to the hidden menu, but I could not find the WCDMA only button.
Sent from my LG Optimus G Pro
I want the application I am developing to use the Wi-Fi and Mobile Data (cellular) interfaces simultaneously on my Android 11 Galaxy Tab S7 5G device. The setting "Mobile data always active" does indeed allow fast interface-changeover. However, both interfaces are never data-accessible simultaneously. Using a third-party channel-bonding VPN service, called Speedify, this is possible on this Galaxy Tab S7 5G tablet. Speedify uses something mysterious called channel bonding with their VPN service to accomplish this. Also, a Google Pixel running Android 11 is also able to use both interfaces simultaneously, without any third-party utility help. In addition, the Garmin ActiveCaptain App also, somehow, gives this tablet the ability to communicate on both interfaces, simultaneously. How can my application use both interfaces on a Galaxy Tab S7 5G without using the Speedify App (not possible because of security and business reasons)?
Did you get anywhere with this?
How have you verified the Garmin app has this functionality? And when are both interfaces used? I wonder if only one channel has a typical data connection, and the other is for some other purpose (location, or something).
I think Speedify gets around the usual OS limitations by creating a single virtual device that all requests go through, then they decide which network to send packets on. It is neat to hear this can work on a mobile device though! I had assumed their service was for people on more typical PC like hardware.
In a way I'm not surprised Google's own phone has managed some tricks others haven't. Though I'd hope it wasn't an Android 11 only feature (meaning 12+ don't/won't have it).
This assumption of only cell or wifi being active might be baked in at an OS level to force better battery life. Personally I like flexibility and choice, but I can imagine less knowledgeable users getting angry at their terrible battery life (after they enable a feature they don't understand).
Maybe this is worth filing a bug with Android and seeing what they say? Or asking Samsung directly?
I was bummed when I figured out I couldn't just pay two ISP's for internet service and load balance across both easily. That my consumer router's optional 2nd WAN port was only a failover option (use one or the other).
As you alluded, for Samsung phones and tablets running Android 11 or Android 12, the ultimate solution is to route both WiFi and Mobile Data (cellular) data through a virtual interface e.g. tun0, via a VPN tunnel interface. I believe this will "shield" the Samsung one-or-the other route-switching that prevents simultaneous operation over both WiFi and Mobile Data. I am assembling just such a VPN now. I could certainly use any tips or suggestions from others that have already been down this road.