I've been trying to learn about networking, network maintenance, network administration, stuff of that nature (I want to be a network engineer when I get out of university after I get out of high school) and I want to set up my older PC (running Slackware) as a modem, as a project to help me learn. I want to know what kind of hardware I'll need. Pretty much all I know is that my current modem uses ADSL2+ and PPPoA, which I think is a software thing anyway.

How can I accomplish this?

  • 1
    I really don't think this is a sensible thing to do at all. I would strongly suggest considering turning it into a router and using an external ADSL modem. – David Schwartz Nov 1 '12 at 9:48

From the comments I understand you are not interested in doing the really low level stuff like implementing an ADSL modulator/demodulator. Which is really difficult anyway.

Seems you want your Linux box to act as a fully fledged router. The problem with most "modems" these days is that they do much more, like NAT, DHCP, routing, WiFi, etc. However, you can bypass this on some models by setting it into bridged mode. This will cause all bits that come in on the ADSL line to be forwarded to the ethernet port unaltered. This is the setup I have.

You will have to connect to your provider's backend directly; in your case you need to setup a PPPoA client on your box to connect to your provider (otherwise you won't have internet at all). You will also need a second ethernet card for your internal network. Then you need to turn on NAT for this internet network, set up a local DHCP server, etc. etc. There are a lot of things to set up/install/configure before it is all working. However, you can tweak this router exactly to your specifications.

Note: settings your modem into bridged mode differs from model to model, if possible at all. You have to consult the manual or log into the modem and review the settings.


well, yes and no.

I think a good way to explain this is through the 4 level protocol model. We have the application layer, the transport layer, the network layer and the link layer.

Each layer can be swapped out for another one - in this case, your Application would be (for example) HTTP, transported over TCP, over an IP network, over a physical link which in turn communicates using ADSL2+ and PPP over ADSL (into which IP is encapsulated).

The software layers can be done quite easily, the hardware layers less so

The physical link would have to be electrically compatible with your network and so on. To turn your pc into a modem, you'd need to.. well build a modem that 'talked' ADSL 2+ and be compatible with the current network(so be compliant with that standard. And... lets just say your phone company will be less than thrilled, especially if you accidentally introduce a lot of noise into the network or worse).It would probably be easier to buy a modem, rather than source all the parts, build all the boards and code the firmware for the modem.

You could however use your PC as a router as suggested in the comments to your question.

  • i assumed i could buy a pci type card that would provide the hardware interface, i just didn't know what i was looking for. – Robbie Mckennie Nov 1 '12 at 11:45
  • ahh, that would still be a modem, only internal. I've not seen an internal modem since the 56K days though. – Journeyman Geek Nov 1 '12 at 11:46
  • it would be a modem, but it would be very low level, leaving all the dhcp and routing stuff up to me. – Robbie Mckennie Nov 1 '12 at 11:51
  • Ya, you're talking about the router. How about you edit the question to reflect that? Your question makes it sound like you wanted to use a PC as a standalone modem – Journeyman Geek Nov 1 '12 at 12:54
  • but that's not what i want to know, i know how i can set up routing. i don't know how i can set up modem'ing – Robbie Mckennie Nov 1 '12 at 21:50

Might be easier to go the other way and turn your "modem box" into a very small "server": see if you can flash DD-WRT, Open-WRT or Tomato on your current DSL modem.

You'll be a bit resource constrained but defintely have Linux on the box, the DSL interface "right there", and have most if not all the networking flexibility offered by it, including iptables, brctl, the ability to run things like tshark and stuff on the router, and whatever else you can find packages for or compile for it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.