Posted by: reformedmusings | May 7, 2011

Rooting a Motorola Atrix 4G Android phone from 4.1.57 or 4.1.83 firmware on Linux

I don’t normally worry about rooting phones, but Android apparently has some quirks that almost require it. First of all, you cannot back up most application data or settings without having root access. That’s very bad and should be fixed. Second, either Motorola or AT&T disabled the ability to load software from any source (like your MicroSD card or Internet) (BTW, this is called “side loading”) except for Android Market without using the Software Development Kit (SDK). For non-developers, using the SDK is probably a non-starter and it requires a USB connection to your computer. In order to activate side loading and back up my application data and settings, I had to “root my phone”.

Naturally, the OEM discourages this for several reasons. One is having configuration control. The fact is that some folks don’t have the technical acumen to root a phone or they then delete critical system files, bricking their phone either way. Then they return the phones for a warranty exchange. Not only is this dishonest, it costs other customers because the OEM simply passes on the costs. Second, malware requires root for most exploits. If the OEM prevents customers from having root access through a tight operating system, they think that they can prevent warranty and customer support issues due to downloaded malware. That’s naive in my opinion.

So, you wind up with a contest between OEMs that don’t let customers have full access to the devices for which they pay good money and clever folks who help us obtain full use of our phones. It’s quite a game, and one played mostly on Windows-based computers. Linux users sometimes have an extra handicap, but that’s improved a great deal in the last few years.

All the information here appears in Ririal’s GladRoot post on the xda-developer’s forum, kennethpenn’s reflashing post there, and Optical Delusion’s sbf_flash work as posted on his blog. I’m only consolidating all that information here, put it all in a Linux context, and provide a few screenshots. I accomplished all this under x86_64 Ubuntu 10.10 Maverick.

First, read Ririal’s post in its entirety, then as he wisely advises, read it a few more times. Be sure that you understand it all before you start, as well as the other information on the other two links. I’m going to assume that we’re starting with a stock AT&T Motorola Atrix using 4.1.57 or 4.1.83 system software (Check from the home screen at Menu -> Settings -> About Phone under System version), either because it came that way or you updated from 4.1.26 over the air (OTA). If you have a 4.1.26 Atrix, then skip the reflashing part and go directly to the GladRoot steps. If you have something other than an AT&T Atrix with 4.1.26, 4.1.57, or 4.1.83, don’t do this.

NOTE: I do not discuss or advocate tethering phones for which you don’t have a tethering data plan. Taking something for which you haven’t explicitly paid is stealing, plain and simple. Rooting and activating side loading merely opens up more of the phone for which you paid without costing the carrier another cent.

Also note that you will lose all application and system data as well as settings not stored on your internal or external SD card. After you reflash your phone, it will be just like it came from the factory, except that data on the internal flash (/mnt/sdcard) should remain.

DISCLAIMER: If in the following process you brick your phone, cut your finger, stub your toe, get halitosis, are attacked by a hungry alligator, or are abducted by aliens, you’re on your own. I make NO representation, promise, guarantee, or inference that the following will work for everyone or anyone in particular.

If your phone has 4.1.26 on it now, skip any and all steps that talk about downloading or flashing 4.1.26.

1. Read all the linked posts as well as this one until you understand it all.

2. Ensure that your phone is fully charged.

3. Download the 1.26 image from this link. The file’s password is atrixbl. Extract it to a temporary directory directly under your home directory. Do not use spaces in the directory name. An example would be /home/user/temp.

4. Download the GladRoot 4.2 archive here. mistadman converted the Windows batch files to Bash scripts here and here to work on Linux. Just copy and paste them into local files and make sure they are executable.

5. Extract the GladRoot 4.2 archive to the same temporary directory as in step 3.

6. Download the latest version of sbf_flash from Optical Delusion. Read his directions and instructions on that site.

7. Copy sbf_flash to the same directory as in step 3. You now have all the files that you need to root your Atrix from Linux.

8. Back up whatever data you can using individual applications’ export functions. I did this for Note Everything, Contacts, etc. Note that if you keep your calendar, contacts, and tasks on Google, you’ll be able to resync to them after you finish.

9. Turn the phone off and remove the MicroSD card and your SIM card. You’ll have to remove the battery to get the SIM card out.

10. Turn the phone back on while holding the volume up button in until you receive a message at the top of the screen that says “Starting RSD protocol support” or words to that effect.

11. Plug the USB cable into the phone. Open a terminal window, type:

cd ~/temp (or whatever you named your working directory in step 3 above)
sbf_flash OLYFR_U4_1.2.6_SIGNED_OLPSATTSPE_P012_HWolympus_1g_1FF.sbf

The beauty of Linux is that you don’t have to type the whole name. Just type the first few case-sensitive letter of OLY and hit tab. Linux will find the file and put its name on the command line.

12. Wait patiently for the phone to flash. It takes a while. You can watch as it loads each module. sbf_flash lists all the modules in the file, so you can use that to gage your progress.

