The desired behavior is to boot the device (Samsung Galazy S7 with Android 7) when plugged on a power source. The solutions discussed in forums are summarized bellow:
Change the battery charging animation with a shell script which executes the reboot command
Use fastboot oem command (fastboot oem off-mode-charge enable/disable or similar command which is oem depended)
Modify the boot image by overriding the on charger event(s) so to "continue" booting or force the device to reboot
I started with the first solution: I replaced the /system/bin/lpm file with
Code:
#!/system/bin/sh
/system/bin/reboot
or using su
Code:
#!/system/bin/sh
su
/system/bin/reboot
The result of the approach was not successful. The device when plugged on a power source displays an empty battery image while the most important is the recovery of the original lpm file DOES not recover the original functionality (i.e. the phone still displays an empty battery image and the only way to boot it is using the combination of the recovery buttons)
The second solution was not applicable to the Samsung Galaxy S7 since the fastboot does not exist.
The third solution did not produce also the desired behavior. I got the boot image using dd and unpacked it using the unpackimg tool. I modified the file init.rc by changing the on charger event to:
Code:
on charger
class_start charger
class_stop charger
trigger late-init
or
Code:
on charger
class_start charger
class_stop charger
start boot-on-charge
service boot-on-charge /system/bin/reboot
class charger
user root
oneshot
or
Code:
on charger
class_start charger
setprop sys.boot_from_charger_mode 1
I also tried modifying some of the other init files which include the on charger event using the above approach without any success.
Has anyone tried the above solutions (or a different approach) on Samsung Galaxy S7 successfully?
So far, the only solution which works reliably is hacking the USB port of the Samsung device: If a resistor of about 304 KOhm (just slightly above 300KOhm) is connected between the ID pint and the Ground, the device boots in Download mode. After that, using the Odin or Heimdall tool the device can be rebooted normally. Although this is not the desired (I needed a software and more generic solution which could work with devices from other manufacturers) solution it is a workaround which is tested with S7, S5 and Note 4 and works!
lpm inode position
If a new lpm file with exactly the same content, permissions, ownership and modification time is created, then renamed, as lpm, it doesn't work.
Therefore, I think the inode position of the file is significant.
cat the contents of your script over the original lpm file, retaining it's inode position, then it appears to work.
Thanks floor51
Thank you very much floor51.
I work and surfing google about 3 month.
I have samsung galaxy note 4 and move lpm to lpm_org and cat lpm, but not work... did not boot when plug in.
Today, I read your content, and test.
Just #cat > lpm without #mv lpm lpm_org
Then It works !!!!! my phone boot when plug in.
Thanks very very much. ^^;;;
Bye.
floor51 said:
If a new lpm file with exactly the same content, permissions, ownership and modification time is created, then renamed, as lpm, it doesn't work.
Therefore, I think the inode position of the file is significant.
cat the contents of your script over the original lpm file, retaining it's inode position, then it appears to work.
Click to expand...
Click to collapse
cybodime said:
Thank you very much floor51.
I work and surfing google about 3 month.
I have samsung galaxy note 4 and move lpm to lpm_org and cat lpm, but not work... did not boot when plug in.
Today, I read your content, and test.
Just #cat > lpm without #mv lpm lpm_org
Then It works !!!!! my phone boot when plug in.
Thanks very very much. ^^;;;
Bye.
Click to expand...
Click to collapse
Thanks @cybodime for verifying the solution of @floor51. I didn't try the solution by myself since I am working on Samsung Galasy S8 now.
Best regards
Thanks for all suggestions, but I have run out of luck and ideas.
I have tried this on several ROM's on my Samsung Galaxy S7 Edge, latest a nice build from here: https://wccftech.com/install-fast-light-galaxy-s7-edge-rom/
All modifications of the /system/bin/lpm file, including the "cat >" results in a boot into recovery mode.
Any suggestions are highly appreciated!
Samsung J2 Pro
Did anyone find a solution for this.
I am getting the same issue - the phone reboots into recovery mode.
Sorry, nothing. I sort of gave up and will pick this up at a later stage..
AussieRoss said:
Did anyone find a solution for this.
I am getting the same issue - the phone reboots into recovery mode.
Click to expand...
Click to collapse
I have now build a ROM with Lineage 14.1 that boots up on charge power (USB).
Seems to be working fine on my S7 Edge
Solution for anyone who's interested.
https://android.stackexchange.com/questions/195146/lpm-reboot-samsung-galaxy-s7/206872#206872
Code:
#!/system/bin/sh
# Script to reboot the system as soon as the charger is inserted
# https://android.googlesource.com/kernel/common/+/android-trusty-3.10/Documentation/sysrq.txt
# Enable kernel commands.
su -c "echo 1 > /proc/sys/kernel/sysrq"
# Send an immediate reboot request.
echo b > /proc/sysrq-trigger
Backup and cat this script over the original lpm file and plugging in the charger will cause the phone to reboot to the system after a short delay.
Code:
echo /system/bin/lpm > /system/bin/lpm.bak
echo /sdcard/reboot_on_charge.sh > /system/bin/lpm
lrbj said:
I have now build a ROM with Lineage 14.1 that boots up on charge power (USB).
Seems to be working fine on my S7 Edge
Click to expand...
Click to collapse
Hi, How did you manage to change it? I now have a rom based on lineage.. so I would try and change the things you did to get it accomplished. did you change the battery animation file? or something else?
mouragio said:
Hi, How did you manage to change it? I now have a rom based on lineage.. so I would try and change the things you did to get it accomplished. did you change the battery animation file? or something else?
Click to expand...
Click to collapse
I located the healthd file: "android/system/system/core/healthd/healthd_mode_charger.cpp"
there you can find a log call stating: "starting charger mode"
just below I added a reboot command:
Code:
android_reboot(ANDROID_RB_RESTART, 0, 0);
Now my phone boots up on usb power
/Lars
lrbj said:
I located the healthd file: "android/system/system/core/healthd/healthd_mode_charger.cpp"
there you can find a log call stating: "starting charger mode"
just below I added a reboot command:
Code:
android_reboot(ANDROID_RB_RESTART, 0, 0);
Now my phone boots up on usb power
/Lars
Click to expand...
Click to collapse
Thanx Lars.. I am gonna try that one .
I post the results.
edit: unfortunatelly I dont have that file... thanx for your reaction tho .
Help with cat command please
Hi,
I've just aquired and rooted a galaxy tab SM-T800 for use in a car application and have been looking for the 'start when power is applied' solution. I'm ready to try this solution but am missing a bit of technical knowledge and I hope you can help...
I've installed termux and can get to the shell # through issuing the su command and granting super user permissions.
I have 2 questions.
1. Which version of the #!/system/bin/sh script works?
2. What command do I write in termux to overwrite the inode (not even sure what an inode is...)
Thanks in anticipation
cybodime said:
Thank you very much floor51.
I work and surfing google about 3 month.
I have samsung galaxy note 4 and move lpm to lpm_org and cat lpm, but not work... did not boot when plug in.
Today, I read your content, and test.
Just #cat > lpm without #mv lpm lpm_org
Then It works !!!!! my phone boot when plug in.
Thanks very very much. ^^;;;
Bye.
Click to expand...
Click to collapse
I resolved this with a bit more research.
I can confirm that using cat test_file > lpm solves the problem.
Things that I learned along the way are that it's worth while saving a copy of lpm so that you can always reinstate the original file if needed and that to successfully cat the text from the test_file into lpm it's necessary to temporarily make the /system directory writable with the command mount -o rw,remount /system and to set it back to read only by replacing rw with ro after the lpm file has been updated
Auto Boot on charger - Samsung Note 3 hlte
Sollace said:
Solution for anyone who's interested.
https://android.stackexchange.com/questions/195146/lpm-reboot-samsung-galaxy-s7/206872#206872
Code:
#!/system/bin/sh
# Script to reboot the system as soon as the charger is inserted
# https://android.googlesource.com/kernel/common/+/android-trusty-3.10/Documentation/sysrq.txt
# Enable kernel commands.
su -c "echo 1 > /proc/sys/kernel/sysrq"
# Send an immediate reboot request.
echo b > /proc/sysrq-trigger
Backup and cat this script over the original lpm file and plugging in the charger will cause the phone to reboot to the system after a short delay.
Code:
echo /system/bin/lpm > /system/bin/lpm.bak
echo /sdcard/reboot_on_charge.sh > /system/bin/lpm
Click to expand...
Click to collapse
Hello fellow XDA'ers/XDA'ites!
It's been a while since I've been active on the ROM improvement side but thought I'd offer my 2 cents. Straight to the point: The above method worked for me on my Samsung Galaxy Note 3 N9005 hlte, rooted, with TWRP recovery and Magisk, running MIUI 8. Using Root Explorer, I navigated to the root/system/bin folder, opened the lpm file, deleted the content and pasted the code above as advised, saved and exited (the text editor automatically backed up the original lpm file). I rebooted for good measure, powered down and when I connected the charger, phone boots up a few seconds after displaying the battery icon.
I'm hoping I can next figure out how to power the device without a battery (any ideas greatly welcomed - I've tried the Instructables tips and few others to no avail). I can then install the device into vehicle (FYI device fits quite nicely into Volvo 6.5" screen sat navs). For those interested in a bit of history on the different things I tried to reach this point, read on.
- I attempted the above with Lineage 14.1, 15.0 and 16.0, Resurrection Remixes (going down to v5.6.2) and could not find the lpm file to edit. I have not tried this with Stock but should it have the lpm file, it may be worth a try (if I have time I'll try it over the weekend).
- Editng the lpm file with the code did not work on my device
#!/system/bin/sh
/system/bin/reboot
- With great help from lrbj (see post 12 in this thread), I also attempted to cooking my own Lineage ROM, editing the healthd_mode_charger.cpp file located in the healthd file. Unfortunately, I got an error message during the the build process saying there were no dependancies in the file and at the line that was added (android_reboot(ANDROID_RB_RESTART, 0, 0).
I hope this helps anyone out there as I know I've received immense help from XDA and its members for over 10 years now (from my Winmo days). Cheers to all
Hi just playing with my old s7 edge,
I edited existing LPM file and just pasted the code
#! /system/bin/sh
Sleep 20
/system/bin/reboot
And it works. Dint have to change, anything at all
Just Pasted it at the end of existing stuff in that file.
I tried some fixes with my Samsung S8 plus but couldn't get the boot to work when the power is on.
But how is it possible that even with the original lpm file it doesn't work anymore?
I do not know what to do...
I can't figure out how to apply the cat commands ...
Can you help me?
lrbj said:
I located the healthd file: "android/system/system/core/healthd/healthd_mode_charger.cpp"
there you can find a log call stating: "starting charger mode"
just below I added a reboot command:
Code:
android_reboot(ANDROID_RB_RESTART, 0, 0);
Now my phone boots up on usb power
/Lars
Click to expand...
Click to collapse
Mybad how to find the file ? i dont have "Android/"
Related
hi
i discovered a repeatable way to crash my phone.
i am curious if that is just my phone, or every xt720 behave the same.
the step to crash the phone (the phone will just harmless reboot) are:
1. obtain root access to the phone shell (suggested way is via "adb shell" )
2. mount the debugfs:
Code:
busybox mount -t debugfs debugfs /d
as d is symbolic link to /sys/kernel/debug the debug directory will be populated
3. (optional) make the screen off (e.g. tick on the power button, to make the phone sleep)
4. cat a dsi file:
Code:
cat /sys/kernel/debug/omapdss/dsi
the phone (at least my one) will reboot.
interesting is that, if the screen is on when issuing the cat command, the phone will survive
i am very curious if that is just my phone, so please, if and when you can, please test and give feedback.
peshovec said:
hi
i discovered a repeatable way to crash my phone.
i am curious if that is just my phone, or every xt720 behave the same.
the step to crash the phone (the phone will just harmless reboot) are:
1. obtain root access to the phone shell (suggested way is via "adb shell" )
2. mount the debugfs:
Code:
busybox mount -t debugfs debugfs /d
as d is symbolic link to /sys/kernel/debug the debug directory will be populated
3. (optional) make the screen off (e.g. tick on the power button, to make the phone sleep)
4. cat a dsi file:
Code:
cat /sys/kernel/debug/omapdss/dsi
the phone (at least my one) will reboot.
interesting is that, if the screen is on when issuing the cat command, the phone will survive
i am very curious if that is just my phone, so please, if and when you can, please test and give feedback.
Click to expand...
Click to collapse
Screen off, and issuing the command: phone rebooted
Screen on, and issuing the command: A list of parameters is spit out.
Looks as though it's not just your phone
nadlabak has been working on dsi fixes for A853. I've ported an older version of symsearch.ko, but dateno1 said the dsi-fix module didn't work. I don't understand the DSI stuff so I've been trying to port the overclock modules to use symsearch for our kernels. http://forum.xda-developers.com/showthread.php?t=1210819 Maybe nadlabak would know if this bug is related.
as I know, the dsi errors are "visible"in the dmesg output. I never saw such on my phone, and as I have regulars reboot, I watch for traces...
Sent from my Milestone XT720 using Tapatalk
First off, this may seem a noob question, but I am definitely not.
I have an Iconia A200 that now has a broken lcd screen. No display, no touch. I am able to get into the tablet from TWRP via adb, but not from Android (Jelly Bean). It seems I never enabled usb debugging when I installed the custom rooted rom.... I can access the file system and modify anything... Which files need to be modified to enable debugging in Android? Here is what I tried:
Added to default.prop and /system/build.prop
Code:
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
Edit: Must have had typos... It now works.
workdowg said:
First off, this may seem a noob question, but I am definitely not.
I have an Iconia A200 that now has a broken lcd screen. No display, no touch. I am able to get into the tablet from TWRP via adb, but not from Android (Jelly Bean). It seems I never enabled usb debugging when I installed the custom rooted rom.... I can access the file system and modify anything... Which files need to be modified to enable debugging in Android? Here is what I tried:
Added to default.prop and /system/build.prop
Code:
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
Edit: Must have had typos... It now works.
Click to expand...
Click to collapse
Ok Sounds good for you. Can you changed the title of your thread by [SOLVED]
Thanks in advance
philos64 said:
Ok Sounds good for you. Can you changed the title of your thread by [SOLVED]
Thanks in advance
Click to expand...
Click to collapse
Ooops.... :good:
How would i do this with my skyrocket? same problem, broken screen, adb disabled. Some instructions would be sweet, cause im not really clear with what you did here.
workdowg said:
First off, this may seem a noob question, but I am definitely not.
I have an Iconia A200 that now has a broken lcd screen. No display, no touch. I am able to get into the tablet from TWRP via adb, but not from Android (Jelly Bean). It seems I never enabled usb debugging when I installed the custom rooted rom.... I can access the file system and modify anything... Which files need to be modified to enable debugging in Android? Here is what I tried:
Added to default.prop and /system/build.prop
Code:
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
Edit: Must have had typos... It now works.
Click to expand...
Click to collapse
MikeMobes said:
How would i do this with my skyrocket? same problem, broken screen, adb disabled. Some instructions would be sweet, cause im not really clear with what you did here.
Click to expand...
Click to collapse
MikeMobes said:
How would i do this with my skyrocket? same problem, broken screen, adb disabled. Some instructions would be sweet, cause im not really clear with what you did here.
Click to expand...
Click to collapse
I'm going to stay general and assume that a skyrochet is a phone, you have a linux or windows pc with ADB installed (and the drivers to connect to your phone) and have TWRP or CWM Recovery installed already...
1) Start the phone in recovery mode - mine is power down and vol
2) Connect you cable to the pc and start a console terminal or cmd prompt
3) Run the following
Code:
adb shell
su
mount -o remount,rw /system
cd /
echo "persist.service.adb.enable=1" >> default.prop
echo "persist.service.debuggable=1" >> default.prop
echo "persist.sys.usb.config=mtp,adb" >> default.prop
echo "persist.service.adb.enable=1" >> /system/build.prop
echo "persist.service.debuggable=1" >> /system/build.prop
echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
Once you reboot into Android you should be able to connect via adb.
If you google vnc over adb you can get a usable but very slow vnc connection then install Andriod VNC server for a little better performance.
That's the best I can do from memory ...
workdowg said:
I'm going to stay general and assume that a skyrochet is a phone, you have a linux or windows pc with ADB installed (and the drivers to connect to your phone) and have TWRP or CWM Recovery installed already...
1) Start the phone in recovery mode - mine is power down and vol
2) Connect you cable to the pc and start a console terminal or cmd prompt
3) Run the following
Code:
adb shell
su
mount -o remount,rw /system
cd /
echo "persist.service.adb.enable=1" >> default.prop
echo "persist.service.debuggable=1" >> default.prop
echo "persist.sys.usb.config=mtp,adb" >> default.prop
echo "persist.service.adb.enable=1" >> /system/build.prop
echo "persist.service.debuggable=1" >> /system/build.prop
echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
Once you reboot into Android you should be able to connect via adb.
If you google vnc over adb you can get a usable but very slow vnc connection then install Andriod VNC server for a little better performance.
That's the best I can do from memory ...
Click to expand...
Click to collapse
I'm booted into twrp 2.6.3 and when i try to run adb devices i just get this
Code:
[email protected]:~$ adb devices
List of devices attached
???????????? no permissions
That Baker Guy said:
I'm booted into twrp 2.6.3 and when i try to run adb devices i just get this
Code:
[email protected]:~$ adb devices
List of devices attached
???????????? no permissions
Click to expand...
Click to collapse
Enter the following commands:
Code:
adb kill-server sudo ./adb start-server adb devices
The issue is your not running adb server as root.
Hello. Does possible enable accesibility and set default tts via adb shell, and edit default.prop and build.prop?
Thanks and best regards.
workdowg said:
I'm going to stay general and assume that a skyrochet is a phone, you have a linux or windows pc with ADB installed (and the drivers to connect to your phone) and have TWRP or CWM Recovery installed already...
1) Start the phone in recovery mode - mine is power down and vol
2) Connect you cable to the pc and start a console terminal or cmd prompt
3) Run the following
Code:
adb shell
su
mount -o remount,rw /system
cd /
echo "persist.service.adb.enable=1" >> default.prop
echo "persist.service.debuggable=1" >> default.prop
echo "persist.sys.usb.config=mtp,adb" >> default.prop
echo "persist.service.adb.enable=1" >> /system/build.prop
echo "persist.service.debuggable=1" >> /system/build.prop
echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
Once you reboot into Android you should be able to connect via adb.
If you google vnc over adb you can get a usable but very slow vnc connection then install Andriod VNC server for a little better performance.
That's the best I can do from memory ...
Click to expand...
Click to collapse
OMG! After my screen broke, i raged and became hulk. After 3 hours of internet-searching the hulk found your post and released me to become bruce banner again...
The thank you button was just not enough!
Sorry to resurrect a dead thread, but I need a bit more help with this. I've successfully followed these instructions to enable the adb service on my i9505 with a dead screen, however it hasn't authorised it. When I try to connect I get the following error: error: device unauthorized. Please check the confirmation dialog on your device.
Is there anyway to bypass this confirmation dialog from ADB in recovery (Philz Touch)?
Thanks.
pnz said:
Sorry to resurrect a dead thread, but I need a bit more help with this. I've successfully followed these instructions to enable the adb service on my i9505 with a dead screen, however it hasn't authorised it. When I try to connect I get the following error: error: device unauthorized. Please check the confirmation dialog on your device.
Is there anyway to bypass this confirmation dialog from ADB in recovery (Philz Touch)?
Thanks.
Click to expand...
Click to collapse
I Googled it a little and it seems to be a Samsung thing. Apparently it isn't booting to recovery. Sorry for the lack help
From my Debloated Stock Kitkat VS980 4G VZN
workdowg said:
I Googled it a little and it seems to be a Samsung thing. Apparently it isn't booting to recovery. Sorry for the lack help
From my Debloated Stock Kitkat VS980 4G VZN
Click to expand...
Click to collapse
No, I'm quite sure it is booting to my custom recovery, as I have full ADB access to that. What I'm trying to do is enable ADB access to the Android 4.4.2 proper from my custom recovery. So far following the instructions in this thread I've managed to enable ADB there, but whenever you try to connect to this phone a dialog box is meant to come up asking if you want to accept incoming ADB requests from your computer's key. Unfortunately I have no way of selecting accept (or even seeing that dialog box), so I'm hoping there's a way to bypass it.
Hey mate,
Sorry to necro-bumb the thread. I have been reading and have much similar issue to your self. Maybe some drivers that automatically enable adb, android usb or MTP without debugging enabled might be something to take a look at?
Check this thread out >>> here
Hope that might help (you and I both?)
Besides that I am still searching for a post I saw where you can edit the init-rc in the kernel (the guy explained how to extract the boot.img) and then decompile the kernel, edit the init-rc, recompile the kernel and then flash it back in recovery.
At the moment I am really stuck with a customer device that is bricked, so have a bash script and busybox binary that loads from a signed update.zip that should allow editing of the init-rc and add the lines mentioned in this thread to the build.prop and system.prop.
Fingers crossed it works for a completely stock device :fingers-crossed:
Jarmezrocks said:
Hey mate,
Sorry to necro-bumb the thread. I have been reading and have much similar issue to your self. Maybe some drivers that automatically enable adb, android usb or MTP without debugging enabled might be something to take a look at?
Check this thread out >>> here
Hope that might help (you and I both?)
Besides that I am still searching for a post I saw where you can edit the init-rc in the kernel (the guy explained how to extract the boot.img) and then decompile the kernel, edit the init-rc, recompile the kernel and then flash it back in recovery.
At the moment I am really stuck with a customer device that is bricked, so have a bash script and busybox binary that loads from a signed update.zip that should allow editing of the init-rc and add the lines mentioned in this thread to the build.prop and system.prop.
Fingers crossed it works for a completely stock device :fingers-crossed:
Click to expand...
Click to collapse
Hi mate, did you manage to get into the customers mobile? I have the same problem as I'm locked out with no access to enable USB debugging and a home button which does not work, meaning I can't load recovery mode to wipe the phone
Sent from my C6903 using XDA app
workdowg said:
Code:
echo "persist.service.adb.enable=1" >> default.prop
echo "persist.service.debuggable=1" >> default.prop
echo "persist.sys.usb.config=mtp,adb" >> default.prop
echo "persist.service.adb.enable=1" >> /system/build.prop
echo "persist.service.debuggable=1" >> /system/build.prop
echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
Click to expand...
Click to collapse
Thank you, I had no clue how, but my phone's (MUCH Snail, aka MUCH W1, aka MUCH 78P01) manufacturer (China's Snail Mobile) had removed from Android's Developer Options menu the option to Enable/Disable USB Debugging.
I was looking all over the web for days, this was the only way I could effectively turn on USB debugging in my phone. Thanks!
There's only one difference, instead of performing the above steps from an ADB console window (for obvious reasons) I did it with Build.prop Editor, but first I needed to change permissions to 666 on the default.prop file (otherwise it wouldn't save my changes).
Curiously, every time I do a full reboot the default.prop file somehow is overwritten with the manufacturer's original settings - that doesn't happen when I soft reboot my device though. Any clues as to what could be reversing my changes at boot?
wmoecke said:
Thank you, I had no clue how, but my phone's (MUCH Snail, aka MUCH W1, aka MUCH 78P01) manufacturer (China's Snail Mobile) had removed from Android's Developer Options menu the option to Enable/Disable USB Debugging.
I was looking all over the web for days, this was the only way I could effectively turn on USB debugging in my phone. Thanks!
There's only one difference, instead of performing the above steps from an ADB console window (for obvious reasons) I did it with Build.prop Editor, but first I needed to change permissions to 666 on the default.prop file (otherwise it wouldn't save my changes).
Curiously, every time I do a full reboot the default.prop file somehow is overwritten with the manufacturer's original settings - that doesn't happen when I soft reboot my device though. Any clues as to what could be reversing my changes at boot?
Click to expand...
Click to collapse
Everytime you boot your phone, the root path is extracted from ramdisk which is usually bound to kernel. As a result, your modification is overwritten. In order to modify files under root path(such as default.prop), you must change the file in ramdisk.
There is many tools and tutorials about this task, I think this is a good point to google.
Addition:
The poster of this thread try to edit default.prop via adb, which is not possible to achieve, at least, for every android device I has hold.
For the unauthorized issue, It's because secure adb, which could be disabled via ro.adb.secure=0, but if there is a ro.adb.secure=1 in default.prop, modification of ramdisk is needed.
Given92 said:
Everytime you boot your phone, the root path is extracted from ramdisk which is usually bound to kernel. As a result, your modification is overwritten. In order to modify files under root path(such as default.prop), you must change the file in ramdisk.
There is many tools and tutorials about this task, I think this is a good point to google.
Addition:
The poster of this thread try to edit default.prop via adb, which is not possible to achieve, at least, for every android device I has hold.
For the unauthorized issue, It's because secure adb, which could be disabled via ro.adb.secure=0, but if there is a ro.adb.secure=1 in default.prop, modification of ramdisk is needed.
Click to expand...
Click to collapse
I had edited both default.prop AND /system/build.prop not knowing which one to use. This worked for me on JB and I used the tablet for a while after that.
From my Nexus 9
workdowg said:
I had edited both default.prop AND /system/build.prop not knowing which one to use. This worked for me on JB and I used the tablet for a while after that.
From my Nexus 9
Click to expand...
Click to collapse
In my view, the /system/build.prop works.
I am a huge noob and i dont really understand where i am inputing that code ?
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Windows\system32>adb shell
'adb' is not recognized as an internal or external command,
operable program or batch file.
C:\Windows\system32>su
'su' is not recognized as an internal or external command,
operable program or batch file.
C:\Windows\system32>mount -o remount,rw /system
'mount' is not recognized as an internal or external command,
operable program or batch file.
C:\Windows\system32>cd /
C:\>echo "persist.service.adb.enable=1" >> default.prop
C:\>echo "persist.service.debuggable=1" >> default.prop
C:\>echo "persist.sys.usb.config=mtp,adb" >> default.prop
C:\>echo "persist.service.adb.enable=1" >> /system/build.prop
The system cannot find the path specified.
C:\>echo "persist.service.debuggable=1" >> /system/build.prop
The system cannot find the path specified.
C:\>echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
The system cannot find the path specified.
C:\>
Getting this on S$..any1 here to help me!
Symptoms:
Phone stucks at boot animation screen (4 color balls rolling)
adb devices command shows device is represent.
adb logcat shows no fatal error, no obvious cause
kernel message shows no fatal error
Cause:
Content inside /data/system/sync is corrupted(?)
Fix:
Rename or remove folder /data/system/sync
Below is the full story and how I figure it out:
3 days ago when I woke up, i find that my phone was rebooting and the screen showing boot animation. After waiting a long time, I find that the phone was stuck on boot animation. I can use adb shell to connect the phone and adb logcat to retrieve the log. The log shows nothing special or fatal, just some minor errors.
My phone is rooted, unlooked and relocked bootloader, CWM Recovery 6.0.4.4
The apps I installed that have root access included, but not limited to:
Xposed FrameworkAndroid Tuner aka 3C ToolboxGravityBoxiFontXprivacyGreenifyAFWall+BusyBoxSuperSucom.avast.android.mobilesecuritycom.avast.android.antitheft (Root install)
After Googled a few hours, 99.9% of the result tell you factory reset your phone is the fix, and i am not satisfied with that. So I used CWM recovery to made a complete backup, and tinkering with the files and system.
At first I cleared cache and dalvik-cache in recovery as this is easiest, but no luck.
Then I suspect this might be a flash memory chip problem , so I boot into recovery, use adb shell to connect console, however, adb shows that device unauthorized, so I do a factory reset and reboot recovery, then adb shell again and success, and in recovery, restore /data backup. Then I use command
Code:
%path to android platform tools folder%> adb push adbkey.pub /data/misc adb/adb_keys
, then adb is authorized after reboots.
To check if the flash memory is okay, i used the command:
Code:
e2fsck -fv /dev/block/platform/msm_sdcc.1/by-name/persist
e2fsck -fv /dev/block/platform/msm_sdcc.1/by-name/cache
e2fsck -fv /dev/block/platform/msm_sdcc.1/by-name/userdata
e2fsck -fv /dev/block/platform/msm_sdcc.1/by-name/system
The result seems fine, and no signs of hardware failure.
After reading logcat, the system seems nearly finished the booting process, and stucked at end of System service, and never signal Boot_Completed. Using Android Device Monitor, system_process main thread is still running and doing something unknown.
At this point, i think kernel and /system should be normal.
Then I suspect that the apps i installed might be the cause, I renamed the folders like:
Code:
mv /data/data /data/data.old
mv /sdcard/Android /sdcard/Android.old
mv /data/app /data/app.old
to see if the OS can boot normally, but no luck.
I also renamed many other app folders and reboot, but none of this can solve the bootloop problem.
Then I renamed /data/system and reboot, from the logcat, i can see the system is regenerating the content inside the system, and I waited for a moment, the OS booted successfully with many "xxx process stopped" error message on the screen. So at this moment I realized that content in /data/system might be the root of all evil. As Home screen is not usable with a lot of process stopped messages, I used this command to start the apps i want.
Code:
adb shell monkey -p com.yourpackage.name -c android.intent.category.LAUNCHER 1
(Need to use some game points )
Next I used command
Code:
find /data/system -mtime -3
to find out which files were altered within last 3 days. I get a list of files and folder and then I rename the folders one by one and reboot. Finally, /data/system/sync folder is confirmed as the cause of the problem.
I restored the full backup in recovery, and renamed the /data/system/sync folder to /data/system/sync.old and reboot. Phone boots normally, everything seems fine.
I don't know what, why, how exactly causing the boot problem, but the problem is solved anyway. Hope this information can help someone.
I used 40+ hrs to figure it out, and another 2+ hrs to summarize and write this.
fxxk.
Nice work!
Sent from my Nexus 5 using Tapatalk
Sir my Samsung J2 Core is stuck on BootAnimation, because of the new System Webview that i installed on Magisk, what should I do for this, Thank you in advance for your Help.
Sir my Samsung J2 Core is stuck on BootAnimation, because of the new System Webview that i installed on Magisk, then im trying to open bootloader but it is not responding. what should I do for this, Thank you in advance for your Help
TUPANGPUTi23 said:
Sir my Samsung J2 Core is stuck on BootAnimation, because of the new System Webview that i installed on Magisk, then im trying to open bootloader but it is not responding. what should I do for this, Thank you in advance for your Help
Click to expand...
Click to collapse
Probably best to ask in your devices forums. This is for the Nexus 5, not the Samsun J2 Core.
Hello all,
i would like to buy a new (cheap) tablet which i can modify to auto boot / start on charge. I need this for an project. I plan to use this tablet as a mediaplayer in my new bathroom and the buttons of this tablet will not be reachable. Is it possible to modify every device to auto boot on charge or has someone experience with devices not working?
Thx and greetings
gigi
Sorry OP
i want to hijack this thread to to compile all successful method for different devices to autoboot when plug in /charging
any one to do this must root their device and use AIK to decompile/recompile boot.image, modify certain file depending on the device
---------- Post added at 05:35 PM ---------- Previous post was at 05:23 PM ----------
]REDMI 6A MTK Device
need to modify kopc_charger file
here
https://forum.xda-developers.com/showpost.php?p=81874791&postcount=158
https://forum.xda-developers.com/showpost.php?p=81880927&postcount=159
---------- Post added at 05:45 PM ---------- Previous post was at 05:35 PM ----------
On I9500 runing linage OS 16
modify the init.rc
on charger
setprop ro.bootmode "normal"
setprop sys.powerctl "reboot"
---------- Post added at 06:03 PM ---------- Previous post was at 05:45 PM ----------
Redmi 4x
modify init.rc
on charger
class_start charger
class_stop charger
on property:sys.boot_from_charger_mode=1
trigger late-init
Samsung S5 (klte)
Working Roms: lineage-15.1
stock 6
modify init.rc:
on charger
setprop ro.bootmode "normal"
setprop sys.powerctl "reboot"
tried the same with samsung s3 mini (kminilte) but not working
HI there, i have installed this Rom to my samsung s8, it is pretty cool, and i am trying to set auto boot on USB power pluggin, but until now, no luck.
Since Android 10, seems the init.rc is regenerated every time when it boots, so unpack/repack of the .img solution seems not working any more. what i am trying next is via magisk module, still in process but no progress.
Is there any other way to do this? any light would be appreciated.
tonyniu2008 said:
HI there, i have installed this Rom to my samsung s8, it is pretty cool, and i am trying to set auto boot on USB power pluggin, but until now, no luck.
Since Android 10, seems the init.rc is regenerated every time when it boots, so unpack/repack of the .img solution seems not working any more. what i am trying next is via magisk module, still in process but no progress.
Is there any other way to do this? any light would be appreciated.
Click to expand...
Click to collapse
The init.rc is unpacked from the boot partition, you see in / only a copy of init.rc
What other solutions did you try to make it boot instantly?
hisoka_simp said:
The init.rc is unpacked from the boot partition, you see in / only a copy of init.rc
What other solutions did you try to make it boot instantly?
Click to expand...
Click to collapse
I tried to unpack the boot image, and actually the init.rc is missing from the root path, i googled it, as i think it caused by the system version, starting from Android 10, init.rc will be only generated when booting, my system is LineageOS 17.1
when the system finishing booting, i can adb shell to the file, init.rc is there then, i tried to unpack the recovery image, the init.rc is there, i tried to change that and flash to boot, and recovery, no luck, after booting the init.rc still keep the same as before.
I am currently trying the magisk module, but not yet a solution.
As you said the init.rc is copyed from somewhere, do you know where?
tonyniu2008 said:
I tried to unpack the boot image, and actually the init.rc is missing from the root path, i googled it, as i think it caused by the system version, starting from Android 10, init.rc will be only generated when booting, my system is LineageOS 17.1
when the system finishing booting, i can adb shell to the file, init.rc is there then, i tried to unpack the recovery image, the init.rc is there, i tried to change that and flash to boot, and recovery, no luck, after booting the init.rc still keep the same as before.
I am currently trying the magisk module, but not yet a solution.
As you said the init.rc is copyed from somewhere, do you know where?
Click to expand...
Click to collapse
Can you send me a link (google drive would be nice) to an unmodified version of your boot.img? I'll modify it correctly and send back to you
hisoka_simp said:
Can you send me a link (google drive would be nice) to an unmodified version of your boot.img? I'll modify it correctly and send back to you
Click to expand...
Click to collapse
It is so kind of you, you can find my TWRP backup image here: https://drive.google.com/file/d/1dtdovnRIZY58SYqFBNEgT4TafktmAycd/view?usp=sharing
just have a clean backup there. but as i unpacked, there is no init.rc under root, hope you know a way for this.
Let me know if you found something, thx
hisoka_simp said:
Can you send me a link (google drive would be nice) to an unmodified version of your boot.img? I'll modify it correctly and send back to you
Click to expand...
Click to collapse
The content of ramdisk is extracted from the boot partition every time it starts, so modifying init.rc does not work.
I extracted my boot partition to boot.img, then unpacked it, modified the init.rc inside, repackaged it as boot.img, and finally flashed into the boot partition
After the system started, I saw that the init.rc was modified
But it’s not pungent and has no effect
on charger
class_start charger
setprop sys.powerctl reboot
My device is huawei MediaPad3,maybe your device can work。Try it
tonyniu2008 said:
I tried to unpack the boot image, and actually the init.rc is missing from the root path, i googled it, as i think it caused by the system version, starting from Android 10, init.rc will be only generated when booting, my system is LineageOS 17.1
when the system finishing booting, i can adb shell to the file, init.rc is there then, i tried to unpack the recovery image, the init.rc is there, i tried to change that and flash to boot, and recovery, no luck, after booting the init.rc still keep the same as before.
I am currently trying the magisk module, but not yet a solution.
As you said the init.rc is copyed from somewhere, do you know where?
Click to expand...
Click to collapse
The content of ramdisk is extracted from the boot partition every time it starts, so modifying init.rc does not work.
I extracted boot partition to boot.img, then unpacked it, modified the init.rc , repackaged it as boot.img, and finally flashed into the boot partition
After the system started, I saw that the init.rc was modified
But it’s no effect
on charger
class_start charger
setprop sys.powerctl reboot
My device is huawei MediaPad3,maybe your device can work。Try it
bearllm said:
The content of ramdisk is extracted from the boot partition every time it starts, so modifying init.rc does not work.
I extracted boot partition to boot.img, then unpacked it, modified the init.rc , repackaged it as boot.img, and finally flashed into the boot partition
After the system started, I saw that the init.rc was modified
But it’s no effect
on charger
class_start charger
setprop sys.powerctl reboot
My device is huawei MediaPad3,maybe your device can work。Try it
Click to expand...
Click to collapse
Hey I recommend you to also try this code which worked for another device I had, hope it works
on charger
setprop ro.bootmode "normal"
setprop sys.powerctl "reboot"
hisoka_simp said:
Hey I recommend you to also try this code which worked for another device I had, hope it works
on charger
setprop ro.bootmode "normal"
setprop sys.powerctl "reboot"
Click to expand...
Click to collapse
Thanks,I tried it last night,It does not work : (
I think Huawei’s program entry is not here
BTW,i use the APP "Tasker",my device can automatically shut down when the usb line is unplugged
hisoka_simp said:
Hey I recommend you to also try this code which worked for another device I had, hope it works
on charger
setprop ro.bootmode "normal"
setprop sys.powerctl "reboot"
Click to expand...
Click to collapse
I think i did it
in the "init.charger.rc"
on charger
chmod 0440 /sys/class/hw_power/battery/isc
chown system system /sys/class/hw_power/battery/isc
trigger cust_parse_action
class_start charger
wait /dev/block/bootdevice/by-name/oeminfo
start oeminfo_nvm
start teecd
change to
on charger
chmod 0440 /sys/class/hw_power/battery/isc
chown system system /sys/class/hw_power/battery/isc
trigger cust_parse_action
class_start charger
setprop ro.bootmode "normal"
setprop sys.powerctl "reboot"
wait /dev/block/bootdevice/by-name/oeminfo
start oeminfo_nvm
start teecd
the new problem is coming
when i flash the repacked into my device,i can't enter developer options
I tried not to make any changes, just package boot.img with the unpacked file, the same situation
but i flash the boot.img from my boot partition,everything is ok
You
bearllm said:
I think i did it
in the "init.charger.rc"
on charger
chmod 0440 /sys/class/hw_power/battery/isc
chown system system /sys/class/hw_power/battery/isc
trigger cust_parse_action
class_start charger
wait /dev/block/bootdevice/by-name/oeminfo
start oeminfo_nvm
start teecd
change to
on charger
chmod 0440 /sys/class/hw_power/battery/isc
chown system system /sys/class/hw_power/battery/isc
trigger cust_parse_action
class_start charger
setprop ro.bootmode "normal"
setprop sys.powerctl "reboot"
wait /dev/block/bootdevice/by-name/oeminfo
start oeminfo_nvm
start teecd
the new problem is coming
when i flash the repacked into my device,i can't enter developer options
I tried not to make any changes, just package boot.img with the unpacked file, the same situation
but i flash the boot.img from my boot partition,everything is ok
Click to expand...
Click to collapse
I removed the whole code in the on charger block and pasted just mine so in the block is ONLY those 2 commands.
This maybe results in an error bc charger class is started but not properly shutdown.
Another error could be the file, idk if there is a global init.rc in your boot.img if yes then search in there for on charger bc the global init.rc is called at first and only after that the others so maybe look if there is an on charger block in the unpacked boot img in the init.rc
But I don't know why you can't access the developer options anymore, it would help me to do if you explain a bit more detailed what's going on when you try to open them
hisoka_simp said:
You
I removed the whole code in the on charger block and pasted just mine so in the block is ONLY those 2 commands.
This maybe results in an error bc charger class is started but not properly shutdown.
Another error could be the file, idk if there is a global init.rc in your boot.img if yes then search in there for on charger bc the global init.rc is called at first and only after that the others so maybe look if there is an on charger block in the unpacked boot img in the init.rc
But I don't know why you can't access the developer options anymore, it would help me to do if you explain a bit more detailed what's going on when you try to open them
Click to expand...
Click to collapse
ok
this is my test
step1
I extracted boot.img from the boot partition.
step2
unpack boot.img to the folder “unpacked_img”
step3
repacked the folder “unpacked_img” to the RepackBoot.img (Did not change any files in the folder, just repacked)
step4
flah the RepackBoot.img to the boot partition
i can't access the developer options anymore
but i flash the boot.img(step1) to the boot partition
i can access the developer options again
think you so much
bearllm said:
ok
this is my test
step1
I extracted boot.img from the boot partition.
step2
unpack boot.img to the folder “unpacked_img”
step3
repacked the folder “unpacked_img” to the RepackBoot.img (Did not change any files in the folder, just repacked)
step4
flah the RepackBoot.img to the boot partition
i can't access the developer options anymore
but i flash the boot.img(step1) to the boot partition
i can access the developer options again
think you so much
Click to expand...
Click to collapse
bearllm said:
ok
this is my test
step1
I extracted boot.img from the boot partition.
step2
unpack boot.img to the folder “unpacked_img”
step3
repacked the folder “unpacked_img” to the RepackBoot.img (Did not change any files in the folder, just repacked)
step4
flah the RepackBoot.img to the boot partition
i can't access the developer options anymore
but i flash the boot.img(step1) to the boot partition
i can access the developer options again
think you so much
Click to expand...
Click to collapse
Did you try to unlock developer options again? (Tapping build number 10x)
hisoka_simp said:
Did you try to unlock developer options again? (Tapping build number 10x)
Click to expand...
Click to collapse
I have tried, failed~~~~~~~
and i reset pad to factory settings, do not open the developer options first,flash the RepackBoot.img
unlock developer options after reboot
the situation is still the samet,can't access the developer options
my heart is broken,hahaha
bearllm said:
I have tried, failed~~~~~~~
and i reset pad to factory settings, do not open the developer options first,flash the RepackBoot.img
unlock developer options after reboot
the situation is still the samet,can't access the developer options
my heart is broken,hahaha
Click to expand...
Click to collapse
What do you mean exactly you can't access? Is the toast not showing which says you unlocked developer options or do you try to open them and settings crash then?
hisoka_simp said:
What do you mean exactly you can't access? Is the toast not showing which says you unlocked developer options or do you try to open them and settings crash then?
Click to expand...
Click to collapse
i can unlocked developer options ,but when i click the "developer options ",the program crashes
hello.
one year ago, i can modify my xiaomi mix2s with xiaomi.eu rom. and the phone boots when the charger is connected. The modification i make power the phone, apears the chargin animation and after a second, the phone reboots and launch android.
The problem is, i must factory reset the phone and now, this not works, and i must do the trick again. but i dont remember what i did!!!!
somebody know how to modify the phone to boot when charger is connected??
Hey guys,
We had plenty of sweet surprises for Mi 4i recently, especially considering the Nougat ROMs. This also implies that you'll be busy in flashing a plenty of times.
You should also have noticed by now that when you flash a new ROM, you can't entirely Skip the network connection requirement after the first boot. This annoyed me so much because I have a slow, conservative bandwidth.
Fortunately, I have found a solution; but make no mistake, I'm NOT the author of this solution. This method was originally for Nexus 7 by organophosphate. I'm just extending this amazing trick to Mi 4i.
If you want, you can read the original post.
What do you need?
PC
Your phone
TWRP recovery
ADB on PC
Have them all before proceeding.
Procedure :
1. After installing your ROM through TWRP, mount system partition(Advanced>Mount>check system).
2. Connect your phone to PC via USB. Let the phone be in recovery. All the work is to be done in the same.
3. Launch ADB. Just ensure proper connection by first using adb usb and then adb devices commands. It should then show your phone connected in recovery mode.
4. Now, the important part.
If you want to skip only the WiFi setup part but not the rest of initial setup, execute adb shell sed -i 's/ro.setupwizard.wifi_required=true/ro.setupwizard.wifi_required=false/g' /system/build.prop
If you want to skip entire setup and directly goto home screen, launch Shell by executing adb shell and then execute the command echo "ro.setupwizard.mode=DISABLED" >> /system/build.prop.
5. Reboot your phone, either by using adb reboot (or just reboot in Shell) or using Reboot option in recovery.
6. Now, you should see a Skip button in WiFi setup page or Home screen depending on your choice in step 4.
7. Enjoy/explore your new OS
Few personal notes:
1. Entire procedure should happen while your phone is in recovery mode.
2. Skipping the setup wizard entirely has more working chance(almost every time) than skipping just WiFi setup. Skipping WiFi setup rarely worked for me. So, I'd recommend the former option.
3. Skipping initial setup entirely won't cause any trouble as it just for collecting the very basic information. Those details can be set manually later.
5. This method won't cause any trouble usually. That said, I'm not responsible for bootloops(although I haven't encountered it yet). This is not to discourage you but to let you know of worst case scenario. Should this happen, please refer to original article mentioned earlier.
Credits :
organophosphate for this amazing hack.
I(yourSAS) may/may not deserve credit for extending the method and sharing, depending on your result
or extractt he flashable zip
edit the build.prop
re pack it again and flash?
faizauthar12 said:
or extractt he flashable zip
edit the build.prop
re pack it again and flash?
Click to expand...
Click to collapse
I guess that would work. But it'll be lengthy and tedious.
If devs test and do that before releasing the ROM, this problem will be no more.
faizauthar12 said:
or extractt he flashable zip
edit the build.prop
re pack it again and flash?
Click to expand...
Click to collapse
In that case what lines should I delete/edit ?
elonmusk said:
In that case what lines should I delete/edit ?
Click to expand...
Click to collapse
oopss, we don't need to do this trick anymore
lineage already fix ( patch ) the setup wizard, it will ask a Wi-Fi connection..
so make sure you're an up-to date build
faizauthar12 said:
oopss, we don't need to do this trick anymore
lineage already fix ( patch ) the setup wizard, it will ask a Wi-Fi connection..
so make sure you're an up-to date build
Click to expand...
Click to collapse
Yes! I'm on the latest version.. was just curious..
elonmusk said:
Yes! I'm on the latest version.. was just curious..
Click to expand...
Click to collapse
It is already explained in first post. Those two are basic Linux commands:
- echo - is a simple command line text files editor/creator
Code:
echo "ro.setupwizard.mode=DISABLED" >> /system/build.prop
It mean: append text string "ro.setupwizard.mode=DISABLED" to the end of text file "/system/build.prop" , so if you want to do manually these unpack/repack acrobation, just paste "ro.setupwizard.mode=DISABLED" in build .prop
- sed - is advanced command line text editor, you can change already existing text in text file with your desired, using exact match or regex, etc.
Code:
sed -i 's/ro.setupwizard.wifi_required=true/ro.setupwizard.wifi_required=false/g' /system/build.prop
It mean: Get text file "/system/build.prop" , find in file following text string "ro.setupwizard.wifi_required=true" and change it to "ro.setupwizard.wifi_required=false", so if you want to do manually unpack/repack acrobations, just change true to false in mentioned text string, in build.prop.
Anyway, thanks to @yourSAS for sharing idea
Skip WiFi Setup / Setup Wizard On Fresh Boot
Figured I would leave my notes here as this where google dropped me off...
Yes ro.setupwizard.wifi_required doesn't work as expected most of the time as it was replaced with ro.setupwizard.require_network.
That being said one should be using it to skip WiFi setup:
adb shell sed -i 's/ro.setupwizard.require_network=any/ro.setupwizard.require_network=no/g' /system/build.prop
Click to expand...
Click to collapse
None the less here is a little breakdown of the process with a few suggestions:
1. Boot to TWRP.
2. Mount System partition.
3. Pull current build.prop to see what is currently set.
--- There may be other possible values for these properties.
--- There are many other things one can change from here, google them.
--- Also you may find that once mounted the build.prop resides in /system/system rather.
4. Run commands.
5. Reboot, Profit!
# Pull current build.prop from phone to local folder; see what you currently have.
adb pull /system/build.prop
# Push build.prop back to device.
# You can use this method, just be sure you save your the text file with correct line endings for Linux (no CR only LF).
# Using commands to edit the file rather than a pull/push will ensure things stay the same.
adb push /system.build.prop
# Replace elements in text files (build.prop).
adb shell sed -i 's/FIND.THIS/REPLACE.WITH.THIS/g' /system/build.prop
# Append (add a new line) to text file.
echo "NEW LINE TO ADD" >> /system/build.prop
# Relevant properties
# Set which, or if any network is required
ro.setupwizard.require_network=
any, no, wifi
# Same as above but older property
ro.setupwizard.network_required=
true, false
# Again replaced by above
ro.setupwizard.wifi_required=
true, false
# Control the complete setup process
ro.setupwizard.mode=
OPTIONAL, ENABLED, DISABLED
Click to expand...
Click to collapse