Atrix tether via adb & sqlite3 - Atrix 4G General

I'm working on a sqlite script that would let you enable tethering by simply doing:
adb pull /data/data/com.android.providers.telephony/databases/telephony.db
sqlite3 telephony.db < enable_tether.sql
adb push telephony.db /data/data/com.android.providers.telephony/databases/telephony.db
I'm still gathering info and testing. I just really like solutions that work for anyone with adb. Anyone else feel this way or am I just satisfying a command line fetish?

command line fetish for sure! (nothing wrong with that)

Okay, so I've chosen http://forum.xda-developers.com/showthread.php?t=980636 as the basis of my MOD. If anyone thinks there is a better howto, please let me know. I've read all 19 pages of the thread carefully. Although there are some confused people on that thread giving bad advice, I think I have a pretty clear picture.
I'll update this post in real time as I progress.
Step 7) equates to:
UPDATE carriers SET preloaded="false" WHERE name IN ("AT&T US HSDPA", "AT&T US Tether", "AT&T US");
Steps 7b) equates to:
UPDATE carriers SET type="default,supl,agps,fota,tether" WHERE name="AT&T US Tether";
Steps 7c) equates to:
UPDATE carriers SET apn="phone" WHERE name="AT&T US Tether";
Those 2 (b & c) can be combined into:
UPDATE carriers SET type="default,supl,agps,fota,tether", apn="phone" WHERE name="AT&T US Tether";
I still got the "account not set up" message. Based on http://forum.xda-developers.com/showthread.php?t=1160452
I'm tried to update:
/data/data/com.motorola.android.providers.settings/databases/settings.db
with:
UPDATE settings SET value=0 WHERE name='entitlement_check';
Victory! Now I just have to figure out how to script it.

Related

HTC Stocks currency problem

