How to make SBC/Ameritech DSL (PPPoE) work under Linux

by Karl Fogel

(With thanks to Matt Braithwaite <matt@braithwaite.net>, who lent his expertise for as long as it took.)

SBC's DSL is not just doing straight DHCP like grandma used to make. They're using PPPoE ("Point-to-Point Protocol over Ethernet"). This affects the authentication step, and it also means you'll have to run pppd and pppoe together to connect.

First, here's an overview of what SBC is expecting to happen:

The first time you connect using your new DSL, you're supposed to use their predefined, generic username/password:

username:   dslreguser@ameritech.net
password:   reguser

I think their Windows software has these built in, that's why you don't necessarily see them written down in any of the literature SBC sent you. This auth pair is intended to provide a slow "bootstrap" connection, which you use to visit http://registration.ameritech.net/cgi-bin/iaf/dslmilan. There, you'll sign up for a real username and password, which you'll use forever after.

Of course, you're not running Windows, you're running Linux. So you need to tell pppd to do CHAP authentication with the generic user/password pair above. As root, edit /etc/ppp/chap-secrets so it looks something like this:

# Secrets for authentication using CHAP
# client	server	secret			IP addresses
dslreguser@ameritech.net * reguser

You may also need to edit /etc/ppp/options, commenting out the "auth" directive and maybe adding "defaultroute":

# auth
defaultroute

You can probably leave the other stuff in that file as you found it.

Now, try to get a connection using the generic username/password, by issuing this command as root:

pppd pty 'pppoe -I eth0' user dslreguser@ameritech.net

If you have trouble, add the debug flag, as it will cause pppd to spew lots of useful stuff into /var/log/syslog or wherever your system logger writes:

pppd pty 'pppoe -I eth0' user dslreguser@ameritech.net debug

(You'll need the pppd and pppoe commands installed on your system. The former has been around for some time now, so whatever version you have is probably good enough. As for pppoe, when I run it with the -V flag, it tells me "Roaring Penguin PPPoE Version 1.0". This is a Debian system, so I'm pretty sure I just ran apt-get pppoe; but the Debian package page also pointed to the main dist source tarball, so you should be able to get it running no matter what kind of Linux system you have.)

Anyway, now that you have a connection, visit that registration page, http://registration.ameritech.net/cgi-bin/iaf/dslmilan, and use your order number (should be in the literature they sent you, but tech support will also give it to you over the phone) to register for a personal username and password. The username will be unusual in that it will look like an email address. Don't get thrown by that -- the whole thing is your username, whereas the part before the @-sign is your "MemberID", a concept that apparently means something in SBC's administrative records, but which is useless for your purposes.

NOTE: that generic username and password pair not only gives you a slow connection, but it will sometimes fail to authenticate at all. Don't panic -- just wait a bit and try again. I theorized to the tech support fellow (who was excellent, by the way) that maybe they purposely disallow quickly repeated connection requests from the same location, in order to prevent people from getting free Net access this way, and he thought that might be the case but wasn't sure.

Once you have your own username and password, add them to /etc/ppp/chap-secrets, for example:

# Secrets for authentication using CHAP
# client	server	secret			IP addresses
dslreguser@ameritech.net * reguser
kfogel001@ameritech.net * mypassword

Which allows me to connect reliably with this command:

pppd pty 'pppoe -I eth0' user kfogel001@ameritech.net

That's it. Please send comments or suggestions to kfogel@red-bean.com.


(Back to Karl Fogel's home page.)