Linux Step By Steps
Speedup Your Dialup Modem

By Mike Andrew with contributions from Stew Benedict & Net Llama!.
HTML page lovingly constructed by pam.roberts@btinternet.com
3 Sep 2000

I have a couple of speed up options for dial up that I have got to the point I should share with you.
Caveat: YMMV


What to do

If you're a script abuser then try placing the words
asyncmap 0
mtu 576

in your dial up scripts such as
/etc/ppp/ppp-on
/etc/ppp/options or
$home/(dot)ppprc

For kppp, just add
mtu 576
asyncmap 0

in the ppp arguments setup dialog.

Ksaferppp users will have to edit
/etc/ppp/starter/links/account#
and add the following lines at the end of the [Account] section.
pppdArguments=asyncmap 0
pppdArguments=mtu 576


Why asyncmap 0

asyncmap is a doozy. the default is that all ascii characters below hex 20 are transliterated to two byte chars. ftp'ing binary files (and grafics) therefore means some considerable increase in bandwidth hogging. Try knocking that out. The usage is that _some_ characters might be terminal / modem / application sensitive (control S, the escape character, etc). Give it a go anyway and read man:pppd for turther info IF you strike trouble. (unlikely)


Why mtu 576

mtu is the killer beast that no-one talks about. Ask the Q 'what value to use' and expect to get hit with a forty page answer. Here is a mercifully brief summary (so don't flame me for innacuracies).

It means most of your connections suffer packet loss!

The MTU *you* are interested in is the one your ISP supports, so

  1. Dial up your isp
  2. Type /sbin/ifconfig What is the mtu setting? It's probably 1500 (by default)
  3. Change it to match your isp.

How? The short answer is a very good rule of thumb (tm); that the ISP will use 576. It matters diddly squat that they could use a 'better' number, it is THE number that you must use.

The long answer is dos ping (I haven't found a Linux equivalent)
In a dos prompt type
ping your isp -f -l some number
(note: lower case L before some number)

The all important -f says don't de-fragment the replies. As a result, ping will fail (which is what you want it to do) until you choose a suitably lower value. Start with 1500, 1000, 500 and work your way around till you hit the magic num. Add 28 to that value, you have your MTU (no, I wont explain).