{"id":523262,"date":"2010-04-11T13:55:48","date_gmt":"2010-04-11T17:55:48","guid":{"rendered":"http:\/\/techie-buzz.com\/?p=22838"},"modified":"2010-04-27T10:05:48","modified_gmt":"2010-04-27T14:05:48","slug":"getting-iphone-internet-tethering-working-in-linux","status":"publish","type":"post","link":"https:\/\/mereja.media\/index\/523262","title":{"rendered":"Getting iPhone Internet Tethering Working in Linux"},"content":{"rendered":"<p>I&#8217;ve owned couple of mobile phones now, all in increasing number of features. But the one thing that remained common amongst all of them, was the ability to use a tethered Internet connection in both Windows and Linux. Until I got the iPhone, that is. With the iPhone, I could no longer use the iPhone as a modem in Linux. Not anymore.<\/p>\n<p>I was recently researching about claims that Ubuntu could sync with the iPhone, even the non-jailbroken ones. I was a little skeptical about this. What I found was <a href=\"http:\/\/www.libimobiledevice.org\/\">libimobiledevice<\/a>, and the iPhone Ethernet driver for Linux. I&#8217;ll write on libimobiledevice at a later day.<\/p>\n<p>Let&#8217;s have a look at the<a href=\"http:\/\/giagio.com\/wiki\/moin.cgi\/iPhoneEthernetDriver\"> USB Ethernet driver<\/a>: The iPhone USB Ethernet driver was written by <a href=\"http:\/\/giagio.com\" >Diego Giagio<\/a>, and is a kernel driver which adds support for iPhone tethering through USB cables. Like libimobiledevice, the driver doesn&#8217;t require you to jailbreak your iPhone, so bonus marks here.<\/p>\n<p>Let&#8217;s start on how we can achieve this. This post is written from a Ubuntu\/Debian system perspective, if you&#8217;re using some other distribution, the steps should remain same, with the exception of getting the packages via your favourite package manager.<\/p>\n<p>First: Get the source from Diego&#8217;s git repository. If you don&#8217;t have git installed, open the terminal and type:<\/p>\n<p><code>sudo apt-get install git-core<\/code><\/p>\n<p>Once git is installed,  get the source for the drivers<\/p>\n<p><code>git clone git:\/\/github.com\/dgiagio\/ipheth.git<\/code><\/p>\n<p>The output should be something like<\/p>\n<blockquote>\n<p>sathya@shaman:~$ git clone git:\/\/github.com\/dgiagio\/ipheth.git<br \/>\nInitialized empty Git repository in \/home\/shaman\/ipheth\/.git\/<br \/>\nremote: Counting objects: 10, done.<br \/>\nremote: Compressing objects: 100% (9\/9), done.<br \/>\nremote: Total 10 (delta 0), reused 0 (delta 0)<br \/>\nReceiving objects: 100% (10\/10), 8.11 KiB, done.<br \/>\nsathya@shaman:~$<\/p>\n<\/blockquote>\n<p>Now, compile the pairing program.<\/p>\n<p><code>cd ipheth\/ipheth-pair<\/code><\/p>\n<p><code>make<\/code><\/p>\n<p>You should get an output like:<\/p>\n<blockquote>\n<p>sathya@shaman:~\/ipheth\/ipheth-pair$ make<br \/>\ngcc -Wall -O2 ipheth-pair.c -o ipheth-pair -liphone<\/p>\n<\/blockquote>\n<p>Next, type:<\/p>\n<p><code>sudo make install<\/code><\/p>\n<p>You should get an output like:<\/p>\n<blockquote>\n<p>sathya@shaman:~\/ipheth\/ipheth-pair$ sudo make install<br \/>\ninstall -m 0755 ipheth-pair \/lib\/udev\/<br \/>\ninstall -m 0644 90-iphone-tether.rules \/etc\/udev\/rules.d<br \/>\n\/sbin\/udevadm control &#8211;reload-rules<br \/>\nsathya@shaman:~\/ipheth\/ipheth-pair$<\/p>\n<\/blockquote>\n<p>Compile the Kernel driver:<\/p>\n<p><code>cd ipheth\/ipheth-driver<\/code><\/p>\n<p><code>make<\/code><\/p>\n<p>You should get an output like:<\/p>\n<blockquote>\n<p>sathya@shaman:~$ cd ipheth\/ipheth-driver<br \/>\nsathya@shaman:~\/ipheth\/ipheth-driver$ make<br \/>\nmake -C \/lib\/modules\/2.6.28-15-generic\/build M=\/home\/sathya\/ipheth\/ipheth-driver modules<br \/>\nmake[1]: Entering directory `\/usr\/src\/linux-headers-2.6.28-15-generic&#8217;<br \/>\nCC [M]  \/home\/sathya\/ipheth\/ipheth-driver\/ipheth.o<br \/>\nBuilding modules, stage 2.<br \/>\nMODPOST 1 modules<br \/>\nCC      \/home\/sathya\/ipheth\/ipheth-driver\/ipheth.mod.o<br \/>\nLD [M]  \/home\/sathya\/ipheth\/ipheth-driver\/ipheth.ko<br \/>\nmake[1]: Leaving directory `\/usr\/src\/linux-headers-2.6.28-15-generic&#8217;<br \/>\nsathya@shaman:~\/ipheth\/ipheth-driver$<\/p>\n<\/blockquote>\n<p>The kernel module is ready. Now load the module.<\/p>\n<p><code>sudo insmod ipheth.ko<\/code><\/p>\n<p>We&#8217;re all set to try the new driver out. Now connect the iPhone. The iPhone should get detected, as shown in the picture.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"iPhone Connected\" src=\"http:\/\/cache.techie-buzz.com\/images\/sathya\/iPhone-connected.jpg\" alt=\"\" width=\"691\" height=\"432\" \/><\/p>\n<p>To confirm that the USB Ethernet driver is in use, open the terminal and type<\/p>\n<p><code>dmesg | grep iPhone<\/code><\/p>\n<p>You should get an output like:<\/p>\n<blockquote>\n<p>sathya@shaman:~\/ipheth\/ipheth-driver$ dmesg | grep iPhone<br \/>\n[22871.808469] ipheth 2-2:4.2: Apple iPhone USB Ethernet device attached<\/p>\n<\/blockquote>\n<p style=\"text-align: center;\">Yay! That means the USB Ethernet driver is ready. Lets switch on Tethering on the iPhone.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/cache.techie-buzz.com\/images\/sathya\/iphone-tethering-on.png\" alt=\"Switch on iPhone tethering\" width=\"320\" height=\"480\" \/><\/p>\n<p>Lets see what happens. Prior to installing the driver, I would get no notification and nothing would happen. Not now.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/cache.techie-buzz.com\/images\/sathya\/iPhone-tethering.jpg\" alt=\"\" width=\"691\" height=\"432\" \/><\/p>\n<p>To confirm that we have indeed connected using iPhone let&#8217;s have a look at Network Manager connections:<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"iPhone tethering done\" src=\"http:\/\/cache.techie-buzz.com\/images\/sathya\/iphone-tethering-done.jpg\" alt=\"iPhone tethering done\" width=\"691\" height=\"432\" \/><\/p>\n<p>And there you go, iPhone tethering on Linux!<\/p>\n<p>Notes:<br \/>\n1:  You _need_ to have tethering working. From what I know, tethering is not officially allowed under AT&amp;T&#8217;s  plan,  so I don&#8217;t think this method will work.<br \/>\n2:  I was unable to compile the pairing program. I&#8217;m not sure why the compilation failed. Despite this, the Kernel driver works work. I assume that the pairing program is required if you need Bluetooth tethering.<br \/>\n3: I tested this on my iPhone 3G running on iPhone OS 3.1.2. Although mine is a jailbroken iPhone, the author mentions that jailbreaking is not required.<\/p>\n<div style=\"font-size:12px\">\n<strong>Share:<\/strong><br \/>\n<a href=\"http:\/\/techie-buzz.com\/linux-tips\/getting-iphone-internet-tethering-working-in-linux.html#commentrespond\" rel=\"bookmark\" >Comment on This Post<\/a> |<br \/>\n<a href=\"http:\/\/twitter.com\/home?source=techiebuzz&#038;status=Getting%20iPhone%20Internet%20Tethering%20Working%20in%20Linux%20http%3A%2F%2Fbit.ly%2FdiRWu7%20via%20@techiebuzzer\" rel=\"bookmark\" >Tweet This<\/a> |<br \/>\n<a href=\"http:\/\/www.facebook.com\/sharer.php?u=http:\/\/techie-buzz.com\/linux-tips\/getting-iphone-internet-tethering-working-in-linux.html\" rel=\"bookmark\" >Share on Facebook<\/a> |<br \/>\n<a href=\"http:\/\/del.icio.us\/post?url=http:\/\/techie-buzz.com\/linux-tips\/getting-iphone-internet-tethering-working-in-linux.html&#038;title=Getting%20iPhone%20Internet%20Tethering%20Working%20in%20Linux\" rel=\"bookmark\" >Save to Delicious<\/a> |<br \/>\n<a href=\"http:\/\/www.stumbleupon.com\/submit?url=http:\/\/techie-buzz.com\/linux-tips\/getting-iphone-internet-tethering-working-in-linux.html\" rel=\"bookmark\" >Stumble This<\/a> |<br \/>\n<a href=\"http:\/\/digg.com\/submit?phase=2&#038;url=http:\/\/techie-buzz.com\/linux-tips\/getting-iphone-internet-tethering-working-in-linux.html&#038;title=Getting%20iPhone%20Internet%20Tethering%20Working%20in%20Linux\" rel=\"bookmark\" >Digg This<\/a> |<br \/>\n<a href=\"http:\/\/www.reddit.com\/submit?url=http:\/\/techie-buzz.com\/linux-tips\/getting-iphone-internet-tethering-working-in-linux.html&#038;title=Getting%20iPhone%20Internet%20Tethering%20Working%20in%20Linux\" rel=\"bookmark\" >Reddit This<\/a>\n<\/div>\n<p><\/p>\n<div><strong style=\"font-size:11px;\">TAGS:<\/strong> <span style=\"text-transform:uppercase;font-size:11px;\"><a href=\"http:\/\/techie-buzz.com\/tag\/internet-tethering\" rel=\"tag\">internet tethering<\/a>, <a href=\"http:\/\/techie-buzz.com\/tag\/iphone\" rel=\"tag\">iPhone<\/a>, <a href=\"http:\/\/techie-buzz.com\/tag\/tethering\" rel=\"tag\">tethering<\/a><\/span><br \/>\n<\/small><\/div>\n<div>\n<br \/>\n<font size=\"4\"><strong>Announcement:<\/strong> Missing Mobile News in the Main RSS Feed? We have decided to remove the mobile content from the main feed, please subscribe to our dedicated <a href=\"http:\/\/go.techie-buzz.com\/mobilerssanch\" >Mobile News RSS Feed<\/a> at <a href=\"http:\/\/go.techie-buzz.com\/mobilerss\" >http:\/\/feeds.techie-buzz.com\/techiemobile<\/a>. Thank you for your understanding.<\/font><\/p>\n<\/div>\n<div style=\"background:#E1E1E1; border: dotted 1px; padding:5px; margin-top:5px;font-size:11px\">\n<a href=\"http:\/\/techie-buzz.com\/linux-tips\/getting-iphone-internet-tethering-working-in-linux.html\" title=\"Getting iPhone Internet Tethering Working in Linux\">Getting iPhone Internet Tethering Working in Linux<\/a> originally appeared on <a href=\"http:\/\/techie-buzz.com\" title=\"Techie Buzz\">Techie Buzz<\/a> written by Sathya Bhat on Sunday 11th April 2010 01:55:48 PM. Please read the <a href=\"http:\/\/techie-buzz.com\/terms-of-use\">Terms of Use<\/a> for fair usage guidance. <\/div>\n<p><\/p>\n<h2>Don&#8217;t miss these Related Posts:<\/h2>\n<ul>\n<li><a href=\"http:\/\/techie-buzz.com\/linux-tips\/change-mac-address-linux.html??rel=rss_related&#038;utm_source=self&#038;utm_medium=web&#038;utm_campaign=rss_related\" rel=\"bookmark\" >How to Change MAC Address in Linux?<\/a><\/li>\n<li><a href=\"http:\/\/techie-buzz.com\/daily-linux\/linux-kenel-2-6-31-rc-release.html??rel=rss_related&#038;utm_source=self&#038;utm_medium=web&#038;utm_campaign=rss_related\" rel=\"bookmark\" >Linux Kernel 2.6.31 RC Released<\/a><\/li>\n<li><a href=\"http:\/\/techie-buzz.com\/linux-tips\/how-to-lift-ubuntu-linux-ram-limit.html??rel=rss_related&#038;utm_source=self&#038;utm_medium=web&#038;utm_campaign=rss_related\" rel=\"bookmark\" >How to Lift Ubuntu Linux Ram Limit<\/a><\/li>\n<li><a href=\"http:\/\/techie-buzz.com\/linux-news\/nouveau-drm-driver-linux-kernel.html??rel=rss_related&#038;utm_source=self&#038;utm_medium=web&#038;utm_campaign=rss_related\" rel=\"bookmark\" >Nouveau DRM driver makes its way into Linux Kernel<\/a><\/li>\n<\/ul>\n<h2>Join Techie Buzz on Your Favorite Social Networking Sites<\/h2>\n<ul>\n<li><a href=\"http:\/\/go.techie-buzz.com\/facebookfanrss\" title=\"Become a Techie Buzz fan on Facebook\">Become a Techie Buzz fan on Facebook<\/a><\/li>\n<li><a href=\"http:\/\/go.techie-buzz.com\/twitterrss\" title=\"Follow Techie Buzz on Twitter\">Follow Techie Buzz on Twitter<\/a><\/li>\n<\/ul>\n<p><a href=\"http:\/\/feedads.g.doubleclick.net\/~a\/m43nTdm8fk39mg0Xcz-exKyqH1U\/0\/da\"><img decoding=\"async\" src=\"http:\/\/feedads.g.doubleclick.net\/~a\/m43nTdm8fk39mg0Xcz-exKyqH1U\/0\/di\" border=\"0\" ismap=\"true\"><\/img><\/a><br \/>\n<a href=\"http:\/\/feedads.g.doubleclick.net\/~a\/m43nTdm8fk39mg0Xcz-exKyqH1U\/1\/da\"><img decoding=\"async\" src=\"http:\/\/feedads.g.doubleclick.net\/~a\/m43nTdm8fk39mg0Xcz-exKyqH1U\/1\/di\" border=\"0\" ismap=\"true\"><\/img><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/feeds.feedburner.com\/~r\/techiebuzz\/~4\/Byd0qC2lJYk\" height=\"1\" width=\"1\"\/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve owned couple of mobile phones now, all in increasing number of features. But the one thing that remained common amongst all of them, was the ability to use a tethered Internet connection in both Windows and Linux. Until I got the iPhone, that is. With the iPhone, I could no longer use the iPhone [&hellip;]<\/p>\n","protected":false},"author":3094,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-523262","post","type-post","status-publish","format-standard","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/mereja.media\/index\/wp-json\/wp\/v2\/posts\/523262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mereja.media\/index\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mereja.media\/index\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mereja.media\/index\/wp-json\/wp\/v2\/users\/3094"}],"replies":[{"embeddable":true,"href":"https:\/\/mereja.media\/index\/wp-json\/wp\/v2\/comments?post=523262"}],"version-history":[{"count":0,"href":"https:\/\/mereja.media\/index\/wp-json\/wp\/v2\/posts\/523262\/revisions"}],"wp:attachment":[{"href":"https:\/\/mereja.media\/index\/wp-json\/wp\/v2\/media?parent=523262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mereja.media\/index\/wp-json\/wp\/v2\/categories?post=523262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mereja.media\/index\/wp-json\/wp\/v2\/tags?post=523262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}