HOWTO: Internet access

I originally designed Puppy to access the Internet by conventional modem dialup to an ISP (Internet Service Provider). I now have a satellite broadband account (direct connection to a satellite via a dish on the roof). Broadband is of course very popular, but many people are still on dialup, either because they live where broadband is not available, broadband is too expensive, or they simply choose to remain with dialup. This page is broken into two halves, the top-half dealing with dialup.

Dialup by analog modem

Traditionally, Linux only really worked with what we call "hardware" serial modems -- whereas most modems these days are what is called "soft" modems and most of them only work with Microsoft Windows. If your PC has an internal modem, or a external modem attached via a USB cable, it is most likely a soft-modem.
Please note that I am describing analog modems here, for dialing-up an ISP (Internet Service Provider) -- these are different from ADSL and cable modems that are used for broadband Internet access.
What is a soft-modem? Basically, it is a cheaper modem that does less processing within itself and makes the CPU do some of the processing work. This means that it places an ovehead on the CPU, that you won't notice with modern fast CPUs, but it is a factor for old PCs. My personal experience also is that hardware modems tend to have higher transfer speed even with modern PCs.
The real down-side of a soft-modem however, is that to make the CPU do some of the processing work requires a special driver for that particular modem, and most manufacturers have only bothered to write drivers for Windows. However, some manufacturers have become more "Linux aware" and also some Linux enthusiasts have developed drivers.

Be warned, if you have a soft modem, it probably won't work with Puppy. Puppy-enthusiast 'ezeze5000' (forum name) sent me half-a-dozen old PCI soft-modem cards to test and I got one to work -- so that is about the ratio!

Note, if a soft-modem does work in Linux, there is a jargon name used for it -- it is called a "linmodem".

How to dialup

Puppy version 2.17 has introduced a whole new ball-game for dialup. In a nutshell, Puppy will auto-detect your analog modem, and if it is a supported type then everything will be automatially setup and you will be ready to connect. For serial modems this is straightforward, however Puppy now supports many soft-modems. If it's supported, it will most likely be autodetected.

Note: autodetection and auto-setup of some modems is a work-in-progress, and there is some on-going discussion on this topic in the Puppy forum.

Warning: make sure your modem is plugged in and turned on when you boot Puppy, as Puppy autodetects at bootup only. This only has to happen once and on subsequent boots the modem does not have to be turned on at bootup -- only just before you want to use it.

To dialup, all you have to do is click the 'connect' icon on the desktop. This will bring up the "Internet Connection Wizard" in which you will see a a button labelled "Connect to Internet by dialup analog modem" -- just click that and you're in business -- a program I developed called PupDial runs, and it will tell you whether or not your modem is detected.

Note, in the Internet Connection Wizard you will see some radio-buttons at the bottom. These enable you to configure the desktop 'connect' icon to immediately launch PupDial, not the Wizard -- one less click to get online!

Note, you can also run PupDial from the "Network" menu.

One thing though, although Puppy can autodetect many modems and automatically set things up so that the modem is ready to go, in some cases you may have to do some extra tweaking. For example, Puppy detects your modem, but it won't dialout -- you do some research and find that the modem "initialisation string" needs to be changed, then it works. Whatever, if you do tweak a soft-modem and get it going, please please let me know about it and I can build those tweaks into the next release of Puppy.
Note: some soft modems need the "dialtone check" in PupDial to be turned off.

Further useful information

If for some reason PupDial does not work for you, Puppy has two other modem dialer programs, called Gkdial and Xeznet, that are PET packages that you can install (see 'install' icon on desktop) -- be warned though that the former is a GTK1 application, the latter a Tcl/Tk application and in the case of Puppy4 these are dependencies that will also have to be installed -- so stay with PupDial if at all possible. Note on Xeznet: when adding an account, the "tty" field and the "speed" field do not need to have anything entered into them as they default to /dev/modem and 115200bps.

If you would like to experiment with sending Hayes commands to your modem, Puppy has a neat little commandline program called modem-stats. Open a terminal window and run it like this:

# modem-stats -c "ATZ" /dev/ttyS0
This has a local help file. Puppy also has another tiny commandline serial-port communications utility called picocom.

There is another application, called Cutecom, a GUI serial port terminal program, that you will find in the Utility menu (note, recent releases of Puppy do not have this program builtin -- it is a PET package: see the menu Setup --> Puppy Package Manager, or click the 'install' icon on the desktop). It's very easy to use: for my modem I had to tick the "Handshake: software" checkbox and selected "CR,LF line end" from the listbox near bottom of the window. After opening the serial port for any Hayes commands that you type in "Input:" box, the response from the modem will appear in the top text box. For example, you type "AT" followed by the ENTER key, and the modem should respond with "OK".

This site has more info on soft-modems:

Here are some URLs with lists of modem strings for particular modems:



My own experience with using Puppy to connect to ADSL was very simple and pleasant.

A friend of mine has ADSL with (in Australia). Her computer runs Windows 98, and she ran the Easy-Config program supplied on the CD. She purchased a Netcomm NB1300 Plus 4, which is an ADSL router modem with one usb and four ethernet ports. On my recommendation, she did not use the usb port. She connected the first ethernet port to her PC, inserted the CD and did some simple hardware configuration as explained in docs on the CD (basically, choose "Never dial a connection" in the Internet configuration, and run "winipcfg" and choose the ethernet card not the dialup modem and press "Renew" button). Then she ran Easy-Config and just entered three parameters: she had to choose a "ISP-profile" and she left it at the first one, which was "ISP-profile-001". The other two parameters were username in format of "" and her password.

Hey presto, she was up and running.

I plugged my PC into the second ethernet port, ran the Puppy Ethernet/network Wizard and chose DHCP, and immediately I was off and running also!

My experience highlights the advantage of using a better quality modem. If you are thinking of upgrading from dial-up to ADSL, look very carefully at the modems offered by the ISPs. The Netcomm NB1300 Plus 4 has a router built-in, so supports 4 PCs simultaneously connected to the internet (5 PCs if the usb port is also used). After running Easy-Config, the username and password are stored inside the modem itself. This modem has built-in DHCP server and firewall capability. In fact, this kind type of intelligent modem may be running Linux internally -- I don't know if this particular model does though.

Avoid a usb-only modem. Cheap and troublesome. For Windows, they require a special driver to be installed, whereas an ethernet modem needs no special driver. For Linux, ethernet modems are supported, but usb modems may not have a driver. Puppy has very little support for usb modems.

An update to the above is that I recently setup another ADSL router modem for somebody, and this one has a web browser interface -- meaning that no Windows-specific software is required to get it setup -- the way to go!

(c) copyright 2007,2008 Barry Kauler