Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

Is there a way for WiFi-tethering without root access.

I mean before Froyo.

I have HTC Hero 2.1, and frankly, I don't want to root it for security reasons.

share|improve this question
    
Anyone care to elaborate on if there actually are any security reasons not to root? –  MGOwen Oct 7 '10 at 3:47

7 Answers 7

Short answer, you need to root for wifi hotspot tethering, or pay Sprint $30 a month. I thought about purchasing the package, but decided against it because they already charge you $10 extra per line for no legit reason. My thought there is they expect you to tether and can't do anything about it really, so they charge you extra and every month, 10 bucks adds up quickly per line, especially for those on your plan who don't even care to tether at all.

share|improve this answer
    
Even if Sprint was my provider (it isn't, I'm in Europe) I wouldn't pay that. –  Quandary Dec 24 '11 at 12:30
up vote 4 down vote accepted

Here is the ultimate answer:

First, on your phone, install a terminal-emulator from Android market, then run

cat /proc/cpuinfo


which will show you the detailed processor information of your phone (ARM5 in my case).

Afterwards, you need to install an ARM5 cross-compiler environment on your Linux box (download Ubuntu and VirtualBox if you are a Windows/Mac-freak and don't have a Linux box), in order to compile native code for your phone.

You do this in order to be able to start a privilege escalation attack ON YOUR PHONE.

So, next, you need to cross-compile a privilege-escalation attack for ARM5 (HTC Hero microprocessor). For that, use the RageAgainstTheCage attack made by Sebastian Krahmer of Suse Linux Berlin (in binary only), reverse-engineered here:
http://pastebin.com/fXsGij3N

A precompiled version is available here http://cmw.22aaf3.com/common/rageagainstthecage-arm5.zip

Download the Android SDK starter kit from Google.
Install the appropriate Android Platform SDK (version 2.1 for me).
http://developer.android.com/sdk/index.html

Then, download the superuser (su) package:
http://cmw.22aaf3.com/common/su-2.3.6.2-efgh.zip

Put all, the superuser package, the su program, and the RageAgainstTheCage exploit in the same folder as adb (a program to connect to your android phone from the Android SDK). You need to enable USB-Debugging, and switch of internet sharing.

Next, you transmit the file rageagainstthecage.bin to folder /data/local/tmp on your phone (initially, as normal user, you have write access only to the sdcard and the temp folder, but this is sufficient)

adb push rageagainstthecage.bin /data/local/tmp/

Then you start a shell on your phone:

adb shell

And change ownership on rageagainstthecage.bin to all

chmod 755 /data/local/tmp/rageagainstthecage.bin

Next, you start rageagainstthecage on your phone as normal user

/data/local/tmp/rageagainstthecage

When the exploit finished, your adb connection should terminate.

If it doesn't type

exit
adb kill-server
adb start-server

Now connect again to your phone:

adb shell

ADB shell now runs with escalated privileges (root). So now, remount the file system so you can write on the system partition.

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
exit

Now push su and superuser to your phone (remember, you have write access now)

adb push su /system/xbin/
adb push Superuser.apk /system/app/

And then change ownership on su to all

adb shell chmod 4755 /system/xbin/su

Next download and install one of all those free tether apps that require you to root your phone. Start superuser.

Now start your tether app. A popup will appear, which will ask you whether you want to grant this app root access. Say yes, and check remember.

Now switch of your phone and restart. When it has restarted, everything is back to normal, no more root privileges. But su is still there and executable for everyone. So, when logged in, start the wifi tether app. Since you checked remember in the superuser app, it will use su to switch this application to root, which means it will now run fine, with only the tether app with root privileges :)

Next, connect with your Linux box to your brand-new working Android WIFI hotspot. After you're sure it works, don't forget to put access restrictions for the hotspot in place.

BTW, if you use your escalated privileges to export some apk packages for reverse-engineering, you will notice that android lacks the cp command.

You can circumvent that restriction by using cat (copy-cat) instead:

cat /data/app/superuser.apk >> /sdcard/Downloads/superuser.apk 

;-)

share|improve this answer
    
Hi, whoever it was that requested my help. I've lost your mail between copying it to the texteditor without saving and an xorg crash. You can contact me via my ubuntuforums profile: ubuntuforums.org/member.php?u=503084 –  Quandary Dec 25 '11 at 18:05

You can get unrevoked, its an app which gives you root access without changing your kernel/flashing a rom/voiding your warrenty, use that on every startup (its automatic) and then get the superuser app. Then you can use the Open Tethering app which requires root access.

