MUST HAVE S-OFF!!!
Disclaimer: This is my first tutorial but I am in no way responsible for what happens to your device. Use at your own risk!
Okay so I just thought I write a tutorial for flashing recoveries in a Terminal Emulator.
1. (Skip to step 2 if you are running CM6 or CM7) The steps are fairly simple but first things first, If you don't already you need to have mtd0.img and flash_image which is located in the SlideEng-Package.zip which I will post below if nobody has it.
http://www.megaupload.com/?d=OFXNPXL5
So you need to get a program called Root Explorer from the market( Or any file manager that gives you root access) then you need to Copy and Paste both files to Data/Local/. Once you have those there then if you don't already have it you need to go to the Market and download an app called Terminal Emulator. Once you have that you are ready.
2. I recommend that you put your recovery image on the root of your SD Card.(You can put it anywhere it really doesn't matter) Okay so for flashing a recovery you would open the terminal emulator and type:
su
flash_image recovery /sdcard/xxxx/xxx.img
Click to expand...
Click to collapse
The x's represent the file directories and the image name so mine would look something like:
su
flash_image recovery /sdcard/recovery.img
Click to expand...
Click to collapse
It should then say writing to block xxxxxxxxxx. Once that is done it should say that it was successfully completed.
If that worked for you just thank me and congratulations!
im trying too look for the latest recovery from clockwork
will this permanently flash a recovery like when i installed s-off and clockwork
Yep it flashes to the /recovery partition
Sent from myTouch Slide with Android 2.3.3 using XDA Premium
Can someone give me a detailed tutorial for S off the one in the forums is a little confusing im new to the game
Damn .... ignore this ... I misread the topic ... I thought this would get me S-OFF AND recovery!
This is all I get ... tried from adb shell AND terminal emulator.
Code:
flash_image recovery recovery.img
flashing recovery from recovery.img
mtd: erase failure at 0x00000000 (I/O error)
mtd: erase failure at 0x00000000 (I/O error)
mtd: skipping write block at 0x00000000
mtd: erase failure at 0x00020000 (I/O error)
mtd: erase failure at 0x00020000 (I/O error)
mtd: skipping write block at 0x00020000
...
mtd: skipping write block at 0x003c0000
mtd: erase failure at 0x003e0000 (I/O error)
mtd: erase failure at 0x003e0000 (I/O error)
mtd: skipping write block at 0x003e0000
mtd: erase failure at 0x00400000 (I/O error)
mtd: erase failure at 0x00400000 (I/O error)
mtd: skipping write block at 0x00400000
failed with error: -1
iDaZzLeFatHoeZz said:
MUST HAVE S-OFF!!!
Disclaimer: This is my first tutorial but I am in no way responsible for what happens to your device. Use at your own risk!
Okay so I just thought I write a tutorial for flashing recoveries in a Terminal Emulator.
1. (Skip to step 2 if you are running CM6 or CM7) The steps are fairly simple but first things first, If you don't already you need to have mtd0.img and flash_image which is located in the SlideEng-Package.zip which I will post below if nobody has it.
http://www.megaupload.com/?d=OFXNPXL5
So you need to get a program called Root Explorer from the market( Or any file manager that gives you root access) then you need to Copy and Paste both files to Data/Local/. Once you have those there then if you don't already have it you need to go to the Market and download an app called Terminal Emulator. Once you have that you are ready.
2. I recommend that you put your recovery image on the root of your SD Card.(You can put it anywhere it really doesn't matter) Okay so for flashing a recovery you would open the terminal emulator and type:
The x's represent the file directories and the image name so mine would look something like:
It should then say writing to block xxxxxxxxxx. Once that is done it should say that it was successfully completed.
If that worked for you just thank me and congratulations!
Click to expand...
Click to collapse
I did all this, but it says, flash_image not found, also tried from fastboot, it says FAILED(remote: not allowed)
I have root from SuperOneClick method, and i have S-OFF, official t-mobile rom 2.2.1 and still stuck on original android recovery, I just need the clockwordmod recovery to delete out bloatware and t-mobile apps, to free up space, im quite happy with the original sense rom and dont want to wipe settings and/or flash a new rom. So help please!!!
Worked great got cwm on so sweet
Sent from my s-off'd, rooted myTouch 3G Slide using XDA App
iDaZzLeFatHoeZz said:
1. (Skip to step 2 if you are running CM6 or CM7) The steps are fairly simple but first things first, If you don't already you need to have mtd0.img and flash_image which is located in the SlideEng-Package.zip which I will post below if nobody has it.
http://www.megaupload.com/?d=OFXNPXL5
Click to expand...
Click to collapse
In your file SlideEng-Package.zip absent file mtd0.img.
Does this also work on other phones (with their own flash_image,like for the advent vega?)
flash_image not found
i have copied the zip file o the root and extract it there nd copied the two fies into /data/local with the help of root explorer....
after that in terminal ulator it says flashh_image not found...do i need to change the permissions ??
any solution to this?
vermaekansh said:
i have copied the zip file o the root and extract it there nd copied the two fies into /data/local with the help of root explorer....
after that in terminal ulator it says flashh_image not found...do i need to change the permissions ??
any solution to this?
Click to expand...
Click to collapse
Did you set the emulator to go into su mode?
thanks a lot.you rock!
Flash_image not found
nmabhinandan said:
Flash_image not found
Click to expand...
Click to collapse
Carefully read first post - you need to copy both files using Root Explorer into /Data/Local/ folder.
Cats.
Cats.
Help Me
robuser007 said:
Does this also work on other phones (with their own flash_image,like for the advent vega?)
Click to expand...
Click to collapse
Give me TWRP recovery For Micromax Q345 plz Plz
Flashing recovery works with S-ON on my HTC wildfire S
Related
Hello everyone.... i really think i bricked my device and i would love for someone to help me... i Have been searching the forum since yesterday morning and i cant seem to find anything that works... well first off i am rooted (s-off) i used the gfree method because setting up adb wasnt going to well for some reason... but im stuck in bootloop mode or whatever and when i hold down power and the vol down button it recognizes the pd15dimg.zip file but when i do the update i get an error check out the first pic below... then when i put it in recovery mode i get another error check out 2nd pic... then when i to to load the pd15dimg.zip manually from the choose zip file directly from the root of the sd card i get another error check out third pic... as u can see im on cwm 3.0.2.4 and the rom i was originally using i dont remember the name but it was gingerbread...can someone plz help?? any help will be appreciated. thnx
I had this same issue 3 weeks ago. But I wasnt getting those partition errors with the PD15dimg.zip. I would first suggest downloading another one to make sure the one you got wasnt corrupted. But before I figured out to do the pd15dimg trick, the nice fellas over on Cyanogenmods Shoutbox were helping me out with a different method. You have the engineering bootloader, which is great news for you. I did not. Do you have a nandroid backup on your SD that you can copy over to your computer?
i didnt do a nandroid back up but i did a back up threw the rom manager i had... is that useful?
curlz187 said:
i didnt do a nandroid back up but i did a back up threw the rom manager i had... is that useful?
Click to expand...
Click to collapse
Hmm. Maybe, I'm not sure what that backs up, do you know what folder that went into? Find it and post whats in there
the folder is on the root of my sd card... its call clockworkmod... i click that then i see two folders one of which is named back ups. i click that and it has tsome some files in it such as android_secure.img boot.img cache.img data.img nandroid.md5 recovery.img and system.img
curlz187 said:
the folder is on the root of my sd card... its call clockworkmod... i click that then i see two folders one of which is named back ups. i click that and it has tsome some files in it such as android_secure.img boot.img cache.img data.img nandroid.md5 recovery.img and system.img
Click to expand...
Click to collapse
Perfect! Alright, PM now and I'll help you with the rest alright?
Ok just did it
does anyone else have any insight on this subject?
Once you get fail-pu you can't do anything as you need to send it back they have to replace the motherboard. Fail PU means failed partition update at this point once its corrupted you can't reformat it since we are using SLC-EUDA low level format which is 1 time.
TmpUsr said:
Once you get fail-pu you can't do anything as you need to send it back they have to replace the motherboard. Fail PU means failed partition update at this point once its corrupted you can't reformat it since we are using SLC-EUDA low level format which is 1 time.
Click to expand...
Click to collapse
the original file i used was corruted JDV28 sent me another file and it starts the update but idk how long its suppose to take because its been updating for bout 15 mins now
Well PD15IMG.zip can be corrupted and even if you get a good radio/rom image and verify it the problem you will run in to is when you try to write to the partition. Fail PU means failed partition update where you can't write radio, recovery and system. I was leaning on to gfree but I need another phone to fully hack it as I was massing with the emmc block last time but atm I don't have any other phones. Best solution is soon as you see the errors on recovery you should push and manually flash recovery partition and replace it.
TmpUsr said:
Well PD15IMG.zip can be corrupted and even if you get a good radio/rom image and verify it the problem you will run in to is when you try to write to the partition. Fail PU means failed partition update where you can't write radio, recovery and system. I was leaning on to gfree but I need another phone to fully hack it as I was massing with the emmc block last time but atm I don't have any other phones. Best solution is soon as you see the errors on recovery you should push and manually flash recovery partition and replace it.
Click to expand...
Click to collapse
how do i do that?
Terminal said:
su [hit enter]
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system [hit enter]
cp /sdcard/flash_image /system/bin [hit enter]
flash_image recovery /sdcard/recovery.img [hit enter]
Click to expand...
Click to collapse
adb said:
adb devices [hit enter]
adb push boot.img /data/local/boot.img [hit enter]
adb shell [hit enter]
su [hit enter]
flash_image boot /data/local/boot.img [hit enter]
rm rm /data/local/boot.img [hit enter]
Click to expand...
Click to collapse
Like I said depends on how deep the issue is you can't revert it. But try it anyways. You will need image which you can get from dev section.
im not connected threw adb had problems setting it up b4... but after i did the update now my screen only turns black? idk what happened it was updating i leave for a min now it seems unusable
I had the same issue, couldn't recover it so I sent it back.
Sent from my HTC Glacier using XDA Premium App
partitioning issues most likely = game over unless your running the engineering boot. thats the bottom line i think with everyone thats running into these issues..
I could not find any resource here, to provide a step-by-step guide for going from ATT 4.5.91 rooted, with Unlocked Bootloader to the latest 4.5.141 without bricking. I put this together myself and tested it on my own Atrix. Use at your own risk!
It's kind of a technical guide, but you really get to learn about your phone doing it this way. I did assume you know some basics about Android and Atrix that you could learn from Swiftks great guide: http://forum.xda-developers.com/showthread.php?t=1154600
Thanks to all of the resources here on XDA, that I used to pull this info together.
REQUIREMENTS:
- ATT Atrix 4.5.91 with Unlocked Bootloader
- Custom Recovery (Romracers or Rom Manager)
PRE STEPS:
- Take a full Nandroid Backup with CWM
- Backup your apps with TiBu
- Backup Call and SMS Logs with My Backup Root
Files Needed:
- 4.5.141 Full SBF - http://atrix.tk/4.5.141/ or http://forum.xda-developers.com/showpost.php?p=22379866&postcount=393
- preinstall.img - for root - http://forum.xda-developers.com/showpost.php?p=15023022&postcount=2
- adb and moto-fdastboot - get anywhere
- Portable SBF Tool - http://forum.xda-developers.com/showthread.php?t=1059643
- .37P Radio zip (N_01.77.37P_usa_att_12dec2011.zip) - http://forum.xda-developers.com/showthread.php?t=1339047 or http://forum.xda-developers.com/showpost.php?p=22399253&postcount=171
- Nebtop for Webtop over HDMI - http://forum.xda-developers.com/showthread.php? t=1404625
Steps:
- Open full 4.5.141 SBF with Portable SBF Tool, to extract the smg files. Move the SMG folder, before closing the tool.
- Power off phone
- Power on while holding down the vol button
- Scroll to Fastboot with the vol down, vol up to select fastboot
- Connect to PC
- Cleanup:
moto-fastboot erase system
moto-fastboot erase boot
moto-fastboot erase webtop
- Flash new boot, system, webtop, preinstall
moto-fastboot flash boot CG59_0x00000130.smg
moto-fastboot flash system CG60_0x00000140.smg
moto-fastboot flash webtop CG61_0x00000150.smg
moto-fastboot flash preinstall preinstall.img
- Wipe and reboot
moto-fastboot -w
moto-fastboot reboot
- Turn on USB Debugging
- Root
adb shell
/preinstall/dosu
/bin/mount -o remount,rw /system
cp /preinstall/su /system/bin/
chmod 6755 /system/bin/su
PATH=/system/bin:$PATH
pm install /preinstall/Superuser.apk
*Make sure to accept the Superuser prompt on the phone when using it the first time.
- sqlite
cp /preinstall/sqlite3 /system/bin/sqlite3
chmod 6755 /system/bin/sqlite3
- Google Video over 3g
adb shell
su
sqlite3 /data/data/com.google.android.gsf/databases/gservices.db
select * from main where name='gtalk_vc_wifi_only';
*gtalk_vc_wifi_only|true
update main set value='false' where name='gtalk_vc_wifi_only';
select * from main where name='gtalk_vc_wifi_only';
*gtalk_vc_wifi_only|false
.exit
- Tether hack
sqlite3 /data/data/com.motorola.android.providers.settings/databases/settings.db "UPDATE settings SET value='disabled' WHERE name='entitlement_check';"
sqlite3 /data/data/com.motorola.android.providers.settings/databases/settings.db
select * from settings WHERE name='entitlement_check';
*118|entitlement_check|disabled
.exit
- Radio
adb push N_01.77.37P_usa_att_12dec2011.zip /mnt/sdcard/
reboot into recovery and apply from sdcard
wipe cache
wipe dalvik cache
reboot
- Recover apps with TiBu
- Restore Call log and SMS data with My Backup Root
- Remove Annoying SDCARD Mount sounds
adb shell
su
setprop persist.service.mount.playsnd 0
- Install the Nebtop Apk for Webtop over HDMI
**Another method to try, using CWM: http://forum.xda-developers.com/showpost.php?p=22997305&postcount=22
Will this work?
you posted this a few days ago, but with all the bricking issues you have no posts saying, hey this works. Not trying to dismiss you here, but I'm very nervous about doing this update. I can' afford to brick my phone, but i really need the new updates 'cause ATT is messing with the towers in this area.
I had a Froyo phone, that I unlocked, rooted, and then installed a custom ROM.
I unlocked and rooted my phone with this link. And I am running Alien ROM #4 de-blurred. I never realized that doing that keep you from getting the OTA announcements till this big ball of snot dropped (4.5.141)
I'm also downloading NottachTrix 1.2.1. I thought if I change my ROMS with one that has the new updates, I would be ok, but again, nervous as hell about this.
As long as you are unlocked, you can simply download the 2.3.6 SBF and use sbf_flash -x to turn it into .IMG files. Then you can rename and flash the files with moto-fastboot and reboot into 2.3.6.
* CG59.img -> boot.img code:moto-fastboot flash boot boot.img
* CG60.img -> system.img code:moto-fastboot flash system system.img
* CG61.img -> webtop.img code:moto-fastboot flash webtop webtop.img
Make sure to wipe and reboot as said by OP and you will be fine after this. I have tried this on my unlocked Atrix and it works fine. Root however you want after and all is well.
fastboot method?that's safe,i tried many times.
zoness said:
you posted this a few days ago, but with all the bricking issues you have no posts saying, hey this works. Not trying to dismiss you here, but I'm very nervous about doing this update. I can' afford to brick my phone, but i really need the new updates 'cause ATT is messing with the towers in this area.
Click to expand...
Click to collapse
I'm happy to report that everything went perfectly for me!!! I'm so happy this worked. Thank you!
Getting the SBF tool was a little annoying having to sign up for another site where the OP found this app he doesn't own, so I made a mirror:
http://www.mediafire.com/?wo8g5hgeo9jtedq
Thanks a bunch Uncle!
Jason_Thames said:
As long as you are unlocked, you can simply download the 2.3.6 SBF and use sbf_flash -x to turn it into .IMG files. Then you can rename and flash the files with moto-fastboot and reboot into 2.3.6.
* CG59.img -> boot.img code:moto-fastboot flash boot boot.img
* CG60.img -> system.img code:moto-fastboot flash system system.img
* CG61.img -> webtop.img code:moto-fastboot flash webtop webtop.img
Make sure to wipe and reboot as said by OP and you will be fine after this. I have tried this on my unlocked Atrix and it works fine. Root however you want after and all is well.
Click to expand...
Click to collapse
Hi,
Where can I find sbf_flash -x? can I just rename it? or where exactly do I run this? under adb, rsd lite? any help appreciated thanks?
And also I was confused...how to the sqlite3 in the procedures? is that another program I need to have?..
---------- Post added at 04:44 AM ---------- Previous post was at 04:14 AM ----------
I have trouble following these steps:
moto-fastboot flash boot CG59_0x00000130.smg
moto-fastboot flash system CG60_0x00000140.smg
moto-fastboot flash webtop CG61_0x00000150.smg
with cg60 and cg61
image is too big, use 0x10000000 bytes chunks FAILED <remote: <00000006>>
so what does this mean?
I definitely tested this on my ATT atrix without any issues. Spent a few hours putting this together mostly for myself, but thought i would share it.
zoness said:
you posted this a few days ago, but with all the bricking issues you have no posts saying, hey this works. Not trying to dismiss you here, but I'm very nervous about doing this update. I can' afford to brick my phone, but i really need the new updates 'cause ATT is messing with the towers in this area.
I had a Froyo phone, that I unlocked, rooted, and then installed a custom ROM.
I unlocked and rooted my phone with this link. And I am running Alien ROM #4 de-blurred. I never realized that doing that keep you from getting the OTA announcements till this big ball of snot dropped (4.5.141)
I'm also downloading NottachTrix 1.2.1. I thought if I change my ROMS with one that has the new updates, I would be ok, but again, nervous as hell about this.
Click to expand...
Click to collapse
Sent from my MB860 using XDA App
The filesize issue probably means that you were using the wrong fastboot. You need moto-fastboot, since it was specifically modified to allow for larger file sizes. Dont use the regular fastboot. As far as sqlite3, it is part of the preinstall and you will need it for some of the last steps, but you can skip those if you dont care for them.
vastelectron said:
Hi,
Where can I find sbf_flash -x? can I just rename it? or where exactly do I run this? under adb, rsd lite? any help appreciated thanks?
And also I was confused...how to the sqlite3 in the procedures? is that another program I need to have?..
---------- Post added at 04:44 AM ---------- Previous post was at 04:14 AM ----------
I have trouble following these steps:
moto-fastboot flash boot CG59_0x00000130.smg
moto-fastboot flash system CG60_0x00000140.smg
moto-fastboot flash webtop CG61_0x00000150.smg
dunno what i'm doing wrong..
after I extracted to folder.. my files don't have the same names as above.. it's only cg59.smg, cg60.smg, ect.. so I flash these but with cg60.smg it won't flash saying the size is too big? I tried putting 0x00000140 before and after but doesn't work..
Could you help be how to do it properly? I used MotoAndroidDepacker to extract.. am I not extracting properly? I did the split to folder or is there something else? and there's no difference if I move the extracted folder before or after the program is closed.? the contents are the same
wait i noticed i used the wrong program...
-so do I run adb shell on the phone or on the computer?
thanks
-yeah still getting errors..
with cg60 and cg61 now..
image is too big, use 0x10000000 bytes chunks FAILED <remote: <00000006>>
so what does this mean?
Click to expand...
Click to collapse
Sent from my MB860 using XDA App
Thank you
Thank you I got it to work but i'm not so clear about these 2 parts:
- Google Video over 3g
adb shell
su
sqlite3 /data/data/com.google.android.gsf/databases/gservices.db
select * from main where name='gtalk_vc_wifi_only';
*gtalk_vc_wifi_only|true
update main set value='false' where name='gtalk_vc_wifi_only';
select * from main where name='gtalk_vc_wifi_only';
*gtalk_vc_wifi_only|false
.exit
- Tether hack
sqlite3 /data/data/com.motorola.android.providers.settings/databases/settings.db "UPDATE settings SET value='disabled' WHERE name='entitlement_check';"
sqlite3 /data/data/com.motorola.android.providers.settings/databases/settings.db
select * from settings WHERE name='entitlement_check';
*118|entitlement_check|disabled
.exit
so what are the command lines? you do this still in command prompt correct?
so example after I enter "sqlite3 /data/data/com.google.android.gsf/databases/gservices.db"
how do you select (((select * from main where name='gtalk_vc_wifi_only')) ? I don't see how I can do a select and the * means what? does it mean not a command line?
Sorry a video tutorial would help.. please clarify if you can thanks a lot.
I noticed under the files needed section the first mirror link to the sbf not only does it show the update sbf file but it also shows in the dir the individual parts (img.gz's) are those the extracted smg files from the sbf? they have the same date, and roughly time on them.
You do both of these from the command line using adb. Just copy paste each line individually and that should do it. The star in the beginning of the line indicates the output i would expect you to see and not commands you have to run.
vastelectron said:
Thank you I got it to work but i'm not so clear about these 2 parts:
- Google Video over 3g
adb shell
su
sqlite3 /data/data/com.google.android.gsf/databases/gservices.db
select * from main where name='gtalk_vc_wifi_only';
*gtalk_vc_wifi_only|true
update main set value='false' where name='gtalk_vc_wifi_only';
select * from main where name='gtalk_vc_wifi_only';
*gtalk_vc_wifi_only|false
.exit
- Tether hack
sqlite3 /data/data/com.motorola.android.providers.settings/databases/settings.db "UPDATE settings SET value='disabled' WHERE name='entitlement_check';"
sqlite3 /data/data/com.motorola.android.providers.settings/databases/settings.db
select * from settings WHERE name='entitlement_check';
*118|entitlement_check|disabled
.exit
so what are the command lines? you do this still in command prompt correct?
so example after I enter "sqlite3 /data/data/com.google.android.gsf/databases/gservices.db"
how do you select (((select * from main where name='gtalk_vc_wifi_only')) ? I don't see how I can do a select and the * means what? does it mean not a command line?
Sorry a video tutorial would help.. please clarify if you can thanks a lot.
Click to expand...
Click to collapse
Sent from my MB860 using XDA App
They are maybe the same files, but i didn't want to risk it, and just extracted them myself.
eclypse3demons said:
I noticed under the files needed section the first mirror link to the sbf not only does it show the update sbf file but it also shows in the dir the individual parts (img.gz's) are those the extracted smg files from the sbf? they have the same date, and roughly time on them.
Click to expand...
Click to collapse
Sent from my MB860 using XDA App
I wanted to Reply to this thread saying i was running Nottatrix ROM the new one with 4.1.141. My phoen would not run CM9 so i decided to do an sbf flash. IT failed leaving me at rebooting loop. i then followed this thread got the scf extracted the files from it flashed manually with and installed with fastboot and now its working even though it says things do not flash properly its working and i am so thankful for this thread. I still get a warranty replacement but i got it working.
moneyman1978 said:
I wanted to Reply to this thread saying i was running Nottatrix ROM the new one with 4.1.141. My phoen would not run CM9 so i decided to do an sbf flash. IT failed leaving me at rebooting loop. i then followed this thread got the scf extracted the files from it flashed manually with and installed with fastboot and now its working even though it says things do not flash properly its working and i am so thankful for this thread. I still get a warranty replacement but i got it working.
Click to expand...
Click to collapse
I am glad it worked for you! I just think that doing it this way, you learn about your phone to prepare you for flashing other ROMS and recovering from various situations.
running into a problem here. I can't find the file called N_01.77.37P_usa_att_12dec2011.zip inside that directory. there is one in there called N_01.77.36P_usa_att_.zip but not .37P
that__guy said:
running into a problem here. I can't find the file called N_01.77.37P_usa_att_12dec2011.zip inside that directory. there is one in there called N_01.77.36P_usa_att_.zip but not .37P
Click to expand...
Click to collapse
Try this one: http://forum.xda-developers.com/showpost.php?p=22399253&postcount=171
thanks! one more thing, what exactly is being modified regarding tethering with the code in the instructions?
that__guy said:
thanks! one more thing, what exactly is being modified regarding tethering with the code in the instructions?
Click to expand...
Click to collapse
A setting that forces the phone to do some type of a check on whether you have the tether plan or not with ATT is disabled. By not doing the check the hot spot functionality will work, but ATT might still be able to track your data usage and give you a warning. Use at own risk.
Hi, N00b question
I have an ATT 4.5.91 Rooted Atrix but I don't know if it is unlocked or not... how can I find out that? in order to know the best way for me to update to .141?
I tried to unlock the bootloader using fastboot: "fastboot oem unlock" but I got an error that says that it is not implemented...
Can anyone help me to figure out which could be the best way to apply the .141 update?
Thanks
EDIT: Never mind that, I figured out what the problem was and it was unrelated. I just happened that something updated at the same time I ran the code and I thought it was the code that did it. (uninstalled updates to google search to fix) Sorry.
ok, so I have the update installed and am rooted. But now anytime I try to search in the application tray I get a message box saying that "process com.motorola.home has stopped unexpectedly". It didn't do that before I ran the root part of the code so I suspect it is because of that. This is what I ran and got back from the cmd prompt
C:\fastboot>adb shell
$ /preinstall/dosu
/preinstall/dosu
bash: groups: command not found
[email protected]:/# /bin/mount -o remount,rw /system
/bin/mount -o remount,rw /system
[email protected]:/# cp /preinstall/su /system/bin/
cp /preinstall/su /system/bin/
[email protected]:/# chmod 6755 /system/bin/su
chmod 6755 /system/bin/su
[email protected]:/# PATH=/system/bin:$PATH
PATH=/system/bin:$PATH
[email protected]:/# pm install /preinstall/Superuser.apk
pm install /preinstall/Superuser.apk
pkg: /preinstall/Superuser.apk
Success
Good news everyone!
Here is the rooting method for 2.3.6 ROM's, that I decided to call PreinstalameEsta (roughly translated to PreinstallThis)
This method doesn't change any user data. The sbf that is flashed during the procedure only modifies the /preinstall partition (CG66), in which exists a security problem that I exploited to get the root access.
Files needed:
PreinstalameEsta's Files: https://github.com/downloads/nicofff/preinstalameEsta/nicofff-preinstalameEsta-v0.9-4-gce4da6b.zip
ADB, RSD lite, drivers, etc.
Procedure:
1) Unzip the PreinstalameEsta's Files
2) Plug your phone, and switch on USB debugging
3) Run the rootMM2_en.bat file (or runme_en.sh on linux)
3) When asked to flash the new sbf file, reboot the phone into bootloader mode (turn on while pressing the up arrow on the keyboard)
4) Open RSD lite, select the fixed.sbf file and flash it into the phone. (if on linux, use the sbf_flash app included)
5) When it finishes flashing, and reboots, continue executing the rootMM2.bat file.
6) After a few reboots more, the batch file will finish and the phone should be rooted.
In case you want to contribute code, translations, etc.:
https://github.com/nicofff/preinstalameEsta
For an explanation (in spanish) on how i found the root, check here:
http://nicofff.blogspot.com.ar/2012/06/historia-de-un-rooteo-y-todo-lo-que.html
Original Thread on GA: http://www.grupoandroid.com/topic/49338-root-ginger-de-personal-claro-movistar-vivo-y-tigoretail/
Happy Rooting
Nicofff
Update 05/08/2012:
I got my phone stolen last night (In San Telmo, Buenos Aires). Just in case it ends in the hands of a good soul and they happen to come here, i humbly ask them to return it.
The way to identify it: Under the battery, there is a sticker from AFIP that is slightly burnt.
Thanks
Hello my friend, I made all steps and I couldn't make it
I have milestone 2 (brazilian version)
45.2.2710.A953.Latam.en.01 (retail R01)
I think I'll be forever with this rom !
Any idea ?!?!
Thanks !!
Gauzo said:
Hello my friend, I made all steps and I couldn't make it
I have milestone 2 (brazilian version)
45.2.2710.A953.Latam.en.01 (retail R01)
I think I'll be forever with this rom !
Any idea ?!?!
Thanks !!
Click to expand...
Click to collapse
Try again.. All people in Argentina could do it using this tutorial.. Just look at the original thread
Sorry for my english
Gauzo said:
Hello my friend, I made all steps and I couldn't make it
I have milestone 2 (brazilian version)
45.2.2710.A953.Latam.en.01 (retail R01)
I think I'll be forever with this rom !
Any idea ?!?!
Thanks !!
Click to expand...
Click to collapse
What errors did you get?
Paste the output from the script and from RSDlite
argentina personal
Did it work on argentina personal ? :crying:
makipn said:
Did it work on argentina personal ? :crying:
Click to expand...
Click to collapse
Yes it does! 300 Downloads from GrupoAndroid and counting!
I flashed fixed.sbf with rsdlite, everything was fine... after that when I tried to use the root_mm2_en, it was saying that couldn't change, like other roots (doomlord v4, superoneclick,...)
What can I do ? Later I'll post my error
Thanks a lot !
gb vivo 2.3.6 & windows 7
when i run rootMM2-en.bat it opens a window where there is written " press a button to continue" when i press it, it start to work and appers this message :
0 KB/s (105 bytes in 1.000s)
Without closing this window, shutdown the phone
and restart it in bootloader mode (power + UP key in the keyboard)
Once inside the bootloader mode, flash the fixed.sbf from rsdlite
after it restarts, enable USB debugging and press enter to continue...
Premere un tasto per continuare . . .
Waiting for Phone
Syntax error: Unterminated quoted string
than the phone switch off by itself and i had turn it on in bootloader mode, i have flashed the fixed sbf and than the it show me this message
remount failed: Operation not permitted
failed to copy 'su' to '/system/bin/su': Read-only file system
Unable to chmod /system/bin/su: No such file or directory
link failed Read-only file system
failed to copy 'busybox' to '/system/xbin/busybox': Read-only file system
Unable to chmod /system/xbin/busybox: No such file or directory
/system/xbin/busybox: not found
failed to copy 'Superuser.apk' to '/system/app/Superuser.apk': Read-only file sy
stem
/sbin/hotplug > /sys/kernel/uevent_helper
The End
is it a bug or i had make a mistake ?
sminatore said:
is it a bug or i had make a mistake ?
Click to expand...
Click to collapse
It's a bug because of the translation... I've found it:
Code:
adb shell "echo 'doing something on adb, otherwise it doesn't work'"
Should change to
Code:
adb shell "echo 'doing something on adb, otherwise it does not work'"
@nicofff the ' in "don't" caused a syntax error
sminatore said:
gb vivo 2.3.6 & windows 7
when i run rootMM2-en.bat it opens a window where there is written " press a button to continue" when i press it, it start to work and appers this message :
0 KB/s (105 bytes in 1.000s)
Without closing this window, shutdown the phone
and restart it in bootloader mode (power + UP key in the keyboard)
Once inside the bootloader mode, flash the fixed.sbf from rsdlite
after it restarts, enable USB debugging and press enter to continue...
Premere un tasto per continuare . . .
Waiting for Phone
Syntax error: Unterminated quoted string
than the phone switch off by itself and i had turn it on in bootloader mode, i have flashed the fixed sbf and than the it show me this message
remount failed: Operation not permitted
failed to copy 'su' to '/system/bin/su': Read-only file system
Unable to chmod /system/bin/su: No such file or directory
link failed Read-only file system
failed to copy 'busybox' to '/system/xbin/busybox': Read-only file system
Unable to chmod /system/xbin/busybox: No such file or directory
/system/xbin/busybox: not found
failed to copy 'Superuser.apk' to '/system/app/Superuser.apk': Read-only file sy
stem
/sbin/hotplug > /sys/kernel/uevent_helper
The End
is it a bug or i had make a mistake ?
Click to expand...
Click to collapse
do this:
adb shell "rm /data/preinstall_md5/*"
and then run the script again, but when instead of rebooting into bootloader mode and flashing, just reboot it normally
thx for answer
but....i'm a noob... where i should type this : adb shell "rm /data/preinstall_md5/*" ??
I had the same problem, I'll try to do this ! let's see guys !
Caesarivs said:
It's a bug because of the translation... I've found it:
Code:
adb shell "echo 'doing something on adb, otherwise it doesn't work'"
Should change to
Code:
adb shell "echo 'doing something on adb, otherwise it does not work'"
@nicofff the ' in "don't" caused a syntax error
Click to expand...
Click to collapse
Just updated the POST pointing to the fixed version
sminatore said:
thx for answer
but....i'm a noob... where i should type this : adb shell "rm /data/preinstall_md5/*" ??
Click to expand...
Click to collapse
Gauzo said:
I had the same problem, I'll try to do this ! let's see guys !
Click to expand...
Click to collapse
Just download the latest version (v0.9-4) from github: https://github.com/nicofff/preinstalameEsta
The bug is fixed
still doesnt work, i have downloaded the last version and than follow again the instructions written in firts post, but if i turn on the device on bootmode it give me always the same error, and if i turn on the phone normally i cant flash the sbf file ....
sminatore said:
still doesnt work, i have downloaded the last version and than follow again the instructions written in firts post, but if i turn on the device on bootmode it give me always the same error, and if i turn on the phone normally i cant flash the sbf file ....
Click to expand...
Click to collapse
Run rootMM2.bat, do you get the same error?
rootMM2_en.bat
im trying on linux now... lets see
sminatore said:
rootMM2_en.bat
im trying on linux now... lets see
Click to expand...
Click to collapse
There are two .bat files... rootMM2_en.bat and rootMM2.bat... run rootMM2.bat and tell us if you get the same error... because the bug is fixed, it should be something else
Hey Guys !!! thanks it's working now !!!
Just try to use Rootmm2.bat not the other one with EN....
Thanks a LOT !!!!!
oh **** it works!!!!!!
(have done the same step i have done with rootMM2_en.bat)
THANKS!
This question originally got posted on the relevant thread in the Android dev forum, but didn't get any replies so am trying it here in hope....I'm looking for advice on what I can try next which would be safe to try.
I installed and ran the Google Nexus 7 TOOLKIT V4.0.0, but the root failed (and I was also unable to backup the ROM, probably because the root failed). I did the following using the toolkit:
- unlocked the bootloader
- tried rooting using the SuperSU Method (I'm running build JOP40D on a brand new tablet
- got the "downloading boot.img" message (OK), and it rebooted
- did the Android setup after the reboot
- selected USB debugging mode - the tablet rebooted.
During the above process I noticed the message "remount failed: operation not permitted" amongst a stream of other messages.
The subsequent install of BusyBox also failed, with the following messages amongst others:
Code:
Setting permissions..
Unable to chmod /system/xbin/su: No such file or directory
Unable to chmod /system/app/Supervisor.apk: No such file or directory"
...
Testing busybox has been installed properly
...
/system/bin/sh: su: not found
Sending the command 'ls -l /system/xbin/' to device..
You should see a list of all busybox commands
/system/bin/sh: su: not found
Completed
How can I establish what the current state of my machine is, and what is the safest next step in my attempts to root it?
unlocked the bootloader? then all you have to do is fastboot flash a custom recovery then flash the su binaries or a custom rom then reboot. btw, dont use root toolkits, especially if your not familiar with basic procedures. nexus devices dont need root toolkits, its just as easy to root your device the right way.
simms22 said:
unlocked the bootloader? then all you have to do is fastboot flash a custom recovery then flash the su binaries or a custom rom then reboot. btw, dont use root toolkits, especially if your not familiar with basic procedures. nexus devices dont need root toolkits, its just as easy to root your device the right way.
Click to expand...
Click to collapse
Well, I think the Unlock Bootloader part worked. How could I check if it was successful?
itm said:
Well, I think the Unlock Bootloader part worked. How could I check if it was successful?
Click to expand...
Click to collapse
It seems that my attempt to unlock the bootloader wasn't successful - when I re-tried the Root option from the toolkit I got a message saying that the bootloader was locked.
So....I tried to unlock the bootloader again (with the tablet in Fastboot mode). I got the Yes/No option on tablet and selected Yes. I saw red text at the bottom of the Fastboot screen saying "Lock state - unlocked". So I then selected the option to Root (option 2, using the Chainfire method. This failed with the following errors:
remount failed: Operation not permitted
(then a few "no such file" messages removing old root files)
Pushing superuser.apk and su binary..
failed to copy root\su to /system/xbin/su : Read-only file system
failed to copy root\Superuser.apk to /system/app/Superuser.apk : Read-only file system
Setting permissions..
Unable to chmod /system/xbin/su: no such file or directory
Unable to chmod /system/app/Superuser.apk: no such file or directory
It looks like it's not being allowed write access to the drive???
MoFo - Image Modification Methods
I have been helping people with other devices to make rooted ext4 images for their devices using @btdownloads7's method here:
http://forum.xda-developers.com/showpost.php?p=60389310&postcount=177
Works great. If they have the system images as sparse chunks, you can use @tal.aloni's SparseConverter.exe found here:
http://forum.xda-developers.com/showthread.php?t=2749797
to make an ext4 single image system.img but you have to use a hex editor to remove the header and the footer following tal.aloni's instructions in the thread, which I summarized here:
http://forum.xda-developers.com/showpost.php?p=61130622&postcount=41
Then you can use btdownloads7's method above to root it.
The problem is that for some devices like the XT1058 there was only the fxz available as a single file system.img, which is not an ext4 file. I don't know how to convert it to an ext4 image but I have an unlocked XT1060 and at least for the XT1058 what I found I could do was flash the XT1058 system.img to my XT1060 using mfastboot, then boot into recovery and go to Mount and check System. Then from an adb shell run the mount command. That told me where the system image was. On the XT1060 it was /dev/block/mmcblk0p38. Then from the adb shell I ran the command:
dd if=dev/block/mmcblk0p38 of=/sdcard/new_image.img
where if = input file, of = output file and dd is a command that copies the data in the input file to the output file.
Then I exited the adb shell and ran the command
adb pull /sdcard/new_image.img
to get the new_image.img on my computer. new_image.img is an ext4 file that you can flash using mfastboot if your bootloader is unlocked or mofo.exe if your bootloader is locked.
Since my XT1060's bootloader is unlocked and the XT1058 image boots on the XT1060, I could mod the XT1058 image while running android - install Xposed, busy box, etc. - then boot into recovery and run the commands above. I am sure I can also install a custom ROM in TWRP and then pull the image. The point being that for the XT1058 and the non-Dev Ed XT1060's,, which have locked bootloaders, I can modify the images using this method. My XT1060 won't work as a phone running an XT1058 image, but I can use wifi to connect to the playstore to download apps and then install them.
So, I was hoping that this would work the same for the XT1095 and our XT1096 devices. I can boot the Pure Edition XT1095 ext4 image fine on my XT1096 after flashing it with mofo.exe (although it won't make calls) so I think the XT1096 image would run on the XT1095. If someone has an XT1095, they should be able to make a nandroid of their sytem, do all of that above, add in whatever we want to the XT1096 image while running it, then boot into recovery, do the steps above and pull it as an ext4 file using adb, then restore their phone using the nandroid.
To summarize the method:
1) Make a nandroid of XT1095;
2) Use mfastboot to flash XT1096 system.img to XT1095;
3) Boot into TWRP recovery, wipe cache and data partitions, adb push SuperSU zip to /sdcard, install SuperSU zip and then boot into system;
4) Enable USB Debugging, add in Xposed, CFLumen, etc. while running Android and reboot as necessary;
5) Boot into Recovery;
6) Open an adb shell and type the command mount to determine where /system is in /dev/block;
7) Run the command dd if=dev/block/correctplace of=/sdcard/new_image.img, where correctplace is wherever /system is in /dev/block;
8) Exit adb shell and run command adb pull /sdcard/new_image.img; and
9) Restore the XT1095 to its previous state using the nandroid backup.
new_image.img would be an XT1096 rooted ext4 mofo.exe flashable file with Xposed, CFLumen, etc. baked in. In step #1, I would also copy the nandroid to my computer so that I would have a backup copy in case anything strange happened. It shouldn't but it is always better to be safe.
Note that my qe converts to 2/1 when I flash a different model's image but it returns to 1/1 once I reflash an XT1096 image.
How To Make an Ext4 Image from a Single File System.img
Requires an Android device of the same model as the system.img is for with an unlocked bootloader and TWRP installed as the custom recovery.
1) Flash the system.img using mfastboot;
2) Boot into TWRP, start an adb shell and run the command mount - note what folder /system is in /dev/block;
3) From the adb shell run the command:
dd if=dev/block/correctplace of=/sdcard/new_image.img
where correctplace is the folder you noted in Step #2.
4) Exit the adb shell and run the command
adb pull /sdcard/new_image.img
to get the new_image.img onto your computer. new_image.img is an ext4 file that you can flash using mfastboot if your bootloader is unlocked or mofo.exe if your bootloader is locked.
How To Make an Ext4 Image From Sparse Chunks
If you have the sparse chunks for your model - i.e., system.img_sparsechunk1, etc. - then you can use SparseConverter.exe to make a single file ext4 system.img that is flashable by mfastboot and mofo.exe:
http://forum.xda-developers.com/showthread.php?t=2749797
The command is:
SparseConverter.exe /decompress C:\system.img_sparsechunk1 C:\system.img
And it is run from the directory where SparseConverter.exe is. Of course, if your sparse chunks aren't in c:\ you would put in the path to where they are in the command above. And sometimes the first sparse chunk is not sparsechunk1 but rather sparsechunk0 and if so, of course you would start with sparsechunk0.
The system.img you make using SparseConverter.exe will have a header and a footer in it that need to be removed before the system.img is flashable by mfastboot and mofo.exe. The instructions for how to do that are here.
How to Root an Ext4 Image - Requires a Bootloader Unlocked Android Device With TWRP
Requires an Android device with an unlocked bootloader and TWRP installed as the custom recovery. Originally posted here.
btdownloads7 said:
Yes, but there was a slight change in the process (at least on the Nexus 7) from they way I described it originally. Since the image is huge, and wouldn't fit onto the system partition of the Nexus 7, i couldn't just flash it as a system image from fastboot. Here's what I ened up doing:
1. Make sure that you have at least 6 GB free on the SD card, and boot into TWRP
2. Copy the clean ext4 image file to the SD card (the links are a few pages back in this thread)
3. Create a "supersu" folder on the SD card
4. Download the SuperSU update zip (the current version is 2.46)
5. Extract the "armv7" and "common" folders from the update zip to the "supersu" folder from Step 3.
6. Extract the "update-script" binary from the attached zip, and copy it to the same "supersu" folder. It's a script from tha update binary that I modified for our purposes.
7. In TWRP gui, wipe the system partition (this may not have been necessary, but I did it just in case)
8. In TWRP gui, unmount the system partition from the TWRP menus
9. open ADB shell
10. run "rm -r /system", and disregard any errors that it gives you. This will clear the mount point for our image
11. run "mkdir /system", and ignore any errors it gives you
12. run "mount -t ext4 -o loop /sdcard/system.img /system"
13. run "chmod +x /sdcard/supersu/update-script"
14 run "cd /sdcard/supersu" followed by "./update-script". You might see some errors when it's running, but you can disregard them
15. In ADB shell, run "mount", and that should list all the partitions. Remember which path is for the system partition (on my end it was "/dev/block/loop0")
16. run "dd if=dev/block/loop0 of=/sdcard/new_image.img". Obviously replace "/dev/block/loop0" with whatever you got in the previous step
And thats it. Copy the new image back to your PC, and you're ready to flash it with mofo
Click to expand...
Click to collapse
General Info On Modding Images Using Linux
@Ekkoria's tutorial here provides general information on how to mod images using linux.
@ClydeDroid - can you give a synopsis of what needs to be done to add a symlink for the AdAway hosts files? I would like to add it to this thread. Thanks!
Adding Free WiFi Tether to a System Image
To add free WiFi tether to a system image, the /system/build.prop file needs to be edited to include the following line:
net.tethering.noprovisioning=true
The line can be added anywhere in the build.prop file. Please note that editing the build.prop file in some instances resulted in HDR camera problems (force close when a picture was taken with HDR on). Be sure to use NotePad++ to edit the build.prop file, not another editor.
Adding Xposed for Lollipop to a System Image
Here and here are the instructions for @mikeoswego's method for installing Xposed for Lollipop in a system image.
You need to download both the apk and the zip from this thread:
http://forum.xda-developers.com/showthread.php?t=3034811
as well as the script that is attached to this post (unzip the script).
mikeoswego said:
1) You must mount the image that you want to install Xposed to /system on your Linux box (or edit the script some more.)
2) Make the script executable (chmod 755) and then run the script like this:
sudo [full path to script] [full path to zip file]
On my system it looks like this:
sudo /home/mike/InstallXposed /home/mike/xposed-sdk21-arm-20150430.zip
There will be some chcon errors but it still sets the permissions correctly.
3) Before you flash the image having Xposed in it to your device, download the XposedInstaller apk to your phone from the first post in this thread: http://forum.xda-developers.com/showthread.php?p=58948978#post58948978 and delete the following folders from your /data partition:
/data/dalvik-cache/arm
/data/dalvik-cache/profiles
4) On reboot, it will take a little longer at the red Verizon screen, then it will upgrade/optimize apps claiming a very large number of apps to process but most of them go by very quickly. On subsequent reboots it upgrades/optimizes one app each time. Otherwise I've not noticed any other problems or side effects.)
Click to expand...
Click to collapse
reserved 7
JulesJam said:
reserved 4
@btdownloads7 Is it possible for you to write up a synopsis of how you got Busy Box and SQLite into the image? It doesn't have to be a step by step guide, but whatever insight you could give even a high level summary would be appreciated. Thanks!
Click to expand...
Click to collapse
Sqlite is easy -- you just put the binary into /system/xbin, and chmod 755 it.
Busybox is harder. The overall process is very similar to rooting it, but you have to run most of the script in a virtual machine, and one command in TWRP. You have to get the update zip for it, extract the proper binaries for the arm7 architecture, and extract the update script. Then modify the update script to remove any mention of the mounting/dismounting of partition, and to move the the extracted binaries instead of having the script extract them. At the very end of the script, it runs a "busybox --install" command, and that has to be run on the actual device (in TWRP).
@mikeoswego - did I get the instructions correct here? I wanted to combine 2 of your posts into 1 set of instructions. Please let me know if I paraphrased you correctly, thanks!
JulesJam said:
@mikeoswego - did I get the instructions correct here? I wanted to combine 2 of your posts into 1 set of instructions. Please let me know if I paraphrased you correctly, thanks!
Click to expand...
Click to collapse
Looks good!
---------- Post added at 06:45 PM ---------- Previous post was at 06:41 PM ----------
JulesJam said:
net.tethering.noprovisioning=true
Click to expand...
Click to collapse
I'm not sure this works for carriers other than Verizon.
mikeoswego said:
I'm not sure this works for carriers other than Verizon.
Click to expand...
Click to collapse
AFAIK it works for ATT but the problem is that ATT is not subject to the Block C license restrictions so if you enable it, you still need to hide the fact that you are tethering from ATT. There are ways to modify the /system partition to do that but idk how to do it.
If you have UDP and don't tether very much, from all I have read, ATT lets it go. But if you are going to use lots of data per month tethering, they send you a letter telling you that you are violating their TOS and if you don't stop, they will take away your UDP or terminate your contract, I can't remember which. So those with UDP have to hide that they are tethering somehow.
JulesJam said:
6) Open an adb shell and type the command mount to determine where /system is in /dev/block;
7) Run the command dd if=dev/block/correctplace of=/sdcard/new_image.img, where correctplace is wherever /system is in /dev/block;
Click to expand...
Click to collapse
Just so you know, there's an easier way to do this part. The directory "/dev/block/platform/msm_sdcc.1/by-name" contains links to all the partitions so you don't have to remember weird numbers like "mmcblk0p38". The app "DiskInfo" can also show you which partitions map to which block devices, and it doesn't even need root. Hope this helps.
Mmcblk0p38 on my XT1095
btdownloads7 said:
Sqlite is easy -- you just out the binary into /system/xbin, and chmod 755 it.
Click to expand...
Click to collapse
Where do you get the binary and what is "out"?
JulesJam said:
Where do you get the binary and what is "out"?
Click to expand...
Click to collapse
I don't remember where I originally got the binary, but if you do a google search, you should be able to easily find it. Here's a good place to start.
And "out" was a typo. Should have said "put"
btdownloads7 said:
And "out" was a typo. Should have said "put"
Click to expand...
Click to collapse
I thought so but I wanted to make sure in case it was some linux command I am not familiar with, lol!
I'm trying to do something that should be very simple using the Linux method: change the boot animation. No matter what bootanimation.zip I put into /system/media, set permissions to 644 and ownership to root:root, the animation seems to default to a pulsating text "android" logo. When I also change the bootanimation file in /system/bin I only get the pre-boot Motorola logo until boot up is complete.
Pulling a MoFo Flashable Image From an XT1095
This is useful for the AT&T XT1097. You can flash modified XT1095 images to an AT&T XT1097 since they both work on AT&T. Here is how you can pull a MoFo flashable image from an XT1095.
Open an adb shell by typing adb shell at the command prompt. Then type the command su. Then run this command:
dd if=/dev/block/mmcblk0p38 of=/sdcard/system.img
Then pull the image using the adb pull command:
adb pull /sdcard/system.img c:\
joshnat said:
I'm trying to do something that should be very simple using the Linux method: change the boot animation. No matter what bootanimation.zip I put into /system/media, set permissions to 644 and ownership to root:root, the animation seems to default to a pulsating text "android" logo. When I also change the bootanimation file in /system/bin I only get the pre-boot Motorola logo until boot up is complete.
Click to expand...
Click to collapse
@mikeoswego may be able to explain to you how to do it.