The HTC Stocks app has the best widget of all other currency apps, so I was using it on my 1.5 Hero for displaying the EURO/GBP (EURGBP=X) rate.
After the 2.1 rom update I have a strange problem. When I try to add a new ticker for "eurgbp=x", I get the error message: "Unable to recognize the company name or stock symbol you typed. Please try again." However, this worked in the past like a charm. I have to note that adding "gbp=x" or "usd=x" works fine, with no problem at all.
Maybe this problem is related to an updated version of the Stocks app in the new rom. Is anyone experiencing the same problem? I haven't found a similar thread for a Sense Android phone. The same problem exists in the latest rom of HD2, but people have figured a work-around, by changing a file under "Application Data\HTC\", but this file doesn't exist on Android.
Any help would be more than welcome!
I experience the same problem (although I'm on VillainRom12). Previously adding currencies (EURUSD=X etc) was working, but right now I am unable to find it. This could be HTC problem as it was working fine on 1.5, but this could be also some Yahoo search glitch (I am unable to search for that quotes on mobile version of the Yahoo Finance page, while the desktop version works fine). The only workaround to that was to edit manually SQLite database of Stocks application (but this may require root - I can provide details if necessary). Once I added appropriate entries to the list of stocks, it seems to be working fine (it is displaying my currencies, but the search still does not work).
One other deficiency I found was the fact that graphs are not cached anymore - If I open the application and check for example a daily graph, I need to update it in order to see any chart - each time, even if I switch from 1D to 5D and back. It is also automatically updated each time I visit given tab, if I enable the automatic updates. Previously this app displayed previously cached graph. I'm not sure whether this happens also on stock 2.1 ROM.
Now that you mention it, I have the same problem with the graphs in the 2.1, too. It worked (showed the cashed graph) in the 1.5, but not any more. Blank graph until it updates.
Can you provide me some guidance about how to edit the Stocks' database? At least a link to something similar would be much appreciated. Can I access the phone's system folder without rooting it, through my PC (Win, Linux, whatever)?
eeVoskos said:
Can you provide me some guidance about how to edit the Stocks' database? At least a link to something similar would be much appreciated. Can I access the phone's system folder without rooting it, through my PC (Win, Linux, whatever)?
Click to expand...
Click to collapse
I'm new in the business, so I'm not sure if the root is necessary. You can try it, anyway to see if you will be able to push and pull files from the directory where Stocks stores its database.
Here's what I did:
Enable USB Debugging in Settings -> Applications -> Development -> USB Debugging
Download Android SDK from http://developer.android.com/sdk/index.html
In command line go to subdirectory tools of Android SDK
Close Stocks app and remove Stocks widget from the screen
Connect Phone via USB
... (Beginning of the optional part) ...
Go to Android shell
Code:
adb shell
List any processes to see if there's a com.htc.android.Stock process (like in this case)...
Code:
ps | grep Stock
7605 10007 130m S com.htc.android.Stock
7619 0 2156 S grep Stock
Kill any Stock processes (using the value in the first column):
Code:
kill 7605
Exit to command line
Code:
exit
... (End of the optional part) ...
Pull the Stock database:
Code:
adb pull /data/data/com.htc.dcs.service.stock/databases/stock.db stock.db
Sample output:
Code:
d:\Projects\Android\tools>adb pull /data/data/com.htc.dcs.service.stock/databases/stock.db stock.db
568 KB/s (5120 bytes in 0.008s)
Backup, just in case:
Code:
copy stock.db stock_backup.db
Run sqlite3
Code:
sqlite3 stock.db
Enable headers in sqlite:
Code:
.headers on
List contents of quotes table:
Code:
select * from quotes;
Sample output:
Code:
sqlite> select * from quotes;
_id|_name|_symbol|_price|_change|_percent|_open|_high|_low|_volume|_link|_type|_sequence|_updatetime
2|CHF/PLN|CHFPLN=X|3.08299994468689|0.0116999996826053|0.381900012493134|3.07209992408752|3.08550000190735|3.07010006904602|0|http://m.yahoo.com/htcwf/search?p=CHFPLN=X||0.0|1278490511305
3|USD/PLN|USDPLN=X|3.27649998664856|0.0200999993830919|0.617200016975403|3.25550007820129|3.27959990501404|3.24499988555908|0|http://m.yahoo.com/htcwf/search?p=USDPLN=X||100.0|1278490511305
4|EUR/PLN|EURPLN=X|4.1217999458313|0.0151000004261732|0.367700010538101|4.11250019073486|4.12349987030029|4.10799980163574|0|http://m.yahoo.com/htcwf/search?p=EURPLN=X||200.0|1278490511305
5|EUR/USD|EURUSD=X|1.25789999961853|-0.00469999993219972|-0.376199990510941|1.26170003414154|1.26259994506836|1.25689995288849|0|http://m.yahoo.com/htcwf/search?p=EURUSD=X||300.0|1278490511305
6|EUR/CHF|EURCHF=X|1.33689999580383|-0.000899999984540045|-0.0710000023245811|1.33879995346069|1.33910000324249|1.33609998226166|0|http://m.yahoo.com/htcwf/search?p=EURCHF=X||400.0|1278490511305
sqlite>
Note the last _id (here 6) and add new currency with _id higher by 1 (so here, 7):
Code:
insert into quotes (_id, _name, _symbol) values (7, "EUR/GBP", "EURGBP=X");
Check if it has been added:
Code:
select * from quotes;
Sample output:
Code:
sqlite> select * from quotes;
_id|_name|_symbol|_price|_change|_percent|_open|_high|_low|_volume|_link|_type|_sequence|_updatetime
2|CHF/PLN|CHFPLN=X|3.08299994468689|0.0116999996826053|0.381900012493134|3.07209992408752|3.08550000190735|3.07010006904602|0|http://m.yahoo.com/htcwf/search?p=CHFPLN=X||0.0|1278490511305
3|USD/PLN|USDPLN=X|3.27649998664856|0.0200999993830919|0.617200016975403|3.25550007820129|3.27959990501404|3.24499988555908|0|http://m.yahoo.com/htcwf/search?p=USDPLN=X||100.0|1278490511305
4|EUR/PLN|EURPLN=X|4.1217999458313|0.0151000004261732|0.367700010538101|4.11250019073486|4.12349987030029|4.10799980163574|0|http://m.yahoo.com/htcwf/search?p=EURPLN=X||200.0|1278490511305
5|EUR/USD|EURUSD=X|1.25789999961853|-0.00469999993219972|-0.376199990510941|1.26170003414154|1.26259994506836|1.25689995288849|0|http://m.yahoo.com/htcwf/search?p=EURUSD=X||300.0|1278490511305
6|EUR/CHF|EURCHF=X|1.33689999580383|-0.000899999984540045|-0.0710000023245811|1.33879995346069|1.33910000324249|1.33609998226166|0|http://m.yahoo.com/htcwf/search?p=EURCHF=X||400.0|1278490511305
7|EUR/GBP|EURGBP=X|||||||||||
sqlite>
Quit sqlite:
Code:
.quit
Push the file back to the phone:
Code:
adb push stock.db /data/data/com.htc.dcs.service.stock/databases/stock.db
Sample output:
Code:
d:\Projects\Android\tools>adb push stock.db /data/data/com.htc.dcs.service.stock/databases/stock.db
341 KB/s (5120 bytes in 0.014s)
Restart phone.
See if that worked
I hope HTC (or Yahoo) will be able to fix that, because the above is really a long process...
Anyway, I can't make it work. Entering "ps | grep Stock" gives me a "grep: permission denied" error message. I did some searching and I believe this is what people mean by saying "you need root access", right? I'll come back when I'm rooted (i.e. when I find a decent guide for rooting 2.1).
Thanks for your time & effort man. I really appreciate it.
eeVoskos said:
Anyway, I can't make it work. Entering "ps | grep Stock" gives me a "grep: permission denied" error message.
Click to expand...
Click to collapse
You can try to omit the "optional" part (steps 6-9) - the ps thing was just to make sure that Stock isn't running. But I noticed anyway that it never ran in the background when I closed it on the phone. Try to adb pull and adb push and see if you'll get any permission issues. If you do, then you indeed need a root (sorry I can't check that as I'm rooted)
A couple of days ago I updated the ROM of my HTC TD2, with the most recent one of HTC (WM6.5, Sense 2.5.20113030.0). Afterwards I noticed that I also could not get the stock app to accept the code EURUSD=X.
You mention the following
The same problem exists in the latest rom of HD2, but people have figured a work-around, by changing a file under "Application Data\HTC\", but this file doesn't exist on Android.
Click to expand...
Click to collapse
Can you tell me what that work-around is or point me to it? Hopefully this can help me.
Thank you in advance.
Check this thread:
http://forum.xda-developers.com/showthread.php?t=706732
eeVoskos said:
Check this thread:
Click to expand...
Click to collapse
Thank you for the link (which I am not allowed to repost ).
Last Monday I wrote an e-mail to HTC about this problem and a couple of days later I got a reply. They told me they tried to search for the currency rate (eurusd) and that they got a result. So I tried again and lo and behold I got a result as well. Searching for eurusd=x gave me a result while last weekend it was not working.
So I tried several other currency rates and they all rendered a result, also eurgbp=x. Perhaps it is also fixed for the Android app.
[Extra information added below]
Tried again and nothing
I was connected with a data connection to my carrier, so I switched to my wifi connection. Tried again and... result.
So it seems to be a difference in communication between an ordinary data connection and a wifi connection. Maybe this will help someone
Wird problem. I tried it too on both UK and Greek carriers and on WiFi, but nothing. No result for either of them: "eurgbp=x", "eurgbp", "eurusd=x", "eurusd". I have been trying occasioanly more than one month now.
I think I should drop them an email too...
Why don't you do a soft (temporary) root and make the database entries as described in here? I did it and now I got all the stuff I need, and no trace of root on the device.

Dev tools setting causing reboot loop :(

Just installed Elelinux-7.1.0-Hero-v2.1, poked around in Dev Tools, and apparently turned on some debugging feature I should not have. Now my phone goes into a reboot loop. It isn't a full reboot... only the Android boot animation is shown, not the initial HTC splash screen. It makes it up to the lockscreen and the phone is responsive for about 10 seconds before it freezes up and reboots.
This isn't enough time for me to unlock the screen, open the app drawer, run Dev Tools, and change back the setting before the phone reboots. Is there another way of manually clearing the Dev Tools settings without having to do a factory wipe?
Since I can't get into Dev Tools now, I cannot say which options were enabled. I turned on one that shows the touch coordinates, and I think another that shows the running processes (trying to track down battery drain issues). There may have been a couple of others, but due to the delay in the reboot, it's hard to tell exactly which one is the culprit.
So I'm hoping there is some way to bring up the phone in single-user mode, edit or delete a settings file, and then rebooting the phone. I'm using the AmonRA recovery console, if that helps.
I'd just reflash...
Yeah, there isn't much on the phone yet, so I could do a wipe and not lose anything, but I'd rather see if there is a way to recover in case something like this happens again in the future.
I did find an issue tracker page on Google that describes the problem, and a couple of proposed fixes. I'm not allowed to post links yet, so demangle this to bring up the page. I'm going to try editing the settings.db file and hopefully that will fix things:
ht tp://code.google.com/p/cyanogenmod/issues/detail?id=1026
Hooray, editing the settings.db file worked! I followed the suggest posted by cryptographrix in post #14 of the code.google.com thread:
Code:
$ [B]./adb shell[/B]
/ # [B]mount /data[/B]
/ # [B]mount /system[/B]
/ # [B]/system/xbin/sqlite3 ./data/data/com.android.providers.settings/databases/settings.db[/B]
SQLite version 3.7.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> [B].header ON[/B]
sqlite> [B]select * from system where name="show_processes";[/B]
_id|name|value
109|show_processes|1
sqlite> [B]update system set value=0 where name="show_processes";[/B]
sqlite> [B]select * from system where name="show_processes";[/B]
_id|name|value
109|show_processes|0
sqlite> [B].quit[/B]
/ # [B]reboot[/B]

Regulatory domain, Wifi channels 12 and 13

Hi all!
I have noticed that my Arc S does not receive AP on channels 12 and 13. After doing some searches I concluded that the Regulatory domain must be set to US which is incorrect in my case, as I live in Europe.
I tried following this guide http://forum.xda-developers.com/showthread.php?t=1067944 to enable these channels, of couse doing the necessary modifications for this to work on a SE, but with no results unfortunatly.
My phone still has a locked bootloader and I cannot try custom roms, but will a custom rom solve this problem?
Moveover I am curious to know if this is a problem of the kernel module used which is locked to 11 channels or if it is because of some setting hardcoded in android itself.
Thank you!
as i can see, for the european area the only restriction is the signal power<20db, channels 11-13 are allowed and are working in Europe! My arc S is also locked but i can see channels 11-13.
Tkx for you reply labrok!
Then I cannot understand. I verified this using an app on the market called "Wifi Analyser", and the fact is that even in the wifi connect menu, all AP with these channels are not visible.
Also in the sqllite database available with the command
# /system/bin/sqlite3 /data/data/com.android.providers.settings/databases/settin
gs.db "select * from secure"
I can see:
wifi_num_allowed_channels|11
If I try to change this number to 13, it allows the change, but whenever I deactivate/activate the wifi, the number goes back to 11..
What is the version of the firmware that you are running?
I have 4.0.2.A.0.42.
Tkx!
same version, phone is European like yous so it uses same region settings,router TP-link TL-WR1043ND WITH ddwrt and router`s region set to Canada (to gain an extra 3db of power) i can set it till channel 13 and i can see it and i can connect too, to use channel 14 i must change region to japan but channel 14 is not usable from my arc s! but channels 12-13 working, they are not so good for an N network but my phone can see them an connect to them, maybe you should try to reflash your phone!
It's good to know that it works ok and that the problem lies only in software. I have asked some other users of the Arc S/Neo and they report the same problem
Maybe with your help we can solve this problem once and for all for everyone.
If your phone is rooted all I need you to do, is send me your Wifi drivers, running the following commands on the adb shell. Adb comes with the android sdk and is located at C:\Program Files (x86)\Android\android-sdk\platform-tools and then run "adb shell" command on a command line. You also need to activate the usb debugging on your phone.
Code:
su
cp /system/lib/modules/tiwlan_drv.ko /mnt/sdcard
cp /system/lib/modules/sdio.ko /mnt/sdcard
You now should have 2 files on the root of your sdcard, sdio.ko and tiwlan_drv.ko.
Can you please send these files to me?
I will then replace them on my phone and effectively determine if the problem is actually caused by the drivers or by the Android system itself.
Thank you so much for your help!!
My friend my phone is not rooted, if there is a way to help you, but because my phone is new I cannot root it and avoid my guarrantee.
Sent from my LT18i using XDA App
Thank you anyway labrok! I will keep searching for someone that has this working and with root to see if I can solve my problem
Ok, actually I found out how you can do this without root and without touching the warranty.
I will guide you through the process.
Install the Android SDK available at http://developer.android.com/sdk/index.html
Activate the USB debugging on "Applications"->"Development"->"USB Debugging"
Then open a command line prompt on windows and go to the directory where you installed android, typically C:\Program Files\Android\android-sdk\platform-tools, with the command
Code:
cd "C:\Program Files\Android\android-sdk\platform-tools"
Copy the driver files now from the phone with the commands
Code:
adb pull /system/lib/modules/tiwlan_drv.ko
adb pull /system/lib/modules/sdio.ko
The command prompt should look like this
Code:
C:\Program Files\Android\android-sdk\platform-tools>adb pull /system/lib/modules
/tiwlan_drv.ko
4636 KB/s (973324 bytes in 0.205s)
C:\Program Files\Android\android-sdk\platform-tools>adb pull /system/lib/modules
/sdio.ko
1618 KB/s (26520 bytes in 0.016s)
Files tiwlan_drv.ko and sdio.ko should be on C:\Program Files\Android\android-sdk\platform-tools folder now. Zip them and send them to me plz
i will try, but i think is not drivers problem.More likely its region restrictions, in Greece its allowed channels from 1-13, maybe in your is different than Greece! but i will send you the drivers as soon as possible!
I'm having the same issues with Xperia Arc S in Bulgaria. The phone has set it's wifi radio to operate on channels 1-11 so any networks on channels 12, 13 and 14 aren't visible to me.
Pure Android has the option to set the regulatory domain, but SE has decided to disable (or hide) it.
Here you can see how to set it on a non-SE Android: firdouss.com/2011/07/wifi-network-android-reason/
I've asked SE to check this on their forum too:
talk.sonyericsson.com/message/127760
Thank you the_mouse_bg!
I have bootloader unlocked my Arc S and tried a few roms like CM7.2, MIUI where I can see all 13 channels fine, so from this I have concluded that the problem is really from the firmware as due to the lack of answers on this topic, I was getting really worried this could be a hardware problem from my phone..phewwww
I now have stock firmware .42 with DooMKernel installed and the regulatory domain does appear in the menu but fails to be changed
I asked in the DooMLord's kernel topic to see if I can in any way debug this problem to try to solve it as I'm still little experienced with linux android workings.
Let's see if we can solve this issue asap!!
Regulatory domain (Wi-Fi channels 12 and 13) fix for the factory (default) ROM
I managed to fix the regulatory domain in order to be able to use the wireless channels 12 and 13 in the factory ROM. I only tested this procedure in the Xperia Pro (MK16a) and using the factory GingerBread ROM, although the procedure should be similar for other Xperia models and for the ICS ROM.
Well, it still needs rooting, but for those worried about the warranty it should be better than unlocking the bootloader or installing another ROMs, because you can root your phone, apply the fix, then unroot it, and nobody will ever know the phone was once rooted unless they do a deep forensic analysis.
How the regulatory domain works in Xperia devices
Sony added a class named "com/android/server/WifiService$RegulatoryDomain" which isn't part of standard AOSP. This class checks in which country you currently are based on the current MCC (Mobile Country Code), extracted from the first 3 digits of the current PLMN. Then there is a list of MCCs of countries on which 13 Wi-Fi channels are allowed. If your MCC is on the list, it enables 13 channels, otherwise it only enables 11 channels.
If your current MCC is not on the list, your wifi_num_allowed_channels setting has no effect. It is always reseted to 11.
Note that this is an "Android framework-level lock", not a "Linux-level or driver-level lock", because if you try to run iwlist (you can build yours from this svn repo) it shows channel 12 and 13 Wi-Fi networks even without any modification to the factory ROM.
The problem
The problem is that not all countries which allow 13 Wi-Fi channels are listed in the "WifiService$RegulatoryDomain" class. Apparently, there are typo errors in some MCCs.
For example, Brazil is MCC 724, but the class lists MCC 742, which according to this listing is a non-existent MCC. So it's apparently a typo error. They typed 742 instead of 724.
Fixing it
First, root your device. I used FlashTool for this.
Then, copy /system/framework/services.jar from your device to your computer using adb. Then unpack it (unzip or 7zip or whatever), use baksmali for disassembling classes.dex, and open "com/android/server/WifiService$RegulatoryDomain.smali" in a text editor.
Look for something like:
Code:
const/16 v7, 0x24
const-string v8, "742"
aput-object v8, v6, v7
iput-object v6, p0, Lcom/android/server/WifiService$RegulatoryDomain;->mHighChannelsMccs:[Ljava/lang/String;
This is where the 13-channels-allowed MCC list is being built. The "742" is the apparently non-existent MCC. Just replace it by the MCC of your country. Look at this listing or look at the first 3 digits of the PLMN:
Code:
$ adb logcat | grep PLMN
E/WifiService( 241): Could not get PLMN!
E/WifiService( 241): Could not get PLMN!
E/WifiService( 241): Could not get PLMN!
I/WifiService( 241): PLMN = 72410
I/WifiService( 241): PLMN = 72410
In my case I just replaced "742" by "724".
Then use smali for assembling the code back to the classes.dex file, and repack the services.jar file using jar, zip or another tool.
Finally, copy your modified services.jar to your device's /system/framework/services.jar using adb, and reboot your phone. Now everything should work.
About the attached file
My modified services.jar is attached for reference. Remember it is for the Xperia Pro factory GB ROM. If you use ICS or if you have another Xperia device, you need to baksmali/modify/smali your own jar file as described above.

Howto: Solving notification issues. [ROOT]

After having a great deal of stress regarding the notification issues, I have come up with a solution.
Please note:
1. I have no idea why my solution works on only this one version of the firmware, but I can only reproduce it on build number NXT-AL10C00B129SP02 (The second-to-newest Chinese firmware). I cannot reproduce the solution on other versions and have not yet gotten notifications working on them, so please make sure you have the same version of everything as I do to make it go smoothly. I have only tried and failed on the latest Chinese and the latest international firmware, so perhaps an older version of that will have good results.
2. I can't guarantee this will work for everyone. Everyone has a different combination of software and settings, etc. What works for me very well may not work for you, and vice versa.
That being said, here is what I did, and how you can test and make sure it's working right for you.
Step One: Set up the OS.
Get NXT-AL10C00B129SP02 (available from the development section of this forum). You can unpack it and flash it with flashboot. The unpacking tool is as follows:
http://fs1.d-h.st/download/00173/wwfQ/HuaweiUpdateExtractor_0.9.9.3.zip
This tutorial won't cover flashboot usage. Please figure it out with google and feel free to ask if you need additional help.
You will then need to get TWRP installed. Please refer to root thread.
Getting into TWRP, please first format your /data partition, then flash the following in order. (maybe different versions will work, but these are what I used, and they worked for me, so maybe better safe than sorry.)
---
decrypt boot B129SP02.zip (can be found in this forum)
BETA-SuperSU-v2.66-2016013015024.zip
open_gapps-arm64-6.0-micro-20160108.zip
---
Then, clear cache and dalvik cache, boot the device up, and set it up.
Get into developer options and turn on ADB debugging. We will use adb to check that everything is working properly. Also, configure an email account with gmail. We'll use gmail to test as well.
Step Two: Doze Settings
Download and install Doze Settings Editor, available from the following:
http://forum.xda-developers.com/android/apps-games/root-doze-settings-editor-android-t3235130
Open SuperSU, then open Doze Settings Editor. SuperSU will ask for root permission, please grant it.
Go into Doze Setting Editor. To keep it easier, go to preferences and change display from milliseconds to seconds.
Set the following, from the top down.
30, 0, 0, 20.0, 0, 0, 12, 12, 2.0, 60, 600, 2.0, 3600, 300, 60, 20
(Easier way to do this is to load tuhinxp04's profile and just change idle timeout and max idle timeout to 60 sec and 600 sec respectively)
Step Three: Test
Now, we will test! Make sure you have adb on your computer, plug your phone into your computer, and run the following commands:
adb shell
dumpsys battery unplug
(turn off the screen of your phone)
dumpsys deviceidle step
(repeat this command until the state is IDLE.)
Now, check the status with this command:
dumpsys deviceidle
Things to look at from the output of this command are:
mState
mNextAlarmTime
Basically, mNextAlarmTime will count down to zero. When it reaches zero, mState will go from IDLE to IDLE_PENDING (and that's when you'll get your notifications). The settings we put in Doze Settings Editor make it so that the countdown starts at one minute, then increases twofold each time until it hits ten minutes. So the longest you'll wait to receive an email notification would be 9 min, 59 seconds.
If everything went well, the device will go from IDLE to IDLE_PENDING after the countdown. Send a test email and watch it arrive.
That's it! If this works, you'll get your notifications. You can adjust the numbers in Doze Settings Editor to match your personal preference.
Now here's the odd thing. With the latest Chinese firmware and international firmware, it does not go into IDLE_PENDING after the countdown. Instead, the countdown goes from +1sec to 0sec to -1sec and counts up, when debugging with ADB. I have no idea how to fix this, but if anyone with other firmware wants to try this solution and see what happens, hopefully we can fix notifications for all software versions. For now I'll stick with NXT-AL10C00B129SP02
UPDATE: I have somehow gotten AL10C00B129SP02 to behave the same as the newer version. I will look further into this as best I can and figure this out. So please hang on a little longer
Is the push notification issue affecting every firmware and model or only few? I'm still deciding to buy the phone or not, so wondering.. Thanks!
Vikram1988 said:
Is the push notification issue affecting every firmware and model or only few? I'm still deciding to buy the phone or not, so wondering.. Thanks!
Click to expand...
Click to collapse
I tried this on my L29 running B162. It seems to have made no difference at all. Notifications are still significantly delayed, especially for email.
---------- Post added at 04:58 PM ---------- Previous post was at 04:56 PM ----------
Vikram1988 said:
Is the push notification issue affecting every firmware and model or only few? I'm still deciding to buy the phone or not, so wondering.. Thanks!
Click to expand...
Click to collapse
I think this is a Huawei EMUI thing. If you look back at older phones on older versions of Android (P8, Mate 7, etc) they all had this issue (and still do). People try to blame doze, but this issue existed long before Marshmallow was around.
I have the European L29 model and I see this issue. Don't let anyone try to tell you that model doesn't suffer from it. It's real.
Guys check my post on 100% working solution for Notifications http://forum.xda-developers.com/mat...ues-huawei-t3345380/post66044102#post66044102

Guide to avoid registering a new GSF android_id at each clean install

As you may noticed since last week google wants us, the custom rom users to manually register our android_id to the link https://www.google.com/android/uncertified/
It looks simple isn't it?
But there's a catch. Each google account can register up to 100 ids. So if you keep registering new ids after every clean install you'll more likely to hit that 100 ids limit soon. That's even worse for fhe rom developers as they may flash up to 20-30 roms a day.
I'm figuring out that in a different way though. The procedure I'm following is:
A. BEFORE ANYTHING
If you're doing this first time:
1) Copy this database from /data/data/com.google.android.gsf/databases/gservices.db
2.1) Open the database with a sql editor or from adb shell or a terminal emulator in sqlite3, see android_id with this sql command:
SELECT *
FROM main
WHERE name="android_id";
2.2) OR from adb shell:
$ adb root
$ adb shell 'sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "SELECT * FROM main WHERE name = \"android_id\";"'
3) Then save the value you're seeing to somewhere else, and register to your account at https://www.google.com/android/uncertified/
B. THEN FOR EVERY CLEAN INSTALL
1) Backups and wipes.
2) Flash rom (pt roms with vendors have the firmware included).
3) Flash gapps.
4) Optionally flash a custom kernel.
5) Reboot and configure your device.
6) Flash magisk, reboot.
THEN THIS PART IS IMPORTANT:
7.1) Again copy this database /data/data/com.google.android.gsf/databases/gservices.db and open in a sql editor (or with sqlite3 in terminal emulator, or adb shell) and execute this sql command:
UPDATE main
SET value=XXXXXXXXXXXXXXXXXXX
WHERE name="android_id";
7.2) OR from adb shell:
$ adb root
$ adb shell 'sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "UPDATE main SET value=XXXXXXXXXXXXXXXXXXX WHERE name = \"android_id\";"'
Note: XXXXXXXXXXXXXXXXXXX is your android_id as you've learned and registered to your account before (You can see the android_id s you've registered at the same google link).
I just registered my IMEI, that one stays the same across factory resets.
Also, Titanium backup has an option to restore a previously used android ID.
Deleted
Deleted
muff99 said:
I just registered my IMEI, that one stays the same across factory resets.
Also, Titanium backup has an option to restore a previously used android ID.
Click to expand...
Click to collapse
Yes that works too but this is the manual method for the gsf android_id. Wifi only devices doesn't have IMEI for example.
https://www.xda-developers.com/google-removes-100-device-registration-limit-uncertified-device-page/
G4B33 said:
https://www.xda-developers.com/google-removes-100-device-registration-limit-uncertified-device-page/
Click to expand...
Click to collapse
Yes so now we don't have to do that much of hacky-wacky stuff just to get gsf certified status anymore. #YayGoogle? ?
What if you don't do that?
seems not working. After rebooting, it went back to previous id
You know I've just realized that doing exactly what's written on Google's page (that I've shared link of it) doesn't change my status too. My id is exactly what I've registered on the id registration page but no it stays uncertified so you can ignore this post too... I hope we can find a solution soon :/
ccelik97 said:
You know I've just realized that doing exactly what's written on Google's page (that I've shared link of it) doesn't change my status too. My id is exactly what I've registered on the id registration page but no it stays uncertified so you can ignore this post too... I hope we can find a solution soon :/
Click to expand...
Click to collapse
I think the display will always stay on "not certified", but you are atill able to use the Google services (which unregistered custom ROM users are not any more, if I understood correctly).
This is just a guess on my side, I have not tested this (and I can't since I added all kinds of IDs to that registration page ...).
All in all the information flow from Google on this topic has been spectacularly bad, imho.
When I register my GSF id, its not saved or a different number is display, see my correct I'd in the enter field vs ones registered.
image45 said:
When I register my GSF id, its not saved or a different number is display, see my correct I'd in the enter field vs ones registered.
Click to expand...
Click to collapse
That's because you entered it in hex format, it gets converted into decimal.
Also, don't post your id here ... Not sure what happens if other people register your id with their Google account.
muff99 said:
That's because you entered it in hex format, it gets converted into decimal.
Also, don't post your id here ... Not sure what happens if other people register your id with their Google account.
Click to expand...
Click to collapse
Do I need to convert it or is that an accepted way to submit the information please?
If I try to resubmit it advises already registered.

Categories

Resources