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.
- External serial modem. If
you have an external serial modem, it is easy to recognise by the
distinctive cable -- fairly large flat rectangle shape, with 9 or 25
pins. This is a hardware modem, and will definitely work with Puppy.
- Internal PCI modem card.
'PCI' refers to the sockets on the motherboard, into which an internal
modem can be plugged. Up until about 2002, true hardware PCI modems were
manufactured, since then they have all been soft-modems -- so that's
most likely what you have.
- Modem built-in to the motherboard.
Technically, these are still PCI modems, as the term "PCI" actually
refers to the main interface bus on the motherboard, to which all
input/output devices are connected. These are all soft-modems.
- External USB modem. These
days USB is used for almost all external devices -- mouse, keyboard,
modem, printer, scanner. There are some true-hardware USB modems, but
most likely it is a soft-modem.
- PCMCIA modem. Also known as cardbus. This is a socket on laptops. These can be soft or hard, the modern ones likely to be soft.
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
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
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
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
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/ttyS0This 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
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
THIS SECTION WRITTEN AGES AGO, NEEDS TO BE UPDATED
My own experience with using Puppy to connect to ADSL was very simple and
A friend of mine has ADSL with westnet.com.au (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
"email@example.com" 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
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
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