Thats the ONLY free way to do wifi tethering. Otherwise pay sprint or your provider the monthly enable tethering fee.

Worst Case Scenario you can tether using EasyTether app. It creates a forwarding mechanism for HTTP requests through the USB port. Requires software on android + computer. Its not WiFi Tethering, but its free, rootless tethering. For 3 bucks you can get the pro version and do HTTPS as well. Better than nothing (or 30 bucks a month --err thats insane--)

share|improve this answer
    
Unrevoked doesn't work on my hero, I can't get root. –  Quandary Oct 7 '10 at 10:35
    
Poo! I have that problem on certain builds as well. Most unfortunate. Easy Tether might be your only solution. Requires USB cable and some set up on both sides, but better than nothing. –  Dmitriy Likhten Oct 11 '10 at 21:35

My samsung galaxy s (android 2.1) had a tethering option build in from the start. Settings->wifi-Mobile AP and I only had to check a checkbox for it to work. And it works really great. (not locked here t-mobile/netherlands)

I can't find the application name though.

share|improve this answer
    
That application is called Android 2.2+. –  Quandary Sep 17 '10 at 16:08
    
Yes but its locked by the provider and you have to pay money to unlock it per month. Sprint wants 30 bucks per month. –  Dmitriy Likhten Sep 26 '10 at 4:17
    
I'm not a Sprint user, I'm an Orange user ;-)) But I don't have 2.2, yet. –  Quandary Oct 1 '10 at 6:49
    
Unfortunately, This does not work on the Samsung Galaxy S Captivate via AT&T here in the USA. –  Eric Warriner Oct 6 '10 at 13:25
    
my galaxy s is 2.1 and this method works for me too –  Louis Rhys Nov 20 '10 at 15:50

Easy tether is an awesome app that allows wifi tethering. http://www.androidzoom.com/android_applications/communication/easytether-lite_eoqh.html

share|improve this answer
    
I thought it was just usb tethering... –  colithium Sep 17 '10 at 21:54
    
@colithium: it is... –  Quandary Sep 19 '10 at 16:51
    
He mentioned WiFi tethering. –  colithium Sep 20 '10 at 1:48
    
@colithium: But it definitely doesn't. –  Quandary Oct 1 '10 at 6:47
    
Which is why I commented... The questioner asked for a wifi tethering solution. Easy Tether is a USB only tether solution. Hints the problem with this answer. I'm confused –  colithium Oct 1 '10 at 8:34

You won't like this answer but your carrier may provide the service if you're willing to pay extra for it. Sprint offered a WiFi hotspot feature for $30/month on the Evo pre 2.2. Ridiculous, yes. But may be your only option.

share|improve this answer
    
I have 2.1 not 2.2 . And yes, ridiculous, but hey, Linux is FOSS, just compile your own and that WiFi thingy is unlocked. I suppose that is why Motarola digitally signs the bootloader and prevents any non-Motarola ROM from running... –  Quandary Sep 17 '10 at 16:07
    
I think xda got around that. But WiFi tethering was possible on 2.1 with Sprint. Just to be clear. –  colithium Sep 17 '10 at 21:56
    
Are you sure it was 2.1 ? If yes, interesting. –  Quandary Sep 19 '10 at 16:52
    
Positive. I'm sure you can find press releases mentioning 2.1 being the launch version and the wireless hotspot feature. Sprint disabled 2.2's built in feature and still wants you to pay them of course. –  colithium Sep 20 '10 at 1:47

I don't know of any way to do wifi tethering without root (before 2.2). You can, however, use bluetooth or a USB cable with PDANet which does not require root.

share|improve this answer
    
I have no Bluethooth (and don't want it either). And unfortunately, the USB cable is wearing out. –  Quandary Sep 14 '10 at 4:06
    
micro USB cables are cheap to buy: amazon.com/s/… –  SAGExSDX Sep 15 '10 at 18:56
    
Yea, you see, here in Switzerland, the cheapest USB cable you can get is 10 $. While you can buy it for 1 - 2 $ on Amazon (and delivered for 5$), I mind the 60 $ customs processing fee. And apart from that, having to connect and disconnect (and bring with you) the cable is immensly annoying. –  Quandary Sep 17 '10 at 16:10
    
Update: Got Bluetooth working on my Laptop by patching the driver myself. But the quality is poor. PDAnet Bluetooth connects much faster than USB thethering, but it disconnects often. –  Quandary Oct 1 '10 at 6:46
    
@Bryan Denny: Unfortunately not a solution, because I've now no admin access on the windows machine anymore (company laptop). –  Quandary Dec 24 '11 at 9:44

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.