Related
I want to use eclipse and the sdk to launch apps I am developing on my touch pro 2. I have installed the htc adb drivers, but my phone dosn't show up in adb even though android thinks it is connected. It is definitly some combo of phone/drivers as my friends hero works perfectly.
Any advice?
incase anybody cares, they answered this over on ppcgeeks
forum.ppcgeeks.com/showthread.php?t=116900
quick summary
millmanorama said:
incase anybody cares, they answered this over on ppcgeeks
forum.ppcgeeks.com/showthread.php?t=116900
Click to expand...
Click to collapse
For those just looking for the answer without registering for another forum:
Edit the andboot/conf/eclair.user.conf file to include
Code:
echo 2 > /sys/devices/platform/msm_hsusb/usb_function_switch
in the custom_shells section (at the bottom) so that it looks something like this:
Code:
custom_shells{
#echo "Hello!!!" # example
#echo "You can create your own commands here" # example
echo 2 > /sys/devices/platform/msm_hsusb/usb_function_switch
}
Hello guys, I find this thread through Google and xda search. I am using XDAndroid port Froyo 2.2.1 update 1/23 and the method of edit user.conf doesn't work anymore.
This takes me many hours of searching to come to another solution in another thread.
Some may found that installing DroidExplorer may help, as suggested in this post and some posts after.
This takes me an amount of time, so I hope by leaving a note here may help some others when search for this problem.
there are two adb driver version
htc and google, you need to install htc driver
BTW,my adb shell have color control character ,so need to use shell soft to list files
For some reason the upper left part of my touchscreen doesn't work.
I tried the "Touch Screen Recalibrate" apk from gojimi but it didn't help, well not with the corner at least.
I really noticed it while running CM7.1 (which unfortunately was my favorite ROM until this situation occurred) because I could not hit *anything* in that freaking corner , and I am very ocd so it irritated me way too much to be ignored. So i had to change back to Beasty's Froyo Ultimate (in the meantime) until this can be resolved. Correction, if this can be resolved.
If ANYONE has anything that may help please please PLEASE share it
Any help is appreciated
I have had good success with the procedure that starts by using a terminal emulator (like the one from Jack Palevich). From the terminal emulator, you do the following:
1. $ su
2. # touch /sdcard/calibration.ini
3. # /system/bin/TSCalibration
This is discussed in threads like: http://forum.xda-developers.com/showthread.php?t=1098010
Good luck.
Cannot open the file...?
I followed all the steps exactly as stated and this happened:
get devicetype!
get btmac!
can not open the file calibration.ini in emmc !
Except the last line repeated endlessly
poymeister said:
I have had good success with the procedure that starts by using a terminal emulator (like the one from Jack Palevich). From the terminal emulator, you do the following:
1. $ su
2. # touch /sdcard/calibration.ini
3. # /system/bin/TSCalibration
This is discussed in threads like: http://forum.xda-developers.com/showthread.php?t=1098010
Good luck.
Click to expand...
Click to collapse
So I looked at the thread you posted and tried the procedure given for Gingerbread ROMs (because I switched to cm7 again to do this) and it says that calibration.ini is a read only file system.
Heres what i followed:
rajeevvp said:
Ah! you're running one of the Gingerbread-based ROMs. The error message tells you what you need to do:
Code:
$ [B]su[/B]
# [B]touch /emmc/calibration.ini[/B]
# [B]/system/bin/TSCalibration; sleep 5[/B]
Don't type in the prompts ('$' and '#')--they're only there to show you how the screen should look--and don't touch the screen until you get the '#' prompt again. Make sure you have the Superuser app (also free) from Market first for the su command to work.
Remove the calibration.ini file if calibration succeeded:
Code:
$ [B]su[/B]
# [B]rm -f /emmc/calibration.ini[/B]
Click to expand...
Click to collapse
See post #20 of that same thread for a much simpler method.
rajeevvp said:
See post #20 of that same thread for a much simpler method.
Click to expand...
Click to collapse
Thank you SO much! this worked finally *phew*.
Still busted...
I took my gTab a part a few days ago to fix the power connector that had come loose. When I put it back together I did not have any sensitivity on the right side of the screen (when holding it in landscape position). I ran calibration.ini and later tried the TouchRecalibrate app. I finally got it all working again except for the last inch. When holding it in landcape position the last inch from top to bottom on the right has no sensitivity. Is there anything else that I can do to fix it?
Here is a small script that toggle force usb charging option from pershoot kernel :
Code:
#!/system/bin/sh
export STATE=`cat /sys/class/power_supply/battery/force_usb_charging`
if [ $STATE == 0 ]
then echo 1 > /sys/class/power_supply/battery/force_usb_charging
echo "Enable USB Charging"
else echo 0 > /sys/class/power_supply/battery/force_usb_charging
echo "Disable USB Charging"
fi
It needs root permission and a suitable kernel such as pershoot's.
PS: first step in the XDA community
It will be nice if you could explain how to use this script (one of the several ways).
Sorry to forgot the documentation part, here it is :
It can be used with any terminal apps with root access, just copy the content into a file (toggle_usb.sh for instance) and launch it in root terminal with :
Code:
sh toggle_usb.sh
A more user friendly way is to use Script Manager with SMWidget to add it on your homescreen. I use it this way so I could disable charging when the tab is plugged only for a file transfert.
Will this work on other devices? Like say the acer a100 or acer a500. Considering getting one of those but don't like that neither will charge usb.
If this only works for galaxy tab, how come? Just curious why force usb works on galaxy tab and not other devices.
It might work on other devices if the charging chipp support it and if the kernel has driver for. For the Galaxy Tab,The stock kernel and many others shipped with custom rom don't allow usb charging.
If supported by your hardware the script should work, it only use standard script and kernel related configuration.
EDIT:
The Acer a100 et a500 have a dedicated charger wich deliver 12V which is far more than a USB port can deliver (5V), I seriously doubt they put a dc-dc converter to connect the usbport to the charging chip.
Envoyé depuis mon GT-P7500 avec Tapatalk
Widget Apps
Hello,
I've tried to make it more user friendly, so I created a small widget apps using my previous script. It's my first real apps for Android, it still has some flaws.
Known Issues :
when adding the widget the file is at unknown state, need to hit the refresh button
Design is perfectible especially icons...
I would like to thanks the authors of the android-widget-development-tutorials availlable on google code.
not on tab 3
ebolalex said:
Here is a small script that toggle force usb charging option from pershoot kernel :
Code:
#!/system/bin/sh
export STATE=`cat /sys/class/power_supply/battery/force_usb_charging`
if [ $STATE == 0 ]
then echo 1 > /sys/class/power_supply/battery/force_usb_charging
echo "Enable USB Charging"
else echo 0 > /sys/class/power_supply/battery/force_usb_charging
echo "Disable USB Charging"
fi
It needs root permission and a suitable kernel such as pershoot's.
PS: first step in the
Well so far as I can see the folder called battery here apears as a file that is un openable to root explorer, the terminal will go in but there is no editing allowance as the files are locked, command chmod return a bad mode eror, since force_usb_charging does not exist I thought np ill creat on... long story short I made a file by that name in storage then used cp to copy that file to the destination mentioned (after chmod the sys class power_supply to write for all, ) battery would not as I mention take such command. All in all I still have not created the file force_usb_charging with a 1 as cat. So question........ how can I create the file in the directory. I am rooted, all my work in terminal has been su, I see the # show me as rooted, and I can alter the permissions. (Ps sorry dude with svsfsswitch.apk did absolutly nothing as the file did not exist, nor did the script above) is the smt 210r that different from othet machines? Lol retorical q, sorry . Tyvm for the help in advance. With time ill learn this linux /android stuff out.... summery how to creat a file in the sys/class/power_supply/battery called force_usb_charging containing the number 1.....
Click to expand...
Click to collapse
grummbunger said:
ebolalex said:
Here is a small script that toggle force usb charging option from pershoot kernel :
Code:
#!/system/bin/sh
export STATE=`cat /sys/class/power_supply/battery/force_usb_charging`
if [ $STATE == 0 ]
then echo 1 > /sys/class/power_supply/battery/force_usb_charging
echo "Enable USB Charging"
else echo 0 > /sys/class/power_supply/battery/force_usb_charging
echo "Disable USB Charging"
fi
It needs root permission and a suitable kernel such as pershoot's.
PS: first step in the
Well so far as I can see the folder called battery here apears as a file that is un openable to root explorer, the terminal will go in but there is no editing allowance as the files are locked, command chmod return a bad mode eror, since force_usb_charging does not exist I thought np ill creat on... long story short I made a file by that name in storage then used cp to copy that file to the destination mentioned (after chmod the sys class power_supply to write for all, ) battery would not as I mention take such command. All in all I still have not created the file force_usb_charging with a 1 as cat. So question........ how can I create the file in the directory. I am rooted, all my work in terminal has been su, I see the # show me as rooted, and I can alter the permissions. (Ps sorry dude with svsfsswitch.apk did absolutly nothing as the file did not exist, nor did the script above) is the smt 210r that different from othet machines? Lol retorical q, sorry . Tyvm for the help in advance. With time ill learn this linux /android stuff out.... summery how to creat a file in the sys/class/power_supply/battery called force_usb_charging containing the number 1.....
Click to expand...
Click to collapse
Hi grummbunger,
The /sys folder is a special filesystem handled by the linux kernel itself (by the means of its drivers), it provide information and control on peripheral. So If you do not have a specific fil in your /sys you could not create it. My Script was intended to work with Pershoot kernel, if you do not use it, the driver may not be loaded or might use a different file.
I would asked you which ROM and Kernel you are using to test it, but unfortunately i don't have access to a galaxy tab anymore...
Could you post me the list of file availlable in your battery folder ?
Welcome in the community, I hope you'll find the way to hack into your device to suit your needs
Click to expand...
Click to collapse
samsung usb charge enabling
ebolalex said:
grummbunger said:
Hi grummbunger,
The /sys folder is a special filesystem handled by the linux kernel itself (by the means of its drivers), it provide information and control on peripheral. So If you do not have a specific fil in your /sys you could not create it. My Script was intended to work with Pershoot kernel, if you do not use it, the driver may not be loaded or might use a different file.
I would asked you which ROM and Kernel you are using to test it, but unfortunately i don't have access to a galaxy tab anymore...
Could you post me the list of file availlable in your battery folder ?
Welcome in the community, I hope you'll find the way to hack into your device to suit your needs
Click to expand...
Click to collapse
android version 4.1.2 (could not find a pershoot rom to run on a 7 inch samsung tab3, and before flashing at all i wanna make sure that the setting can't be applied without flashing as that is really a last resort.) but i am totally ok with flashing if it is nessesary. i have rockettab ready to go, but have no idea if that would help at all with this situation.
kernel 3.4.5-1304745-user
found that the link "battery" goes to sys/devices/platform/sec-battery/power_supply/battery there are many files there that report status of power and such i found, some of the files names are like:
batt_charging_source batt_lp_charging Charge_now charge_type soip_activated soip_level status talk_gsm wc_enable wc_status. etc...
tyvm for your interest in helping my problem!
Click to expand...
Click to collapse
grummbunger said:
ebolalex said:
android version 4.1.2 (could not find a pershoot rom to run on a 7 inch samsung tab3, and before flashing at all i wanna make sure that the setting can't be applied without flashing as that is really a last resort.) but i am totally ok with flashing if it is nessesary. i have rockettab ready to go, but have no idea if that would help at all with this situation.
kernel 3.4.5-1304745-user
found that the link "battery" goes to sys/devices/platform/sec-battery/power_supply/battery there are many files there that report status of power and such i found, some of the files names are like:
batt_charging_source batt_lp_charging Charge_now charge_type soip_activated soip_level status talk_gsm wc_enable wc_status. etc...
tyvm for your interest in helping my problem!
Click to expand...
Click to collapse
In fact the kernel you need to install must support charging from any sources. It should be specified in the kernel feature list. Stock kernel won't let you do this or it would work out of the box.
Be aware that your Usb port must provide enough power to charge your device.
You're welcome.
Click to expand...
Click to collapse
ebolalex said:
grummbunger said:
In fact the kernel you need to install must support charging from any sources. It should be specified in the kernel feature list. Stock kernel won't let you do this or it would work out of the box.
Be aware that your Usb port must provide enough power to charge your device.
You're welcome.
Click to expand...
Click to collapse
Well it is a dell usb with power share at 1.2 a a wall charger is 2, the battery is 4000ma, I digress though I have in fact found the battery lasts for well over the time I need so I am all good. Thanks again for the responce!
Click to expand...
Click to collapse
If your kernel supports init.d scripts you can save script to /system/etc/init.d and it will be automatically launched on device boot. You have to delete extension from script name and prefix is number from 00 to 99
Hi,
Any way to get this working on kitkat rom (carbon kk)?
Phone is photon q, in the original sprint rom burried under hidden menu's the is a app to do it, so it must be possible in some way....any ideas?
Thanks!
I take no credit for any of this, I have just put together things I have found on various threads.
As you all know the touch screen calibration that runs at boot does not work with any of the newer kernels as you cannot see some of the cross hairs to tap. I have personally NEVER been able to produce my own accurate ts-calibration file and have been using an ancient one that I downloaded back in the early days of FRX (thank you arrrghhh). Hopefully you have a somewhat functional ts-calibration file as you need to carry out this procedure from within Android. Here we go... (it's easy)
1. Download HtcCalibrate_WVGA.apk, thanks to lukas.pce, attached to first post here http://forum.xda-developers.com/showthread.php?t=1457343 to your device.
2. Install HtcCalibrate_WVGA.apk
3. Run HTC Calibrate and follow the instructions, tapping all the points (I used a toothpick for added accuracy)
4. When complete the app will report 'Calibration complete', tap 'Done'. Your screen should now be accurately calibrated for this session. Test to make sure it is working correctly before proceding to next step.
5. Now to get the calibration data to stick after reboot: Open your file explorer (MUST HAVE ROOT ACCESS; I use ES File Explorer with Menu>Settings>'Up to Root' checked) and navigate to /sys/devices/virtual/input/input3/ there you should see a file named calibration_points.
**It seems that in some builds (perhaps depending on kernel version?) that the devices get defined differently and I have found the file calibration_points in /sys/devices/virtual/input/input2/.
**So if you can't find it in input3/ then check input2/ (I haven't seen it anywhere else, but it probably could be in input1/, 4/, or 5/ as well, if not in the first two).6. Finally copy calibration_points to /sdcard/ (the root of your SD card), delete your existing ts-calibration file (or backup somewhere if you want) and rename calibration_points to ts-calibration.
**Nand users see this (thanks wizardnight!):
wizardknight said:
BTW on the nand version (GBX0* + 3.3.x kernel) it needs to be placed in /data/
Click to expand...
Click to collapse
Done. Your phone should now boot with the calibration data you created.
So that is where it sticks the file. I have been trying to find that out forever. Cool beans.
I had been using an old version of GBX0B on an sd card to make a decent ts-calibration file. Kind of a pain as you have to load up WM, then GBX0B to make the file at boot time (and it wasn't as accurate as the HTC one), copy it , and then reload the GBX and paste it.
BTW on the nand version (GBX0* + 3.3.x kernel) it needs to be placed in /data/
Why couldn't you have posted this sooner When I was using GBX0C I couldn't find the file anywhere
Ha! Sorry, I just found it today. Your problem was prbably that you looked virtually everywhere! It does seem an odd place for the file to be.
Would it work to bind-mount that file to /data/ts-calibration in the boot script, so that running HTC Calibrate will automatically write it?
That I do not know. I have never looked at the boot script or bind mounted anything. But automating this does sound like a great idea!
It would be amazing if a dev could do a reverse compile on this app, and put in an option to select the save location. One can dream.
I was taking a look at the data and time stamps on calibration_points, and it seems that there is a script somewhere that takes ts-calibration and overwrites calibration_points at boot time. If that is correct disabling that overwrite would mean the app could work fine as-is.
Unfortunately just renaming the ts-calibration is not enough. During the boot process it creates a new one with a set of values.
I found this bit of code that might explain why we are seeing this overwriting.
http://gitorious.org/xdandroid/rootfs/merge_requests/4
Part 1 locates the touch screen manager directory
Part 2 looks for ts-calibration in /data/ and if it finds it overwrites calibration_points
otherwise it creates a new ts-calibration using a default set of values and then overwrites calibration_points
So what we want to do is have it overwrite /data/ts-calibration with $touchscreendir/calibration_points as long as calibration has been completed previously within android.
Now I haven't really written code/scripts in a decade and am not yet too familiar with linux but something like:
(tiad8's commit, edited poorly by me)
## Ts Calibration
for i in /sys/class/input/input* ; do
if [ "`cat $i/name`" = "tssc-manager" ] ; then
touchscreendir=$i
echo "Touchscreen device directory is $i"
fi
done
if [ -f /data/ts-calibration ] ; then
echo "Using Saved Touchscreen Calibration"
echo 128,128,1903,128,128,1907,1903,1907,1024,1024 > $touchscreendir/calibration_screen
cat /data/ts-calibration > $touchscreendir/calibration_points
else
if [ -f "$touchscreendir/calibration_points"="0,0,0,0,0,0,0,0,0,0" ] ; then
echo "Using Default Calibration Values"
echo 821,860,197,868,500,517,829,172,191,171 > /data/ts-calibration
cat /data/ts-calibration > $touchscreendir/calibration_points
else
echo "Using Last Calibration Values"
echo 128,128,1903,128,128,1907,1903,1907,1024,1024 > $touchscreendir/calibration_screen
cat $touchscreendir/calibration_points > /data/ts-calibration
fifi
I am sure that my commands and syntax above are wrong, it's the concept that I am trying to convey.
I want to look to see if there is a ts-calibration and if not then look to see if there is valid calibration data in calibration_screen and if there is then write that value to ts-calibration. Thus to update calibration all you need to do is run HTC Calibration, and delete ts-calibration.
I guess you could also compare calibration_screen to ts-calibration and if there are differences (and calibration_screen is valid) have ts-calibration overwritten, removing the need to delete it!
I am assuming that before calibration or having ts-calibration written to it that calibration_screen has the value 0,0,0,0,0,0,0,0,0,0 but it could also be 0 or empty i don't know really and am probably wrong!
Also for GBX0C /data/ would have to be /sdcard/
One major problem with that plan:
/sys/ isn't a real filesystem.
It's a virtual file system, like /proc/, created programmatically by kernel drivers. It's not stored anywhere.
That boot script is writing the node because that's the only way to get the data into the kernel. If you don't do that, the calibration gets purged (or more accurately, not initialized) every boot.
That's why I proposed a bind-mount: make an access to one place in the filesystem affect another place. Though I realize another problem with that... The driver doesn't read from the filesystem! You have to actually write to the node to get the data into the driver. So that busts that plan.
It might be theoretically possible to modify the kernel driver to signal a userspace process to copy that data out, but... I don't know what would go into that, or even if it's ideal.
I have been using the latest kernel, 3.4 with a new build of GBX0C and decided to re-calibrate my screen:
Strange.... When I went looking for calibration_points in /sys/devices/virtual/input/input3/ it wasn't there, it had moved to /sys/devices/virtual/input/input2/
Before I edit the first post can anyone who is using the 3.4 linux kernel confirm this, please?
I can confirm that with the 3.3 kernel, mine is in input2, not input3
where to copy? does not have memory card
karelkopp said:
where to copy? does not have memory card
Click to expand...
Click to collapse
What does not have a memory card? The RHOD certainly has a slot for one...
Edit - I just realized why your question is so poorly worded. You're running NAND, and this thread assumes you're on a SD build.
I responded to you here.
I recently started working on a Android based Car solution and decided to buy the MK802 units. My car used to have a Windows based PC, so I already have VGA touchscreens installed. I didnt want to replace the screens, so I bought a HDMI to VGA converter and the MK802.
I plugged the touchscreen into the MK802, assuming it wouldnt do anything. But sure enough, it works. Problem is the calibration is off and up and down are reversed. So say I tap the bottom of the screen, the mouse pointer appears on the top of the screen and vis versa. My understanding (Im very new to this) is that you have to be rooted, which is the way these devices come.
So my question is, will this calibration tool work? I know most Androids use a multi-touch screen. Mine are 4-wire touch panels. Also, what do I have to look for and edit to get Up to Up and Down to Down?
Thanks in advance!
hijackzx1 said:
I recently started working on a Android based Car solution and decided to buy the MK802 units. My car used to have a Windows based PC, so I already have VGA touchscreens installed. I didnt want to replace the screens, so I bought a HDMI to VGA converter and the MK802.
I plugged the touchscreen into the MK802, assuming it wouldnt do anything. But sure enough, it works. Problem is the calibration is off and up and down are reversed. So say I tap the bottom of the screen, the mouse pointer appears on the top of the screen and vis versa. My understanding (Im very new to this) is that you have to be rooted, which is the way these devices come.
So my question is, will this calibration tool work? I know most Androids use a multi-touch screen. Mine are 4-wire touch panels. Also, what do I have to look for and edit to get Up to Up and Down to Down?
Thanks in advance!
Click to expand...
Click to collapse
This tool was made for HTC phones. You will need to find the group for your device to get support for it.
Calibration problem
Hello,
I am not able to calibrate screen on htc touch pro2 sprint modem (T7380) PocketPC
there is a software problem due to which i had to reset factory restore button inside handset ,and restarted device
but it stuck on calibrate option ,continuous prompt to press all 4 side and centre ,even though i had done multiple time
but no further progress ,would like to know how to come out from this problem
now the handset is completely not starting ...i am on calibrate mode screen.
please suggest any solution .
syedwasi said:
Hello,
I am not able to calibrate screen on htc touch pro2 sprint modem (T7380) PocketPC
there is a software problem due to which i had to reset factory restore button inside handset ,and restarted device
but it stuck on calibrate option ,continuous prompt to press all 4 side and centre ,even though i had done multiple time
but no further progress ,would like to know how to come out from this problem
now the handset is completely not starting ...i am on calibrate mode screen.
please suggest any solution .
Click to expand...
Click to collapse
It sounds like you are having this issue with a Windows Mobile ROM and this thread is dedicated to Android on the Touch Pro2. However...
OFF TOPIC:
I had a similar problem with my old Acer M900 and the solution was to put an empty text file in the root (no folders) of your SD card and rename it welcome.not and this will bypass the screen calibration on your first boot. I was then able to successfully run the calibration afterwards from the settings menu. Here, to make it easy I attached the file here:View attachment welcome.zip. Simply unzip the file and place the file welcome.not on your storage card.
Caldair said:
I take no credit for any of this, I have just put together things I have found on various threads.
As you all know the touch screen calibration that runs at boot does not work with any of the newer kernels as you cannot see some of the cross hairs to tap. I have personally NEVER been able to produce my own accurate ts-calibration file and have been using an ancient one that I downloaded back in the early days of FRX (thank you arrrghhh). Hopefully you have a somewhat functional ts-calibration file as you need to carry out this procedure from within Android. Here we go... (it's easy)
1. Download HtcCalibrate_WVGA.apk, thanks to lukas.pce, attached to first post here http://forum.xda-developers.com/showthread.php?t=1457343 to your device.
2. Install HtcCalibrate_WVGA.apk
3. Run HTC Calibrate and follow the instructions, tapping all the points (I used a toothpick for added accuracy)
4. When complete the app will report 'Calibration complete', tap 'Done'. Your screen should now be accurately calibrated for this session. Test to make sure it is working correctly before proceding to next step.
5. Now to get the calibration data to stick after reboot: Open your file explorer (MUST HAVE ROOT ACCESS; I use ES File Explorer with Menu>Settings>'Up to Root' checked) and navigate to /sys/devices/virtual/input/input3/ there you should see a file named calibration_points.
...
..
**Nand users see this (thanks wizardnight!):
Done. Your phone should now boot with the calibration data you created.
Click to expand...
Click to collapse
I have had a little bit of an alingment problem with my screen on my TP2. The NAND GBX works great so far. The only small but nevertheless important issue is finding a way to calibrate the screen and all Google searches lead back to the same forum post here , which has many files in the zip but NO apk inside.
Anyway, if anybody has any information of where to find an apk that will work, or maybe information on how to use the included files in the above mentioned link would be much appreciated.
My sincere thanks to all the developers that make all this modding possible, thank you all.
isruco said:
I have had a little bit of an alingment problem with my screen on my TP2. The NAND GBX works great so far. The only small but nevertheless important issue is finding a way to calibrate the screen and all Google searches lead back to the same forum post here , which has many files in the zip but NO apk inside.
Anyway, if anybody has any information of where to find an apk that will work, or maybe information on how to use the included files in the above mentioned link would be much appreciated.
My sincere thanks to all the developers that make all this modding possible, thank you all.
Click to expand...
Click to collapse
I just redownloaded the WVGA calibration from the link you refered to here:
[URL="http://forum.xda-developers.com/showthread.php?t=1457343"]http://forum.xda-developers.com/showthread.php?t=1457343
And the file seems to be intact and unchanged.
Those attached files on said thread ARE apk's already, they don't need to be extracted, just installed on your TP2.:good: Hope that helps!
My phone had a constant wakelock and it was draining my battery.
After doing more research I found that it is because of a recent update to Google Play Services. The Cyanogenmod fix is here:
http://review.cyanogenmod.org/91021
The workaround I used was to enable the service at startup. Only the receivers should be disabled, the service should remain enabled. See the above link for details.
Here is a workaround I use:
Install Script Manager (SManager) from Play Store. https://play.google.com/store/apps/details?id=os.tools.scriptmanager.
Enable Browse as root in SManager (Advanced > Configuration).
From SManager, create a script in /data/local/ with the name 'startsysupservice'.
Edit the script and put the following line in the file:
su -c "pm enable com.google.android.gms/.update.SystemUpdateService"
Mark the following options: Su, Boot, Bg.
Change the radio button from 'Is script' to 'Is executable'. This may not be required for CarbonRom but was when I tested this on CyanogenMod. If you don't select this, the CPU may be constantly doing something so it will actually be worse than before (this selection may have something to do with what shell is used to execute this).
Hit Save. Reboot the phone.
Whenever the phone boots up, it will start the service which should stop the wakelock. It may take a few minutes before the script is run, but eventually the service will start. You can use the 'Disable Service' app to check that it worked.
NOTE: The correct way is for your ROM maintainer to update the sources with the new patch. Unfortunately, many ROMs are no longer maintained (especially for older devices) so this way is a good way to get around this issue for these ROMs. I originally created this for CarbonRom on my P769. I then switched to CyanogenMod 11 by dhiru1602 and this workaround still worked. It should work on other devices as well.
frostinide said:
My phone had a constant wakelock. After doing more research I found that it is because of a recent update to Google Play Services. The Cyanogenmod fix is here:
http://review.cyanogenmod.org/#/c/91021/
The fix I used was to enable the service at startup. Only the receivers should be disabled, the service should remain enabled. See the above link for details.
Here is a workaround I use:
Install Script Manager (SManager) from Play Store. https://play.google.com/store/apps/details?id=os.tools.scriptmanager.
Enable Browse as root in SManager (Advanced > Configuration).
From SManager, create a script in /data/local/ called 'startsysupservice' with the single line:
su -c "pm enable com.google.android.gms/.update.SystemUpdateService"
Mark the following options: Su, Boot, Bg.
Hit Save. Reboot the phone.
Whenever the phone boots up, it will start the service which should stop the wakelock. It may take a few minutes before the script is run, but eventually the service will start. You can use the 'Disable Service' app to check that it worked.
It would be nice if the Cyanogenmod fix in the link above could be merged into CarbonRom and other ROMs for future releases, but I wanted to share this workaround in the meantime. I have P769 with CarbonRom.
Click to expand...
Click to collapse
Interesting info Frost..
and the script is a good idea. By the time I have Oneplus O2 OS all patched up, it will look worse than Frankenstein and I'll never remember all of the operations.
Frost,
Would you detail the differences between "Only the receivers should be disabled, the service should remain enabled"?
Thanks.
JeffDC said:
Would you detail the differences between "Only the receivers should be disabled, the service should remain enabled"?
Click to expand...
Click to collapse
I got that information from the CyanogenMod link I posted. You can see the patch there and see exactly what lines were changed for this fix.
I suggest you read the Android development documentation if you want to know how it all works.
I also found this link, but I can't vouch for its correctness as I don't have enough knowledge of how Android works: http://stackoverflow.com/questions/14548927/android-broadcast-receiver-vs-service
This is a major problem affecting all CM based custom ROMS. The problem is Carbon is not doing anything about it. If you go on their website, there is no new nightly for Galaxy S3 D2LTE - It has been the same ROM since 2014. When you boot the phone, it disables SystemUpdateService. So the phone never sleeps. Waiting for Carbon to Fix this issue.
So here's the real question...
WHERE is this Code within the CM and CM based ROMS that disables SystemUpdateService at boot?
ocd_amp said:
The problem is Carbon is not doing anything about it.
Click to expand...
Click to collapse
If you go to their website, they say they basically stopped working on KitKat except for certain fixes, and are concentrating on Lollipop.
https://carbonrom.org/on-to-sweeter-things/
You can check on their website for more info or if you want to try and contact them. Although I would say it's not really worth it.
I would just use the workaround that I posted (or any other workaround out there). It's not the cleanest solution, but it gets the job done.
ocd_amp said:
WHERE is this Code within the CM and CM based ROMS that disables SystemUpdateService at boot?
Click to expand...
Click to collapse
Check the link I put to the CyanogenMod fix. It has the patch showing the exact line changes and the files that have changed.
update!
Please check this thread.
[MOD] [v7.0.99] Google Play Services with System Update Wake Lock Fix
http://forum.xda-developers.com/one...mod-google-play-services-update-wake-t3078082
frostinide said:
My phone had a constant wakelock and it was draining my battery. I am using CarbonRom on my P769.
After doing more research I found that it is because of a recent update to Google Play Services. The Cyanogenmod fix is here:
http://review.cyanogenmod.org/91021
The workaround I used was to enable the service at startup. Only the receivers should be disabled, the service should remain enabled. See the above link for details.
Here is a workaround I use:
Install Script Manager (SManager) from Play Store. https://play.google.com/store/apps/details?id=os.tools.scriptmanager.
Enable Browse as root in SManager (Advanced > Configuration).
From SManager, create a script in /data/local/ called 'startsysupservice' with the single line:
su -c "pm enable com.google.android.gms/.update.SystemUpdateService"
Mark the following options: Su, Boot, Bg.
Change the radio button from 'Is script' to 'Is executable'. This may not be required for CarbonRom but was when I tested this on CyanogenMod. If you don't select this, the CPU may be constantly doing something so it will actually be worse than before (this selection may have something to do with what shell is used to execute this).
Hit Save. Reboot the phone.
Whenever the phone boots up, it will start the service which should stop the wakelock. It may take a few minutes before the script is run, but eventually the service will start. You can use the 'Disable Service' app to check that it worked.
It would be nice if the Cyanogenmod fix in the link above could be merged into CarbonRom and other ROMs for future releases, but I wanted to share this workaround in the meantime.
Click to expand...
Click to collapse
Thanks a lot buddy.
From a battery drain of anywhere between 20-45% / hour, went straight to 0.3% / hour since the last 4 hours now ( was sleeping myself, but nonetheless the lower end aka 20% drain used to take place when I was sleeping.
Your fix has restored my battery life ( atleast in this short time I do feel that has happened)
Thanks again.
Hi there,
i got rid of the googleupdateservice wakelock by the above hack.
But now i have the fingerprintscannerwakelock keeping my device awake.
Any suggestions for that??
This is the only method I've found to work on my phone to automate the process upon boot. Thanks!!! I've tried about 10 different other ways, from init.d scripts to autoruns to appOps to modified play service apks to you name it.
frostinide said:
My phone had a constant wakelock and it was draining my battery. I am using CarbonRom on my P769.
After doing more research I found that it is because of a recent update to Google Play Services. The Cyanogenmod fix is here:
http://review.cyanogenmod.org/91021
The workaround I used was to enable the service at startup. Only the receivers should be disabled, the service should remain enabled. See the above link for details.
Here is a workaround I use:
Install Script Manager (SManager) from Play Store. https://play.google.com/store/apps/details?id=os.tools.scriptmanager.
Enable Browse as root in SManager (Advanced > Configuration).
From SManager, create a script in /data/local/ called 'startsysupservice' with the single line:
su -c "pm enable com.google.android.gms/.update.SystemUpdateService"
Mark the following options: Su, Boot, Bg.
Change the radio button from 'Is script' to 'Is executable'. This may not be required for CarbonRom but was when I tested this on CyanogenMod. If you don't select this, the CPU may be constantly doing something so it will actually be worse than before (this selection may have something to do with what shell is used to execute this).
Hit Save. Reboot the phone.
Whenever the phone boots up, it will start the service which should stop the wakelock. It may take a few minutes before the script is run, but eventually the service will start. You can use the 'Disable Service' app to check that it worked.
It would be nice if the Cyanogenmod fix in the link above could be merged into CarbonRom and other ROMs for future releases, but I wanted to share this workaround in the meantime.
Click to expand...
Click to collapse
I don't get what you mean by "with the single line:
su -c "pm enable com.google.android.gms/.update.SystemUpdateService"
How do I do that part? All I get is an option to set the name of the script
noob to android said:
But now i have the fingerprintscannerwakelock keeping my device awake.
Any suggestions for that??
Click to expand...
Click to collapse
Sorry, no idea on that one. You should probably create a new post for that.
wasiq224 said:
I don't get what you mean by "with the single line:
su -c "pm enable com.google.android.gms/.update.SystemUpdateService"
How do I do that part? All I get is an option to set the name of the script
Click to expand...
Click to collapse
Put in 'startsysupservice' as the name of the script. Then edit the script (there is an edit button at the top) and put the following line in there:
su -c "pm enable com.google.android.gms/.update.SystemUpdateService"
After it's saved, edit it again to make sure the contents did actually save. If it doesn't work, you may need to save on your sdcard first and then copy it over manually with a root explorer.
It works but you have to say that this file must have changed permissions.
Thanks a lot.
Dru79 said:
It works but you have to say that this file must have changed permissions.
Thanks a lot.
Click to expand...
Click to collapse
Which are the new permissions for the file?