How to connect your Dreamcast on your PC to use Linux PPP connection

You’re reading a tutorial located at Kinox – The Emu Scene Dump, one of the most reliable sources for news about the scene (pay us a visit, you won’t regret!). This is a tutorial on configuring Linux so your Dreamcast can use the connection to play games. All rights reserved to MichaelG, its author. The following information is provided as-is.  I take no responsibility for any damage you may cause to your PC or DREAMCAST console.  Also, please do not e-mail me with questions on how to set things up.  This page is provided for those who have a basic knowledge of Linux and its ability to do IP Forwarding and Masquerading.  It is ASSUMED that you are currently using Linux to connect multiple PCs to the Internet already. ALL INFORMATION BELOW IS BASED ON SLACKWARE with Linux Kernel 2.0.38, PPPD-2.3.10 and USR56K External Modem

Setting up a Linux PPP Server

After a week of playing around, I finally found the combination of what works and what is needed to properly set up Linux to act as a dial-up PPP server and allow my DREAMCAST console to access it.  What led me to actually work on this project was my desire to utilize my current method of Internet access (CableModem) because I just didn’t feel like tying up my phone line every time I wanted to use my DC on the Internet.  I know there are a lot of users out there who have high-speed internet access such as CableModem or DSL, and a lot of us would love to have a Broadband (Ethernet) Adapter for the DC.  This solution does not solve the high-speed access we want, but it does provide a solution to allowing us to utilize the cable modem/DSL access we already have.  This is even perfect for those of us who have multiple PCs accessing the Internet via Linux’s wonderful ability to do IP Forwarding/Masquerading.  If anyone else besides me finds this info useful, then my job was done.

PLEASE, before you do anything, READ THE ENTIRE DOCUMENT FIRST!!!

If you’re interested, my current setup looks like this:

The information I gathered came from a variety of sources.  I suggest you check out some of those web pages provided below.  They have proven invaluable to me in my quest.  Also, some of those pages will explain things in more detail than what I am willing to do here.

Perhaps the most comprehensive page on getting Linux set up as a PPP Server.
Gentry Information Distribution

A nice page on getting Linux set up to allow Winblows machines to dial into your Linux PPP Server.
Linux, mgetty & AutoPPP.

A nice page on getting Linux set up as a PPP Server for your own ISP service.
Start your own ISP

The above links have proven invaluable to me.  Please check them all out.  It will give you detailed information on setting Linux up as a PPP Server.  I will not provide information on how to set up Linux as a PPP Server, I will provide you with the addendums that need to be done to make your DC work with Linux.

Improving Performance

What led me to do this?? Well, I was tired of tying up my phone line every time I wanted to access the Internet with my DC.  I thought it was wasteful.  I figured, If I could use my Linux box as a PPP server, then I can take full advantage of the fact I can have unlimited time on the Internet with my DC without tying up that phone line.  Believe it or not folks, you can hook up two modems back-to-back by plugging in the phone line cord in both the phone jack ports on the modem (not the phone line).  By doing this, you can bypass the need for a Telephone company.  In addition, I wanted to take advantage of several features of Linux that would improve performance.

First, I use my Linux box as an HTTP Cache Proxy.  What this allows me to do is store some web page information on my Linux hard drive that would allow me to access that same information repeatedly without having to retrieve it from the website.  This works particularly well with websites that have the same graphics daily.  For example, If I access a website with a background picture, Linux stores a copy of that picture on it’s hard-drive.  The next time I access that same web page, Linux will compare the two images, if they are the same, then Linux will forward the locally stored copy to the Dreamcast rather than having the Dreamcast pull that image from the website.  This reduces overall transmission time.

The next thing I do is DNS Caching.  I use my Linux box as a DNS Server.  Linux also stores all the information on DNS queries localy.  Every time I access a website, Linux looks localy for the DNS query, if it’s in the cache, it speeds lookups considerably because I no longer have to request that DNS from my ISP.

The two programs I use are SQUID for HTTP Caching and I use Linux’s internal ability to do DNS query/caching.

Information on SQUID can be found at  Squid Web Proxy Cache.

Information on setting up Linux’s ability to DNS caching can be found at DNS HOWTO on www.linux.org.

If you are interested in performing the above features, then you should absolutely visit the above links.  I will not provide information on how to set it up.