Monday, August 4, 2008

Connecting a Dreamcast to the Internet

All Dreamcasts came with a dialup modem.  There was an ethernet adaptor for it but only a few were sold before Sega pulled the plug on the Dreamcast.  So, what I wanted to do was get it connected to the internet without pulling up a giant phone bill (and possibly internet fees).  You could get one of those prepaid dialup cards you can get from your local convenience store, but most people (me included) already have a broadband connection at home.

My plan was to connect it to another dialup modem with nothing more than a phone cable between the 2.  This did not work at all.  The modems are expecting some kind of phone line with some current flowing through it.  What I did would be similar to connecting 2 handsets together with some phone wire.  You can talk as loud as you want, but nothing is going to come out of the other phone's speaker.

What I need is some kind of line simulator that will fool the modem(s) into thinking that it's actually connected to a phone line.  I found this after some searching http://www.jagshouse.com/modem.html.  After obtaining the parts and assembling it together:



It did not quite work out.  Same as before, nothing. NO CARRIER.  Turns out I needed to do a bit of tweaking with the resistor.  The value stated in the article may have worked for some modems, but for my specific one, I had to wire 2 of the 390 ohm resistors in parallel just to get a 8mA current... the articles I read say that the phone company provides 30mA ... and 25mA would have been enough.  but after that, it worked.  I will do a little more adjusting of the resistor if needed later on.


I used a digital multimeter to check the current flowing through the circiuit so you see the leads I used still in the picture.
I had to run minicom (a comm program) to type "ATA" to tell the modem to answer.  After that I quickly exit without hanging up and at the command line type:

pppd /dev/ttyS0 115200 crtscts 10.0.1.201:10.0.1.225 proxyarp passive

After that.. a peek at /var/log/messages reveals connection successful.  And I can ping the dreamcast's IP.  Another machine on the lan can ping it as well (that's what proxyarp means).  I will be automating this later on... but for now I'll leave it a manual process just to get it running.

Success: