Anyone know if the iPad can access PPPoE?

Discussion in 'iPad' started by jdylan, May 12, 2010.

  1. jdylan macrumors regular


    Dec 31, 2006
    Bagram, Afghanistan
    I'm in Afghanistan and the only internet provider on base requires PPPoE on all the laptops in order to access the internet. Might sound dumb, but I'm not a tech guy. I want to buy one to use over here, but will I be able to access the internet with it, or is it only wifi and sim card?

  2. slpdLoad macrumors 6502a


    Jun 10, 2009
    Only if somebody gets a jailbroken modem program working that works with the USB port on the camera connector kit, and Apple's external Ethernet adapter.

    Can you get a laptop online and then share the connection over WiFi?
  3. RaceTripper macrumors 68030

    May 29, 2007
    You could use an Airport (Express or Extreme) to connect to PPOE and create a wireless LAN for your iPad to connect to. You need a real computer to set it up initially.
  4. Battlestar macrumors 6502

    May 9, 2010
    You are going to have to connect through a 3rd party router anyways as their is no way to direct connect a client wireless only device to PPOE.
  5. jdylan thread starter macrumors regular


    Dec 31, 2006
    Bagram, Afghanistan
    Will Airport Express work without Ethernet?

    I have a MacBook Pro, can I use Airport to connect to only Pppoe? I thought it required an ethernet connection? We only get pppoe wifi here on Bagram. Thanks.
  6. Freedomepalin macrumors newbie

    May 19, 2010
    I think you're mistaken. PPPoE stands for Point-to-Point Protocol over Ethernet. I don't think you can have a wifi PPPoE. Do they use 802.11X?
  7. Googlyhead, Oct 6, 2010
    Last edited by a moderator: Nov 21, 2010

    Googlyhead macrumors 6502

    Apr 19, 2010
    Do you mean that wifi is already available - just use that?

    Otherwise; regardless of connection requirements, you're pretty much guaranteed to need one more bit of kit over the iPad itself just to convert a wired connection into a wifi one for the iPad to access.
    I was under the impression you could get standalone routers for pppoe anyway, so plug in a wifi one of these and go!

  8. NathanA macrumors 6502a

    Feb 9, 2008
    There is SO much misinformation in this thread regarding this subject that it's driving me nuts. :)

    PPPoE is PPP (Point-to-Point Protocol) encapsulated inside of Ethernet (the protocol, not the physical cable). WiFi is "wireless ethernet"; hence, 802.11 frames actually encapsulate Ethernet frames. That's why you can have a WiFi device and a cabled-ethernet device both on the same layer 2 broadcast domain, and have them talk directly to each other.

    PPPoE absolutely can be run directly over WiFi. I've done it myself. Heck, it is even possible to do a PPPoE connection directly over your AirPort card in Mac OS X; it is supported. This has ALSO been possible on PCs since Windows XP; if you create a PPPoE connection in XP, it doesn't discriminate against wireless vs. CAT5. There is absolutely nothing that states that a PPPoE tunnel can only be built on top of twisted-pair ethernet, and nothing that prevents providers from using PPPoE over WiFi instead of direct IP over Ethernet (with DHCP handling the auto-configuration).

    Providers do exist that run PPPoE on top of their wireless network. I work for one, in fact. It is a shame that iPhones, iPads, and iPod Touches do not natively support PPPoE over wireless themselves when their bigger brother, the personal computer (either in the form of a Windows box or an OS X box), have supported it for years now.

    I do not believe this can be done with any iDevice currently. I've even looked for a PPPoE stack that can be installed on jailbroken devices, and have not been able to find one yet. It would make my life 10X easier if such a thing existed.

    ...but the reason it can't be done with iDevices is because of a software limitation in iOS (no PPPoE stack), NOT because PPPoE over wireless is "not possible."

    -- Nathan
  9. melman101 macrumors 68030

    Sep 3, 2009
    So what I would do is connect your macbook pro via Ethernet to your PPPoE Internet provider. Then do Internet Connectiong Sharing with your MacBook over WiFi. Then you can connect your iPad to the Internet threw your Mac.

    Hope that helps!!!!

  10. PinkyMacGodess macrumors 601


    Mar 7, 2007
    Midwest America.
    It sounds like PPPoE wouldn't be very efficient over wi-fi. It depends on the packet size, but the overhead could become a factor. However, if that is all they offer then in order to dance you have to love 'Hungarian Polkas'...

    PPPoE is rather 'exotic' for us as I have only seen it, so far, in hooking up firewalls with a bridging DSL router. :apple:
  11. NathanA macrumors 6502a

    Feb 9, 2008
    You didn't read the OP's requirements. He said:

    ...which means he has no option to plug Ethernet in anywhere. His provider has no cabled internet service...they have APs that they require you to connect to with a WiFi device, and then run PPPoE over the WiFi directly.

    So, what he would *actually* have to do is something like this: connect the MacBook Pro's AirPort card to his internet provider, do PPPoE over the AirPort on the MacBook, share the WiFi PPPoE to the Ethernet port using internet connection sharing, then get an AirPort base station (like an AirPort Extreme), configure it to be in Bridge mode, plug the AirPort Extreme into the ethernet port on his MacBook, and then have the iPad connect to the AirPort Extreme.

    So the MacBook Pro would take care of connecting to the ISP via PPPoE over WiFi, share that to the ethernet port, and then the iPad would connect to the AirPort Extreme and get an IP from the MacBook's internet connection sharing.

    That's about the best solution you can hope to come up with for something like this, unless someone else manages to get PPPoE working on jailbroken iPads.

    The "overhead" of PPPoE is only 8 bytes per frame. From a logical perspective, WiFi ethernet frames are the same size as non-jumbo ethernet frames (1500 bytes after stripping off the ethernet frame header); thus, logical MTU is the same between both mediums (WiFi and twisted-pair ethernet). Although raw/physical 802.11 frames/MTUs are much larger than standard ethernet frames in order to accommodate all of the extra 802.11 fluff, once you unpack the encapsulated ethernet frame from it, it's the same.

    If people here are interested, I'd be happy to benchmark raw, unencapsulated IP running over wireless ethernet vs. IP-over-PPP-over-Ethernet-over-WiFi, between the same AP and the same client in both cases. I'm willing to wager you would see little-to-no measurable impact.

    -- Nathan

    EDIT: Gah! Even the Sony PSP supports PPPoE over WiFi! C'mon, Apple...
  12. melman101 macrumors 68030

    Sep 3, 2009
    My bad. Missed the part where he said pppoe wifi
  13. NathanA macrumors 6502a

    Feb 9, 2008
    Like I said earlier, I've been looking for a way to do PPPoE from an iDevice (even jailbroken) for a long time. Well, this thread finally got me pissed off enough about its absence as a feature that I'm going to try to do something about it. :)

    There is a userland PPPoE daemon that was originally written for Linux, called Roaring Penguin PPPoE, or RP-PPPoE. It also has limited *BSD support for BSD systems that have BPF (Berkeley Packet Filter) support. MacOS X does, so this seemed like a logical PPPoE client to try to port over. I wasn't able to find anybody who had actually managed to build and run RP-PPPoE on OS X, and I wasn't sure that, even if I could get it to build correctly, that the PPP daemon (pppd) that comes with OS X would support the options or parameter syntax that RP-PPPoE expects.

    Well, aside from one minor snag that I got around relatively quickly (hint: src/pppoe.h, line 78, add "static" to the beginning of the line to make it "static void ..."), I got RP-PPPoE to build successfully on Leopard 10.5.8. I was also shocked when I tried to establish a PPPoE connection using it, and it worked the first time! :eek:

    Over the next day or two, I'm going to see if I can build RP-PPPoE for iOS. I don't see why it wouldn't work on iOS if it does on desktop OS X, given that RP-PPPoE is a fairly simple application, that it appears /dev/bpf* exists on iOS, and that pppd already exists/comes with the OS (needed, I think, to establish connectivity over the 3G network to your cellular provider). The only question is how limited iOS's native pppd is. It would make sense to me that Apple would have largely left it alone from the Darwin/OS X pppd, but we'll see.

    I'll keep you apprised of my progress.

    -- Nathan

    EDIT: Well...I did it. Had to tweak just a couple more things, and copy over some needed header files that are apparently missing from the official iOS SDK, but the RP-PPPoE client cross-compiled for iOS successfully. I copied it over to my jailbroken iPhone and successfully brought up a PPPoE session. Huzzah! ...although it isn't perfect. It is, of course, command-line only right now (MobileTerminal). And there are a few bugs to work out. Sometimes it appears to not install the default route correctly, and at other times it doesn't configure DNS servers properly...the missing route can be created by hand, but I haven't figured out a fix for the DNS servers that doesn't involve a reboot yet. Finally, upload speeds are great (multi-megabit), but there is something severely wrong with downloads; it seems to peak out on average between 200-300kbps. But it's a start, and not bad for a couple hours-worth of work (mostly thanks to the engineering that Roaring Penguin put into their PPPoE client). Perhaps one day you all will see something usable in Cydia. However, I will probably post any further updates to at least a separate thread in a more appropriate area; I suspect I've pushed this particular thread rather far off-topic. ;)
  14. xxtoni macrumors newbie

    Sep 9, 2009
    I've been looking for PPPOE on iPhone for years, since the days of the first gen ipod touch (which I still have). The city I live in is covered by a wifi network, that requires PPPOE connections, since 3G isn't really expensive and I can get 30GB for $25 I would love a PPPOE connection. I'm considering buying a iPhone 4 anyway, but I'm still doubtful of the usefulness with 100-200MB of bandwidth/month (3G expensive as hell here). Nathan I would appreciate it if you would send me any progress you have made with this. (Hope this is allowed)
    my email is:

    Kind Regards
  15. jdylan thread starter macrumors regular


    Dec 31, 2006
    Bagram, Afghanistan

    Thanks for the work, Nathan! Sorry I haven't replied in so long, I'm in Afghanistan and then was on leave for a few get it.

    That sounds awesome that you created that app, have you put it on Cydia yet? I bought an iPhone 4 in Bangkok and have not jailbroke it yet, but if your app was available, I would do it. There are quite a few people over here with iPhones who are unable to access the PPPoE wifi on base, and your app would change everything over here. No more having to drag a laptop around.

    Let me know!

  16. NathanA macrumors 6502a

    Feb 9, 2008
    Hey guys,

    Thanks for your enthusiasm. :) Possibly against my better judgment, I've decided to release what I have working so far. Details follow.

    Unfortunately, not much progress has been made since my last post. I wrote to the author of RP-PPPoE ( | to see if he had any ideas why I was having problems with downstream performance, and he didn't really have any idea, and I haven't had much time to dedicate to trying to figure it out. It really does seem to be something Darwin/MacOS-specific causing this.

    However, it is still fully functional, if a bit cumbersome to use, and with all of the disclaimers previously set out (in addition to the download performance, sometimes it might connect but won't seem to be usable, either because the routing table got screwed up or because DNS servers didn't get properly updated). Someday, when I have gobs of free time available, I'll look into how to best work around all of those issues. Trust me: I want to have a usable PPPoE client on my iPhone / iPad as much as anybody. :)

    If you want to be a guinea pig, then please feel free, but understand that this is (currently) just a hobby, and if you find issues or have problems with it, I can't guarantee I will be able to respond to your issues. Also, there is no warranty, expressed or implied, and I can't be held responsible if your iDevice blows up as a result of installing or using this software, blah blah blah.

    You MUST have a jailbroken iPhone, iPad, or iPod Touch to use this. Jailbreaking your device is beyond the scope of this post, and I will assume that you have already successfully done this. I have tested it on an iPhone 3GS running iOS 3.1.3, an iPod Touch 1st-gen running iOS 3.1.3, and an iPhone 4 running iOS 4.1. I have not tested it on iPad, but I can't imagine that it wouldn't work.

    Also, there IS NO GUI for this (yet). You will have to set up your PPPoE connection, as well as initiate connects and disconnects, all from a UNIX shell. Thus, you will also need some sort of local terminal/console app. For iPhone and iPod Touch, you can install MobileTerminal from Cydia (if you are running iOS 4.x, though, the MobileTerminal that is on Saurik's Cydia repository is not compatible; read on to find out how to get one that will work). For iPad, I'm not sure if MobileTerminal will run, regardless of iOS version. What you can do instead is purchase an SSH app for the iPad from the App Store, make sure OpenSSH from Cydia is installed (an SSH server), and then use the SSH app to connect to '' (localhost). That will effectively give you the same result as a local terminal shell app. (iPhone/iPod touch users can do the same thing, if they don't like MobileTerminal.)

    To install:

    1) Launch Cydia.
    2) Go to the Manage page.
    3) Select Sources.
    4) Tap the Edit button (top-right corner).
    5) Hit the Add button (top-left corner).
    6) For the URL, enter:
    7) Hit "Add Source"
    8) Wait for it to finish and then Return to Cydia.
    9) Hit the Done button (top-right corner).
    10) Tap on the new "Nathan's Cydia APT Repository" item.
    11) Tap on RP-PPPoE.
    12) Hit the Install button (top-right corner).
    13) Confirm.
    14) Return to Cydia.

    If you don't have MobileTerminal and you want to install it at this point, then repeat steps 11-14 for the MobileTerminal I have listed under my Cydia's the version that has been updated to work on iOS 4.x (I'm just hosting a copy for the sake of convenience...details about this new MobileTerminal @

    To configure it:

    1) Launch MobileTerminal (or your SSH app of choice, connecting to
    2) You need to be the root user, so enter 'su' and hit Return.
    3) Enter in the root password (default is 'alpine' and YOU ARE HIGHLY ENCOURAGED TO CHANGE IT, but again that is beyond the scope of this post)
    4) Now type in 'pppoe-setup' and hit Return.
    5) At this point you will be prompted to answer a few questions:
    5a) PPPoE USER NAME: you should have been given this by your service provider.
    5b) INTERFACE: Type in 'en0' (no quotemarks, of course)
    5c) ON-DEMAND: no
    5d) DNS: Type in 'server' (yes, literally the word 'server')
    5e) PASSWORD: again, provided by your service provider. You will be asked to enter it in twice (it will not display what you are typing either time).
    5f) Accept these settings?: Type in a 'y' and hit Return.

    To use it:

    1) Make sure your wireless is enabled, and that you are connected to your service provider's network (their network should have a checkmark to the left of it on the iPhone's Wi-Fi Networks screen under the Settings app).
    2) You might want to turn off Cellular Data for good measure (just to make sure the OS picks the right default gateway to use).
    3) At this point, you will probably NOT see the little wireless "waves" in the iPhone's status bar (though it is equally possible that you might). Either way is OKAY. Don't worry.
    4) Launch MobileTerminal, or your SSH app to get to your local shell.
    5) Make yourself root again using 'su'.
    6) Type in 'pppoe-start' and hit Return.
    7) You should see a succession of one (or more) periods (.) plotted to the terminal as it tries to connect. Eventually, you should see "Connected!" print out.
    8) You can verify that you are connected and get the IP address you were assigned by your provider by using the 'pppoe-status' command.
    9) Exit MobileTerminal/SSH
    10) Try to do something on-line! (At this point you might STILL not see the wireless "waves" signal read-out on the status bar. This is normal.)

    To disconnect, follow the instructions above, except replace 'pppoe-start' with 'pppoe-stop'. Please note that if you don't go in and do a 'pppoe-stop', even if you turn off the wireless, Roaring Penguin PPPoE is going to repeatedly try to reconnect, over and over again! It will never be successful, but it will never stop trying. This will probably needlessly consume precious battery power and CPU cycles. This is actually a "feature": if you are in the middle of doing something on-line and the PPPoE connection drops for whatever reason, it will automatically reconnect for you as soon as it detects the dead connection (which should be within a few seconds of the drop).

    I hope y'all enjoy and that this proves useful to you, even in its current state of infancy.

    -- Nathan
  17. drwangxian macrumors newbie

    Nov 15, 2010
    Chengdu, China

    Thanks for your effort. This application fail to run on iPad with iOS 3.2.2. There is no problem with the configuration. However, Timeout always occurs when command pppoe-start is run.
  18. NathanA, Nov 21, 2010
    Last edited: Nov 21, 2010

    NathanA macrumors 6502a

    Feb 9, 2008
    Thanks for the feedback. Like I said, I have not tested it on the iPad, as I don't own one and don't have access to one that is jailbroken so that I can test it out. I do hope that sometime this week I will have the opportunity to try it out on an iPad, and once I do, I will let you know how it went.

    I really don't see how it could NOT work on the iPad, though, so I suspect something else is probably going on in your case. Do you happen to know the make and model of the PPP concentrator that you are trying to connect to? I notice that you are in China...what is the name of your internet provider? I wonder if they are running a proprietary/modified version of PPPoE that this client doesn't support. (There are some providers that do this. For example, Telstra BigPond in Australia seems to require specific support for their "version" of PPPoE in most routers for them to work properly.)

    Anyway, once I finally get access to a jailbroken iPad, I'll report my results here.

    -- Nathan

    EDIT: By the way, I just finished testing out my PPPoE package on an iPod touch 4G running 4.2.1 jailbroken with the latest redsn0w (0.9.6b3), and it still works.
  19. drwangxian macrumors newbie

    Nov 15, 2010
    Chengdu, China
    Thanks, Nathan. My PPPoE service is provided by my university. I do not know the equipment adopted by the university to provide this service.

    However, I can dial up to the PPPoE server on Windows XP/Vista/7 platforms by using the original configruation/parameters.

    By the way, some guy in an Apple product forum also developed a PPPoE dialing client for iPhone with iOS 4.0 and later. This client has a GUI and is claimed to run sucessfully on iPhone. However, after testing the client by myself and other users, we find that this client can not run on iPad with iOS 3.2.2.

    If you want to test that PPPoE dialing client, please
    (1) first add the source in Cydia,
    (2) and second search and install PPOoE.

    This is orginal webpage offer the client. It is composed in Chiese.
  20. emami.m macrumors newbie

    Feb 2, 2011
    Thanks Nathan for your help, but I have a problem with my ipod touch os4.1
    After step 4 an error occure like attachment.
    would you please help me by that.

    Attached Files:

  21. NathanA macrumors 6502a

    Feb 9, 2008
    Hmm...the 'basename' and 'id' binaries both belong to the 'coreutils' package. You could start by installing that, but if you are missing that, you are probably missing some of the other essential command-line utilities, and I don't know what all else the Roaring Penguin PPPoE scripts might be dependent upon.

    To fix your problem and cover all of your bases, go to Cydia, and install "BigBoss Recommended Tools." This includes coreutils and several others. I think this will fix your problem. After you install it, start at step 4 again.

    I will do some more careful testing and fix the dependencies in a future version. Thanks for making me aware of this problem!

    Good luck,

    -- Nathan
  22. NathanA macrumors 6502a

    Feb 9, 2008
    emami.m and drwangxian,

    I believe that I may have managed to fix both of your problems in a new version of my PPPoE package that I posed to my Cydia repository last night.

    I discovered that the shell scripts that come with RP-PPPoE depend on and make calls to binaries that are not normally installed on a jailbroken iOS device. I had them all installed on my own iPhone already because I use some of those binaries even outside of PPPoE support, so I never had any problems.

    The new package adds dependency checking for the coreutils, inetutils, and network-cmds packages. If you do not have them installed, then they will get added to the install list when you try to install RP-PPPoE.

    emami.m, this definitely fixes your problem, and I tested it on a freshly-restored iPod touch 2G running 4.1 that I did not install anything extra on except for PPPoE. I also later tried it on 4.2.1 under the same conditions, and it also worked there, too.

    drwangxian, I still have not been able to try this out on an iPad :-(, but I have a feeling that your problem is that you didn't have network-cmds installed. I discovered that if you don't have /sbin/ifconfig, you will always get "TIMEOUT!" even if the connection actually establishes. This new package will fix this as well by forcing network-cmds to be installed.

    Let me know if this doesn't fix your issues!

    -- Nathan
  23. emami.m, Feb 9, 2011
    Last edited: Feb 9, 2011

    emami.m macrumors newbie

    Feb 2, 2011
    Hi NathanA, I didn't see anyone insistent like you about members problem, and
    this is so respectful for me.
    Excuse me because of my delay in feedback you about your instruction.
    I couldn't find "BigBoss Recommended Tools" and "coreutils" in cydia but I found
    "bigboss_recommended_hacker_tools_1.2.deb" and "coreutils-bin_7.4-6_iphoneos-arm.deb" by searching sites.
    I installed both of them,nothing happened in appearance but my problem solved.
    As you said WiFi mark disappeared but I can use internet despite of an error like
    first attachment.
    when I want to stop my pppoe connection an error like second attachment and I
    should turn off my wifi and then run pppoe-stop command twice.

    Should I uninstall previous version
    Or it's not necessary?

    Thanks alot Again.

    Attached Files:

  24. emami.m, Feb 9, 2011
    Last edited: Feb 9, 2011

    emami.m macrumors newbie

    Feb 2, 2011
  25. NathanA macrumors 6502a

    Feb 9, 2008
    Several of the main Cydia repositories have been having trouble over the last few days. This might explain why you couldn't find them. I believe they have all been fixed by now, so you might try to refresh Cydia and see if they show up for you now.

    Good idea. :)

    However, the BigBoss Hacker Tools doesn't actually contain anything. It's actually an empty package that just has a bunch of dependencies. It's supposed to be an easy way of installing coreutils and a bunch of other packages, rather than having to hunt them down separately.

    So if you install BigBoss Hacker Tools manually using the deb file with dpkg, it actually does nothing. It only "works" if you install it with Cydia directly, or with apt-get or aptitude.

    coreutils, on the other hand, can be installed manually with dpkg, and this is why your first problem is now fixed.

    Yeah, that's because it turns out that you need more than just coreutils. I mentioned in my last reply that you actually need coreutils, inetutils, and network-cmds. Installing coreutils fixed the first problem you had. If you install the other two, you won't see "TIMEOUT" when it successfully connects.

    It's not necessary to uninstall. Just let Cydia update RP-PPPoE for you.

    (Nothing actually changed in RP-PPPoE itself in the update. The update is just an update to the .deb package, that adds dependencies for coreutils, inetutils, and network-cmds. If you don't have those installed, and you install the update, then Cydia will download and install those three packages for you automatically.)

    Hope this helps,

    -- Nathan

Share This Page