I SOLVED THE PROBLEM!
I don't know if anyone else has this problem (I'm
guessing not, but...) so here's what I found. When I ran setserial, it said that
the speed was set to spd_normal. I changed this setting to spd_vhi. This didn't
actually increase my connection speed by itself, but it gives the best result
after the next step. Then I found a little utility called stty. Interestingly
enough, this said that /dev/ttyS1 speed was set to 9600 baud. That odd so I
changed this to 115200 and voila!, I'm now getting the ~42 Kbps I would expect
from my 56K modem. Now come the questions:
1) Why was setting up such standard hardware so
convoluted? It really shouldn't be this hard to set up an external USR 56k v.90
Sportster modem. I'll grant you that I'm running on an old Dell Dimension
XPSPro200n so that may be part of the problem, but it does have a 16550A UART
and I know I'm not the only person running linux on old hardware.
2) Why are there two utilities which appear to make
the same settings (but not, though they're interrelated), but there is no
reference to the fact in the man pages for either stty or setserial? I could
have saved hours of googling and playing with settings if the setserial man page
had said something like, "By the way, when you change the spd_* settings, make
sure they match the settings in the stty utility."
3) These settings don't get saved after a reboot
and must be made while the pppd connection is down. Is there a settings file
somewhere (I looked and couldn't find one, e.g. rc.serial) that I can change to
reflect these settings? If not, I know I can write an init script that will get
run before the pppd startup script (I'm using the SysV style initialization),
but I'd rather use a "standard" settings file than a custom init
script.
Thanks,
John Klingler
|