Troubleshooting a Linux Internet Connection
Linux internet connections ALMOST NEVER fail because of the operating system (unlike Windows-9x connections). Problems are almost always due to
  • Incompatible hardware -- you'll usually find this out when you query the modem
  • Telephone company line noise (this includes inside wiring)
  • POP problems
  • Upstream provider problems
  • DNS server problems
  • The 3rd item is the internet provider's responsibility, whereas the 4th is a responsibility of the backbone networks (UUNET, etc), and the 5th problem may be either the ISP's or the backbone network's responsibility.


    Assuming you have a connection that often or usually works, you can forget about the first issue. The second issue can be tracked down by opening a log file when you connect. If you see gibberish on the screen, you've got a line noise issue. Another way to track down line noise is to, instead of using PAP, use terminal-based authentication. (You'll have to retype your username and password to log in). Another way to track down line noise is to plug in a phone on the line (if necessary on the phone port of the modem) while you are DISCONNECTED, and LISTEN. The line noise may be obvious. Line noise can be the result of noise emitted by extension phones on the same line OR may be the fault of the telephone company. Rule out your own issues by unplugging all extension phones on the computer's line (and see if the problem goes away) before calling the phone company. If you know how to inspect inside phone wiring, do that also before calling the phone company.

    If browsing seems to be slow, first test to see if there's data transfer, because some pages won't show at all until the server has responded OR until the ENTIRE page is loaded. To test data transfer, click on the taskbar icon of your connection and then click Details. It will open another window which graphically tracks the data transfer rate. If you're getting decent data transfer but no page, rest assured that the provider is not the source of the problem -- it's a normal issue arising from either a server's need to respond to a client request (typical when one submits a request) OR a page needs to COMPLETELY load before it shows. (For example Netscape won't display a table until the 'end-table' command has been received to be parsed by the browser.)

    If you're getting very slow data transfer from a number of sites, you're faced with the issue of phone line noise vs POP vs DNS. Very often the internet backbone becomes overloaded, but sometimes the bottleneck occurs within the internet provider's own network. Try another provider (I recommend all serious dialup users have 2 accounts). If you consistently notice a problem limited to one provider, switch providers. But also note that in most major metropolitan areas, you can get in to the same provider by more than one phone number. Try an alternate access number. The problem may be limited to one access number. I would not switch providers if you can get in by an alternate access number, as long as I could find two that work consistently.

    Last but not least, the problem may be the DNS servers. Windows users MAY automatically be assigned another one by the ISP, but if you're using Linux, I'd suggest telnetting some high-level DNS servers to track down the nature of your problem.

    If multiple providers and DNS servers do not resolve the problem, you need to reinvestigate line issues, especially if you know someone else is connecting just fine to the same number on a different line. I've personally TWICE had devilish data transfer issues that turned out to be a noisy extension phone. Also, NEVER put an internet connection BEHIND a fax controller. Split the line AHEAD of the controller and plug the modem directly into the splitter. The lines coming out of the fax controller are only good enough for 14.4 connections.

    If you want to rule out Linux as ther problem, DO NOT reboot the machine (it rarely solves anything in Linux) unless you're really at your wit's end and have nothing left to try. Rather just shut down and restart X. (Ctl-Alt-Backspace shuts down X).