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 (
http://www.roaringpenguin.com/products/pppoe |
http://lists.roaringpenguin.com/pipermail/rp-pppoe/2010q4/000199.html) 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 '127.0.0.1' (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:
http://www.nconx.com/cydia
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 repository...it'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 @
http://code.google.com/p/mobileterminal/issues/detail?id=172#c61).
To configure it:
1) Launch MobileTerminal (or your SSH app of choice, connecting to 127.0.0.1)
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