Related
There might not be many of us out there, but for those of us using unlocked and rooted mytouch on the ATT network I've found after some research a way to almost double my Edge speed. This information has been posted before in various pieces on various sites but not directly related to ATT/Edge only. Ive tested this on cyanogen 5.0.8 built will include instructions here that you can give this a shot depending on your rom. Prior to this tweak I ran three download tests, 63/38 84/41 81/41. After, I got 191/102, 133/114, 123/95.
Note that it seems that for me the speed increase takes about 10 seconds to kick in from sleep once the data connection is active.
Under the system directory, look for three files. Open each file and find a section called #GPRS class or #RIL settings. When you find the file containing this, this is the file to edit. Below I'm using system.prop. Also, when editing, do not use notepad or wordpad, I personally use EditPad Lite.
using the android sdk, and connecting your phone to pc ->
adb pull /system/build.prop build.prop
open build.prop with a unix compatible text editor
Change the following sections below:
# Default network type.
# 0 => WCDMA preferred.
ro.telephony.default_network=1
# RIL settings
ro.ril.gprsclass=32
ro.ril.hsxpa=0
ro.ril.hep=1
ro.ril.enable.dtm=1
eliminate all other lines that start with ro.ril if they exist.
then go back to your command prompt, and type
adb remount
adb push build.prop /system/build.prop
reboot phone twice after this.
The idea here is that these lines will force only searching for Edge networks, and improve the full use of multislot data/voice thoroughput on ATT Edge network. I would think technically that this would also maximize data thoroughput for those that want to save battery life from the sucking power of 3G.
I'm posting this because I'd like some feedback from ATT people that can try this. As I'm in metro Atlanta I'm not sure that these settings work for every area, and I've only tested in two spots here within a mile of each other in the three tests. I'm also at this point concerned about battery life outside of my one day testing and other areas.
I'll try this on two different G1's running on AT&T this next week and report back. Thanks
Update 8/31/10: Testing with Super D I see a difference. Was 0.07 mbps Down/ 0.08 mbps up. Now 0.18 mbps Down/ 0.16 mbps Up. Every little bit helps I guess. Thanks for posting this thread.
Which ROM are you using this on? I'll try this out on my phone at the end of the week. Also where did you find this exact same set up. I want to read more about it. I see other posts with different values but not with this same exact set up.
http://forum.xda-developers.com/showpost.php?p=5123531&postcount=46
As I mentioned I'm using Cyanogen 5.0.8. I didn't read where anyone is using this exact setup, I researched the values and put them together based on my best understanding of them.
As of now I'm seeing battery life unaffected to actually improved. Things like facebook and my MLB At Bat are majorly improved, takes much less time for the stats to populate so I'm spending less time in the apps and in turn I'm assuming that lends to battery life. I also used to drop a call in one particular spot and I'm not dropping that call so far. I've been in various parts of the city and the download speed is fairly consistent witht he 130-180k range.
Any word on this working with CM6? There only seems to be these in the RIL section:
ro.ril.hsxpa=1
ro.ril.gprsclass=10
Should the other two values be added?
SRDMizzou said:
Any word on this working with CM6? There only seems to be these in the RIL section:
ro.ril.hsxpa=1
ro.ril.gprsclass=10
Should the other two values be added?
Click to expand...
Click to collapse
As far as what should be added/removed, please more carefully read post one.
In answer to whether it works with CM6, these values directly support the gprs code of the phone so it should in theory work on any android based device.
I appreciate the time you've spent, thanks. I'm trying this asap. I have to test before and after, tho. I'll let you know. I never even considered looking into this, and what I see looks very promising. Thanks for the work.
BEFORE
Test 1: ping- i forgot to look
download- 79
upload-109
Test 2: ping-772
download- 90
upload-79
Test 3: break in between 2&3, for fun. it was asleep for a while.
ping- 767
download-51
upload-95
Test 4, another pretty long break
ping:927
download:23
upload:116
Test 5, no break
ping 16
download 44
upload 100
test 6, no break
ping 39
download 46
upload 111
AFTER
Same physical location, 2 reboots, cable unplugged as before.
Test 1: ping 551
download 33
upload 122
test 2 soon after
ping 541
download 27
upload 104
test 3 with an asleep break in between for a while
ping 428
download 47
upload 105
test 4 right after
ping 429
download 39
upload 102
Test 5 right after
ping 422
download 28
upload 116
Test 6, after a break with screen off/sleeping and a 30 second break with screen on before test
ping 430
download 26
upload 105
In conclusion, no it didn't make any benefit to me. In fact, there was a decrease in speed after applying the mods.
I used a nightly of cyanogenmod 6 from 2 days ago (right before rc3)
I will try donut soon. Eclair sucks. Note that cyanogenmod did not have the last two ro.ril lines, but it did have the telephony one. I added the necessary ones, of course.
i updated my post above.
Hi Jcarrz, thanks for the post. I think something is wrong with your location/configuration if you are getting 100% upload speed over download. It should be the reverse, but even before my config change I was getting double your download speed. Also, a ping time of <100 ms into an edge network is a bit unheard of as far as I know, what speedtest are you using? Did you delete the existing lines? the two most important lines to add are the dtm=1 lines and the grprsclass=32.
One thing about this is that not every city may support class 32 download. Also it may take some time for GPRS to establish 5 timeslots to get the full download speed. Another thing to follow up on my post, as I mentioned 10 seconds or so at least before starting the speedtest, but I've found that even 1-2 minutes after coming from sleep I'm occasionally getting 215k down in some places. But in your case there's definately something else going on....
hongkongpheoy74 said:
Hi Jcarrz, thanks for the post. I think something is wrong with your location/configuration if you are getting 100% upload speed over download. It should be the reverse, but even before my config change I was getting double your download speed. Also, a ping time of <100 ms into an edge network is a bit unheard of as far as I know, what speedtest are you using? Did you delete the existing lines? the two most important lines to add are the dtm=1 lines and the grprsclass=32.
One thing about this is that not every city may support class 32 download. Also it may take some time for GPRS to establish 5 timeslots to get the full download speed. Another thing to follow up on my post, as I mentioned 10 seconds or so at least before starting the speedtest, but I've found that even 1-2 minutes after coming from sleep I'm occasionally getting 215k down in some places. But in your case there's definately something else going on....
Click to expand...
Click to collapse
yea, that ping was pretty crazy. I live really close to los angeles, I don't think a crappy network is the problem. What do you mean by delete existing? i edited two that were there, and added two that weren't. I am using the ookla labs speedtest.net application. I have always had a higher upload than download. Everywhere. I waited for long periods of time between tests. And after waking up from sleep. The highest speed test I have seen is a 250, on htcclay's superfast 1.3.3. I'll have to take a look on the values in that rom.
Thanks for your help, prehaps you could upload the EXACT build.prop for, say, a cm6 build that I could use?
Jcarrz1
ro.ril.hsxpa=2
ro.ril.gprsclass=12
ro.telephony.default_network = 0
I seem to get the best speeds i've seen with this config. Namely the hsxpa=2, because that one, when changed to 1 or 0, dents my speeds.
jcarrz1 said:
ro.ril.hsxpa=2
ro.ril.gprsclass=12
ro.telephony.default_network = 0
I seem to get the best speeds i've seen with this config. Namely the hsxpa=2, because that one, when changed to 1 or 0, dents my speeds.
Click to expand...
Click to collapse
Thanks for reporting back. I think this shows that indeed the edge network in your location just isn't a class 32, or at least it is and is allocating more timelosts for upload than download. Here's how the classes should in theory work. Edge can alot 2-6 timeslots to transfer data. a class 10 or 12 is 5 slots data, 10 says that in theory up to 4 of those slots could be download and 2 could be upload, while 12 is up to 4 down 4 up (but only 5 max in any config). A class 32 can allocate 6 slots data, 32 also says that 5 could be download or 5 could be upload. Try setting the class at 30. This will give you a shot at 6 slots guarantee that no more than one timeslot can be set for upload (5 download 1 upload). If that doesn't work, in theory actually then moving to a class 10 setting may overall benefit you (4 download 2 upload).
hsxpa setting should technically do nothing for you on AT&T unless your phone supports HSPDA 850/1900, I set it on my magic 32B because it forces UTMS99 which is not implemented and therefore should in theory guarantee my radio never finds something to scan. I understand that turning on 2G only doesn't work in all roms, so I set that just in case.
Just so you know, the values in gprsclass can be 10,12,30,31,32,33,34.
I don´t think that ro.ril.hsxpa=0 deactivates 3G. AFAIK it just limits the phone to plain normal 3G (=UMTS) and ensures that it does not attempt to switch to 3.5G (HSDPA/HSUPA) connections.
From what I see in wikipedia, UMTS99 is nothing else than the first release of UMTS, therefore definately being supported.
Better set it to =2, just in case you travel to a country where you have 3G (and 3.5G, etc.) connectivity.
Hellek said:
I don´t think that ro.ril.hsxpa=0 deactivates 3G. AFAIK it just limits the phone to plain normal 3G (=UMTS) and ensures that it does not attempt to switch to 3.5G (HSDPA/HSUPA) connections.
From what I see in wikipedia, UMTS99 is nothing else than the first release of UMTS, therefore definately being supported.
Better set it to =2, just in case you travel to a country where you have 3G (and 3.5G, etc.) connectivity.
Click to expand...
Click to collapse
EDIT: Sorry I just looked up the specs on the phones again and I never noticed UMTS support, still in essense you still want to keep this at hsxpa=0, unless you want 3G on roaming coverage as mentioned. This article is about ATT users and more geared to only ATT bands, ATT does not offer HSDPA over the bands this phone supports so disabling it should keep it from scanning roaming networks for it. I'm removing the other ril values from the phone to keep the phone happy with the fastest edge connection it can get.
So I just tried updating the settings on Superfly TCBY Froyo 1.2. It didn't have the same exact setting lines so I just added the lines manually. All tests done on a fresh reboot, SpeedTest the only app open:
Before
Time of day: 1:10 PM
Run 1
Server: Los Angeles, CA
Latency: 829 ms
Download: 10.3 kB/s
Upload: 9.3 kB/s
Run 2
Server: Los Angeles, CA
Latency: 121 ms
Download: 14.7 kB/s
Upload: 12.1 kB/s
After (2 reboots):
Time: 1:25 PM
Run 1
Server: Los Angeles, CA
Latency: 423 ms
Download: 19.9 kB/s
Upload: 13.7 kB/s
Run 2
Server: Los Angeles, CA
Latency: 394 ms
Download: 18.3 kB/s
Upload: 14.6 kB/s
So it did improve speeds a little. How much is due to the settings is unsure. It could be related to the time of day and traffic during the time of day. I will keep the settings and see how they hold up.
I have been using the normal settings without modifications for Google Nav and it works perfectly fine. I will see how these settings hold. I'll attach my build.prop. Just remove the ".txt"
dawgpound, can you report what city you are in. I do agree that time of day and tower can play into this, this is why my before and after tests were done about 2-3 miles apart from each other. They were also done during daytime hours.
To update on my end, I'm still testing in various areas of atlanta and I'm finding that I actually connect "G" in some areas. I'm assuming UMTS99 since the phone only supports this. The download speeds were terrible, worse than edge for me though. I know this implementation is older and probably not omptimized.
Using Speedtest I'm still not getting any worse than 40k download anywhere in metro atlanta. But, one thing I've found is that in some cases I would get a upload speed greater than download, running Speedtest again even immediately after would produce much higher downlad and upload speeds and maintain these. I think this goes back to my theory that when you initiate the data transfer that it takes a while for the phone to build all the timeslots to the carrier when you enable them in some situations.
Sorry for responding so late. I'm doing the tests in LA. I went to Universal Studios the other day with the modified settings and my phone failed badly when using data. I was getting full signal on my phone with the EDGE sign but it wasn't sending or receiving data most of the day.
Unfortunately, I wasn't able to switch back and forth to see if it was just in the theme park or not. I've noticed in crowded areas, it lags pretty bad compared to the stock settings. I also was connecting to G speeds in some areas but only for a few seconds before switching back to EDGE. Right now, I'm back on stock settings to compare. I will say though, with the modified settings, download speeds increased by average 5 kB/s but upload speed was on avg 5 kB/s less than dl speeds. Stock settings, both download and upload speeds are close to each other.
I don't take credit for this, I'm just basically confirming that if you are inside the US, the following tweak should improve lock speeds and accuracy. I was able to lock on inside my house < 10 secs, with a 6 meter accuracy. It's been done on a number of phones -- just posting it for the folks here who haven't found the tweak yet.
It requires root - see the threads in this forum.
To install it, you should create a backup of your /system/etc/gps.conf file before doing anything. The easiest way is to use Root Explorer and then copy the file to somewhere on your sd card. (Make a directory, or put it in a safe place).
[ Edit: Sorry, I'm having trouble getting the new file attached - the links below work (I think) but look sort of funny ]
Download and unzip the file View attachment 784134, then copy the attached file to /system/etc/gps.conf. Reboot or power off/on and you are done. (Again, use Root Explorer if you aren't comfortable enough with terminal/adb shell to do this on your own.)
Alternately you can edit your existing file with the text editor of your choice. All you are doing is replacing the NTP server and adding the SUPL lines at the bottom.
Code:
# Thanks to Da_G from the xda-forums for additional information on data for
# the below changes. Switch to the us.pool.ntp.org for better time resolution
# inside the US, but the xtra1 servers are good worldwide. You can
# Also just choose one of the below *.pool.ntp.org areas for where you plan
# to use your GPS.
########################################
###Uncomment only one NTP_SERVER line!##
########################################
##### US Time Servers
NTP_SERVER=us.pool.ntp.org
##### Worldwide
#NTP_SERVER=xtra1.gpsonextra.net
##### Continental Servers
##### Asia
#NTP_SERVER=asia.pool.ntp.org
##### Europe
#NTP_SERVER=europe.pool.ntp.org
###North America
#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
# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
# 4 - Debug, 5 - Verbose
DEBUG_LEVEL = 5
# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0
# GPS Capabilities bit mask
# SCHEDULING = 1
# MSB = 2
# MSA = 4
# default = MSA | MSB | SCHEDULING
CAPABILITIES=0x7
# The SUPL_HOST and SUPL_PORT lines below can be commented out if
# you will be using your GPS outside the AT&T network and/or outside.
# the US. The Skyrocket is configured to use the AT&T servers by
# default, and Da_G's says that the AT&T has a more accurate
# geolocation database.
#SUPL_HOST=supl.google.com
#SUPL_PORT=7276
After you have made the changes reboot your phone. (power off/on)
Here's the gps.conf file - just unzip it and replace. It is *NOT* something that can be flashed, just the conf file: View attachment 784134
Enjoy.
tejones36 said:
I don't take credit for this, I'm just basically confirming that if you are inside the US, the following tweak should improve lock speeds and accuracy. I was able to lock on inside my house < 10 secs, with a 6 meter accuracy.
...
Click to expand...
Click to collapse
My phone already does this, even while indoors. Has anyone been having worse GPS quality?
Mine was at 25ft previously. It's been reported on quite a few forums to improve both lock time (mine improved here as well) and accuracy.
Two seconds to first lock with 3 sats. 4 seconds later floating between 9 and 10 sats locked.
F'n sweet. No tweaks needed.
gheck911 said:
Two seconds to first lock with 3 sats. 4 seconds later floating between 9 and 10 sats locked.
Click to expand...
Click to collapse
Mine improved from 5m to 3m accuracy indoors and better lock times so I thought I'd share something I found useful.
Daedalus_ said:
My phone already does this, even while indoors. Has anyone been having worse GPS quality?
Click to expand...
Click to collapse
Same here. We shouldn't be scaring people into thinking that the SR has accuracy issues.
Dranakin said:
Same here. We shouldn't be scaring people into thinking that the SR has accuracy issues.
Click to expand...
Click to collapse
By that logic, we shouldn't be building custom kernel's or ROMs - we shouldn't be scaring people into thinking that the SR has UI or development issues right?
tejones36 said:
By that logic, we shouldn't be building custom kernel's or ROMs - we shouldn't be scaring people into thinking that the SR has UI or development issues right?
Click to expand...
Click to collapse
You know that's not even a logical analogy. Don't be a douche now.
Does this file work on all GB devices, or at least Samsung devices, or at least least an Infuse?
thx
Yup, pretty much everything that I've seen so far.
Sent from my SAMSUNG-SGH-I727 using Tapatalk
(nothing to see here, move along...)
How is the GPS Lock and Tracking say compared to HTC or Motorola? Just wondering because I am debating on going back to BB tomorrow and swapping out my HTC Vivid for this phone. Just slightly worried as I have hear horror stories about Samsung and horrible GPS.
malickie said:
How is the GPS Lock and Tracking say compared to HTC or Motorola? Just wondering because I am debating on going back to BB tomorrow and swapping out my HTC Vivid for this phone. Just slightly worried as I have hear horror stories about Samsung and horrible GPS.
Click to expand...
Click to collapse
I don't know about either of those phones, but I had the Captivate which was pretty horrible. both the SGS2 and the skyrocket are excellent right out of the box with none of those problems.
This post was meant to be about getting that last couple percent of accuracy and lock time, or to possibly help if someone had a restricted view of the sky via the SUPL lines at the bottom of the config along with closer geographic time servers. I've used the GPS heavily in the last couple of weeks and it's been terrific.
( Obviously the Skyrocket was only released this past Sunday, but I was using the OGS2 prior to returning it for the Skyrocket upgrade. )
tejones36 said:
I don't know about either of those phones, but I had the Captivate which was pretty horrible. both the SGS2 and the skyrocket are excellent right out of the box with none of those problems.
This post was meant to be about getting that last couple percent of accuracy and lock time, or to possibly help if someone had a restricted view of the sky via the SUPL lines at the bottom of the config along with closer geographic time servers. I've used the GPS heavily in the last couple of weeks and it's been terrific.
( Obviously the Skyrocket was only released this past Sunday, but I was using the OGS2 prior to returning it for the Skyrocket upgrade. )
Click to expand...
Click to collapse
Very good to know. I am actually one of those that has issues getting gps lock in my house not sure even this will help considering I have a tin roof. Still good to know that this has good GPS out of the box.
(wave) Hi
On the topic of this thread,
I did some disassembly on the GPS kernel module, and it is looking at 3 seperate config files for configuration infos. /etc/gps.conf, /data/data/angryGps/secgps.conf (i think there's a com.android in there, have to go double check, don't remember from memory) and /etc/loc_parameter.ini.
loc_parameter.ini appears to be the most interesting one, with a number of previously undocumented configurations. Notably the GPS is always defaulting to start up in "driving mode" vs. "pedestrian mode" which anyone familiar with the function of GPS will know means there is a filtering algorithm active to prevent some GPS updates from getting to the user (if the location has not moved more than 5 meters in any direction since the last update, assume this falls within the margin of error and report no movement)
Pedestrian mode is desirable in many cases as there are no GPS reports filtered out and you get the constant position updating every second.
Also the GPS driver reports 1Hz update mode, which is common for consumer level GPS receivers. More expensive/higher level receivers can report as fast as 3 times per second. It might be possible to tweak our GPS to perform similarly (boy wouldn't that be sweet)
Lastly, the GPS driver defaults to full verbosity in logcat output. This might be slightly detrimental to performance and flipping a simple bit in loc_parameter.ini cuts the amount of output by a large amount with every position update.
Out of box the GPS daemon is configured to use AT&T's SUPL server, so switching to google's SUPL server should actually be detrimental to GPS time-to-first-fix performance, since AT&T has a much more accurate geolocation database driving their SUPL platform vs. google. Outside of the US however, I imagine google's SUPL server will perform better. Also, outside of AT&T's data network their SUPL server is not accessible, so this is another case switching to google's SUPL server would be advantageous.
Further disassembly tonight
Da_G,
Thanks for the very informative post! Glad to see someone well versed in the subject commenting.
Da_G said:
I did some disassembly on the GPS kernel module, and it is looking at 3 seperate config files for configuration infos. /etc/gps.conf, /data/data/angryGps/secgps.conf (i think there's a com.android in there, have to go double check, don't remember from memory) and /etc/loc_parameter.ini.
loc_parameter.ini appears to be the most interesting one, with a number of previously undocumented configurations.
.
.
Click to expand...
Click to collapse
This does sound pretty interesting and worth playing with. Is there an easy way (like killing a process, like in system panel or from a terminal) to get the process to reread the config file short of a reboot? I have no idea if mobile phones can take a kill -HUP <pid> and reread, or just a -TERM and the system restarts it.
Pedestrian mode is desirable in many cases as there are no GPS reports filtered out and you get the constant position updating every second.
Click to expand...
Click to collapse
That does sound interesting - I wonder if the "pedestrian" routing on google maps actually does something besides changing how it routes - maybe it also changes the gps functionality as well?
It might be possible to tweak our GPS to perform similarly (boy wouldn't that be sweet)
Click to expand...
Click to collapse
Definitely!
Lastly, the GPS driver defaults to full verbosity in logcat output. This might be slightly detrimental to performance and flipping a simple bit in loc_parameter.ini cuts the amount of output by a large amount with every position update.
Click to expand...
Click to collapse
If you'd like me to include that file with instructions in the first post, I can certainly do so (and properly accredit you of course).
Out of box the GPS daemon is configured to use AT&T's SUPL server, so switching to google's SUPL server should actually be detrimental to GPS time-to-first-fix performance, since AT&T has a much more accurate geolocation database driving their SUPL platform vs. google. Outside of the US however, I imagine google's SUPL server will perform better. Also, outside of AT&T's data network their SUPL server is not accessible, so this is another case switching to google's SUPL server would be advantageous.
Click to expand...
Click to collapse
Good to know. What amount of time do you think the first fix might be delayed, order of magnitude wise? (1s, 10s, etc.) I'd trade a short period of time for better global/rural data possibly, but it's good to know the trade offs.
Further disassembly tonight
Click to expand...
Click to collapse
Awesome, thanks for the info!
So I tried to download the attachment didnt work. Then I tried to put in that information and rebooted. But it still doesnt lock on with google maps.
atomoverride said:
So I tried to download the attachment didnt work. Then I tried to put in that information and rebooted. But it still doesnt lock on with google maps.
Click to expand...
Click to collapse
I've included the full file now in the main post, it's working on my phone. Here's a copy of the file as well - I'll try to relink it in the original post.
gps.zip - gps.conf replacement: View attachment gps.zip
@Da_G
Is the 5 meter update condition meant to filter out noise from inaccuracy? Does increasing the Hz on the position update compromise battery life?
@tejones36
Earlier I wasn't trying to be rude, I was just saying that my GPS works fine and if yours isn't it might've been broken.
What is the address for AT&T supl? Or does it default to this if you have no supl lines?
Hi Folks
[UPDATE]This is not the only way of getting Dongle's working on the N7, If widgets are your thing and you don't 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 and members have reported success using it. See this thread [Nexus7 UMTS-Stick extern working] in the general section for the initial find.
[UPDATE]This mod has seen success on ZTE Dongles ( Thanks To NexusPhreak ) See the supported devices list in the second post for a list of the latest tested devices
[UPDATE]It turns out this mod is good for CDMA Dongles as well as GSM - It needs a slight tweak. See this post [ Post #76 ] for details ( Thanks to mailbinoy )[UPDATE]
IMPORTANT: THIS IS A WIP AND NOT READY FOR PRIME TIME - IF YOU HAVE NEVER USED FASTBOOT, ADB, DON'T UNDERSTAND THE FIRST THING ABOUT NETWORKING OR HAVE NEVER SEEN A BASH PROMPT THEN THIS IS PROBABLY NOT FOR YOU
TROUBLESHOOTING: IF YOU ARE HAVING PROBLEMS PLEASE READ THE TROUBLESHOOTING SECTION IN THE SECOND POST - THE MORE INFORMATION YOU CAN PROVIDE THE BETTER AS THIS HELPS GET TO THE ROOT OF THE PROBLEM - THIS INCLUDES MODEL NUMBER OF THE DONGLE, LOGCAT LOGS AND DMESG OUTPUT.
DOUBLY IMPORTANT: PLEASE READ THE FIRST AND SECOND POST TO GET AN UNDERSTANDING OF WHAT WORK HAS BEEN DONE AND HOW THIS FUNCTIONALITY IS IMPLEMENTED
Okay I've seen a lot a thread asking whether using 3G Dongles ( Huawei in particular ) is possible with the nexus 7........ The Answer........ "Of course it is!!!11!! it's Android/Linux Kernel, If we can dream it we can code it! "
I've been working on getting the full connectivity going but so far I've managed to bring up a raw ppp connection which is good for all things google (play, web browsing, gmail ) as the google apps still aren't playing fair with the connectivity manager and they just scoot around that and use web sockets instead!
Normally to enable this functionality we need to compile the usb_wwan.ko and option.ko as kernel module, much to my surprise google/asus have built these in already so we can just usb_modeswitch into modem mode and init our ppp connection. Winner! :good:
STAGE 1 PPP Connections
My test modems where Huawei E173s-1 and E1752Cu and the build I used is my own AOSP 4.1.1 with a kernel version of 3.1.10-g52027f9
Steps to 3G Fun
1. Do a full back up
2. Flash this boot.img through fastboot
3. Download This file ( nexus7-3g.7z ) See post 2 for link
4. unzip the file and adb push to correct directories
5. Turn off Wifi
6. Plug in Dongle
7. Restart
8. In Terminal Emulator of similar run
Code:
su
/system/etc/init_pppd_gprs
If all has worked then your dongle should now be connected!
Detailed Explanation ( Or Why The Hell Am I Doing This? ):
Why The New Boot.img?
The boot image adds service called hotplugd and service called switch_ms_to_3g which handles the usb_modeswitching
The code for hotplugd is here ( github ). if you don't want to flash the new boot image you can always run usb_modeswitch manually pointing to the config file and specifying your vendor id and product id if you do not wish to run hotplugd
Why turn Wifi Off?
We turn wifi off first because otherwise the ppp connection doesn't get assigned properly if wifi is turned off after the event.
Why The Restart?
On My USB OTG cable at least it doesn't seem to get power if I plug it in after power up YMMV.
STAGE 2 - FULL CONNECTIVITY
Obviously the Stage 1 is good. But It's not Great and we can do better. Using a similiar Wifi Only Device as my frame of reference, ( the Motorola Xoom Wifi ) to bring full connectivity ( i.e Mobile Networks Option in the settings and The Signal Icon in the Menu Bar) to the device required modification of the framework-res to allow mobile networks, you can either modify the existing one on the device or if building from source you can modify the config.xml found in the device overlay in the aosp ( device/asus/grouper/overlay/frameworks/base/core/res/res/values/config.xml )
something along the lines of
Code:
<resources>
<string-array translatable="false" name="networkAttributes">
<item>"wifi,1,1,0,-1,true"</item>
<item>"mobile,0,0,1,-1,true"</item>
<item>"mobile_mms,2,0,2,60000,true"</item>
<item>"mobile_supl,3,0,2,60000,true"</item>
<item>"mobile_dun,4,0,5,60000,true"</item>
<item>"mobile_hipri,5,0,3,60000,true"</item>
<item>"bluetooth,7,7,0,-1,true"</item>
<item>"ethernet,9,9,9,-1,true"</item>
<item>"mobile_fota,10,0,2,60000,true"</item>
<item>"mobile_ims,11,0,2,-1,true"</item>
<item>"mobile_cbs,12,0,2,60000,true"</item>
<item>"wifi_p2p,13,1,0,-1,true"</item>
</string-array>
<string-array translatable="false" name="radioAttributes">
<item>"9,1"</item>
<item>"1,1"</item>
<item>"0,1"</item>
<item>"7,1"</item>
</string-array>
</resources>
NOTE: I've not really took the time to fully understand these settings and I've basically Kang'd them from another overlay.
As such they maybe suboptimal. Any further tweaks Improvements or general insight is more than welcome.
This seems to build okay and gives me the above mentioned features,I also set the build.prop default network to
GSM:
Code:
ro.telephony.default_network=3
CDMA:
Code:
ro.telephony.default_network=4
NOTE: Full CDMA Support require more than just this. There are a number of other build properties which affected and I'm currently working out which are the best ones to use.
and added the following files
Code:
/system/bin/rild
/system/lib/libhuaweigeneric-ril.so
/system/etc/permissions/android.hardware.telephony.gsm.xml
/system/etc/permissions/android.hardware.telephony.cdma.xml
I would expect this work and give me full connectivity on the device however it seems to "bork" when trying to load the vendor specific ril , I suspect I may be missing a permission or something similar
PROBLEMS - TROUBLE SHOOTING
If you're having problems, first I would Install busybox which will give you lsusb, this will tell you if your modem is actually recognized.
You can also run netcfg which will tell you if the network interface name ppp1 has been created and is up, then grab dmesg and a logcat, so something like this on adb will give you a good idea of what's going on.
Code:
adb shell netcfg
adb shell lsusb
adb shell dmesg
adb logcat -b main -b system -b events -b radio
* Note if you are running logcat through terminal emulator please run it with superuser permissions
Code:
su -c "logcat -b main -b system -b events -b radio"
Happy Hacking People and Good Luck!
References:
DerArtem Original Work with Huawei Dongles on the Toshiba Folio 100
usb_modeswitch official website
3g-modem.wetpaint.com A great source of information regarding 3G Dongles
Android Device Porting Walkthrough - Android Builder Summit 2012 ( An excellent presentation on device porting )
Hi Folks.
[DISCLAIMER]YOU KNOW THE DRILL.... RESPONSIBILITY FOR DAMAGE, INCURRED COST THROUGH EXCESSIVE DATA USAGE ETC IS NOTHING TO DO WITH ME.[DISCLAIMER]
VITAL : THIS IS STILL A WIP - THERE IS A GOOD CHANCE THAT I'VE DONE SOMETHING WRONG, COPIED A FILE TO THE WRONG DIRECTORY OR SIMPLY MISSED SOMETHING OUT, PLEASE THINK ABOUT WHAT YOU ARE DOING BEFORE BLINDLY FOLLOWING THE INSTRUCTIONS OF SOME MANIAC ON THE INTERNET :laugh:
Right on with the fun!
I haven't had much time to look at this as it wasn't top of my list, However the good news is I now have full 3g connectivity on the nexus 7 using Huawei 3G Dongles. :victory:
The issue turned out to be incorrect permissions on the /dev/ttyUSB* devices nodes which are created by the Huawei Modems, this was fixed by adding the following line to uevent.grouper.rc in the boot.img,
Code:
/dev/ttyUSB* 0660 root radio
simple when you know how!
I've attached a zip file which contains the files needed to enable this. It is a manual installation at present although I plan to make this flashable through recovery at some point but would really like to leave any other modification you may have made in tact. I.e TabletUI etc
The Changes where made to the Stock Factory Image JRO03D with Kernel 3.1.10-g52027f9
I've included the stock Mms app and enabled both voice and sms capability in the framework-res.apk. I left out the Phone.apk as you can only make silent calls because of the lack of Audio Rooting ( A possible future project perhaps ). I also changed the Data Usage to monitor the connection used by the dongle which allows you to impose data limits on your bandwidth ( see screenshots ).
Upon applying this update you should have mobile networks available in "settings/more networks" and the signal strength icon should appear in your status bar
Download the file here ( hotfile )
Please follow the readme in the archive for installation instructions and take note of the notes!
In addition to the steps in the readme, It's worth making sure that everything that needs to be executable still is.
Code:
adb shell chmod 6755 /system/bin/pppd
adb shell chmod 755 /system/xbin/chat
adb shell chmod 755 /system/bin/usb_modeswitch
adb shell chmod 755 /system/bin/rild
adb shell chmod 755 /system/bin/hotplugd
adb shell chmod 755 /system/etc/ppp/init_pppd_gprs
adb shell chmod 755 /system/etc/ppp/ip-up-gprs
adb shell chmod 755 /system/etc/ppp/ip-down-gprs
SUPPORTED DEVICES
The theoretical list of supported devices come from those Huawei devices which are supported by the GSM Modem driver in 3.1.10 kernel.
my testing was on a E1752Cu, E173s-1 and the E1750
Confirmed Devices
Huawei
E1750
E1752Cu
E173s-1
E173-u2 ( Thanks to m3ritum ) Video
E367 ( Thanks to mynamesriz )
E3131s-2 GSM/HSPA+ ( Thanks to radkor )
EC156 CDMA with a couple of tweaks see this post [ Post #76 ] ( Thanks to mailbinoy )
E160E (Thanks to Dragon0501 )
ZTE
MF190J**
MF190**
MF636**
MF626**
** Thanks To NexusPhreak
TROUBLESHOOTING
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 getprop
adb shell lsusb
adb shell dmesg
adb logcat -b radio -b system -b main -b events
* Note if you are running logcat through terminal emulator please run it with superuser permissions
Code:
su -c "logcat -b main -b system -b events -b radio"
RESERVED
All sounds very cool, nice one.
looks very promising, do you know if there are any CDMA dongles for 4G phones on Verizon?
Is there a better explanation of how this works ? Would we have to have a data plan to use this or is it just picking up 3g?
Sent from my Nexus 7 using Tapatalk 2
azoller1 said:
looks very promising, do you know if there are any CDMA dongles for 4G phones on Verizon?
Click to expand...
Click to collapse
Not a clue, I'm not in the US and don't really have an understanding of the US celluar network. I'm unsure whether this implementation of the ril library ( the part that talks to android ) can handle CDMA as I've only got GSM dongles to test with.
emarietta said:
Is there a better explanation of how this works ? Would we have to have a data plan to use this or is it just picking up 3g?
Sent from my Nexus 7 using Tapatalk 2
Click to expand...
Click to collapse
Hi
This is using Huawei 3G Dongles ( sometime called mobile broadband ) which were quite popular in the UK and Europe, Something along the lines of this ( linked picked at random ) they normally come with their own sim card, and by extension a data plan, generally on a pay-and-go basis.They are effectively a fast "dialup modem" ( by UK Standards anyway )
The modems are generally carrier branded / locked and are restricted to data and sms only. However the carrier restriction can be removed and voice support can be added via firmware updates if the hardware allows.
My carrier ( 3-UK ), picked this up as tethering when I used my Phone SimCard for testing and as such It is not a method around tethering restrictions your operator may have in place.
I hope the helps shed some light on the topic.
cool idea, ill just use my 4g tether though
Great work mate!!! Just one question:
I will be getting my Nexus 7 in a couple of days and I already own a HP TouchPad running CM9. I want to know can I tether my dongle's internet on my nexus 7 with the HP Touchpad via Wifi or bluetooth?
lovleshgarg said:
Great work mate!!! Just one question:
I will be getting my Nexus 7 in a couple of days and I already own a HP TouchPad running CM9. I want to know can I tether my dongle's internet on my nexus 7 with the HP Touchpad via Wifi or bluetooth?
Click to expand...
Click to collapse
That's a dam fine question . The word FrankenConnection instantly sprung to mind :laugh: I haven't got the tablet in front of me at the moment and off the top of my head I'd say probably not by default.
However, It wouldn't be too difficult to enable on a technical level, it's all about your ip routing tables, they are probably numerous apps on play to do it, although personally i've a little no success with then. Cyanogenmod has it built into to the rom, at least on CM9 on my Sensation and that works a treat. I will have a proper look as It could be crazy enough to work!. :good:
had a go but no luck
using a Huawei E353 dongle with a variation of a 3 sim. has its own APN and a static IP, left over from a work project.
flashed the new boot, copied the new system and made the permissions mod. the various apps show up
under about tablet it shows baseband as unknown and if i try to add an APN it goes through the motions but doesnt add it to the list.
I've attached the logs, i'm no developer but i can follow instructions if any one can suggest any thing. there is every possibility i've messed up in the install so feel free to suggest dumb stuff that i should have known in the first place.
It could just be that the dongle isn't supported in which case we can chalk up a zte MF112 as been a duffer as well (had one kicking about so gave it a go)
laz2336 said:
using a Huawei E353 dongle with a variation of a 3 sim. has its own APN and a static IP, left over from a work project.
flashed the new boot, copied the new system and made the permissions mod. the various apps show up
under about tablet it shows baseband as unknown and if i try to add an APN it goes through the motions but doesnt add it to the list.
I've attached the logs, i'm no developer but i can follow instructions if any one can suggest any thing. there is every possibility i've messed up in the install so feel free to suggest dumb stuff that i should have known in the first place.
It could just be that the dongle isn't supported in which case we can chalk up a zte MF112 as been a duffer as well (had one kicking about so gave it a go)
Click to expand...
Click to collapse
Hi There,
Thanks for trying...... The Logcat proved useful. As many a woman has said to me, "It's not you it's me" :laugh: ..... You need to make the rest of the added files in /system/bin executable.
Code:
adb shell chmod 755 /system/bin/usb_modeswitch
adb shell chmod 755 /system/bin/rild
this line in the logcat explains it all
Code:
E/logwrapper( 842): executing /system/bin/usb_modeswitch failed: Permission denied
Good Luck and thanks for the detailed info...
It Lives!!!
I can see mobile networks, signal strength and all that good stuff. just need to figure out the APN details now for this cranky sim
top job trevd
laz2336 said:
I can see mobile networks, signal strength and all that good stuff. just need to figure out the APN details now for this cranky sim
top job trevd
Click to expand...
Click to collapse
It should pull the apn off the sim automatically.... the Radio Interface Layer may need a bit more tweaking, If you want to post more logcats, I wouldn't mind a cheeky look because that's how I get my kicks
Don't forget to turn your Wifi Off...... And sometimes turning data roaming on helps. especially with t-mobile/orange in the UK
happy to run logs for you. i will say though that this is no run of the mill sim, it sits on top of 3 as a carrier but has its own 3rd party APN, login details and a statip IP address when it is connected. it does pick the apn from the sim and show the default 3 apn settings, i just need to tweak them a bit.
I'll find a hub and get some logs with modem hooked up.
update
wow these logs get big quickly. this one has the modem been removed, reconnected, negotiating with the network and trying to log in. I've removed apn,usernames and passwords and replaced them with <APN> <username> <password>. I can give you the APN name over pm if it helps but for security reasons i can't give out the login details, bit too company specific.
laz2336 said:
happy to run logs for you. i will say though that this is no run of the mill sim, it sits on top of 3 as a carrier but has its own 3rd party APN, login details and a statip IP address when it is connected. it does pick the apn from the sim and show the default 3 apn settings, i just need to tweak them a bit.
I'll find a hub and get some logs with modem hooked up.
Click to expand...
Click to collapse
A Bit like GiffGaff!, Cyanogenmod Rom maintain a hugh list, I think he must have got every carrier in the world, Check it out here ( apns-conf.xml on github )
trevd said:
A Bit like GiffGaff!, Cyanogenmod Rom maintain a hugh list, I think he must have got every carrier in the world, Check it out here ( apns-conf.xml on github )
Click to expand...
Click to collapse
just had a quick search, he aint got mine
bit more of an update, hooked up the ZTE MF112 in the office this morning it seen and sees the network. This dongle is unlocked so i've given it a go with my own vodafone sim from my phone. copied the apn settings across from the phone (just the standard vodafone 'internet' APN), it goes through the the motions of trying to connect but never gets there. I'll fire up the logging a bit later and get you a bit more data.
on a side note so far both these dongles have been able to be connected while the device is turned on and been picked up automaticaly.
I think it may be more permissions
laz2336 said:
bit more of an update, hooked up the ZTE MF112 in the office this morning it seen and sees the network. This dongle is unlocked so i've given it a go with my own vodafone sim from my phone. copied the apn settings across from the phone (just the standard vodafone 'internet' APN), it goes through the the motions of trying to connect but never gets there. I'll fire up the logging a bit later and get you a bit more data.
on a side note so far both these dongles have been able to be connected while the device is turned on and been picked up automaticaly.
Click to expand...
Click to collapse
Hi I had a little sleep on it, it's probably more persmission issues *facepalm*
Code:
adb shell chmod 755 /system/etc/ppp/init_pppd_gprs
adb shell chmod 755 /system/etc/ppp/ip-up-gprs
adb shell chmod 755 /system/etc/ppp/ip-down-gprs
As a test You can try running
Code:
adb shell /system/etc/ppp/init_pppd_gprs
which should start a native connection ( the modem will connect but android won't know about it ), although you can use the built in browser and Gapps ( play , gmail ,youtube etc ) as they don't use androids connectivity service to check for connections
no logs yet but heres the update so far.
set the permissions on those three files and had another go. no difference. do all the files that get put in the ppp directory need to be executable?
trying to start the connection with init_pppd_gprs doesn't manage to connect with either dongle, though the E353 does seem to get further. it moves on to a new line in terminal emulator with out returning any thing. with the MF112 it gets quite vocal about not been able to find the usb device despite it showing as been registered on the network under system properties.
sadly can't put the voda sim in the E353 as the bloddy thing is locked.(did try, though it pulls the APN details it won't see the voda network)
If like me after installing Lollipop you're experiencing the GPS going nut, a bad battery drain or the WiFi showing an exclamation mark dropping the connections these could be your solutions!
GPS LOSING SIGNAL (it needs root):
OBSOLETE - GPS is now fixed in 18.6.A.0.182
After reading some complaints about the GPS not working in Lollipop I checked it in my phone and I discovered it was indeed behaving poorly. In my case it does get the signals from the satellites, computes the position and other value and then after just few seconds it starts all over again. Comparing the 5.1.1 /etc/gps.conf file with the the one in KitKat and some suggested in the internet I tested few changes and I managed to make it fully operational just changing a single parameter:
Actually it seems the gps.conf file from KitKat does fix the issue. It happened that I made a mess with the file permissions (umask is set by default to 0077). @nunu00 made me notice that it worked for him. So I tested it again, and after fixing the file permissions it does seem to do the job.
You can find a copy of the KK file in http://forum.xda-developers.com/showpost.php?p=63285443&postcount=2.
As root make a backup of the original /etc/gps.conf and copy it over (as gps.conf. Remove the ".txt" postfix). Be sure the file is readable by everyone. Then reboot the phone and the GPS will be back to normal.
Additionally (but not necessarily) one may want to use an NTP server for his or her geographical region, like for example, if one is in Europe should comment out the stock NTP server and set instead the European one:
Code:
#Test
# NTP_SERVER=time.gpsonextra.net
#Asia
# NTP_SERVER=asia.pool.ntp.org
#Europe
[B]NTP_SERVER=europe.pool.ntp.org[/B]
#North America
# NTP_SERVER=north-america.pool.ntp.org
Even better on can add the NTP server, if available, for the Country, like I did for Italy:
Code:
#Italy
NTP_SERVER=it.pool.ntp.org
All other servers must obviously be commented out.
I/O WAIT ALWAYS AT 50% (it needs root):
Lollipop added in the Xperia M2 the compressed virtual memory, also known as zram. It is a feature that I personally like (I implemented it in the kernel for my crappy low range/low memory/low quality Samsung phone I had previously) as long as it works as it must. At the cost of little CPU time one can benefit from few hundreds megabytes of more usable RAM. Unfortunately in Lollipop it seems bugged, since the zram makes the process kswapd0 in constant I/O Wait (about 50%), which may degrade the max performances and also keeps at least two cores running at 1190MHz, draining the battery. One can see it with the "busybox top" command (busybox is installable in /data/local/tmp by anyone - no root needed):
Code:
Mem: 733016K used, 152060K free, 0K shrd, 40788K buff, 180220K cached
CPU: 1.2% usr 7.4% sys 0.0% nic [B][COLOR="red"]47.3% idle[/COLOR] [COLOR="Blue"]43.8% io[/COLOR][/B] 0.0% irq 0.0% sirq
- Solution 1: enable the "laptop mode" and change the swappiness value
It has been reported by @semil and confirmed by @linuxct that changing the swappiness value to something between 40-60 improves it (with zram enabled). Obviously you need root. Just make a /etc/init.d script with the following line
Code:
sysctl -w vm.swappiness=60
(you can change 60 to 40 or else while testing) or add it to /etc/init.d/00stop_ric. It changed nothing in my phone, though, so I tried tampering with other parameters and eventually I've been successful. Appending after the command above the following two lines
Code:
sysctl -w vm.laptop_mode=1
sysctl -w vm.drop_caches=1
finally the kernel moved out of the I/O wait. In my phone with 130-140 apps installed it always takes a about 10 minutes after boot, so be patient while testing. The two parameters above are non destructive and they get rewritten after each boot, so they can't make things worse than what they already are.
After the update 18.6.A.0.182 the IO Wait is still there. I did some some tests and I could raise the swappiness to 90. The IO Wait still goes down, but theoretically giving a slightly better "multitasking" than with a 40 or 60 value.
- Solution 2: disable the zram
Well, the trick is simple: disable the zram and the iowait has gone. To disable it as root one needs to execute
Code:
swapoff /dev/block/zram0
At any time. But it is obviously suggested to put the command in a script in /etc/init.d (just add it at the end of /etc/init.d/00stop_ric). And this is how the idle and iowait times are now:
Code:
Mem: 780028K used, 105048K free, 1000K shrd, 2284K buff, 149080K cached
CPU: 3.9% usr 4.9% sys 0.0% nic [B][COLOR="Red"]91.0% idle[/COLOR] [COLOR="RoyalBlue"]0.0% io[/COLOR][/B] 0.0% irq 0.0% sirq
WIFI DROPPING CONNECTIONS SHOWING AN EXCLAMATION MARK:
If you see an exclamation mark on the right of the WiFi status icon it means that Lollipop can't access the Internet still being connect to a WiFi AP. This is apparently due to some incompatibility between the new drivers and the Captive Networks, the Hot Spots showing as open but that indeed require a web login to be used.
- Solution 1: Disable the Capitve Networks all together:
The good news is that as regular users (non root) we can still switch it off. From a terminal emulator app or via "adb shell" (google to know how to install and play with the latter) simply type:
Code:
settings put global captive_portal_detection_enabled 0
and reboot. To re-enable it give the command:
Code:
settings put global captive_portal_detection_enabled 1
To check the current state (I'd suggest to do it before setting it. It should report 1) type:
Code:
settings get global captive_portal_detection_enabled
To run it via a Terminal emulator on the phone you need to have UID shell. Just execute first:
Code:
su shell
and then one of the commands above. But one needs the phone to be rooted for that.
UPDATE: In 18.6.A.0.182 as soon as I enable the Global Captive Support I get the exclamation mark. It doesn't drop the connection anymore but it is quite annoying.
- Solution 2: Disable the check for open/public networks:
This is still under investigation, but it seems to do the job. Simply go to the WiFi Settings/Advanced and disable the open networks notification. UPDATE: I still get the exclamation mark but it doesn't drop the connection.
GOOGLE SEARCH BAR ANIMATIONS AND VOICE SEARCH (requires root):
In the Xperia Home we can now have the Google search bar (to hide it just "swipe in" two fingers in the screen as when we add widgets and touch the hide button on the right of the bar. Which is my most favorite solution). The ugly thing is that when touching the bar Google Now opens with no animation. Also the option to enable "voice search" from any screen isn't available anymore. The value of "ro.config.low_ram " in /system/buil.prop is set to "true". An user suggested that changing (as root) it to "false" as in below
Code:
ro.config.low_ram=false
should fix it. Always make a backup of build.prop file before modifying it!!
I tested it myself and the option to have the voice search in all screens did appear indeed. I didn't see any changes in the animations, though.
LITTLE ICONS IN XPERIA HOME:
If like me you have been shocked by the new huge icons in the Xperia Home, so much that you were already thinking about switching the home launcher, don't fret: the small icons are still there!! Simply "swipe in" two fingers in the screen and together with the ability of adding widgets, changing themes and else on the bottom right there is the new "Home Settings". Click on it and you get the option to have the new rotating Xperia Home and.. yes, the smaller lovely icons back!
ENABLE MULTI USER (it needs root):
Due to the low amount of RAM (see the need for the zram above) and internal memory Sony doesn't support the multi user option in Lolliopop 5.1.1 for devices with 1GB. To enable it just add to the /system/build.prop file the following two lines:
Code:
fw.show_multiuserui=1
fw.max_users=3
where 3 users mean the main account, the guest account and a second account. Always remember to make a backup of the stock build.prop before any modification! If one just wants to test it without messing up with build.prop, the same behavior is achievable withthe following commands:
Code:
setprop fw.show_multiuserui 1
setprop fw.max_users 3
Unfortunately it is missing the user icon in the top right of the notification panel and frankly it is a lag fest. Which should be the reason why Sony removed it.
To disable it first delete any account you have eventually created (otherwise I'm afraid you end up wasting precious internal memory for nothing), restore the build.prop file in case it has been modified and reboot. Everytthing will be back to normal.
[CONTINUE]
--------------------
I hope this helps. If you have any other suggestion/solution, please write about them in the thread and I will add them in the main post. Also this is not a thread about getting help, use the forum for it. Still questions about the mentioned tips are welcome
RAISE ALL MAX VOLUMES (it needs root):
Many complains that in Lollipop 5.1.1 the volumes went lower. There seems to be a solution for it. As suggested by @Ciptraandoni in the files
Code:
/etc/mixer_paths.xml
/etc/mixer_paths_VY55.xml
/etc/mixer_paths_VY58.xml
Look for the lines:
Code:
<ctl name="RX1 Digital Volume" value="84" />
<ctl name="RX2 Digital Volume" value="84" />
<ctl name="RX3 Digital Volume" value="84" />
<ctl name="RX4 Digital Volume" value="84" />
Raising the value 84 by a little bit in all files improves the max volumes. I personally tested it. With the value 88 it was fine, then raised them to the value 91 I have got some distortion. So do it at your own risk. Also always remember to backup your system files first!!
TRIM YOUR NAND (it needs root):
Since Android 4.3 Google introduced the Trim (see link) in the kernel, which should restore the performances on SSD/NAND after a long use. It should be executed regularly by Android (not sure when), still after manually trimming my ext4 partition in the SD card it reported more than 9 GB cleaned. To execute it yourself first check if fstrim is available on your busybox. As root type in the terminal:
Code:
busybox fstrim
If present you'll get the list of options, otherwise an error. If fstrim is available type ("-v" is the verbose option):
Code:
busybox fstrim -v /system
busybox fstrim -v /data
busybox fstrim -v /cache
then, as usual, you can put the last three lines in a /etc/init.d script (they don't take very long. less if recently trimmed).
ONE SHOT KITKAT ROOTING:
@linuxct made a modified rootkit script which exploits one of the latest KK vulnerabilities, allowing to root KK without the need to downgrade the kernel. With my help he also modified the script to disable the RIC in one shot.
You can find the instructions in here.
This isn't directly Lollipop related, but since we need to go through a rooted KK to have a rooted Lollipop i thought to add it here.
IMPROVE THE APPEARANCE OF YOUR ROM
Click on the Google Play button on my signature and download one of my themes. Most are free! Also don't forget to rate them 5 stars.
Great! I thought it was my router problem (WRT160NL + DDwrt), but I'll disable that wifi option. Thanks!
linuxct said:
Great! I thought it was my router problem (WRT160NL + DDwrt), but I'll disable that wifi option. Thanks!
Click to expand...
Click to collapse
You're very welcome, amigo.
Also you may want to try to mess up with the router's QoS settings. But if working (I can't test it myself) that will fix it only for your router. The solution above is much more general. Not sure what are the downsides, but in case, on a weak signal, just manually disable the WiFi yourself and use 3G/4G (the radio?).
Miche1asso said:
You're very welcome, amigo.
Also you may want to try to mess up with the router's QoS settings. But if working (I can't test it myself) that will fix it only for your router. The solution above is much more general. Not sure what are the downsides, but in case, on a weak signal, just manually disable the WiFi yourself and use 3G/4G (the radio?).
Click to expand...
Click to collapse
I have QoS disabled, but I noticed that in both routers I have (160NL and Archer C20i), the exclamation mark only appears when I'm far from them, in another room for example. So it's because of the poor signal, even though some times it shows all bars (max. signal) and the warning. :silly:
I'm going to stay with the setting on 0, and if it still shows the exclamation mark, then I'll try configuring my routers. Grazie
linuxct said:
I have QoS disabled, but I noticed that in both routers I have (160NL and Archer C20i), the exclamation mark only appears when I'm far from them, in another room for example. So it's because of the poor signal, even though some times it shows all bars (max. signal) and the warning. :silly:
I'm going to stay with the setting on 0, and if it still shows the exclamation mark, then I'll try configuring my routers. Grazie
Click to expand...
Click to collapse
Just out of curiosity, when showing the exclamation mark does it switch to 3G/4G? In my case it just drops all connections, and to add insult to injury it happens even few cm from the "router" (which is actually the internet shared via MacBook since the WiFi fried in my router).
Miche1asso said:
Just out of curiosity, when showing the exclamation mark does it switch to 3G/4G? In my case it just drops all connections, and to add insult to injury it happens even few cm from the "router" (which is actually the internet shared via MacBook since the WiFi fried in my router).
Click to expand...
Click to collapse
It drops all connections. I noticed once, because Whatsapp web stopped working. Then I check the phone and the exclamation mark is there. Turn it off and on and it works again.
And yes, I was very near my router, let's say 50cm?
linuxct said:
It drops all connections. I noticed once, because Whatsapp web stopped working. Then I check the phone and the exclamation mark is there. Turn it off and on and it works again.
And yes, I was very near my router, let's say 50cm?
Click to expand...
Click to collapse
Ok, same experience then. So it's better staying off and good riddance!!
Not had any WiFi problems all I know is I have min 50mps home broadband with 5ghz and 2.5ghz networks my data connection is running fine on 4G/3.5G battery is definitely worse but I was running amplify, greenify with a de-bloated ftf and getting 6hrs plus sot regularly it's gonna take me a while to get used to normal battery life again
D2303 5.1 lollipop customised NCB rooted de-bloated LB t2u nut dual recovery x-reality+supervivid
Hello
I have also this wifi problem but i don't understand how to fix it.
I tried, as it's written, to write the command in a terminal app, but it said that i don't have the permission to execute it.
My phone is rooted and i tried also somehow to have the sudo but it didn't work either.
Someone could explain to me what should i do ?
Thank you.
[email protected] said:
Not had any WiFi problems all I know is I have min 50mps home broadband with 5ghz and 2.5ghz networks my data connection is running fine on 4G/3.5G battery is definitely worse but I was running amplify, greenify with a de-bloated ftf and getting 6hrs plus sot regularly it's gonna take me a while to get used to normal battery life again
D2303 5.1 lollipop customised NCB rooted de-bloated LB t2u nut dual recovery x-reality+supervivid
Click to expand...
Click to collapse
Well, you probably remember that I was complaining about KK battery life. Now staying with WiFi and applying the tweaks above, in about 17h I had a drop of 24%. about 70min usage. In other words it was less than 1.5%!!
I'll test it in 4G, but my signal is crap, so I don't expect much . Still the Stamina mode (completely enabled, with the usual apps in white list, like Whatsapp) seems to do a great job, finally.
Niklaus89 said:
Hello
I have also this wifi problem but i don't understand how to fix it.
I tried, as it's written, to write the command in a terminal app, but it said that i don't have the permission to execute it.
My phone is rooted and i tried also somehow to have the sudo but it didn't work either.
Someone could explain to me what should i do ?
Thank you.
Click to expand...
Click to collapse
That's weird. I just doubled checked and it works with both the user and root accounts. i mean, there is little to explain, you just have to type this command:
settings put global captive_portal_detection_enabled 0
I am not sure either what you mean with "i tried also somehow to have the sudo ". To "sudo" in a rooted android you just type "su". "su -c <command>" to run a command (like "su -c id". That should report user 0 and group 0).
Okay thank you, finaly i did it.
I still couldn't do it without typing "su". Thank you.
I dont know if its ok this, but i Just use my celphone today on facebook and whatsapp and a hour of videos on YouTube, without you tip (i Just used with wifi)
I got roughly 5.5hrs screen on time yesterday with no changes to settings. Still not sure about how fast the battery drains though
D2303 5.1 lollipop customised NCB rooted de-bloated LB t2u nut dual recovery x-reality+supervivid
Is there appreciable difference in performance between zram on and off ? Antutu Benchmark shows 19421 points for ON zram and 19889 points for OFF
dark90 said:
I dont know if its ok this, but i Just use my celphone today on facebook and whatsapp and a hour of videos on YouTube, without you tip (i Just used with wifi)
Click to expand...
Click to collapse
Pantalla is screen? And you have got 9+ hours? You're more than fine then. Indeed I am not sure if that iowait thing is a general problem. Can anyone with the zram on and possibly busysbox installed, check the iowait average values using the command
Code:
busybox iostat
I wonder if it is anything wrong with my installatiom, but I had the issue even just after wiping the data.
[email protected] said:
I got roughly 5.5hrs screen on time yesterday with no changes to settings. Still not sure about how fast the battery drains though
Click to expand...
Click to collapse
Yeah, I can't manage to make a real battery evaluation myself. I am still connected many times with adb and that charges the phone, ruining all battery statistics.
~Patryk said:
Is there appreciable difference in performance between zram on and off ? Antutu Benchmark shows 19421 points for ON zram and 19889 points for OFF
Click to expand...
Click to collapse
Well, technically on small jobs the zram does reduce slightly the performances. You see the benefits when you open a previous application, it should have the app screen as you left it more often than when it is turned off.
BTW any chance you can do the test mentioned above? The one about iostat.
Miche1asso said:
Can anyone with the zram on and possibly busysbox installed, check the iowait average values using the command
Code:
busybox iostat
Click to expand...
Click to collapse
Average of 14%. Bouncing from 13.3% to 14.5% in my case.
Oh, BTW, yes, CE1 has zRAM, but Algerian FTF was working worse than this one.
EDIT: Now it went up to 25.04%. Well, sh*t. The values I took before were after a reboot, so, when the device is fresh, just restarted, it only uses a 14~15%, but after opening apps it goes up
linuxct said:
Average of 14%. Bouncing from 13.3% to 14.5% in my case.
Oh, BTW, yes, CE1 has zRAM, but Algerian FTF was working worse than this one.
EDIT: Now it went up to 25.04%. Well, sh*t. The values I took before were after a reboot, so, when the device is fresh, just restarted, it only uses a 14~15%, but after opening apps it goes up
Click to expand...
Click to collapse
Indeed. Mine is stuck at 30-40%. Even higher as you can see from the "top" output in the first post (but that's for a single moment). This is what I get now with zram disabled about one night after reboot :
Code:
avg-cpu: %user %nice %system %iowait %steal %idle
14.00 1.79 10.87 4.13 0.00 69.21
And now I reboot the phone not touching the zram. here now just after boot:
Code:
avg-cpu: %user %nice %system %iowait %steal %idle
24.30 3.89 31.94 14.59 0.00 25.29
Which would be ok, but it is raising. Indeed now, just after few minutes..
Code:
avg-cpu: %user %nice %system %iowait %steal %idle
13.67 2.82 17.22 31.39 0.00 34.91
31.39% and it keeps raising. Nope, disabled it stays.
Just to be clear, since a picture it worth 100 words, this is the effect of having an high iowait:
The CPU stays most of the time at full frequency. Often just for doing nothing but waiting for kswapd0 trying to access the RAM.
Miche1asso said:
Indeed. Mine is stuck at 30-40%. Even higher as you can see from the "top" output in the first post (but that's for a single moment). This is what I get now with zram disabled about one night after reboot :
Code:
avg-cpu: %user %nice %system %iowait %steal %idle
14.00 1.79 10.87 4.13 0.00 69.21
And now I reboot the phone not touching the zram. here now just after boot:
Code:
avg-cpu: %user %nice %system %iowait %steal %idle
24.30 3.89 31.94 14.59 0.00 25.29
Which would be ok, but it is raising. Indeed now, just after few minutes..
Code:
avg-cpu: %user %nice %system %iowait %steal %idle
13.67 2.82 17.22 31.39 0.00 34.91
31.39% and it keeps raising. Nope, disabled it stays.
The CPU stays most of the time at full frequency. Often just for doing nothing but waiting for kswapd0 trying to access the RAM.
Click to expand...
Click to collapse
Clear enough. Just added swapoff to my 00stopric. Now let's see how multitasking goes
Code:
su
swapoff /dev/block/zram0
fails for me... Central Europe prerooted, flashed with twrp. My %iowait is around 23% and counting...
Edit: After an restart, it executed the command just fine, and my idle time is normal.
But now there is another problem - I cannot open 00stop_ric as a text, to add the command... tried both es explorer and total commander... any idea?
Many of you are probably aware of the Testing menu containing network and other various settings (you type in *#*#4636#*#* into your dialer).
For years I've used it to mitigate the spotty 3G connection in my house, to keep the phone from 'flickering' between 3G for basically every other room in my house.
Using GSM auto (PRL) keeps me on GSM indoors and switches to 3G as soon as I leave the house. This also has a noticeable improvement on battery life.
Only now it does not persist through reboots. It always defaults back to the original setting, which even includes TD-SCDMA which is a Chinese-only network type that I never want my phone to scan for at all.
So far the only thing I've been able to do that persists through reboots is
Code:
su
settings put global preferred_network_mode 1,20
This will force it to GSM only. Only 2 other codes persist: 18,20 which is another TD-SCDMA inclusive and 20,20 which is the default.
These correlate to the Preferred network type in SIM card settings.
If anyone has any more insight into this, I'm pretty much out of ideas.
EDIT: I realize now that the issue might not be exactly made clear. It's a very specific set of circumstances:
The testing menu (*#*#4636#*#*) applies changes to the network immediately, but not persistently.
Editing the values does not apply changes immediately, and only persists on those 3 values after reboot.
you can use intelli3G, but it requires xposed installed
Thanks, I'll keep it in mind as a last ditch effort.
I'd rather not run so many auxiliary programs, especially when the required function is so minimal, but the program so extensive.
Logic_ said:
Thanks, I'll keep it in mind as a last ditch effort.
I'd rather not run so many auxiliary programs, especially when the required function is so minimal, but the program so extensive.
Click to expand...
Click to collapse
oops, I tried Intelli3G, it does not work well, caused overheat.
maybe you should try smart network, it is more compact, but I am not so sure
Logic_ said:
Many of you are probably aware of the Testing menu containing network and other various settings (you type in *#*#4636#*#* into your dialer).
For years I've used it to mitigate the spotty 3G connection in my house, to keep the phone from 'flickering' between 3G for basically every other room in my house.
Using GSM auto (PRL) keeps me on GSM indoors and switches to 3G as soon as I leave the house. This also has a noticeable improvement on battery life.
Only now it does not persist through reboots. It always defaults back to the original setting, which even includes TD-SCDMA which is a Chinese-only network type that I never want my phone to scan for at all.
So far the only thing I've been able to do that persists through reboots is
Code:
su
settings put global preferred_network_mode 1,20
This will force it to GSM only. Only 2 other codes persist: 18,20 which is another TD-SCDMA inclusive and 20,20 which is the default.
These correlate to the Preferred network type in SIM card settings.
If anyone has any more insight into this, I'm pretty much out of ideas.
Click to expand...
Click to collapse
You can use an init.d script to set the network mode at reboot
ice-it said:
Many of you are probably aware of the Testing menu containing network and other various settings (you type in *#*#4636#*#* into your dialer).
For years I've used it to mitigate the spotty 3G connection in my house, to keep the phone from 'flickering' between 3G for basically every other room in my house.
Using GSM auto (PRL) keeps me on GSM indoors and switches to 3G as soon as I leave the house. This also has a noticeable improvement on battery life.
Only now it does not persist through reboots. It always defaults back to the original setting, which even includes TD-SCDMA which is a Chinese-only network type that I never want my phone to scan for at all.
So far the only thing I've been able to do that persists through reboots is
You can use an init.d script to set the network mode at reboot
Click to expand...
Click to collapse
Sorry, I should have phrased that more clearly. Apart from the 3 that were mentioned, no other values seem to affect the connection. My ideal solution would indeed be an init.d script.
Thanks for chiming in!
Sent from my Mi-4c using XDA Labs
Logic_ said:
Sorry, I should have phrased that more clearly. Apart from the 3 that were mentioned, no other values seem to affect the connection. My ideal solution would indeed be an init.d script.
Thanks for chiming in!
Sent from my Mi-4c using XDA Labs
Click to expand...
Click to collapse
Maybe we're looking at the wrong entry, if i change the type from the menu I always get 18,20 from setting though the network seems to be changed...
ice-it said:
Maybe we're looking at the wrong entry, if i change the type from the menu I always get 18,20 from setting though the network seems to be changed...
Click to expand...
Click to collapse
Yes, that's the issue exactly. From the menu the changes are applied immediately yet the changes don't stick. From editing the values the network remains unchanged until reboot, but only those 3 values will stick.
I wouldn't know what setting the menu would call upon other than preferred_network_mode
but I don't know much tbh, that's why I hope someone does
Logic_ said:
Yes, that's the issue exactly. From the menu the changes are applied immediately yet the changes don't stick. From editing the values the network remains unchanged until reboot, but only those 3 values will stick.
I wouldn't know what setting the menu would call upon other than preferred_network_mode
but I don't know much tbh, that's why I hope someone does
Click to expand...
Click to collapse
I've pulled the settings.db now and i will look into it if i can find some answers
Sorry, I've looked in every table but i cant find anything... I cant understand how you can change a setting without updating the setting.db, only the 3 option of the standard menu are saved (4g/3g/2g)...
ice-it said:
I've pulled the settings.db now and i will look into it if i can find some answers
Sorry, I've looked in every table but i cant find anything... I cant understand how you can change a setting without updating the setting.db, only the 3 option of the standard menu are saved (4g/3g/2g)...
Click to expand...
Click to collapse
Right? I can't find anything on this. There must be a mirrored table somewhere where the value is held. Or maybe the setting stays active in a system app that is kept in memory? Like phone.apk or something.
I might be saying ridiculous things, I'm grasping at straws here.
Thanks for checking man.
Sent from my Mi-4c using XDA Labs
Logic_ said:
Right? I can't find anything on this. There must be a mirrored table somewhere where the value is held. Or maybe the setting stays active in a system app that is kept in memory? Like phone.apk or something.
I might be saying ridiculous things, I'm grasping at straws here.
Thanks for checking man.
Sent from my Mi-4c using XDA Labs
Click to expand...
Click to collapse
I've tried also to edit the build.prop but changes don't affect the system
Code:
#
# System props for telephony
# Start in GSM Auto PRL for Sim1 and GSM Only for Sim2
ro.telephony.default_network=3,1
ro.ril.def.preferred.network=3,1
#
# System prop to turn on GSMLTEPhone always
telephony.lteOnCdmaDevice=0
telephony.lteOnGSMDevice=1
I've tried also to put the phone in GSM Only like that
Code:
#
# System props for telephony
# Start in GSM Only
ro.telephony.default_network=1
ro.ril.def.preferred.network=1
Still no changes at all
ice-it said:
I've tried also to edit the build.prop but changes don't affect the system
Code:
#
# System props for telephony
# Start in GSM Auto PRL for Sim1 and GSM Only for Sim2
ro.telephony.default_network=3,1
ro.ril.def.preferred.network=3,1
#
# System prop to turn on GSMLTEPhone always
telephony.lteOnCdmaDevice=0
telephony.lteOnGSMDevice=1
I've tried also to put the phone in GSM Only like that
Code:
#
# System props for telephony
# Start in GSM Only
ro.telephony.default_network=1
ro.ril.def.preferred.network=1
Still no changes at all
Click to expand...
Click to collapse
Yup, specifically those are ignored. I had tried them previously and thought maybe build.prop changes were ignored entirely (I hadn't made any tweaks or anything yet), but other changes to build.prop work just fine.
Could they have hardcoded these into the radio perhaps? I guess not since it can be affected through the testing menu... I keep going back and forth between theories like this, can't make sense of it.
Logic_ said:
Yup, specifically those are ignored. I had tried them previously and thought maybe build.prop changes were ignored entirely (I hadn't made any tweaks or anything yet), but other changes to build.prop work just fine.
Could they have hardcoded these into the radio perhaps? I guess not since it can be affected through the testing menu... I keep going back and forth between theories like this, can't make sense of it.
Click to expand...
Click to collapse
I start thinking the RIL change the values after build.prop load... Maybe they coded a method that initialize the daemon and only accept the 3 option reachable from settings...
But this is speculation, I need to take a look at the RIL, but I can't find it
ice-it said:
I start thinking the RIL change the values after build.prop load... Maybe they coded a method that initialize the daemon and only accept the 3 option reachable from settings...
But this is speculation, I need to take a look at the RIL, but I can't find it
Click to expand...
Click to collapse
Well sadly that's already beyond my scope of reasoning. Good luck in your search of knowledge, I hope something comes up
Sent from my Mi-4c using XDA Labs
Any news on this? Been having the same issue on miui9 redmi3!