Custom Bluetooth module for Nexus 5 (4.4.3) that works with BMW's ULF car kit - Nexus 5 General

Apologies for the links: as I am a new user, I am not allowed to directly link to outside sources. Please replace _ with :// or . (Forum suggestion: use optional pre-publication review for posts from new users that depend strongly on external links.)
INTRODUCTION: My BMW 318 (E46, 2004) had a factory default BMW ULF bluetooth module (early generation) that worked fine with my BB Q10 and all phones up to Android 4.1. From 4.2 onwards, I and many others have been having problems with keeping the Bluetooth connection alive for more than a few seconds. This has been widely reported but never addressed in stock Android. As even the latest OTA upgrade to 4.4.3 didn't solve it, I decided to compile the required Bluetooth kernel module myself.
BACKGROUND: The change from the Bluez to Bluedroid system in Android 4.2 caused the compatibility issues. User 'wulu' at the forums of CyanogenMod reported on how he patched his CM10.2 (and later) to include a patch that solves the issue. I repeated his procedure for stock 4.4.3 for the Nexus 5.
Markus Schmidt's problem description & patch: https_github_com/Root-Box/external_bluetooth_bluedroid/commit/97d2f6346bad56299f60cfcd8c45ad893a0da78c
Wulu's specifics for Nexus 5 & BMW's ULF for CM: http_forum_cyanogenmod_com/topic/77834-bluetooth-connection-drops-car-kit-bmw/
METHODS:
The following procedure is specifically to compiled the Bluetooth kernel module for the Nexus 5 hardware and the 4.4.3_r1.1 (OTA) release. It should therefore only work for this specific combination. If you want to compile the module yourself, please read the linked pages with Google's excellent instructions: http_source_android_com/source/initializing.html
Here are a couple of notes I made that deal with some specifics for my Mac and the Nexus 5:
On Mountain Lion (Mac), I had to use Xcode 5.0.2 to get past a compile error. See instructions here on how to download and use the older 5.0.2 version of Xcode: https_groups_google_com/forum/#!topic/android-building/FPCSo1xKJ4U
Do not download the "master" source using the repo command, but download "android-4.4.3_r1.1". The master source has post-OTA changes that make a compiled module incompatible with the OTA release for the Nexus 5. "android-4.4.3_r1.1" was listed on those pages as specifically the version that was used for the OTA 4.4.3 upgrade for the Nexus 5.
Setup the environment as instructed and add the three proprietary driver sets listed for the Nexus 5 and 4.4.3 (see "Building for devices" on the Google pages).
There is no need to use the full patch. You can make the two small modifications to the bta_ag_sdp.c file using any text editor. Find the file first (find . -name "bta_ag_sdp.c") and commend out the two lines with the minus signs given in wulu's the first post (or Markus Schmidt's patch) by putting a # in front of both lines: #if (p_scb->peer_features == 0), #p_scb->peer_features = p_attr->attr_value.v.u16;.
Select the "aosp_hammerhead-userdebug" (=Nexus 5) option with the lunch command, and compile using the make command. I was able to follow the instructions pretty much to the letter without any problems.
After the compilation I had two version of the file, in four locations. They are easily found using the find command (find . -name "bluetooth.default.so" -exec ls -la {} \. The bigger one (in the symbols subdirectory) is for debugging. The smaller one is the one I used (and which is linked in this message). It was located at "./out/target/product/hammerhead/system/lib/hw/bluetooth.default.so" in my source tree.
After this, it was pretty straightforward. I rooted my Nexus 5, re-installed FX (with paid-for Root add-on, but the free ES File Explorer should also work), uploaded the file via Dropbox and its Save to SD, transferred it to the R/W mounted system directory to replace /system/lib/hw/bluetooth.default.so with it, and restarted my phone. I also modified the config file (/system/etc/bluetooth/auto_pair_devlist.conf) that blacklists BMW components by commenting out most lines, but I am not sure if this is helpful or not.
RESULTS: It seems a little bit less stable than the Bluetooth connection I had with my Blackberry, but it definitely works. I was able to transfer my contacts and to make and receive calls. For anybody with stock KitKat 4.4.3 on the Nexus 5, here is the bluetooth.default.so kernel module: http_s000_tinyupload_com/index.php?file_id=07750725920558658087
DISCUSSION: The compilation procedure can undoubtedly be optimized. I compiled the entire source tree over several hours, just to be sure I didn't miss out on things. Feel free to give tips, but I'm happy that it worked at all.
CONCLUSION: Thanks to wulu's advice in the CM forum thread I was able to compile a patched Bluetooth module for stock Android with KitKat 4.4.3 that works with my BMW 318 (E46, 2004) ULF car kit.

That´s great! :good:
Is it possible for you to provide the same for Nexus 5 - 4.4.4 OTA ?

mnasty said:
That´s great! :good:
Is it possible for you to provide the same for Nexus 5 - 4.4.4 OTA ?
Click to expand...
Click to collapse
Yes, great job!
Nobody have already done this for 4.4.4 ? I'll do this if I have time.

ZeroKcm said:
Yes, great job!
Nobody have already done this for 4.4.4 ? I'll do this if I have time.
Click to expand...
Click to collapse
4.4.4 from 4.4.3 is only security fixes, everything else is the same.

Does 5.0 Lollipop resolve the BMW ULF connection issue?
guys, do you think 5.0 Lollipop would resolve the current BMW ULF connection problem? Have anyone tried the 5.0 yet ?
I'm still in 4.4.3 working great on N5 paring ULF 8th Gen kit, thanks for S1010, wulu and Alpejohn guiding me the entire process.

REV HRD said:
guys, do you think 5.0 Lollipop would resolve the current BMW ULF connection problem? Have anyone tried the 5.0 yet ?
I'm still in 4.4.3 working great on N5 paring ULF 8th Gen kit, thanks for S1010, wulu and Alpejohn guiding me the entire process.
Click to expand...
Click to collapse
I have the same disconnect issue with my Seat, haven't tried the fix cause I was running 4.4.4 and there was no ready module for it, but lollipop didn't fixed it. I tried compilation without success. I followed all the instructions and compiled it successfully, but after replacing it, bluetooth fails to start. In the logcat logs I can see that it complains there is no bluetooth (something like that, don't have the exact logs to check it now), seems the compiled so file is not compatible.
If anyone can give a hand on this

Not sure if Seat using the same implementation as BMW ULF kit provides, my family also has a 06 Audi A4 with stock BT, I don't experience any connection issue from the stock 4.4.3 on N5. I would think Audi / Seat might use the same BT module as they share most of the VW parts.

I experience the same disconnects. I was experiencing it and with the old phone Galaxy Nexus, till one day I updated to cyanogenmod and the problem was gone. Then changed the phone with Nexus5 and again I have the same issues, tried everything with no luck. Changing the kernel, doing some stuff with paid bluetooth apps to manage the phonebook that the car is accessing. So I suspect the problem is the same
(Seems I'm still not able to post links, I just prepared one with the Blutooth device model number and year on it, if it mean anything to someone it is from 03.2007).

Don't work in lollipop, in your free time please compile a new file.
Thks.
S1010 said:
Apologies for the links: as I am a new user, I am not allowed to directly link to outside sources. Please replace _ with :// or . (Forum suggestion: use optional pre-publication review for posts from new users that depend strongly on external links.)
INTRODUCTION: My BMW 318 (E46, 2004) had a factory default BMW ULF bluetooth module (early generation) that worked fine with my BB Q10 and all phones up to Android 4.1. From 4.2 onwards, I and many others have been having problems with keeping the Bluetooth connection alive for more than a few seconds. This has been widely reported but never addressed in stock Android. As even the latest OTA upgrade to 4.4.3 didn't solve it, I decided to compile the required Bluetooth kernel module myself.
BACKGROUND: The change from the Bluez to Bluedroid system in Android 4.2 caused the compatibility issues. User 'wulu' at the forums of CyanogenMod reported on how he patched his CM10.2 (and later) to include a patch that solves the issue. I repeated his procedure for stock 4.4.3 for the Nexus 5.
Markus Schmidt's problem description & patch: https_github_com/Root-Box/external_bluetooth_bluedroid/commit/97d2f6346bad56299f60cfcd8c45ad893a0da78c
Wulu's specifics for Nexus 5 & BMW's ULF for CM: http_forum_cyanogenmod_com/topic/77834-bluetooth-connection-drops-car-kit-bmw/
METHODS:
The following procedure is specifically to compiled the Bluetooth kernel module for the Nexus 5 hardware and the 4.4.3_r1.1 (OTA) release. It should therefore only work for this specific combination. If you want to compile the module yourself, please read the linked pages with Google's excellent instructions: http_source_android_com/source/initializing.html
Here are a couple of notes I made that deal with some specifics for my Mac and the Nexus 5:
On Mountain Lion (Mac), I had to use Xcode 5.0.2 to get past a compile error. See instructions here on how to download and use the older 5.0.2 version of Xcode: https_groups_google_com/forum/#!topic/android-building/FPCSo1xKJ4U
Do not download the "master" source using the repo command, but download "android-4.4.3_r1.1". The master source has post-OTA changes that make a compiled module incompatible with the OTA release for the Nexus 5. "android-4.4.3_r1.1" was listed on those pages as specifically the version that was used for the OTA 4.4.3 upgrade for the Nexus 5.
Setup the environment as instructed and add the three proprietary driver sets listed for the Nexus 5 and 4.4.3 (see "Building for devices" on the Google pages).
There is no need to use the full patch. You can make the two small modifications to the bta_ag_sdp.c file using any text editor. Find the file first (find . -name "bta_ag_sdp.c") and commend out the two lines with the minus signs given in wulu's the first post (or Markus Schmidt's patch) by putting a # in front of both lines: #if (p_scb->peer_features == 0), #p_scb->peer_features = p_attr->attr_value.v.u16;.
Select the "aosp_hammerhead-userdebug" (=Nexus 5) option with the lunch command, and compile using the make command. I was able to follow the instructions pretty much to the letter without any problems.
After the compilation I had two version of the file, in four locations. They are easily found using the find command (find . -name "bluetooth.default.so" -exec ls -la {} \. The bigger one (in the symbols subdirectory) is for debugging. The smaller one is the one I used (and which is linked in this message). It was located at "./out/target/product/hammerhead/system/lib/hw/bluetooth.default.so" in my source tree.
After this, it was pretty straightforward. I rooted my Nexus 5, re-installed FX (with paid-for Root add-on, but the free ES File Explorer should also work), uploaded the file via Dropbox and its Save to SD, transferred it to the R/W mounted system directory to replace /system/lib/hw/bluetooth.default.so with it, and restarted my phone. I also modified the config file (/system/etc/bluetooth/auto_pair_devlist.conf) that blacklists BMW components by commenting out most lines, but I am not sure if this is helpful or not.
RESULTS: It seems a little bit less stable than the Bluetooth connection I had with my Blackberry, but it definitely works. I was able to transfer my contacts and to make and receive calls. For anybody with stock KitKat 4.4.3 on the Nexus 5, here is the bluetooth.default.so kernel module: http_s000_tinyupload_com/index.php?file_id=07750725920558658087
DISCUSSION: The compilation procedure can undoubtedly be optimized. I compiled the entire source tree over several hours, just to be sure I didn't miss out on things. Feel free to give tips, but I'm happy that it worked at all.
CONCLUSION: Thanks to wulu's advice in the CM forum thread I was able to compile a patched Bluetooth module for stock Android with KitKat 4.4.3 that works with my BMW 318 (E46, 2004) ULF car kit.
Click to expand...
Click to collapse

FYI, had similar issue with 2009 E61 5 series. Solution was third party app (Bluetooth Phone book) and a full software update for the car from the dealer. The app cost a few quid, the dealer software update much more!
That said, it works perfectly with stock Lollipop and I consider it money well spent.
---------- Post added at 09:15 PM ---------- Previous post was at 09:13 PM ----------
FYI, it was this app: https://play.google.com/store/apps/details?id=com.android_rsap.irmc

Related

[ROM] Perf Tweaked Rom Build 1 by DJ_Steve

I take no credit for this, just passing information on for others to use. YMMV, use at your own risk..
roebeet pointed this out in irc;
SOURCE: http://notioninkhacks.com/forums/viewtopic.php?f=29&t=891
by StephenH » Wed Feb 16, 2011 1:58 pm
ok folks im hoping people can test this for me,
just built a new build (my first for the adam) based on the newest official 2.2 build but with some interesting tweaks
NOTE: i am a dev working for NI especially on honeycomb soon, but these roms are my own.
changelog:
New Kernel with NTFS support, android does not mount this by default but you can mount it via adb read only. (kernel has rw support but i couldnt get it to mount a ext drive rw)
Kernel has few other tweaks and changes and doesn seem to die when sleeping either now
performance tweaks (minor ones) made to the os itself
full google apps added (untested )
ability to disable ril/phone features to conserve battery (see below for info)
adhoc wifi courtesy of the update posted on this site previously
disabled some of the logspam that was enabled but isnt needed
boot.img is first stage prepped for honeycomb
install instructions
download the file linked below and copy to either sd or your adams internal memory and flash as normal
download:
Code:
Please refer to original post linked above for download link
RIL Disabling Information
ok this is a creative feature. all adams be them 3g or wifi only versions keep thje phone related applications and services running in the background and on the wifi only adams this causes a higher battery drain due to system constantly trying to connect to a network, i have implemented a way to disable this by setting a simple property in the system
to do this you need to edit the /system/build.prop file and change the mentioned line to 1 instead of 0 then reboot
if that doesn work then try the below route
open a terminal and run the following command then reboot
Code:
setprop persist.ril-off 1
Click to expand...
Click to collapse
I am amazed by the lack of discussion about this. I wonder if this Stephen fella can let that kernel out...
Sent from my ADR6300 using XDA App
football0552 said:
I am amazed by the lack of discussion about this. I wonder if this Stephen fella can let that kernel out...
Sent from my ADR6300 using XDA App
Click to expand...
Click to collapse
It is probably because there aren't very many Adam users yet.
keitht said:
It is probably because there aren't very many Adam users yet.
Click to expand...
Click to collapse
Yeah I think there are very very few adam owners out in the wild. Might be a decent bump after this next delivery round next week.
And NI has not officially released their kernel source and from my discussions with them I wouldn't expect it real soon. I did however explain to them that it will have to be eventually so I think they might be working on it.
rothnic said:
Yeah I think there are very very few adam owners out in the wild. Might be a decent bump after this next delivery round next week.
And NI has not officially released their kernel source and from my discussions with them I wouldn't expect it real soon. I did however explain to them that it will have to be eventually so I think they might be working on it.
Click to expand...
Click to collapse
They don't seem so keen on sharing huh? Interesting since they like to use other people's open source code...
Guess I will have to join in and start hounding them about it.
Sent from my ADR6300 using XDA App
keitht said:
It is probably because there aren't very many Adam users yet.
Click to expand...
Click to collapse
I second that. Am a fervent flasher (the right kind....) and when I get my Adam I will certainly be putting my own 2 cents in to get the most out of it, both OS and UI wise.
I am not alone, so definitely expect a flury of activity by Adam enthousiasts once the next 2 batches are delivered.
Sent from my HTC Desire using XDA App
You guys are lucky to have djsteve as your new Dev. He's put in a lot of work for the Dell Streak since it first came out and he will probably put in a lot of work for the Adam ink as well.
football0552 said:
I am amazed by the lack of discussion about this. I wonder if this Stephen fella can let that kernel out...
Sent from my ADR6300 using XDA App
Click to expand...
Click to collapse
Sent from my Dell Streak using XDA App
I get mine tommorrow so I'm very excited.. will def try this
sent from gv1.5 on g2
Update: 10/03/2011:
UPDATE: 10/03/2011:
time for another update
changelog:
reverted vold change as it screws up things
added some more perf tweaks,
added data2ext script from gtab forum on xda, seems to work nicely, can hit quadrant scores of ~3200 now
flash you will need to install yourself at moment, i forgot to readd it link for flash : http://forum.xda-developers.com/showpos ... stcount=26
Code:
refer to original thread/forum for download links
enjoy folks and if anyone wants to do another video feel free.
---------------
UPDATE: 17/02/2011:
ok have tweaked a bit more and made a few more changes.
changelog:
new vold added with ntfs mount support (see below for some issues known with this)
flash player added and should auto install
fixed market and facebook
fixed superuser ability
added estrongs file manger for root use
tweaked the ril scripts to be easier to use.
added modified nvrm_daemon to increase 2d framerate
Code:
refer to original thread/forum for download links
*note for VOLD, this now mounts ntfs drives read only, but it has slightly screwed up the mounts, if you power up device with no microsd plugged in it will mount the internal storage and allow access to is via usb, if you plug in a microsd or boot with one in it will mount both internal and external sds but share the external over usb, it quite happily detects and mounts my 1tb usb hdd which is ntfs formatted though now.
ril tweaks: now all you need to do is create a empty file on your memory card called riloff.txt then reboot and script should do the rest to reenable rename the file rilon.txt and reboot
enjoy folks and if anyone wants to do another video feel free.
-----------------------
ok folks im hoping people can test this for me,
just built a new build (my first for the adam) based on the newest official 2.2 build but with some interesting tweaks
NOTE: i am a dev working for NI especially on honeycomb soon, but these roms are my own.
changelog:
New Kernel with NTFS support, android does not mount this by default but you can mount it via adb read only. (kernel has rw support but i couldnt get it to mount a ext drive rw)
Kernel has few other tweaks and changes and doesn seem to die when sleeping either now
performance tweaks (minor ones) made to the os itself
full google apps added (untested )
ability to disable ril/phone features to conserve battery (see below for info)
adhoc wifi courtesy of the update posted on this site previously
disabled some of the logspam that was enabled but isnt needed
boot.img is first stage prepped for honeycomb
install instructions
download the file linked below and copy to either sd or your adams internal memory and flash as normal
Code:
refer to original thread/forum for download links
RIL Disabling Information
ok this is a creative feature. all adams be them 3g or wifi only versions keep thje phone related applications and services running in the background and on the wifi only adams this causes a higher battery drain due to system constantly trying to connect to a network, i have implemented a way to disable this by setting a simple property in the system
to do this you need to edit the /system/build.prop file and change the mentioned line to 1 instead of 0 then reboot
if that doesn work then try the below route
open a terminal and run the following command then reboot
Code:
setprop persist.ril-off 1
Last edited by StephenH on Thu Mar 10, 2011 6:15 pm, edited 2 times in total.
Click to expand...
Click to collapse

AGPS Patch Incredible S 3.1 & 2.2 | GET BACK TO RAPID GPS LOCK, CAN LOCK MORE SATS

AGPS Patch Incredible S 3.1 & 2.2 | GET BACK TO RAPID GPS LOCK, CAN LOCK MORE SATS
AGPS PATCH
REVIEW THE WHOLE THREAD BEFORE POSTING QUESTIONS.
List of officially supported devices is at the bottom of this post.
Use this if you're having GPS issues (unreliability, no functionality, etc.)
This patch provides a worldwide solution to GPS issue for multiple devices. Using a general ROM without this has resulted in 10+ minutes of GPS delay. Also, GPS lock kept being lost. By using this patch, most people experience a GPS lock within 10 seconds (2 - 20 seconds range can be expected). Typically, a device using this patch will lock onto 7 - 9 satellites. Users have reported up to 11 satellites being locked at once. Without this patch, the average satellite count is 4.
HOWTO INSTALL: (Remember to make a backup. See Notes section for what this patch does.)
Method 1:
1. Download the "ADB Push Installer". This contains all versions for the latest build and old v1.3 versions.
2. Extract the files into a specific folder.
3. Plug your device into the computer and get it ready for adb pushing. Nothing out of the ordinary required.
4. Open the batch file called "ADB Installation Script - RUN THIS" if you use Windows. Otherwise, run the Linux SH script if you use Linux.
5. Select the version you want from the list.
6. Follow the prompts to reboot. You're done.
4. Review the NOTES section.
Method 2:
1. Download the patch
2. Copy all file(s)* into /etc/ of the system (not sd-card) using ES File Explorer, Root Explorer, or some other form. You must have SYSTEM set to Mounted and Root enabled. Check your explorer app's SETTINGS to do this.
**Files will be: gps.conf & SUPLROOTCERT -OR- only gps.conf for NO-SSL builds.**
3. Reboot the device
4. Review the NOTES section.
*Files are located in the /system/ folder of the ZIP. Do not copy the other directories or folders.
Method 3 (easiest if you use a compatible version of CWR or CWM)*:
1. Download the patch
2. Boot into CWR (Clockwork Recovery)
3. Mount /system/ partition (on the main menu, select the "Mounts and storage" option, then "mount /system")
4. Flash the patch (on the main menu, select "Install zip from sdcard," then "choose zip from sdcard," and find the zip and select it)
If you receive "(Status 0) Installation aborted" this Method will not work for you. Use one of the other methods.
5. Reboot the device
6. Review the NOTES section.
*This was built for and works on Inspire 4G and DesireHD versions of Clockwork Recovery. The Google CWM Flashable Build has binaries known to work with CWM on the X8. It may work on other devices. Please message me your success if you try and flash with recovery version and phone model as part of the message.
Downloads:
SEE THE NOTES SECTION (PARTICULARLY NOTES 1,2, & 3) FOR ALL SORTS OF INFORMATION AND FACTS ABOUT THIS PATCH, WHAT EACH BUILD IS FOR, VERSION DIFFERENCES, AND KNOWN ISSUES WITH SOLUTIONS.
Recommended Builds (pick either):
Download the Google Specific No-SSL v3.1 build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific v3.1 build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Confused with all the options below? As the Notes section dictates: I recommend the GOOGLE BUILD of all devices. Other builds have changes in their SUPL server information and/or other variables pertinent to that manufacturer. These builds do not appear to operate as fast as Google build's but are available for your enjoyment.
3.x trunk Alternative Options (currently v3.1)
Download the ADB Push Installer here. (contains all current builds and v1.3 builds) (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific NO-SSL TWRP build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific NO-SSL build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific CWM Flashable build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the AT&T Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the T-Mobile Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Sony Ericsson Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
*The alternate patch removes a variable that some GPS hardware on older models cannot handle. Try this if you have problems with the standard patch.
2.x trunk Alternative Options (currently v2.2)
Download the ADB Push Installer here. (contains all current builds and v1.3 builds) (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific NO-SSL build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific CWM Flashable build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the AT&T Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the T-Mobile Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Sony Ericsson Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
*The alternate patch removes a variable that some GPS hardware on older models cannot handle. Try this if you have problems with the standard patch.
Changelog: (I'll try to keep this correct and current)
Code:
v3.1 update - New Version
introduced the NO SSL version for Google build. Shows faster performance times.
v3.1(HELP WITH THE MAINTANENCE COSTS - DONATE A FEW BUCKS)
introduced my own NTP pools
repaired the LG Alternate build (was same as standard build, compilation error)
v3.0 (HELP WITH THE MAINTANENCE COSTS - DONATE A FEW BUCKS)
based on v2.2 configuration
has my own XTRA/AGPS server instead of Qualcomm
re-added two AGPS variables from v1.3 (two beta-testers saw instant results with these re-added)
re-added on USE SUPL variable from v1.3 (two beta-testers saw instant results with these re-added)
variables are now divided into sections and sections have descriptions
Code:
v2.2 update - New Version
introduced the NO SSL version for Google build. Shows faster performance times.
v2.2 (additional builds added)
added a new SUPL version using data from Sony Ericsson
added an alternate release using LG SUPL servers
added an alternate release using Google SUPL servers
updated the ADB PUSH to include new versions
fixed broken download links for the patch
v2.2
removed local AGPS variable
removed local XTRA_SERVER variable
created LG Build with LG SUPL servers (some LG ROMs fail to work with non-LG SUPL servers)
reduced redundancy in NTP and XTRA (unnecessary entries)
added newly located SUPL server to T-Mobile build
v2.1 (encompassing changes between 1.3 to 2.1)
removed two NTP server pools
removed xtra1 server
removed multiple SUPL_HOST entries
aligned SUPL_HOST with SUPLROOTCERT in each package
increased QOS timeout from 89 to 100
removed QOS standalone timeout variable
removed extra AGPS variables
Old Versions:
3.x Trunk:
v3.0 ADB Push Installer
v3.0 Google Build
v3.0 Google Alternate Build
v3.0 Google CWM Build
v3.0 AT&T Build
v3.0 T-Mobile Build
v3.0 LG Build
v3.0 LG Alternate Build
v3.0 Sony Ericsson Build
v3.0 GPS Only Build
v3.0 GPS Only Alternate Build
2.x Trunk:
v2.1 Google Generic Build
v2.1 AT&T Specific Build
v2.1 T-Mobile Specific Build
v2.1 GPS.Conf Only Build
v2.1 GPS.Conf Only Build (alternate)
v2.0 Google Generic Build
v2.0 AT&T Specific Build
v2.0 T-Mobile Specific Build
v2.0 GPS.Conf Only Build
v2.0 GPS.Conf Only Build (alternate)
1.x Trunk:
Worldwide 1.3
Worldwide 1.3n (alternate)
North America 1.2
Worldwide 1.2
Worldwide 1.2n (alternate)
North America 1.1
Worldwide 1.1
Worldwide 1.0 (not recommended)
North America 1.0 (not recommended)
Rules For Posting Questions:
Read the Notes Section first. I will refuse to answer questions that can be answered by some reading. If it is based upon something in the Notes Section, REFER TO THE NOTE when asking.
Answer the following questions: What ROM you are using?, What kernel are you using?, What GPS apps you have installed?, Where is your general location?, Are you using a case?, Has your GPS worked fine before?, Does it work fine with some apps and not others?, What else happened around the time your GPS stopped working? -AND- Have you reviewed the Notes Section?
DO NOT criticize the user of custom third-party NTP pools and xtra.bin data as dangerous. You obviously HAVE NOT read the Notes section OR reviewed the concurrent branch 2.x to discover it offers the standard NTP pool and Qualcomm-based xtra.bin server.
Don't indulge yourself in ignornat posts. Provide information that may be relevant to helping. Simply stating "this stopped working" or "I can't get it to work" helps nothing and only annoys other readers AND those who may be willing to help you just will not do it.
NOTES Section:
This patch will work with virtually all Qualcomm, Android phones and has been reported to work with other chipsets as well. That means hundreds of devices could see a benefit to GPS performance from this patch.
This patch has various objectives to ensure stability and efficacy with GPS. Locally, the patch will replace your /system/etc/gps.conf and your /system/etc/suplrootcert if you have this file. You can compare the difference in what you have to this one to get an idea of all the changes. V3.1, onward, contains section descriptions for variables in use. Most notably, starting with v3.1 the aGPS Patch uses my own central NTP DNS pool and my own central xtra.bin server by default. The xtra.bin does have fallback servers should mine fail. But, that is very, VERY much an unlikely scenario. These two imperatives allow for better stability and speed by providing top-rated NTP servers and prime-routed network access to transmit the xtra.bin to your phone.
I recommend the GOOGLE BUILD of all trunks. However, you can use any build with any phone. You may have good luck with specific builds that do not fit your phone or carrier criteria. If you're curious, test it and see.
This works with ANY ROM unless the ROM has aGPS and/or GPS disabled in the code. This happens with CMx nightlies and some betas! I cannot fix this, neither can you.
Remember, this has to be reflashed when you update or change ROMs.
Short patch history: The 1.x trunk only flashed a modified gps.conf file which relied solely on Qualcomm and NTP.ORG. Starting with 2.x, a gps.conf and a matching SUPLROOTCERT file for SUPL server authentication is included. The 3.x trunk offers the same as v2.x but adds better sourcing for NTP data and for the xtra.bin file; it utilizes my own server to do so.
Why toss out SSL?Whether or not you have a current SUPL certificate is questionable. Some have expired. Some will expire soon. Either way, the servers may provide SSL access without proper certificates depending upon configuration. That aside, I have found that SSL and secure communications over data networks slows the response times. I see no reason to use SSL for location information. If someone has a logger to obtain your location, SSL will not assist in stopping it. The bad app will continue to obtain your information by "stealing" it and you have more problems than a simple SSL-SUPL communications leak.
NO-SSL Builds will not have a SUPLROOTCERT because these builds do not use SSL. The SUPLROOTCERT is a certificate used for authentication of SSL connections. There is no need for this file for the GPS at this point.
IF you have issues with v2.x or v3.x, your ROM might require more variables. Try the old worldwide v1.3 version in this instance.
IF you still are facing issues, it might be that your GPS hardware is very much outdated. Try any "Alternate" build to see if this helps.
CMx ROM users may not experience benefits from this patch. However, we have had good reports from CM users with one negative one. Remember to do all of the steps when flashing and the following notes are important too!
Reports indicate that this patch DOES WORK with the next iteration of Android, Jelly Bean. This patch has worked from Android 2.2 (Froyo) up through Android 4.1 (Jelly Bean). Therefore, it works with all iterations on the market. I will remove support as soon as it is confirmed to NOT work with a new version of Android.
Reports show that certain ROM's including some CM builds require a modification in the build.prop. You need to change "ro.ril.def.agps.mode = 2" or "ro.ril.def.agps.mode = 0" to be "ro.ril.def.agps.mode = 1" in order for aGPS to properly function. Only do this IF YOU ARE HAVING PROBLEMS after attempting the standard patch.
Your phone "learns" about the individual GPS satellites. This is part of the aGPS design. Don't be surprised if the first time you use GPS Status that it takes 20+ seconds to "lock".
I have read a lot that indicates that it is best to let your GPS run using any application for a while to "learn" aGPS information. I let GPS Status run for about 10 minutes (it has an option to disable the screen timeout, which I do) each "first time" to learn. I say each because I test a lot of tweaks and fully reset/delete GPS cached information to start retesting.
Remember, this has to be reflashed when you update or change ROMs. Each ROM will have its own gps.conf, normally not suited to all devices.
I use GPS Status to test my signal strength. It isn't 100% accurate, but it gives a very good sense of how the GPS is performing.
If you're wondering why GPS is slow on certain apps? Or, you show up as on a street when you're 6 meters away from it? Well, those apps process GPS data differently which is out of anyone's control except the app developer. Certain apps will force your location to a street until you pass the app error threshold. Food for thought.
DO NOT USE ANY OTHER GPS FIXING APPS with this patch. If you do, and you still have problems, I cannot help you. A number of these Apps will overwrite what my patch does dynamically.
Variables are described starting in v3.0. Open up gps.conf in a text editor to read about what variable sections are for. It isn't in-depth, but should be enough to help you get a general understanding.
Still having weak GPS reception? Take your case off. Cases have been known to affect signal, though some argue against it. Personally, I get 3 more sat's when I remove my case.
There is a reported variable that can cause some GPS units not to work as well as it should with this patch. This is very odd as it's hit-and-miss and only seems to cause problems on less than 10% of handsets. This doesn't mean it screws up anything! It's possibly an older piece of GPS hardware incompatible with this variable. Have no fear, v1.2 will remove this variable for the worldwide version. This issue is more prone to occur in DHD.
Tried taking the battery out for 30 seconds? Some have reported that their phone required the battery to be removed. First, power off the device. Second, remove the battery for 30 seconds. Third, put it back in and give it a try. I cannot explain this except for possible cache clearing.
Some Inspire 4G and DHD devices have hardware problems. There is a known problem that the spring connectors to the GPS antenna sometimes are out of place or quit touching. http://forum.xda-developers.com/showthread.php?t=1101066 provides a video on self-repair.
An error in flashing this patch means that this method will not work for you. Use one of the other methods for flashing this patch. Don't ask why or for a fix. There are hundreds of variations of recovery systems and update binaries. I do not have the time or desire to support them all. This is why I describe other install methods. Reference error: E:Error in /sdcard/android apps/agps.patch.google.build.nossl.v3.1.zip (Status 0) Installation aborted.
Location is way off? Like, not near you at all? This means your GPS is not actually being used. Try the following to resolve it: Goto Settings -> Locations and disable ALL options. Reboot into recovery. Clear Cache and Dalvik Cache. Reboot normally. Go back to Settings -> Locations and only enable GPS. Reboot once more and try your GPS again. If this didn't work, did you read all of the Notes such as the one about the battery or RIL?
Donations: If you wonder why I asked for donations, it's simple. Users of v3.x are gaining extra, noticeable benefit over v2.x. This comes at a cost to someone. I pay the bills to provide a reliable data setup to transmit the xtra.bin data file and to provide the top NTP SERVERS in one DNS pool. To help keep this going, I just ask for the user to consider a donation. Nothing more, nothing less. Thank you for your consideration.
AGPS Patch Officially Supported Devices:
Acer Iconia
Asus Transformer Prime
Asus Transformer (TF101)
Asus Transformer TF300T
HTC Inspire 4G
HTC Desire HD
HTC Sensation
HTC Incredible S
HTC Salsa
HTC Flyer
HTC Evo 3D
HTC Desire S
HTC Wildfire
HTC Wildfire S
HTC Droid Incredible 2
HTC Thunderbolt
HTC Desire
HTC Desire Z
HTC One X
LG GT-540 OPTIMUS
LG Optimus One
Motorola Triumph
Motorola Droid X2
Samsung Galaxy S II Skyrocket (SGH-I727)
Samsung Galaxy S II (I9100)
Samsung Galaxy S II (SGH-T989)
Samsung Galaxy S Plus I9000
Samsung Galaxy Nexus
Samssung Galaxy S III (AT&T, Rogers, Bell, Telus)
Samsung Galaxy S III I9300, I9305
Samsung Galaxy S 4G
Sony Ericcson XPERIA X8
* I do not officially support all devices that this patch is known to work on at this time. You may private message me your success story for official support considerations.
Thanks Section
While this has gone a long distance since its inception, I want to still send thanks to Angeldeath for permitting me to take his early work and start tweaking it for HTC Inspire 4G users. This inevitably led to what we have here today.
Thank you to all those who joined and participate in the testing community. Without their help, I couldn't get enough data to know how well this works on different devices and in various regions of this planet we call Earth.
Thank you eagleeyetom, husky69, and tamagotono for their work in building an ADB pushing environment for Windows and for Linux respectively.
If you are happy with the patch and find this thread useful, please consider pressing the "Thanks" button on any of my posts on this thread. You may also consider rating this thread with five stars if you're satisfied. You may do so just below "Search This Thread" on the right-side at the top of this post. Donations are appreciated (See last NOTE)
REVIEW THE WHOLE THREAD BEFORE POSTING QUESTIONS.
i tried the worldwide 1.2 but it didnt change anything, still couldnt get connection on arhd.
fasterfix from the market helped, gps lock-on after about 5sec.
edit: i will try the alternative and report back.
veitograf said:
i tried the worldwide 1.2 but it didnt change anything, still couldnt get connection on arhd.
fasterfix from the market helped, gps lock-on after about 5sec.
edit: i will try the alternative and report back.
Click to expand...
Click to collapse
Did you try v1.3? It's at the top of the post under "Downloads".
crypted said:
Did you try v1.3? It's at the top of the post under "Downloads".
Click to expand...
Click to collapse
1.3 works like a charm
i'm using madmaxx's Recovery, do i still need to perform this step -->
3. Mount /system/ partition (on the main menu, select the "Mounts and storage" option, then "mount /system")
baste07 said:
i'm using madmaxx's Recovery, do i still need to perform this step -->
3. Mount /system/ partition (on the main menu, select the "Mounts and storage" option, then "mount /system")
Click to expand...
Click to collapse
Honestly, mounting should be done automatically. I've left that step in there in case someone had a really old version of CWR installed. After you run through the process, you can open gps.conf and see if it changed on the phone.
crypted said:
Honestly, mounting should be done automatically. I've left that step in there in case someone had a really old version of CWR installed. After you run through the process, you can open gps.conf and see if it changed on the phone.
Click to expand...
Click to collapse
thanks i'll try this out!
I have a weird situation. My IncS doesn't like any kind of optimized gps.conf except the stock one. My IncS was bought in Hong Kong. Whenever I use an optimized gps.conf (including this one), GPS Status shows only 1-3 sats which are located exactly at the far north position and of course it can never get a lock. Resetting AGPS data doesn't help. Once I switch back to stock version, GPS can locate sats and lock normally.
I'm not complaining about my GPS. It's useable but not as stable and quick as my previous Hero. I just don't understand why it doesn't like these new gps.conf file. BTW, the stock gps.conf looks like this:
NTP_SERVER=north-america.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=supl.google.com
SUPL_PORT=7276
Click to expand...
Click to collapse
itandy said:
I have a weird situation. My IncS doesn't like any kind of optimized gps.conf except the stock one. My IncS was bought in Hong Kong. Whenever I use an optimized gps.conf (including this one), GPS Status shows only 1-3 sats which are located exactly at the far north position and of course it can never get a lock. Resetting AGPS data doesn't help. Once I switch back to stock version, GPS can locate sats and lock normally.
I'm not complaining about my GPS. It's useable but not as stable and quick as my previous Hero. I just don't understand why it doesn't like these new gps.conf file. BTW, the stock gps.conf looks like this:
Click to expand...
Click to collapse
Yeah, it should not behave like that whatsoever. And, your phone is fully unlocked? What ROM are you using? Do you have the best/recommended radio installed?
Other's have not stated the same problem when testing for the IncS release.
Are you inside or outside? What kind of visibility do you have sky wise?
crypted said:
Yeah, it should not behave like that whatsoever. And, your phone is fully unlocked? What ROM are you using? Do you have the best/recommended radio installed?
Other's have not stated the same problem when testing for the IncS release.
Are you inside or outside? What kind of visibility do you have sky wise?
Click to expand...
Click to collapse
I am really glad you are interested in my problem.
I'm currently using Virtuous Unity 2.37 with latest radio 3805.06.03.16. I've tried other radios before.
When I use GPS Status, I try to stay in open area. It's like my phone thinks all the satellates were in the far north.
Sent from my HTC Incredible S using Tapatalk
itandy said:
I am really glad you are interested in my problem.
I'm currently using Virtuous Unity 2.37 with latest radio 3805.06.03.16. I've tried other radios before.
When I use GPS Status, I try to stay in open area. It's like my phone thinks all the satellates were in the far north.
Sent from my HTC Incredible S using Tapatalk
Click to expand...
Click to collapse
Can you verify that the gps.conf on the device is actually the one I provide? And, do you have a suplrootcert there? If so, open it as a text doc. It will be jibberish but at the top you will see if it's Verisign, Tmobile, or what company. Let me know.
crypted said:
Can you verify that the gps.conf on the device is actually the one I provide? And, do you have a suplrootcert there? If so, open it as a text doc. It will be jibberish but at the top you will see if it's Verisign, Tmobile, or what company. Let me know.
Click to expand...
Click to collapse
Yes, I can confirm your GPS.conf file is there. But I found no /etc/SuplRootCert in my phone. So is it a problem?
Sent from my HTC Incredible S using Tapatalk
itandy said:
Yes, I can confirm your GPS.conf file is there. But I found no /etc/SuplRootCert in my phone. So is it a problem?
Sent from my HTC Incredible S using Tapatalk
Click to expand...
Click to collapse
Nope, shouldn't be an issue. Just was wondering about it.
Could you try with the stock ROM plus the GPS patch? Backup first, test, revert back to your normal setup.
crypted said:
Nope, shouldn't be an issue. Just was wondering about it.
Could you try with the stock ROM plus the GPS patch? Backup first, test, revert back to your normal setup.
Click to expand...
Click to collapse
Restoring back to stock is a huge undertaking. I might try it later. In the meantime, anything else I can try?
Sent from my HTC Incredible S using Tapatalk
itandy said:
Restoring back to stock is a huge undertaking. I might try it later. In the meantime, anything else I can try?
Sent from my HTC Incredible S using Tapatalk
Click to expand...
Click to collapse
I didn't mean literal stock. There normally is a ROM for phones that is just the stock ROM deoxed or whatever. I use ARHD right now. It's available for your phone. Give it a go.
-------
Also,
In preparing for the next iteration of the GPS patch, I'm trying to get a better grasp of the suplrootcert's on various devices. So far I have Verisign and TMobile. If anyone would be willing to check their phone and let me know if they have a different one (via private message here on xda)that would be great!
You can find "suplrootcert" as a file in /etc/ just like where the gps.conf is located.
To see which you have, open it up as a text document. It will look like jibberish. But, the top portion will say a company name within the jibberish. If you don't see Verisign or Tmobile, I would like to get ahold of the one on your device!!!
crypted said:
I didn't mean literal stock. There normally is a ROM for phones that is just the stock ROM deoxed or whatever. I use ARHD right now. It's available for your phone. Give it a go.
Click to expand...
Click to collapse
Oh, before using VU, I was actually using ARHD and had the same problem. Anyway, really appropriate your help.
Sent from my HTC Incredible S using Tapatalk
itandy said:
Oh, before using VU, I was actually using ARHD and had the same problem. Anyway, really appropriate your help.
Click to expand...
Click to collapse
Did it work fine before the patch, though? Can you get a screenshot of GPS Status after running for about 2 minutes?
I'm sorry I can't quickly resolve your phones issue. I'm curious about its hardware and whether it was greatly stable beforehand, or what...
Hi!
Tried the patch 1.3, but no change. It takes about 2-5 mins to get a signal/lock.. I have always had this problem, and it disconnects easily. Donno why..
ROM: ARHD 1.1.7
BWA80 said:
Hi!
Tried the patch 1.3, but no change. It takes about 2-5 mins to get a signal/lock.. I have always had this problem, and it disconnects easily. Donno why..
ROM: ARHD 1.1.7
Click to expand...
Click to collapse
Do you have a case on it? Wifi enabled? Did you let GPS Status sit and run for several minutes? Consider doing this outside with a clear sky view maybe at a park nearby. I know, it's getting cold up in Finland.
crypted said:
Do you have a case on it? Wifi enabled? Did you let GPS Status sit and run for several minutes? Consider doing this outside with a clear sky view maybe at a park nearby. I know, it's getting cold up in Finland.
Click to expand...
Click to collapse
HEHEHE, good one!
Actually anything above 0 celsius is summer for us, how sad is that..
No case, my baby is totally naked. wifi not enabled. I´ll do the GPS status sit and run tomorrow, too dark now and the wolves are howling.
Will report back.
Thanks!!

AGPS Patch LG Optimus One 3.1 & 2.2 | GET BACK TO RAPID GPS LOCK & MORE SATS

AGPS PATCH
REVIEW THE WHOLE THREAD BEFORE POSTING QUESTIONS.
List of officially supported devices is at the bottom of this post.
Use this if you're having GPS issues (unreliability, no functionality, etc.)
This patch provides a worldwide solution to GPS issue for multiple devices. Using a general ROM without this has resulted in 10+ minutes of GPS delay. Also, GPS lock kept being lost. By using this patch, most people experience a GPS lock within 10 seconds (2 - 20 seconds range can be expected). Typically, a device using this patch will lock onto 7 - 9 satellites. Users have reported up to 11 satellites being locked at once. Without this patch, the average satellite count is 4.
HOWTO INSTALL: (Remember to make a backup. See Notes section for what this patch does.)
Method 1:
1. Download the "ADB Push Installer". This contains all versions for the latest build and old v1.3 versions.
2. Extract the files into a specific folder.
3. Plug your device into the computer and get it ready for adb pushing. Nothing out of the ordinary required.
4. Open the batch file called "ADB Installation Script - RUN THIS" if you use Windows. Otherwise, run the Linux SH script if you use Linux.
5. Select the version you want from the list.
6. Follow the prompts to reboot. You're done.
4. Review the NOTES section.
Method 2:
1. Download the patch
2. Copy all file(s)* into /etc/ of the system (not sd-card) using ES File Explorer, Root Explorer, or some other form. You must have SYSTEM set to Mounted and Root enabled. Check your explorer app's SETTINGS to do this.
**Files will be: gps.conf & SUPLROOTCERT -OR- only gps.conf for NO-SSL builds.**
3. Reboot the device
4. Review the NOTES section.
*Files are located in the /system/ folder of the ZIP. Do not copy the other directories or folders.
Method 3 (easiest if you use a compatible version of CWR or CWM)*:
1. Download the patch
2. Boot into CWR (Clockwork Recovery)
3. Mount /system/ partition (on the main menu, select the "Mounts and storage" option, then "mount /system")
4. Flash the patch (on the main menu, select "Install zip from sdcard," then "choose zip from sdcard," and find the zip and select it)
If you receive "(Status 0) Installation aborted" this Method will not work for you. Use one of the other methods.
5. Reboot the device
6. Review the NOTES section.
*This was built for and works on Inspire 4G and DesireHD versions of Clockwork Recovery. The Google CWM Flashable Build has binaries known to work with CWM on the X8. It may work on other devices. Please message me your success if you try and flash with recovery version and phone model as part of the message.
Downloads:
SEE THE NOTES SECTION (PARTICULARLY NOTES 1,2, & 3) FOR ALL SORTS OF INFORMATION AND FACTS ABOUT THIS PATCH, WHAT EACH BUILD IS FOR, VERSION DIFFERENCES, AND KNOWN ISSUES WITH SOLUTIONS.
Recommended Builds (pick either):
Download the Google Specific No-SSL v3.1 build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific v3.1 build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Confused with all the options below? As the Notes section dictates: I recommend the GOOGLE BUILD of all devices. Other builds have changes in their SUPL server information and/or other variables pertinent to that manufacturer. These builds do not appear to operate as fast as Google build's but are available for your enjoyment.
3.x trunk Alternative Options (currently v3.1)
Download the ADB Push Installer here. (contains all current builds and v1.3 builds) (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific NO-SSL build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific CWM Flashable build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the AT&T Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the T-Mobile Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Sony Ericsson Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
*The alternate patch removes a variable that some GPS hardware on older models cannot handle. Try this if you have problems with the standard patch.
2.x trunk Alternative Options (currently v2.2)
Download the ADB Push Installer here. (contains all current builds and v1.3 builds) (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific NO-SSL build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific CWM Flashable build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the AT&T Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the T-Mobile Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Sony Ericsson Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
*The alternate patch removes a variable that some GPS hardware on older models cannot handle. Try this if you have problems with the standard patch.
Changelog: (I'll try to keep this correct and current)
Code:
v3.1 update - New Version
introduced the NO SSL version for Google build. Shows faster performance times.
v3.1(HELP WITH THE MAINTANENCE COSTS - DONATE A FEW BUCKS)
introduced my own NTP pools
repaired the LG Alternate build (was same as standard build, compilation error)
v3.0 (HELP WITH THE MAINTANENCE COSTS - DONATE A FEW BUCKS)
based on v2.2 configuration
has my own XTRA/AGPS server instead of Qualcomm
re-added two AGPS variables from v1.3 (two beta-testers saw instant results with these re-added)
re-added on USE SUPL variable from v1.3 (two beta-testers saw instant results with these re-added)
variables are now divided into sections and sections have descriptions
Code:
v2.2 update - New Version
introduced the NO SSL version for Google build. Shows faster performance times.
v2.2 (additional builds added)
added a new SUPL version using data from Sony Ericsson
added an alternate release using LG SUPL servers
added an alternate release using Google SUPL servers
updated the ADB PUSH to include new versions
fixed broken download links for the patch
v2.2
removed local AGPS variable
removed local XTRA_SERVER variable
created LG Build with LG SUPL servers (some LG ROMs fail to work with non-LG SUPL servers)
reduced redundancy in NTP and XTRA (unnecessary entries)
added newly located SUPL server to T-Mobile build
v2.1 (encompassing changes between 1.3 to 2.1)
removed two NTP server pools
removed xtra1 server
removed multiple SUPL_HOST entries
aligned SUPL_HOST with SUPLROOTCERT in each package
increased QOS timeout from 89 to 100
removed QOS standalone timeout variable
removed extra AGPS variables
Old Versions:
3.x Trunk:
v3.0 ADB Push Installer
v3.0 Google Build
v3.0 Google Alternate Build
v3.0 Google CWM Build
v3.0 AT&T Build
v3.0 T-Mobile Build
v3.0 LG Build
v3.0 LG Alternate Build
v3.0 Sony Ericsson Build
v3.0 GPS Only Build
v3.0 GPS Only Alternate Build
2.x Trunk:
v2.1 Google Generic Build
v2.1 AT&T Specific Build
v2.1 T-Mobile Specific Build
v2.1 GPS.Conf Only Build
v2.1 GPS.Conf Only Build (alternate)
v2.0 Google Generic Build
v2.0 AT&T Specific Build
v2.0 T-Mobile Specific Build
v2.0 GPS.Conf Only Build
v2.0 GPS.Conf Only Build (alternate)
1.x Trunk:
Worldwide 1.3
Worldwide 1.3n (alternate)
North America 1.2
Worldwide 1.2
Worldwide 1.2n (alternate)
North America 1.1
Worldwide 1.1
Worldwide 1.0 (not recommended)
North America 1.0 (not recommended)
Rules For Posting Questions:
Read the Notes Section first. I will refuse to answer questions that can be answered by some reading. If it is based upon something in the Notes Section, REFER TO THE NOTE when asking.
Answer the following questions: What ROM you are using?, What kernel are you using?, What GPS apps you have installed?, Where is your general location?, Are you using a case?, Has your GPS worked fine before?, Does it work fine with some apps and not others?, What else happened around the time your GPS stopped working? -AND- Have you reviewed the Notes Section?
DO NOT criticize the user of custom third-party NTP pools and xtra.bin data as dangerous. You obviously HAVE NOT read the Notes section OR reviewed the concurrent branch 2.x to discover it offers the standard NTP pool and Qualcomm-based xtra.bin server.
Don't indulge yourself in ignornat posts. Provide information that may be relevant to helping. Simply stating "this stopped working" or "I can't get it to work" helps nothing and only annoys other readers AND those who may be willing to help you just will not do it.
NOTES Section:
This patch will work with virtually all Qualcomm, Android phones and has been reported to work with other chipsets as well. That means hundreds of devices could see a benefit to GPS performance from this patch.
This patch has various objectives to ensure stability and efficacy with GPS. Locally, the patch will replace your /system/etc/gps.conf and your /system/etc/suplrootcert if you have this file. You can compare the difference in what you have to this one to get an idea of all the changes. V3.1, onward, contains section descriptions for variables in use. Most notably, starting with v3.1 the aGPS Patch uses my own central NTP DNS pool and my own central xtra.bin server by default. The xtra.bin does have fallback servers should mine fail. But, that is very, VERY much an unlikely scenario. These two imperatives allow for better stability and speed by providing top-rated NTP servers and prime-routed network access to transmit the xtra.bin to your phone.
I recommend the GOOGLE BUILD of all trunks. However, you can use any build with any phone. You may have good luck with specific builds that do not fit your phone or carrier criteria. If you're curious, test it and see.
This works with ANY ROM unless the ROM has aGPS and/or GPS disabled in the code. This happens with CMx nightlies and some betas! I cannot fix this, neither can you.
Remember, this has to be reflashed when you update or change ROMs.
Short patch history: The 1.x trunk only flashed a modified gps.conf file which relied solely on Qualcomm and NTP.ORG. Starting with 2.x, a gps.conf and a matching SUPLROOTCERT file for SUPL server authentication is included. The 3.x trunk offers the same as v2.x but adds better sourcing for NTP data and for the xtra.bin file; it utilizes my own server to do so.
Why toss out SSL?Whether or not you have a current SUPL certificate is questionable. Some have expired. Some will expire soon. Either way, the servers may provide SSL access without proper certificates depending upon configuration. That aside, I have found that SSL and secure communications over data networks slows the response times. I see no reason to use SSL for location information. If someone has a logger to obtain your location, SSL will not assist in stopping it. The bad app will continue to obtain your information by "stealing" it and you have more problems than a simple SSL-SUPL communications leak.
NO-SSL Builds will not have a SUPLROOTCERT because these builds do not use SSL. The SUPLROOTCERT is a certificate used for authentication of SSL connections. There is no need for this file for the GPS at this point.
IF you have issues with v2.x or v3.x, your ROM might require more variables. Try the old worldwide v1.3 version in this instance.
IF you still are facing issues, it might be that your GPS hardware is very much outdated. Try any "Alternate" build to see if this helps.
CMx ROM users may not experience benefits from this patch. However, we have had good reports from CM users with one negative one. Remember to do all of the steps when flashing and the following notes are important too!
Reports indicate that this patch DOES WORK with the next iteration of Android, Jelly Bean. This patch has worked from Android 2.2 (Froyo) up through Android 4.1 (Jelly Bean). Therefore, it works with all iterations on the market. I will remove support as soon as it is confirmed to NOT work with a new version of Android.
Reports show that certain ROM's including some CM builds require a modification in the build.prop. You need to change "ro.ril.def.agps.mode = 2" or "ro.ril.def.agps.mode = 0" to be "ro.ril.def.agps.mode = 1" in order for aGPS to properly function. Only do this IF YOU ARE HAVING PROBLEMS after attempting the standard patch.
Your phone "learns" about the individual GPS satellites. This is part of the aGPS design. Don't be surprised if the first time you use GPS Status that it takes 20+ seconds to "lock".
I have read a lot that indicates that it is best to let your GPS run using any application for a while to "learn" aGPS information. I let GPS Status run for about 10 minutes (it has an option to disable the screen timeout, which I do) each "first time" to learn. I say each because I test a lot of tweaks and fully reset/delete GPS cached information to start retesting.
Remember, this has to be reflashed when you update or change ROMs. Each ROM will have its own gps.conf, normally not suited to all devices.
I use GPS Status to test my signal strength. It isn't 100% accurate, but it gives a very good sense of how the GPS is performing.
If you're wondering why GPS is slow on certain apps? Or, you show up as on a street when you're 6 meters away from it? Well, those apps process GPS data differently which is out of anyone's control except the app developer. Certain apps will force your location to a street until you pass the app error threshold. Food for thought.
DO NOT USE ANY OTHER GPS FIXING APPS with this patch. If you do, and you still have problems, I cannot help you. A number of these Apps will overwrite what my patch does dynamically.
Variables are described starting in v3.0. Open up gps.conf in a text editor to read about what variable sections are for. It isn't in-depth, but should be enough to help you get a general understanding.
Still having weak GPS reception? Take your case off. Cases have been known to affect signal, though some argue against it. Personally, I get 3 more sat's when I remove my case.
There is a reported variable that can cause some GPS units not to work as well as it should with this patch. This is very odd as it's hit-and-miss and only seems to cause problems on less than 10% of handsets. This doesn't mean it screws up anything! It's possibly an older piece of GPS hardware incompatible with this variable. Have no fear, v1.2 will remove this variable for the worldwide version. This issue is more prone to occur in DHD.
Tried taking the battery out for 30 seconds? Some have reported that their phone required the battery to be removed. First, power off the device. Second, remove the battery for 30 seconds. Third, put it back in and give it a try. I cannot explain this except for possible cache clearing.
Some Inspire 4G and DHD devices have hardware problems. There is a known problem that the spring connectors to the GPS antenna sometimes are out of place or quit touching. http://forum.xda-developers.com/showthread.php?t=1101066 provides a video on self-repair.
An error in flashing this patch means that this method will not work for you. Use one of the other methods for flashing this patch. Don't ask why or for a fix. There are hundreds of variations of recovery systems and update binaries. I do not have the time or desire to support them all. This is why I describe other install methods. Reference error: E:Error in /sdcard/android apps/agps.patch.google.build.nossl.v3.1.zip (Status 0) Installation aborted.
Location is way off? Like, not near you at all? This means your GPS is not actually being used. Try the following to resolve it: Goto Settings -> Locations and disable ALL options. Reboot into recovery. Clear Cache and Dalvik Cache. Reboot normally. Go back to Settings -> Locations and only enable GPS. Reboot once more and try your GPS again. If this didn't work, did you read all of the Notes such as the one about the battery or RIL?
Donations: If you wonder why I asked for donations, it's simple. Users of v3.x are gaining extra, noticeable benefit over v2.x. This comes at a cost to someone. I pay the bills to provide a reliable data setup to transmit the xtra.bin data file and to provide the top NTP SERVERS in one DNS pool. To help keep this going, I just ask for the user to consider a donation. Nothing more, nothing less. Thank you for your consideration.
AGPS Patch Officially Supported Devices:
Acer Iconia
Asus Transformer Prime
Asus Transformer (TF101)
Asus Transformer TF300T
HTC Inspire 4G
HTC Desire HD
HTC Sensation
HTC Incredible S
HTC Salsa
HTC Flyer
HTC Evo 3D
HTC Desire S
HTC Wildfire
HTC Wildfire S
HTC Droid Incredible 2
HTC Thunderbolt
HTC Desire
HTC Desire Z
HTC One X
LG GT-540 OPTIMUS
LG Optimus One
Motorola Triumph
Motorola Droid X2
Samsung Galaxy S II Skyrocket (SGH-I727)
Samsung Galaxy S II (I9100)
Samsung Galaxy S II (SGH-T989)
Samsung Galaxy S Plus I9000
Samsung Galaxy Nexus
Samsung Galaxy S III (AT&T, Rogers, Bell, Telus)
Samsung Galaxy S III I9300, I9305
Samsung Galaxy S 4G
Sony Ericcson XPERIA X8
* I do not officially support all devices that this patch is known to work on at this time. You may private message me your success story for official support considerations.
Thanks Section
While this has gone a long distance since its inception, I want to still send thanks to Angeldeath for permitting me to take his early work and start tweaking it for HTC Inspire 4G users. This inevitably led to what we have here today.
Thank you to all those who joined and participate in the testing community. Without their help, I couldn't get enough data to know how well this works on different devices and in various regions of this planet we call Earth.
Thank you eagleeyetom, husky69, and tamagotono for their work in building an ADB pushing environment for Windows and for Linux respectively.
If you are happy with the patch and find this thread useful, please consider pressing the "Thanks" button on any of my posts on this thread. You may also consider rating this thread with five stars if you're satisfied. You may do so just below "Search This Thread" on the right-side at the top of this post. Donations are appreciated (See last NOTE)
REVIEW THE WHOLE THREAD BEFORE POSTING QUESTIONS.
Thank you for this helpful post.
I have tested this extensively for a bit using gps status, and have come up with the following conclusion.
Personally, i live in Sydney, Australia, my optimus one is rooted with cyanogen mod by mik_os and fserves gbs kernel v18b.
For me this patch performed poorly compared to me using the market app Fasterfix, with which u select the region you are in and in sets your gps.conf accordingly( in my case i just deleted this patch after testing, and faster fix wrote a new gps.conf once i selected my region)
I experienced a MUCH better fix time using Fasterfix, then this patch. Where it took 10 secs to lock on using fasterfixs conf file, this patch took minutes. i got more satellites fixes with Faster fix as well, 11 satelites to the 9 i got with this patch.
And yes i let it sit for at least 10 minutes each time to "learn", but after every restart it still took a few minutes to the 10 seconds average from Fasterfix.
This is results for Australia, so this patch may still be more effective in other countries especially North America, where it originally came from.
Hope this review helps other members.
deniso177 said:
Thank you for this helpful post.
I have tested this extensively for a bit using gps status, and have come up with the following conclusion.
Personally, i live in Sydney, Australia, my optimus one is rooted with cyanogen mod by mik_os and fserves gbs kernel v18b.
For me this patch performed poorly compared to me using the market app Fasterfix, with which u select the region you are in and in sets your gps.conf accordingly( in my case i just deleted this patch after testing, and faster fix wrote a new gps.conf once i selected my region)
I experienced a MUCH better fix time using Fasterfix, then this patch. Where it took 10 secs to lock on using fasterfixs conf file, this patch took minutes. i got more satellites fixes with Faster fix as well, 11 satelites to the 9 i got with this patch.
And yes i let it sit for at least 10 minutes each time to "learn", but after every restart it still took a few minutes to the 10 seconds average from Fasterfix.
This is results for Australia, so this patch may still be more effective in other countries especially North America, where it originally came from.
Hope this review helps other members.
Click to expand...
Click to collapse
All Fasterfix would do differently is set it to AU specific timeservers. So, maybe you had some bad luck with a NTP timeserver while testing. I can't solve that (yet).
Beta testers have had great success with this, even the guys using this device. Originally, this device was not on my goal to support list. But, after multiple people reported great things, I added it.
So in conclusion, thank you for the commentary. Just keep in mind the "difference" isn't really one.
EDIT: I've heard numerous reports that the ROM you're using has been screwed up with aGPS support being hard-coded as disabled in compilations lately. That may have some bearing on your results, too. I'm not a user of that ROM nor do I have the phone, so I can't personally attest. But, someone sent me the code snippets that clearly show aGPS disabled.
I dont think it is disabled, as then it would never take 10 seconds to get a lock on, which it does for me currently.
But yes the patch does give me a server connection eventually, but it takes dramatically longer.
I guess your first line is right, use this if you are experiencing issues, other wise no need to fix something that isn't broken.
Also note, after originally installing this Rom, and getting onto fasterfix, it stated that my location was Europe or something, cant remember exactly, but point is it recognised the location, so that would be the problem for most users using my mod, and all they have to do is set it to their own location, which in my case was immediate success and gps fix is great
deniso177 said:
But if it is disabled wouldnt that mean i shouldn't get any reception at all?
But yes the patch does give me a server connection eventually, but it takes dramatically longer.
I guess your first line is right, use this if you are experiencing issues, other wise no need to fix something that isn't broken.
Also note, after originally installing this Rom, and getting onto fasterfix, it stated that my location was Europe or something, cant remember exactly, but point is it recognised the location, so that would be the problem for most users using my mod, and all they have to do is set it to their own location, which in my case was immediate success and gps fix is great
Click to expand...
Click to collapse
I can't please everyone...
And I'm not following your commentary. There is literally no way this patch would cause your location to go from one end of the earth to the other via GPS. All it does is switch on some variables that your hardware is capable of for processing your location quicker. And, it adds some assistance data to be downloaded which is used in conjunction with UTC time. The NTP timeservers rarely matter because the binary file for that data is based on a 24 hour clock and updates every hour to be 23.5 to 24 hours in advance to allow up to that much time without a data connection for quick GPS satellite data parsing.
Sorry what i was meant to say is that, i dont think agps is disabled in my rom, as then i would never get 10 seconds lock on as i currently do. But yes i guess i dont understand how this patch exactly works, as there isnt that much information what hardware properties it takes advantage over the default settings.
I was just trying to display my Particular results, for my particular rom in Australia, so i cant say that this patch would not be better on other scenarios or not.
Will be good to see more testers on here say there results from all over the world using a bunch of roms, including the stocks.
regarding the 2.x trunk, how do i know which one best suits my phone?
none of the builds say anything about location, although i am assuming that these builds were made for those in the u.s. as these are u.s. phone carriers.
obviously i should be considering the tmobile build but what makes this build different than the google build and the gps.conf?
sweetnsour said:
regarding the 2.x trunk, how do i know which one best suits my phone?
none of the builds say anything about location, although i am assuming that these builds were made for those in the u.s. as these are u.s. phone carriers.
obviously i should be considering the tmobile build but what makes this build different than the google build and the gps.conf?
Click to expand...
Click to collapse
The gps.conf download is what it says, it only has that file, the other downloads, have an extra file called SuplRootCert, which i am not sure what it does
deniso177 said:
The gps.conf download is what it says, it only has that file, the other downloads, have an extra file called SuplRootCert, which i am not sure what it does
Click to expand...
Click to collapse
Technically, all should work unless a provider is limiting SUPL use to LAN data and not roaming phones. That wouldn't make sense since they advertise world traveler plans.
I prefer the generic Google build myself even though I use AT&T as it's always been reliable.
sweetnsour said:
regarding the 2.x trunk, how do i know which one best suits my phone?
none of the builds say anything about location, although i am assuming that these builds were made for those in the u.s. as these are u.s. phone carriers.
obviously i should be considering the tmobile build but what makes this build different than the google build and the gps.conf?
Click to expand...
Click to collapse
SUPLROOTCERT is a verified certificate (think of it like https SSL websites). There is one for AT&T and its server, one for T-Mobile and its server, and one for Google and its server. Theoretically, their SUPL servers may deny your phone access for server assisted locating if your cert isn't matching the specifics for their server.
I collected what people were willing to send me and made versions based on that.
I have been using it since a month and must say this is great, works for me
i can't flash it E:Error or something like that
i using TWRP-ThunderG-v1.0.3.13b recovery and disabled verification
so, any idea ?
GonDr said:
i can't flash it E:Error or something like that
i using TWRP-ThunderG-v1.0.3.13b recovery and disabled verification
so, any idea ?
Click to expand...
Click to collapse
you can either:
a) redownload the file and try again
or
b) manually push the files into system/etc
Is it only for north america ? Can i flash it in italy ?
GonDr said:
i can't flash it E:Error or something like that
i using TWRP-ThunderG-v1.0.3.13b recovery and disabled verification
so, any idea ?
Click to expand...
Click to collapse
It is designed to flash using CWR. It will not flash with a number of other Recovery systems out there. That's why there is another method described. You have two other options: copying directly using ES File Explorer or Root Explorer -OR- adb push.
angeloilcampione said:
Is it only for north america ? Can i flash it in italy ?
Click to expand...
Click to collapse
This is worldwide. So should work fine. Lots of Europeans using it.
crypted said:
It is designed to flash using CWR. It will not flash with a number of other Recovery systems out there. That's why there is another method described. You have two other options: copying directly using ES File Explorer or Root Explorer -OR- adb push.
Click to expand...
Click to collapse
The flash zip you provided is corrupted/not working... It wont install neither with CWR nor TWRP nor Amon.... (Error Status (0))
BTW, theres no reason why TWRP would not flash... Just because your flash zip is screwed...
BTW2: http://forum.xda-developers.com/showthread.php?p=18141638#post18141638 , another user that is flashing zip from recovery and doesnt work
excellent crypted but if I download gps data with status gps could be overwritten the file gps.conf ?
+1
angeloilcampione said:
excellent crypted but if I download gps data with status gps could be overwritten the file gps.conf ?
+1
Click to expand...
Click to collapse
Nah. But, I just suggest using that tool to prove this does work. Typically, I only use Google Maps and I like to watch how I don't have a big blue circle around me anymore.
TakamineSubasa said:
The flash zip you provided is corrupted/not working... It wont install neither with CWR nor TWRP nor Amon.... (Error Status (0))
BTW, theres no reason why TWRP would not flash... Just because your flash zip is screwed...
BTW2: http://forum.xda-developers.com/showthread.php?p=18141638#post18141638 , another user that is flashing zip from recovery and doesnt work
Click to expand...
Click to collapse
I also get this error (CWM), and so when I copy the files using File Explorer (rooted) the gpsconf copies fine but it fails when trying to copy SuplRootCert
strange?
digitalface said:
I also get this error (CWM), and so when I copy the files using File Explorer (rooted) the gpsconf copies fine but it fails when trying to copy SuplRootCert
strange?
Click to expand...
Click to collapse
If this is with ES File Explorer, goto settings and enable root and mount system. You can delete the file with Terminal root and then copy a new one over, too.
I'll try to get a new method posted using a script for adb pushing. A beta-tester is assisting in such a method. It'll be a few days, though.
crypted said:
If this is with ES File Explorer, goto settings and enable root and mount system.
Click to expand...
Click to collapse
Yeah that worked, shall test GPS shortly.
Just checking your gpsconf, as I'm UK would it be worth me commenting out the other servers and changing the first to UK?
Before
Code:
NTP_SERVER=1.pool.ntp.org
NTP_SERVER=2.pool.ntp.org
NTP_SERVER=3.pool.ntp.org
NTP_SERVER=0.pool.ntp.org
NTP_SERVER=0.europe.pool.ntp.org
NTP_SERVER=1.asia.pool.ntp.org
NTP_SERVER=2.north-america.pool.ntp.org
Modified
Code:
NTP_SERVER=1.uk.pool.ntp.org

[DEV][4.0.7]Huawei USB Dongles.

[UPDATE]2012-08-06 This is not the only way of getting Dongle's working on Android, If widgets are your thing and you doing feel confident working with system files etc then you may be better served using the ppp widget form draisberghof.de, these are the folks who piratically wrote the book on getting dongles working on linux and by extension android.
[UPDATE]2012-08-06 The source to libhuaweigeneric-ril ( github ) has been updated to include fixes made by omegaRed7 - This massively improves the fault tolerance upon RIL Startup, Tests were carried out on the E173s-1 but it should be beneficial to all modems ( I hope ).
[UPDATE]2012-07-28 As the Rom Version is quite old and it doesn't really require it's own rom I've extracted the files required to implement this functionality - Download Here, The Archive contains a README file with installation instructions
IMPORTANT - pppd permission need changing to 6755 also change to ownership to the root account ( Thanks to __DS__ ). you can do this through adb or terminal emulator
Code:
adb shell chown 0:0 /system/bin/pppd
adb shell chmod 6755 /system/bin/pppd
for this to function
[UPDATE]2012-06-25 Added Forked libhuaweigeneric-ril to Github Repo this includes all the changes I've made - Check This Post For Details
[UPDATE]2012-06-23 Added Github Repo - Check This Post For Details
[UPDATE]2012-06-16 THE DOWNLOAD LINK HAS BEEN UPDATED AS THE FILES IN /etc/system/usb_modeswitch WHERE NAMED INCORRECTLY[/UPDATE]
Hi Folks - This post is going to change fairly often, there is still more info to add, I just got bored with typing for now
The Sales Pitch
This rom aims to provides the same "hands free" approach offered by the Archos 3G Key and extends this functionality to Huawei Branded USB Modems.
Introduction
Here is a custom rom I've currently been hacking away at, if feels like I've had it under wraps for months.
That being the case. I'd like to thking on to enable Huawei USB Modems - This is still a WORK IN PROGRESS but It feels like i've been keeping it under wraps for months, So it's time to throw it out there for further testing. So Dongles at the Ready! It could get a little hacky
WARNING
The Full Size USB Slot has been known to fail from moderate use. As such I would recommend using an USB extensions cable for connecting devices.
VERY IMPORTANT NOTES - PLEASE READ
1. This is definitely not an every day use rom on any other device this woud have been deployed as a recovery flashable update. The reasoning behind the rom deployment is it's only one file to copy and youi're ready to go. It is also a tedious task to manually go through (especially on the 100th time
2. Please don't ask a me if a certain device will work or not. It is not helpful on a number of levels,
a) I simply don't know - I don't own the model in question. Further more you can figure it out yourself.
b) The Chances are that you could probably find out the answer without leaving the comfort of xda - The libhuaweigeneric-ril has been passed around xda like a <Insert Well Used Analogy Here> so a quick search of xda may turn up something useful to reassure you.
c) In reality though we are not going to know if your dongle is working until you "Try It Yourself".
3. if you find your device doesn't work then you need to gather all the relevant information to help get a feel of what's going on; See Below
SUPPORTED DEVICES
The theoretical list of supportted devices come from those devices supportted by usb_wwan and option kernelp drivers.
IMPORTANT NOTES - WHAT YOU NEED TO KNOW
In a perfect world you can download/flash the attached update file. Reload your SDE, Plug a USB 3G Dongle and have It connect and go about you day .
This is the ultimate goal and currently what happens on my own device
TROUBLESHOOTING
There's about a 25% based on my current test this won't happen. There are 2 main ways your connection attempt can fail.
1. The UsbStick has not switched to modem mode
2. The ppp connection script failed
Either Way it would be highly useful post the list of system properties, outputs of dmesg and also a full logcat aswell as the vendor/product id from lsusb,
some like this throught the adb
Code:
adb shell getprops
adb shell lsusb
adb shell dmesg
adb logcat -b radio -b system -b main -b events
Please have a glance over it before posting as It may contain information that you would not want others to see!
ROM DETAILS
Android Version: 4.0.3
Archos Version: SDE 4.06
Removed : Nothing
ADDITIONS
init.dongle.rc - initialization script, I wanted to avoid "polluting" any other init file too much
/lib/modules/usb_wwan.ko and /lib/modules/option.ko - USB Drivers for GSM modems
/system/lib/libhuaweigeneric-ril.so - A slightly tweaked version of DerArtem original huaweigeneric-ril
/system/etc/usb_modeswitch - the latest version of the usb-modeswitch-data
/etc/ppp - Added separate gprs scripts to retain compatibility with the Archos datakey
/system/bin/hotplugd - A new native android service; Manages Modeswitching and connection initialization for any Usb Device which has a valid configuration file present.
DOWNLOAD
3G Modem Redist Pack - For use with newer roms
Hotfile - archos.ext4.update.
INSTALL
Unpack zip and copy unpacked update file to the device
Code:
adb push archos.ext4.update /mnt/storage
restart device in sde mode
script should update automatically
KNOWN ISSUES
"3G Stick Connected" Icon remains in notification list after device disconnection.
pppd needs to be executed with elevated privileges.
pppd is not exiting correctly on some occasions and cause reconnection issues when using multiple sticks.
Thanks go to surdu_petru for the base sde, derAtem for his original work on the libhuaweigeneric-ril.so and pretty much every developer who has worked on these dongles with android, I think I've read every thread on XDA regarding this subject
Hi!
Thanks trevd!
I do not have this USB modem ....but you did a good job for those who have this modem ! Good luck...
i have a Huawei E160E
It is possible to add this modle on your rom ?
---------- Post added at 06:46 PM ---------- Previous post was at 06:23 PM ----------
For the buzz in FRANCE (and in the World :-= )
http://www.jbmm.fr/?p=28280
cajl said:
i have a Huawei E160E
It is possible to add this modle on your rom ?
Click to expand...
Click to collapse
Is this a new model ( released this year )? It may already be in there, The easiest thing to do is plug it in.
If you install this app you can find out what the product_id is and then we can find out for sure.
Thanks
no released in 2009
Device Class: Use class information in the Interface Descriptors (0x0)
Vendor ID: 12d1
Vendor Name: Huawei Technologies Co., Ltd.
Product ID: 03eb
Hi trevd.
Thanks for the work.
Before installing your rom, I'd like to know if my Huawei K3565 is or will be supported.
I can't remember when it was released, but it not a new one ; may be 2009 or 2010.
Rackham666 said:
Hi trevd.
Thanks for the work.
Before installing your rom, I'd like to know if my Huawei K3565 is or will be supported.
I can't remember when it was released, but it not a new one ; may be 2009 or 2010.
Click to expand...
Click to collapse
Hi Rackham666
I'd refer back to my first post, I've tried to make it a little more clear what this "rom" exactly is, more a testing ground, my apologises if that wasn't very clear at first glance, So to switch this query right back at you.
After installing my rom, I'd like to know if your Huawei K3565 is supported?.
For my usn dongle , is it ok for you ?
Okay.
I'll try your additions manually when [email protected] V3 will be released by Petru.
Get The Code
Hi Folks.
I've started a github repo if anyone wants to hack on this stuff.... It only contains the code for the hotplug service at the moment but I will obviously add more when I get chance and apply all the proper GPL licenses to it.
A personal word of note : C is not my first language by any stretch ( although it is fast becoming the case ) so If It causes any memory leaks or starts nuclear war I can't be held responsible, however if there is any noob coding errors in there then I'm ready to learn off those more knowledgeable than I. I have a feeling we have some hardcore developers lurking in Archos Development community
Equally If anyone has any fixes drop me a pm and I'll sort commit access on the repo or post them right here in the thread,
The code can be found here https://github.com/trevd
Hi Folks, Me Again!
Just to let you guys know I've added a forked libhuaweigeneric-ril to my github ( https://github.com/trevd )
It includes the changes I made to enable it to work the Archos.
You'll want to clone the ics branch if you want to compile yourself.
cajl said:
For my usn dongle , is it ok for you ?
Click to expand...
Click to collapse
???
I'm not sure I understand what you mean.... can you explain a little more
Thanks
Hi, I'm sorry if I'm bothering you but I've done the steps for installing this but when I get to sde menu nothing happens. You said script should install the update automatically but nothing happens. Is there something else I have to do?
Sorry again and thank you for your work
Sent from my ARCHOS 101G9 using xda premium
alahkel said:
Hi, I'm sorry if I'm bothering you but I've done the steps for installing this but when I get to sde menu nothing happens. You said script should install the update automatically but nothing happens. Is there something else I have to do?
Sorry again and thank you for your work
Sent from my ARCHOS 101G9 using xda premium
Click to expand...
Click to collapse
Hi Alahkel
You're not bothering me .... DO I really sound/come across as that grumpy/angry in my first post.... sometimes I get cranky when I don't get enough sleep.... too much time looking at code.... :laugh:
Thanks for having a go, Are you using the official SDE? and have you got a working SDE Rom already installed?
For now I would forget about the rom image and bear with me, I'm working on an installer APK which will probably better help with testing, I'll also put the manual installation method up for those who want to get dirty with adb.
Hi, i succesfully installed your build then, btw running unoff sde. I have a huawei 170something, I don't remember the model, but it's working great with no problems, but using a otg cable only. I didn't get it to work using the big usb slot
Sent from my ARCHOS 101G9 using xda premium
alahkel said:
Hi, i succesfully installed your build then, btw running unoff sde. I have a huawei 170something, I don't remember the model, but it's working great with no problems, but using a otg cable only. I didn't get it to work using the big usb slot
Sent from my ARCHOS 101G9 using xda premium
Click to expand...
Click to collapse
That's great news Interesting that you couldn't/haven't got it working on the full size port... It should function the same as the official Archos Stick, You need to switch on the 3G Stick in the settings and the full size slot should "Just Work". I may have missed that little detail out
If that doesn't work your full size slot is maybe broken A not uncommon issue it seems. unfortunately.
Out of interest what network are you on?
I'm just working on the installer now so you won't be stuck with old archos versions.
trevd said:
That's great news Interesting that you couldn't/haven't got it working on the full size port... It should function the same as the official Archos Stick, You need to switch on the 3G Stick in the settings and the full size slot should "Just Work". I may have missed that little detail out
If that doesn't work your full size slot is maybe broken A not uncommon issue it seems. unfortunately.
Out of interest what network are you on?
I'm just working on the installer now so you won't be stuck with old archos versions.
Click to expand...
Click to collapse
Hi, thx for answering. Well of course I turn on the 3g key in settings for big-size usb and my huawei 3gkey is on indeed (led on key) but the tab doesn't recognize that o.o I'm on tim (italy ) Thank you
Sent from my ARCHOS 101G9 using xda premium
Hi trevd,
i'm guessing this won't work on CM9 by JackpotClavin, or would it? If yes, would i install it the same way as described?
Thanks in advance!
Edit: Sorry i'm obviously still running in 1st gear in the morning... There's no 3G support in the CM9 port so there's no way this would just "work"...
Edit2: And confirmation that i need more coffee: Saw your post in CM9 thread about the successful connection with Archos' 3G stick and a Huawei 3G stick, but only through the browser... Any progress on fixing things so the ppp connection is fully usable by other apps & services?
Hi, trevd!
how to launch the modem on a firmware 4.0.7?
I copy these files from your firmware
init.dongle.rc - initialization script, I wanted to avoid "polluting" any other init file too much
/lib/modules/usb_wwan.ko and /lib/modules/option.ko - USB Drivers for GSM modems
/system/lib/libhuaweigeneric-ril.so - A slightly tweaked version of DerArtem original huaweigeneric-ril
/system/etc/usb_modeswitch - the latest version of the usb-modeswitch-data
/etc/ppp - Added separate gprs scripts to retain compatibility with the Archos datakey
/system/bin/hotplugd - A new native android service; Manages Modeswitching and connection initialization for any Usb Device which has a valid configuration file present.
Click to expand...
Click to collapse
I change the init.rc file for init.dongle.rc start
but the Huawei E1550 modem doesn't work
what it is necessary to change still?
Thanks!
=========================
sorry, everything earned, it was necessary to update a modem firmware
Hi deman05
You were nearly there, init.dongle.rc is imported on the very first line of init.rc so you need both files.
You shouldn't have to do anything with the modem firmware as usb_modeswitch will handle turning the modem.
The files required are.
init.rc
init.dongle.rc
/lib/modules/usb_wwan.ko
/lib/modules/option.ko
/system/lib/libhuaweigeneric-ril.so
/system/bin/hotplugd
Also you need the full contents of the following directories
/system/etc/usb_modeswitch
/system/etc/ppp
/system/etc/chatscripts
I've attached the latest versions to this post (hopefully I've not missed anything), you will need to change the permissions on /system/bin/pppd.
chmod 6755 pppd
[EDIT] I did miss something, please see the first post for the correct download link.
The new version also handles a cold boot ( modem plugged in on startup ) scenario.
If you are still having issues please refer to the troubleshooting section in my original post
Thanks

[ROM] Cyanogenmod 10.1 with App Permission Control (unofficial)

OpenPDroid is an awesome mod developed and maintained by CollegeDev, FFU5y, Mateor, Pastime1971, Syvat and Wbedard that allows you to configure for each app separately exactly which permissions it should have and block or spoof everything else. Unfortunately, it can only be used if the core platform is integrated directly into the ROM. (For more details, see http://forum.xda-developers.com/showthread.php?t=2098156)
Since I have completed the integration anyway during my attempts to fix the HDMI rotation bug (without success so far, I'm afraid) and the current version of CM does not seem to contain any more critical bugs, I thought others might like to make use of my ROM as well.
I therefore hereby present: CM 10.1 with OpenPDroid integration. Besides the platform integration I made the following changes:
PDroid Manager app integration.
Standard CM Updates are disabled by default.
CM anonymous stats collection is disabled by default.
Google Analytics integration has been removed from the CM stats collection module.
Updates and anonymous stats collection can simply be enabled again using the menu. (Warning! Applying a normal CM update purges the OpenPDroid integration!)
I will try to at least provide updates to newer versions at critical update moments and will perhaps provide some more in between.
You'll need to have ClockworkMOD installed in order to flash this ROM.
Downloads:
11/07/13: Version based on CM 10.1.1 stable. Steps:
1. Flash the stable version of CM 10.1.1 (10/07/13) for our device.
2. Flash this OpenPDroid patch.
3. Install PDroid Manager either from the Play Store or using the APK attached to this post.
10/07/13: (based on source code 09/07)
10/07/13: https://mega.co.nz/#!uswGGQ6K!Wt9JAFDBElZQ2i74yNxMrkz3y7kO4U8-LWK2dLx_L8s
10/07/13: MD5: 99fc3769c9b2354a844ac1ac92504650
16/05/13: (build with standard CM kernel)
16/05/13: https://mega.co.nz/#!StIyQbzD!GfgNa3Seha74UnSahokwIzvcZ9UVqKaa2P38_LlxuMY
16/05/13: MD5: ad036e4035291bba901ad90826ab0abf
13/05/13: (general source code cleanup)
13/05/13: https://mega.co.nz/#!KoxixajK!Wn91VGj5ooOFYXs-Vt8QJDkU8Bo7VuR40_939hd3YMg
13/05/13: MD5: dffad528804bf830c4b225b0bfff5a76
09/05/13: (WerewolfJB kernel v003 new)
09/05/13: https://mega.co.nz/#!2txwmS4S!aR4bHG6BHMkoTPabi8Z0K0r4hPsUICmKO9ROaaIYOg0
09/05/13: MD5: 4a75829296a167a563ad78ffe26991de
05/05/13: (vibration,memory management)
05/05/13: https://mega.co.nz/#!bsQERDaS!RHB4rHhQsDf9XauyOpeMySAiDt1gtc8Y7gnsckdWOlo
05/05/13: MD5: e05017acf9e50affcba7379050514d63
01/05/13: (merged in the WerewolfJB kernel, fixed headphone button actions)
01/05/13: https://mega.co.nz/#!ig5hCJYY!eHM5vwER9zEEZJRk9_C6vCvclH14rDcKa9CyBcU9kTc
01/05/13: MD5: 3ababb1c0cda47874ed7d688de032638
28/04/13 (adjusted some device references for improved custom recovery compatibility)
28/04/13: https://mega.co.nz/#!71BgVLBY!PEcEHAYxpDZVZcQycpgGJ2QeJZZ0HbgVdjaBkiD72bg
28/04/13: MD5: 7f2616736dd78940e37d1e14ea47084f
24/04/13: (storage, power profiles)
24/04/13: https://mega.co.nz/#!j44XWBDb!UrmGEhCUcjbj8Q3WTj1EkDrImXJXwcNGvEMIHFm-TvE
24/04/13: MD5: 491a500c5bef958d7575a6ce62fae1aa
23/04/13: https://mega.co.nz/#!75IDhCAA!EpwDqHm6W6fG3mk0lNaC0XPWvlsJxi2TjEpjJPEuj6Q
23/04/13: MD5: 609c76958796f19fb04aee217c44ba98
PS. If anyone ever discovers the correct procedure for calling the proprietary nvidia tegra driver api, please let me know.
is the baseband wakelock solved in this rom?
Who can change the other network disk ,thx
xtribas said:
is the baseband wakelock solved in this rom?
Click to expand...
Click to collapse
The main additional problem that this ROM currently fixes compared to standard CM is that of blatant privacy violation.
Since the wakelock issue seems to be related to mobile data use, and I don't have a data subscription, experimentation with this would quickly rack up my phone bill. If someone comes up with a solution I'd be happy to patch it out though.
Hansey said:
Who can change the other network disk ,thx
Click to expand...
Click to collapse
I assume you're referring here to the swapping of disk names when using MTP. I actually only noticed this bug last night and it should be easy to fix. I plan to have it patched out in the next version.
Update 24/04/13 uploaded, involving official CM patches for MTP storage & power profile settings.
Is there a guide how to compile it my self?
DavidXanatos said:
Is there a guide how to compile it my self?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=1994860
DavidXanatos said:
Is there a guide how to compile it my self?
Click to expand...
Click to collapse
At the Cyanogenmod website there are instructions for compiling yourself. You can apply the OpenDroid patches using the link I included in the post. Make sure to synchronize the proprietary files with those provided by Cyanogenmod or some aspects will fail to work.
@Wenque - As the original CM on which you based this has the incorrectly labelled hardware platform which means it can only be flashed with the one particular version of CWM, could you possibly modify your version so the coding is for X3, not for P880 - then it could be flashed with any recovery.
SimonTS said:
@Wenque - As the original CM on which you based this has the incorrectly labelled hardware platform which means it can only be flashed with the one particular version of CWM, could you possibly modify your version so the coding is for X3, not for P880 - then it could be flashed with any recovery.
Click to expand...
Click to collapse
Thanks for pointing this out, as I wasn't aware that my ROMs still suffered from this problem. I'll look into it.
Wenque said:
Thanks for pointing this out, as I wasn't aware that my ROMs still suffered from this problem. I'll look into it.
Click to expand...
Click to collapse
No problem. I got the 'Status 7' message when I tried to flash it, due to the P880.
This problem goes away with the latest (v6.0.3.1) version of CWM, so it's not massively important I guess. It would be better if CM modified their builds to reflect the correct hardware identifier.
May be worth you expanding your OP slightly to contain a link to the correct CWM - just to make it easier for people to find.
SimonTS said:
No problem. I got the 'Status 7' message when I tried to flash it, due to the P880.
This problem goes away with the latest (v6.0.3.1) version of CWM, so it's not massively important I guess. It would be better if CM modified their builds to reflect the correct hardware identifier.
May be worth you expanding your OP slightly to contain a link to the correct CWM - just to make it easier for people to find.
Click to expand...
Click to collapse
Good idea. I'll probably just expand the model check in the update script for future uploads so it accepts both references.
Update 28/04/13 uploaded, for some improved custom recovery compatibility. As every update, it also contains all official CM patches.
All patches between this version and the last one are minor, so for people who have installed the previous version of the ROM there is no need to update to this one.
Is anyone else having problems with GPS on this ROM? I am going to try going back to all the old methods I used on my HTC DesireS, but thought I'd ask here as well.
For those who wonder what the old methods were, have a look at derekgordon.com
SimonTS said:
Is anyone else having problems with GPS on this ROM? I am going to try going back to all the old methods I used on my HTC DesireS, but thought I'd ask here as well.
For those who wonder what the old methods were, have a look at derekgordon.com
Click to expand...
Click to collapse
No-body?
I have tried ths both with Derek Gordon's gps.conf modification, and with my own one using just the UK NTP servers and no fancy settings.
If I reboot the phone and run GPS Status & Toolbox it takes between 3 and 5 minutes to get the first lock. This happens whether I do it immediately on reboot or leave the phone alone for an hour first. Once it has established a first good lock, GPS seems to be very good - relocks quickly and stays in the background happily.
The problem is the first lock - it's almost as if the hardware is actually starting off disabled and takes time to warm up or something.
Can someone else using this ROM please test to confirm? I will try this with the standard CM 10.1 build and also with the Stock ROM again, but can't do so for a couple of days.
Update 01/05/13 uploaded. I swapped the default CM kernel with the WerewolfJB kernel (thanks laufersteppenwolf!) and I fixed the headphone button actions (key 248 HEADSETHOOK).
SimonTS said:
Is anyone else having problems with GPS on this ROM? I am going to try going back to all the old methods I used on my HTC DesireS, but thought I'd ask here as well.
For those who wonder what the old methods were, have a look at derekgordon.com
Click to expand...
Click to collapse
Sorry SimonTS, but I don't know whether this version fixes your GPS problems. Perhaps I'll have time to look into it later.
Wenque said:
Update 01/05/13 uploaded. I swapped the default CM kernel with the WerewolfJB kernel (thanks laufersteppenwolf!) and I fixed the headphone button actions (key 248 HEADSETHOOK).
Sorry SimonTS, but I don't know whether this version fixes your GPS problems. Perhaps I'll have time to look into it later.
Click to expand...
Click to collapse
No need to apologise mate. I have tried the WerewolfJB kernel, but it doesn't seem to make any difference. I'm going to look at running the WerewolfJB ROM for a while as GPS seems to work perfectly in that, but hopefully you will get time to build a new version as I really want a ROM with pDroid in it.
SimonTS said:
No need to apologise mate. I have tried the WerewolfJB kernel, but it doesn't seem to make any difference. I'm going to look at running the WerewolfJB ROM for a while as GPS seems to work perfectly in that, but hopefully you will get time to build a new version as I really want a ROM with pDroid in it.
Click to expand...
Click to collapse
All you really need to do is copy the good /system/etc/gps.conf file to the PDroid ROM and make sure that you do not block too many permissions. You are probably using Google's SUPL server to help you obtain an initial location estimation and you don't want to block that if you rely on fast GPS locks.
You can do this by first copying the gps.conf file to a safe location (root of sdcard for instance in /mnt/shell/emulated/) and then performing the following steps:
- Use the terminal emulator with the following commands:
= su
= mount -o remount,rw /system
- Now copy the good gps.config file over the current one (for instance using root-permission File Manager or 'su', 'cp /mnt/shell/emulated/gps.conf /system/etc/' )
- Either reboot now or use the terminal emulator with the following commands:
= su
= mount -o remount,ro /system
Wenque said:
All you really need to do is copy the good /system/etc/gps.conf file to the PDroid ROM and make sure that you do not block too many permissions. You are probably using Google's SUPL server to help you obtain an initial location estimation and you don't want to block that if you rely on fast GPS locks.
You can do this by first copying the gps.conf file to a safe location (root of sdcard for instance in /mnt/shell/emulated/) and then performing the following steps:
- Use the terminal emulator with the following commands:
= su
= mount -o remount,rw /system
- Now copy the good gps.config file over the current one (for instance using root-permission File Manager or 'su', 'cp /mnt/shell/emulated/gps.conf /system/etc/' )
- Either reboot now or use the terminal emulator with the following commands:
= su
= mount -o remount,ro /system
Click to expand...
Click to collapse
It's not that simple mate, but thanks for the reply. I know all about the gps.conf file as we used to have real problems with GPS on my old Desire S. The problem I see with this build and the standard CM is almost as if it doesn't know how to talk to the GPS hardware properly.
With the WerewolfJB build and my own gps.conf file I can get a lock in under 10 seconds sometimes, and always under 20.

Categories

Resources