13. Wait patiently as the phone reboots itself. It takes a while.

14. After the phone comes up, it will be like it was new from the factory. You will have to input your MotoBlur account information just to get to a home screen

15. Once at the home screen, tap menu -> Settings -> Applications -> Development and select USB debugging, Stay awake, and Allow mock locations. There should be green checks in all three. Pull down the notification page from the status bar, tap on the USB notice, and select None for USB mode. You may have to disconnect the phone from USB and plug it back in to get adb to recognize the phone, but I did not.

16. In your terminal, type:

./adb devices

You should see your phone listed. If not, try turning off USB debugging and turning back on. Once the phone shows up after typing the above, go to the next step.

17. In your terminal, type (assuming that you are still in the directory with all the scripts):

./gladroot.sh

You should see the following screens:

Opening screen for the script

Standard disclaimer - you're on your own, dude!

Be sure to watch for and tap the dialogs on your phone to allow root as the script executes.

Obtain root the phone using a known exploit

Sideloading enabled

Get the phone ready for future system software updates

All done, ready for system update

If you didn’t encounter any errors, you’re ready to update your system to 4.1.57. If you did get errors, don’t panic. It didn’t root on my first attempt. Just run the script again. It worked perfectly on my second try.

18. Input the required information to your phone to connect to your WiFi to save data charges, then starting from your home screen tap Menu -> Settings -> About Phone -> System updates. It will take a few minutes, but the phone should then offer to update your system software. Accept the download and installation. The phone will reset itself when it’s done updating. Be patient.

19. Repeat step 18 to get the update to 4.1.83.

19. After the phone restarts itself, return to the USB debugging settings to ensure that they are still set. If not, check the boxes again. You again my have to turn USB debugging off and on again for the phone to be recognized by adb, or even unplug it from USB and replug it in. I had to do that.

20. Again make sure that adb finds your phone by typing into the terminal:

./adb devices

Your device should be listed. If not, refer to the previous step.

21. In the terminal, type:

./afterupdate.sh

You should see:

Root regained after system update!

All done!

As it says on the first screen, you must approve SuperUser access for the script for this to work. If you don’t, it will fail. If you miss the prompt the first time, just run the script again.

22. Wait patiently for your phone to restart.

23. Go to Android Market on your PC’s web browser and reload all your apps. Note that the Market on the web remembers (almost) all the apps that you had downloaded before. Your phone will pick up on all the apps for which you paid, but not the free ones for some reason.

24. Restore whatever data you could save and enjoy your rooted Atrix w/system software 4.1.83!

25. Don’t forget to donate to Ririal for his outstanding work to make this possible.

This process worked fine for me, although I had to run gladroot.sh twice. YMMV. It really didn’t take long, but reloading all my apps and setting them and the system up again took a few hours. Side loading works perfectly, as does Titanium Backup Pro (a must-have for your rooted Android phone) to protect my data and settings.

Advertisements

Responses

  1. hi reformedmusings! THANK YOU so very much for taking the time to write this tech! i have had the most success with it over all the other atrix root methods i have tried. there’s one point where i’m encountering a problem and i wonder if you might assist me. i successfully flashed my atrix back to 1.26. I am able furthermore to successfully complete all the steps you list up to step 16. after that point it says waiting for root access to kick in. then it says still waiting several times. Finally I get the message Something went wrong, psneuter failed to execute properly!. The script exits to my shell prompt. I tried running it several times with the same result. Any suggestions? Many thanks for your time and effort!

  2. Actually, here is the the full information i receive from the script as it runs. Starting to think there’s an error sooner because i don’t even see the line 120 message when i run it.

    “Preparing your computer and phone for install…

    Starting ADB server…

    Checking device state…

    Obtaining temporary root access…
    mmap() failed. Operation not permitted

    Waiting for root access to kick in…

    Still waiting…
    Still waiting…
    Still waiting…
    Still waiting…
    Still waiting…
    Still waiting…
    Still waiting…
    Still waiting…
    Still waiting…

    Something when wrong, psneuter failed to execute properly!”

    • Thank you for stopping by. Do you have any changes to the stock rom like tethering, gingerblur, deox, etc.?

  3. I find in you an anonymous kindred spirit in many ways: a linux libertarian, a Jesus lover, a sci-fi guy, etc.

    And now that I’ve softened you up a bit… A favor? I’m trying to download firmware 1.26 from somewhere. But that link that you and others have referenced, is no longer amongst the living. Would you mind giving me your copy of that, if you still have it laying around somewhere?

    • Hi David,

      Thanks for your kind words! I sent you an email. I don’t have 4.1.26, but sent you links to newer versions. I cannot find any trustable links to 4.1.26.

      Bob

  4. And I truly do thank you for hours of entertaining reading that you’ve provided me today on reformed theology, aviation, ubuntu, gun control, AGW, and more.


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: