Hieronder staat beschreven op welke manier ik mijn Android-toestel gebruik als tethered modem via USB (USB tethering). Hierdoor is het mogelijk om via het data-abonnement op je telefoontoestel te internetten op je laptop of PC. Nieuwere mobieltjes met Android 2.2 hebben WiFi tethering-functionaliteit ingebouwd en kunnen dus standaard hun mobiel als modem gebruiken.

tin can phone

De hieronder beschreven stappen zijn alleen getest (voor eigen gebruik) op een HTC Magic en Ubuntu 10.4. Mocht je Windows gebruiken dan raad ik je aan eens te kijken naar PdaNet

Wanneer je suggesties hebt waardoor onderstaande stappen verbeterd, vereenvoudigd of verfraaid kunnen worden dan laat het me weten via het commentaarveld bij dit artikel. Onderaan de beschreven stappen staan de gebruikte bronnen en bestanden.

stap 1
Download de laatste versie van de Linux-versie van de Android SDK vanaf de Android Developers website.

stap 2
Pak het gezipte bestand uit.

tar xvf android-sdk_rxx-linux_86.tgz

stap 3
Ga naar de folder met waarin de ‘adb’ applicatie zich bevindt

cd android-sdk-linux_86/tools

stap 4
Kopieer de “adb” applicatie naar de map /usr/bin directory met root (sudo) privileges. Het programma ‘adb’ (Android Debug Bridge) wordt meegeleverd met de Android SDK en gebruiken wij hier om apk-bestanden (installatiebestanden) te installeren op het Android-apparaat.

sudo cp adb /usr/bin/adb

stap 5
Nu moeten we een regel aanmaken voor in een bestand zodat je machine het apparaat kan zien (zgn ‘device naming rules’)

sudo gedit /etc/udev/rules.d/91-android.rules

stap 6
Plaats de volgende tekst in het bestand en vervang GEBRUIKERSNAAM met jouw Linux-gebruikersnaam.

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", SYMLINK+="android_adb", MODE="0666", OWNER="GEBRUIKERSNAAM"

stap 7
Zorg voor de juiste rechten op het op het rules-bestand wat je net hebt aangemaakt

sudo chmod a+r /etc/udev/rules.d/91-android.rules

stap 8
Herstart het hotplug-subsystem zodat de nieuw aangemaakte regels geladen kunnen worden

sudo restart udev

stap 9
Zorg dat je Android-toestel “USB debugging” (USB-foutopsporing) heeft aanstaan

Settings > Applications > Development

… of wanneer je een Nederlandstalige interface hebt

Instellingen > Toepassingen > Ontwikkeling

USB-foutopsporing op Android

stap 10
Koppel je Android-toestel aan je PC met een USB-kabeltje en gebruik het programma ‘adb’ om te controleren welke apparaten er aan de PC ‘hangen’.

adb devices

de commandoregel zal ongeveer de volgende output teruggeven

List of devices attached
HT94WKF01305 device

stap 11
Installeer vervolgens ‘openvpn’ op Ubuntu waarmee je verbinding kan maken met je Android-apparaat.

sudo apt-get install network-manager-openvpn openvpn
sudo /etc/init.d/networking restart
sudo /etc/init.d/network-manager restart

stap 12
Installeer OpenVPN op je Android-toestel. Dit doen we met het programma ‘azilink’. Installeren van programma’s op je Android-toestel kan op meerdere manieren, maar hieronder beschrijf ik hoe je via het meegeleverde programma ‘adb’ van de Android SDK het programma kunt installeren.

cd /home/Downloads/
mkdir azilink
cd azilink
wget http://azilink.googlecode.com/files/azilink-2.0.2.apk
adb install -r azilink-2.0.2.apk
wget http://azilink.googlecode.com/files/azilink.ovpn

Met het commando ‘adb install’ installeer je dus effectief het programma azilink op je Android-toestel. Na installatie zal er een pictogram van een vliegende insect verschijnen op je Android-toestel.

Azilink applicatie op Android

stap 13
Maak het bestand ‘resolv.conf’ die zal runtime worden gekopieerd naar de directory /etc

gedit resolv.conf
domain lan
search lan
nameserver 192.168.56.1

stap 14
Voor ons eigen gemak creƫren we het volgende kleine script om de modem te starten

gedit start_modem

… met daarin de volgende commando’s

adb forward tcp:41927 tcp:41927
sudo cp resolv.conf /etc/
sudo openvpn --config azilink.ovpn

stap 15
Zorg ervoor dat het script uitvoerbaar is

chmod 755 start_modem

stap 16
Start de Azilink-applicatie op je Android-toestel en vink de optie “Service active” aan zodat deze verbinding kan krijgen met je Ubuntu-machine

opties Azilink

stap 17
Zorg ervoor dat je draadloze verbinding uitgeschakeld is in Ubuntu (via rechtermuisklik op de network manager applet)

draadloos internet uitzetten Ubuntu

… en start het zojuist gemaakte script ’start_modem’ via het volgende commando

/home/Downloads/azilink/start_modem

Het doorlopen van deze stappen maakt van je Android-appraat een ‘tethered modem’ waardoor het nu mogelijk moet zijn op internet te surfen. Wanneer je klaar bent met surfen gebruik dan de toetscombinatie ctrl+c in een terminal om het script ’start_modem’ te beeindigen. Ontvink ook de optie “Service active” binnen de Azilink-applicatie op je Android-toestel.

Gebruikte bronnen
http://developer.android.com/guide/developing/tools/index.html
http://ubuntuforums.org/showpost.php?p=7446857&postcount=8
http://www.humans-enabled.com/2009/12/how-to-tether-your-verizon-droid-as.html
http://www.overclock.net/linux-unix/749612-tethering-linux-machines-android-phones-without.html
http://moblog.bradleyit.com/2009/12/tethering-your-non-rooted-android-based.html

Gebruikte bestanden
Android SDK @ http://developer.android.com/sdk/index.html
Azilink @ http://code.google.com/p/azilink/

Gebruikte afbeelding
“tin can phone” by Kit Cowan
http://www.flickr.com/photos/kitcowan/2103850699/
Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Generic
http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en

4 Responses to “USB Tethering op Android en Ubuntu”

  1. on 29 Jun 2010 at 10:16Jan

    En voor de MAC is er ook PDAnet, via hun website kan men de MAC applicatie downloaden en installeren en in de Android market staat een PDAnet client voor de telefoon.

  2. on 29 Jun 2010 at 20:02Erik de Wild

    Beste Fabrice,

    Ik heb al enige tijd een HTC Hero na een periode een iPhone G2 gebruikt te hebben. Ook ik heb me afgevraagd of het mogelijk was om het flat fee umts account in te zetten voor internet connectie op mijn MacBook. De ervaringen met de HTC Hero waren wisselend maar het feest zit in de apps die beschikbaar zijn. Zo is het ook met tethering.

    PdaNet maakt het mogelijk om zonder ingewikkelde procedures via een usb kabel het Android toestel als internetmodem te gebruiken. Op het MacBook moet een PdaNetclient geinstalleerd worden en zonder enig probleem kan via het Android toestel toegang tot internet gevonden worden op de MacBook.

    Op een Apple computer wordt het nog mooier. Apple MACOSX heeft standaard de optie voor internetsharing. (System Preferences -> Internet & Network -> Sharing) Hiermee wordt de Apple computer een wifi access point en kan de beschikbare bandbreedte met iedereen met wifi toegang gedeeld worden. PdaNet kost een paar Euros maar is het echt waard.

    Vriendelijke groet,

    Erik de Wild

  3. on 30 Jun 2010 at 12:53Fabrice Mous

    @Erik

    Allereerst dank voor je reactie. Ik begrijp van allerlei Android-gebruikers dat vanaf Android 2.1 WiFi tethering mogelijk is en dat dit zelfs vanaf Android-versie 2.2 standaard is ingebouwd. Aangezien ik een wat ‘ouder beestje’ heb is dit voor mij een werkzame oplossing.

    Overigens kun je de telefoon ook ‘rooten’. Zelf hanteer ik de stelregel zoveel mogelijk ’stock’ te gebruiken.

    Fabrice

  4. on 30 Jun 2010 at 12:55Fabrice Mous

    @Jan

    Ook jij dank voor je reactie.

    Jammer dat PdaNET geen client levert voor Linux. Heb ook even naar EasyTethering gekeken, maar dat was niet echt ‘easy’. Dit was voor mij blijkbaar de beste oplossing.

    Overigens is het ook mogelijk via Bluetooth de modemfunctie van je telefoon te gebruiken op Linux.

    Fabrice

Fabrice Mous © 2010 All Rights Reserved | design.DavidGarlitz.com | Image Credits