Alex Suykov
2008-10-24 20:36:09 UTC
Hello,
I'm trying to set up a GPRS connection, and I'm stuck at strange pppd
behavior.
At first glance it looks like connection problem -- pppd dies due to
LCP timeout:
(....)
Serial connection established.
using channel 4
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
(....)
LCP: timeout sending Config-Requests
But if I add record option and unpack resulting file with pppdump,
replies *are* there:
(...)
rcvd "\0d\0aCONNECT\0d\0a"
sent "\0d"
time 0.1s
rcvd "~\ff}#\c0!}!\c5} }<}!}$}%\dc}\"}&} } } }}$\c0#}%}&} }&\bb\f2}'}
\"}(}\"
\ab~"
time 1.0s
sent "~\ff}#\c0!}!}!} }4}\"}&} } } } }%}&'\88\d8} }'}\"}(}\"\bb}'~"
time 0.1s
rcvd "~\ff}#\c0!}\"}!} }4}\"}} } } }%}&'\88\d8} }'}\"}(}\"Pn~"
time 3.8s
rcvd "~\ff}#\c0!}!\c5} }<}!}$}\"}&} } } } }#}$\c0#}%}&} }&\bb\f2}"
rcvd "'}\"}(}\"K\ab~"
time 4.1s
sent "~\ff}#\c0!}!}!} }4}\"}&} } } } }%}&'\88\d8} }'}\"}(}\"\bb}'~"
rcvd "~\ff}#\c0!}\"}!} }4}\"}&} } } } }%}&'}'}\"}(}\"Pn~"
(...)
What's happening, why pppd ignores incoming data? Maybe there's
something wrong with replies -- is there any way to check this?
I tried setting receive-all option, to no avail. Flow control options
have no visible effect too.
Ocassionally I do get replies, usually only one reply per session,
with overall rate 1 received per ~100 sent.
I'm trying to set up a GPRS connection, and I'm stuck at strange pppd
behavior.
At first glance it looks like connection problem -- pppd dies due to
LCP timeout:
(....)
Serial connection established.
using channel 4
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2788d800> <pcomp>
<accomp>]
(....)
LCP: timeout sending Config-Requests
But if I add record option and unpack resulting file with pppdump,
replies *are* there:
(...)
rcvd "\0d\0aCONNECT\0d\0a"
sent "\0d"
time 0.1s
rcvd "~\ff}#\c0!}!\c5} }<}!}$}%\dc}\"}&} } } }}$\c0#}%}&} }&\bb\f2}'}
\"}(}\"
\ab~"
time 1.0s
sent "~\ff}#\c0!}!}!} }4}\"}&} } } } }%}&'\88\d8} }'}\"}(}\"\bb}'~"
time 0.1s
rcvd "~\ff}#\c0!}\"}!} }4}\"}} } } }%}&'\88\d8} }'}\"}(}\"Pn~"
time 3.8s
rcvd "~\ff}#\c0!}!\c5} }<}!}$}\"}&} } } } }#}$\c0#}%}&} }&\bb\f2}"
rcvd "'}\"}(}\"K\ab~"
time 4.1s
sent "~\ff}#\c0!}!}!} }4}\"}&} } } } }%}&'\88\d8} }'}\"}(}\"\bb}'~"
rcvd "~\ff}#\c0!}\"}!} }4}\"}&} } } } }%}&'}'}\"}(}\"Pn~"
(...)
What's happening, why pppd ignores incoming data? Maybe there's
something wrong with replies -- is there any way to check this?
I tried setting receive-all option, to no avail. Flow control options
have no visible effect too.
Ocassionally I do get replies, usually only one reply per session,
with overall rate 1 received per ~100 sent.