[XDA Assist] dmagen:
How to root Sony Ericsson Xperia Arc S and enable reverse tethering + wifi hotspot that uses the reverse tethering in 10 minutes:

I just learned how to do it

took me about 5 hours to learn and succeed, thought I might share it in case someone else might want to try in the future:

guide is only for windows machine, but you can use the sources to do the same with Linux or a Mac

It only requires a few tweaks to drivers installation and terminal code.

Also it might work with other Xperia devices but I can't promise it will, you might want to check sources for in depth look.

Sources:

https://www.youtube.com/watch?v=OxF4O5E2RiY&index=10 - how to root Xperia Arc S video

http://talk.sonymobile.com/t5/Andro...martphones-2011-and-2012-Xperias/td-p/287857- how to root Xperia Arc S

http://xdaforums.com/showthread.php?t=2287494 - how to enable reverse tethering

http://xdaforums.com/showthread.php?t=1882852 - how to get your wifi hotspot to share reverse tethering

http://xdaforums.com/showthread.php?t=2635830 - drivers in case you need them

1) root your device:

in phone:

settings -> applications -> enable "unknown sources"

settings -> applications -> development -> enable USB debugging"

settings -> Sony Ericsson -> connectivity -> USB connection mode -> set to "mass storage mode (MSC) -> OK

Connect your device to windows

Windows should automatically install the required drivers

If in some case it does not, or if you have problems rooting your device

Just install the drivers from this link:

http://xdaforums.com/showthread.php?t=2635830

If the link is broken in the future I uploaded it to tinyupload:

http://s000.tinyupload.com/index.php?file_id=00631373727411836001

Just install the driver that you need

Xperia Arc S actually is actually not listed there, I just installed all the ones that have "s" and "arc" in them

It takes a bit of space so try to not just install all of them

Download the rooting software from

http://www.mediafire.com/download/5r0ad6lgvu5sv27/Eroot_1.2.exe

Once it downloads activate it

A green windows written in Japanese should pop up

You don't need to understand a bit of what it says

If you see a big green button that says "ROOT" then all is good

If you don't it means some of the steps above were not done correctly

Either you didn't change your phone settings or you don't have the necessary drivers

Press the big green button that says "ROOT"

it should show you a list of 4 things

The 3 first things will change to a V sigh rather quickly

The 4th thing should take a little bit more

Once it's finished you should see a different big green button that says "*SomethingInJapnese*ROOT"

DO NOT PRESS IT

Just exit the program

now you phone is rooted :)

2)enable connection sharing in your computer

Go to Control Panel\Network and Internet\Network Connections

If for some reason it doesn't find the path

Press Start+R, write "ncpa.cpl" (without the quotation marks) and press enter

This is taken from the "how to enable reverse tethering" guide I linked in above, it explains it nicely:

right click on an Internet connection that you have.

I assume that you are using a desktop which doesn't have any wifi adapter, so right click on LAN Ethernet connection with Internet, and select "Properties".

in tab "Sharing" (or "Advanced" for Windows XP), click "Allow other network users to connect through...", then select the USB connection in dropdown list below.

click OK. Windows will automatically setup your USB network connection and assign to it an IP address, default for Windows 7: 192.168.137.1, default for Windows XP: 192.168.0.1.

You can see your Internet connection is now "Shared" and your USB connection is now "Unidentified network".

In case you don't see a dropdown list (like me) it works anyway so just move on.

Once you press OK it should take some time for your machines to set things up so don't panic if it loads for a minute or so

3)install terminal emulator on your phone

You have 2 options here

1) register your phone with a fake gmail account, download the playstore app (from the market app) and download what you need

it didn't work for me, for some reason even after I registered it said that my account is not connected even though it certainly was

If you want to risk it you may try but for me it was just a waste of time

2) download the apk for the app and install it using the phone built in package installer.

Using your phone browser, go to

https://apps.evozi.com/apk-downloader/

IF IT POPS UP A REQUEST TO CONTINUE OR CANCEL ALWAYS PRESS CANCEL

it just tries to redirect you to an advertising site, it won't affect your download if you press cancel

copy and paste the link from the Google play store site of the app you want to install

In this case the link is:

https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en

press "Generate Download Link", I should load a bit and then open a new green button that says "Click here to Download"

(if you don't see it scroll down)

press it and it should start the download.

You can open the file directly by opening the notification bar and pressing on the file that was just download

(notification bar like a drop down curtain, just slide your finger from the top of the screen downwards)

select "Package installer" as the app to open it with and it should install it quickly.

Also for later if you don't have one already installed, install some kind of note app

I just installed this one:

https://play.google.com/store/apps/details?id=com.mervsy.notes&hl=en

4)

connect your device to your computer

In your phone go to

settings -> wireless&networks -> Tethering & portable hotspot -> enable USB tethering

Wait for it to connect, once it does you can move on

Go to your terminal emulator, write "su" (without the quotation marks) and press enter

What it does is asks the phone to give you "Super User" permissions to change your phone built in settings

Give the app permission to do so.

The sign in the terminal emulator should change from $ to # to indicate that you have Super User permissions

Next, copy those lines to the terminal emulator and press enter

(you might want to save them in your note app before, I'll explain why in a bit)

netcfg usb0 dhcp

ifconfig usb0 192.168.137.2 netmask 255.255.255.0

route add default gw 192.168.137.1 dev usb0

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -F

iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE

iptables -P FORWARD ACCEPT

first 3 lines - for reverse tethering

Next 4 lines - for wifi hotspot reverse tethering sharing

couple of notes:

1)if it prints something like "iptables failed strangely: No such file or directory"

just ignore it, it works anyway

2)if you get an error relating to "dhcp" - make sure you enabled "USB tethering" in your device, and that you enabled connection sharing in your computer.

3) if for some reason you have other errors, try replacing "usb0" with "rndis0" in lines 1,2 and 3

not sure if you also need to change the "usb0" in line 6, but if it still gives you an error I didn't describe try chaging that too.

if you did get any errors just copy and paste the code (with the needed changes if any are needed) to the terminal emulator again

remember to do so only in su mode! (# instead of $)

also, save the final version (the version that worked for you) of the code lines in the note app you installed (step 5 explains why)

everything should now work perfectly

reverse tethering should work

and if you want to enable wifi hot spot just go to

settings -> wireless&networks -> Tethering & portable hotspot -> enable Portable WI-Fi hotspot

5)

for me the reverse tethering and wifi hotspot sharing stops working after I reboot the phone

In such a case just

1)connect your phone to your computer

2)in phone: settings -> wireless&networks -> Tethering & portable hotspot -> enable USB tethering

3)go to terminal emulator

4)go to Super User mode (write su and press enter)

3)copy and paste the code you saved from the note app to the terminal emulator and press enter

and it should work again

if you want to connect your phone to another computer, to the exact same steps but remember to enable connection sharing in your computer before!

hope this little guide helped you :)

-dmagen