Red Hat Bugzilla – Bug 7760
Can't do a dial up with PPP and chat/wvdial
Last modified: 2008-05-01 11:37:53 EDT
I am currently having problems getting a dial-up connection in
RH 6.1 working. I've tried to set up ppp0 through linuxconf, netcfg,
or wvdial and I get the same problem everytime. What happens is that
when i start the connection using 'ifup ppp0' or using usernet, ppp
starts natrually and runs the chat script (or wvdial) and hangs when
the ATDT line is sent to the modem. Here are my logs using chat and
Dec 2 23:51:12 winyahbay ifup-ppp: pppd started for ppp0 on
/dev/modem at 115200
Dec 2 23:51:12 winyahbay modprobe: can't locate module char-major-108
Dec 2 23:51:12 winyahbay kernel: CSLIP: code copyright 1989 Regents
of the University of California
Dec 2 23:51:12 winyahbay kernel: PPP: version 2.3.7 (demand dialling)
Dec 2 23:51:12 winyahbay kernel: PPP line discipline registered.
Dec 2 23:51:12 winyahbay kernel: registered device ppp0
Dec 2 23:51:12 winyahbay pppd: pppd 2.3.10 started by root, uid
Dec 2 23:51:13 winyahbay chat: abort on (BUSY)
Dec 2 23:51:13 winyahbay chat: abort on (ERROR)
Dec 2 23:51:13 winyahbay chat: abort on (NO CARRIER)
Dec 2 23:51:13 winyahbay chat: abort on (NO DIALTONE)
Dec 2 23:51:13 winyahbay chat: abort on (Invalid Login)
Dec 2 23:51:13 winyahbay chat: abort on (Login incorrect)
Dec 2 23:51:13 winyahbay chat: send (ATZ^M)
Dec 2 23:51:13 winyahbay chat: expect (OK)
Dec 2 23:51:14 winyahbay chat: ATZ^M^M
Dec 2 23:51:14 winyahbay chat: OK
Dec 2 23:51:14 winyahbay chat: -- got it
Dec 2 23:51:14 winyahbay chat: send (ATDTXXX-XXXX^M)
Dec 2 23:51:14 winyahbay chat: expect (CONNECT)
Dec 2 23:51:14 winyahbay chat: ^M
Dec 2 23:56:31 winyahbay ifup-ppp: pppd started for ppp0 on
/dev/ttyS0 at 115200
Dec 2 23:56:31 winyahbay modprobe: can't locate module char-major-108
Dec 2 23:56:31 winyahbay pppd: pppd 2.3.10 started by root, uid
Dec 2 23:56:32 winyahbay WvDial: WvDial: Internet dialer version 1.40
Dec 2 23:56:32 winyahbay WvDial: Initializing modem.
Dec 2 23:56:32 winyahbay WvDial: Sending: ATZ
Dec 2 23:56:32 winyahbay WvDial: ATZ
Dec 2 23:56:33 winyahbay WvDial: OK
Dec 2 23:56:33 winyahbay WvDial: Modem initialized.
Dec 2 23:56:33 winyahbay WvDial: Sending: ATDT XXX-XXXX
Dec 2 23:56:33 winyahbay WvDial: Waiting for carrier.
Dec 2 23:56:33 winyahbay WvDial: ATDT XXX-XXXX
The next couple of lines in each log are the SIGHUP lines for the tools.
After it hangs i either have to hit the cancel button in usernet, or
kill ppp and ppp-watch if i start it any other way, to stop
everything, or it'll keep repeating itself over and over.
Now, I had ppp and chat set up properly in RH 5.2 and 6.0, and
had it working properly then, but this time around i decided to
install it from scratch to check out the GNOME workstation install.
FYI, I have a Zoom 56K external modem hooked up to /dev/ttys0, and i
know the modem works right because i am able to dial out with the
modem using minicom.
Please upgrade to ppp-2.3.10-3 if you have not already done so.
yes, i did upgrade to ppp-2.3.10-3, and still nothing. I also upgraded to the
latest rawhide initscript package (as of last week) after someone suggested to
try that, and still nothing.
OK, this is going to require an strace to fix. It's not at all
obvious what is happening.
In /etc/sysconfig/network-scripts/ifup-ppp go near the bottom and
change the "exec /usr/sbin/pppd ..." instances to
"exec strace -f -o /tmp/ppp.trace /usr/sbin/pppd ..."
and then send me the resulting /tmp/ppp.trace via email.
Ok, i replaced the lines. Now i get error msgs when i try to start it up.
Using usernet, it tells me 'Failed to start interface', and if i use 'ifup
ppp0' at a prompt it says 'Delaying ppp0 initialization.'
Do you have strace installed?
yes i do, and i even gave the full path name to it in the script, and still got
the error msgs. I did do a strace run on wvdial straight from the command
line, so i know it works, but it wouldn't work in the script.
Is /tmp/ppp.trace created?
no, it isn't.
ok, stupid me, i got the script to run (had to change the file permissions),
and i got it to run with strace. Still gave me an error msg: "Failed to
activate ppp0 with error 1". I was able to get a strace output, this is all i
4019 execve("/usr/sbin/pppd", ["/usr/sbin/pppd", "-
detach", "lock", "modem", "crtscts", "asyncmap", "00000000", "defaultroute", "us
epeerdns", "user", "morhop", "remotename", "ppp0", "/dev/modem", "115200", "ippa
ram", "ppp0", "linkname", "ppp0", "noauth", "connect", "/usr/sbin/chat -
f /etc/sysconfig/network-scripts/chat-ppp0"], [/* 23 vars */]) = 0
ok, three things:
one: someone suggested to me to try using kppp. I did, no sych luck, still
two: took my box to my local LUG meeting. Someone was able to get it to dial
out and hook up by using minicom to dial, then exiting w/o resetting the modem
and running pppd w/ no options. Once we manually set defaultroute to ppp0, had
no problems pinging/doing DNS lookups, etc. to other hosts.
three: i did a strace of 'ifup ppp0' set up using chat and captured it. Shall
I send it?
Yes, please send the output of strace. Error 1 from pppd is a serious error,
such as running out of memory. If you turn the volume on the modem high enough,
does it sound like the connection is picked up on the other end? If so, does
the handshaking complete?
ok, im sending you the output of a strace i just did on ifup itself. I let it
cycle three times before i crtl-c'd it. this time it gave me an error of 32.
as far as the modem volume goes, it doesn't even pick up or open the line to
dial out. Watching the modem, I can see the lights as it initializes, but then
it does nothing but cycles like when you get a busy signal or some
other 'normal' dialing error.
I had the same problem under RedHat 6.1. Another post suggested adding "noauth"
to /etc/ppp/options. This allowed pppd to dial out, though I had to do some
work by hand to get a working routing table.
Just tried that, still no luck.
Looking at the output of the strace, I can see chat being started properly, the
modem responding properly to the ATZ init string, and the chat program
attempting to dial out. At that point it appears that chat times out waiting
for a response from the modem.
If it doesn't start dialing, then the modem isn't receiving the command in a
form that it's expecting -- perhaps with a \n appended to the strings written
to the modem.
If it is dialing, and you can hear the handshake begin before chat times out,
you might try increasing the timeouts value passed to chat (with the -t flag)
to see if being more forgiving of delays helps things.
ok, the modem isn't dialing, so im gonna try the adding the '\n's.
Ok, in my chat-ppp0 file, i stuck a '\n' on both the 'atz' line and the 'atdt'
lines. still no dialing. the only difference this time is that chat logs the
actual sending of the 'atdt' to syslog. The original way didn't log it.
Are you sure there isn't some kind of interrupt conflict here? This sounds like
the sort of strangeness you get with those.
What kind of modem is this? What do you get from ATI0, ATI1, ATI2, etc.?
Under /proc/interrupts, my serial driver is listed using IRQ 4, and
under /proc/ioports it is using memory range 02f8-02ff.
I have a Zoom 56K external modem, model # 2849
as far as the ati* commands, i get this (this was done in minicom, so i know
the modem works ok):
ati3: V.0516-K56_DLS-A Z201
ati6: RCV56DPF L8570A Rev 9.10/9.10
ati98: FLASH PNP MSG DR
Created attachment 135 [details]
I hunted around Zoom's web site and found their hints sheet for Unix machines at
It suggests adding "&C1 &D2" to your modem init string. You might also try
"S13=10", which will force the modem to accept commands terminated with just a
ok, THAT DID IT!!! seems i have to add an &F (restore to factory settings) to
the init string for it to dial... running 5.x and 6.0 i never had to do that.
Why is that?
The defaults used by wvdial (ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0) are
probably causing problems with your modem. (Not the "&C1 &D2" part, of course,
if that's helping things work properly.) Other tools we ship usually use a
simple "ATZ" to reset the modem, and it certainly looks like one of these other
settings is causing things to not work.
Until (if ever) wvdial supports modem brand-specific settings, this'll have to
just be in my list of weird things to check when this turns up again.