Discussion:
PPP connection from Pocket PC to Linux fails
(too old to reply)
myrtoseraf
2007-07-09 12:03:14 UTC
Permalink
I am trying to create a PPP link between a PocketPC (client) and a
linux pppd server with no luck.

My basic pppd options configuration (on the linux box) is:

************************** pppd options ***************************
linkname pda
/dev/ttyS3
57600
crtscts
hide-password
noauth
192.168.2.1:192.168.2.2
netmask 255.255.255.0
ms-dns 195.167.65.194
ms-dns 213.249.17.11
debug
logfile /tmp/pppDebug
nodetach
# For the windows client
connect "chat 'CLIENT' 'CLIENTSERVER\\c'"
nodefaultroute
proxyarp
lock
asyncmap 0
*******************************************************************

Please note that no authentication is required.

The PocketPC has a similar configuration (I can post the xml config
doc if required). Initially I do not specify an IP address or DNS
servers on the client side (so these should be provided by the server
I think?). This is the resulting log:

*************************** PPP debug log - base config
**********************************
Trying to setdtr to 0.
setdtr to 0.
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS3
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
Warning - secret file /etc/ppp/pap-secrets has world and/or group
access
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x86517350> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x86517350> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
rcvd [CCP ConfReq id=0x0 < 12 06 00 00 00 01>]
sent [CCP ConfReq id=0x1]
sent [CCP ConfRej id=0x0 < 12 06 00 00 00 01>]
rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
sent [IPCP ConfRej id=0x0 <ms-wins 0.0.0.0> <ms-wins 0.0.0.0>]
rcvd [proto=0x8057] 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b 71
Unsupported protocol 0x8057 received
sent [LCP ProtRej id=0x2 80 57 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b
71]
rcvd [IPCP ConfAck id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
CCP: timeout sending Config-Requests
IPCP: timeout sending Config-Requests
sent [LCP TermReq id=0x3 "No network protocols running"]
sent [LCP TermReq id=0x4 "No network protocols running"]
Connection terminated.
*******************************************************************************************


After the last message received from the client (PocketPC):
*** rcvd [IPCP ConfAck id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
the client declares that "the answering modem has disconnected". The
client never Acks the CCP request (id 0x1).

I also don't understand why the pppd server gets the IPCP ConfAck but
then makes the same request (the line immediately below:)
*** sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]

Also, when the client sends the request:
*** rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 0.0.0.0> <ms-
dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
the pppd server rejects it but does not send back its info on the
addr, or dns servers. Why?

I posted this question on comp.os.linux.networking (same subject) and
it was suggested that the problem may be in the pppd server issuing
the <compress VJ 0f 01> request though it might not be able to handle
it, so I tried with the novjccomp and novj options. Logs below:
*************** with novjccomp option
****************************************
Connect: ppp0 <--> /dev/ttyS3
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
Warning - secret file /etc/ppp/pap-secrets has world and/or group
access
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf4305cad> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf4305cad> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
rcvd [CCP ConfReq id=0x0 < 12 06 00 00 00 01>]
sent [CCP ConfReq id=0x1]
sent [CCP ConfRej id=0x0 < 12 06 00 00 00 01>]
rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
sent [IPCP ConfRej id=0x0 <ms-wins 0.0.0.0> <ms-wins 0.0.0.0>]
rcvd [proto=0x8057] 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b 71
Unsupported protocol 0x8057 received
sent [LCP ProtRej id=0x2 80 57 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b
71]
rcvd [IPCP ConfAck id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 00>]
CCP: timeout sending Config-Requests
IPCP: timeout sending Config-Requests
sent [LCP TermReq id=0x3 "No network protocols running"]
sent [LCP TermReq id=0x4 "No network protocols running"]
Connection terminated.
***************************************************************************

**************** with novj option **********************­******
Connect: ppp0 <--> /dev/ttyS3
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
Warning - secret file /etc/ppp/pap-secrets has world and/or group
access
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xd0681d4e> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xd0681d4e> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
rcvd [CCP ConfReq id=0x0 < 12 06 00 00 00 01>]
sent [CCP ConfReq id=0x1]
sent [CCP ConfRej id=0x0 < 12 06 00 00 00 01>]
rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
sent [IPCP ConfRej id=0x0 <compress VJ 0f 00> <ms-wins 0.0.0.0> <ms-
wins 0.0.0.0>]
rcvd [proto=0x8057] 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b 71
Unsupported protocol 0x8057 received
sent [LCP ProtRej id=0x2 80 57 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b
71]
rcvd [IPCP ConfAck id=0x1 <addr 192.168.2.1>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
sent [CCP ConfReq id=0x1]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1>]
CCP: timeout sending Config-Requests
IPCP: timeout sending Config-Requests
sent [LCP TermReq id=0x3 "No network protocols running"]
sent [LCP TermReq id=0x4 "No network protocols running"]
Connection terminated.
***************************************************************************­
************

Here's some other things I tried:
****************************** With the noip option
********************************
Trying to setdtr to 0.
setdtr to 0.
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS3
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
Warning - secret file /etc/ppp/pap-secrets has world and/or group
access
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe1df5a64> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xe1df5a64> <pcomp>
<accomp>]
sent [LCP TermReq id=0x2 "No network protocols running"]
rcvd [CCP ConfReq id=0x0 < 12 06 00 00 00 01>]
rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
rcvd [proto=0x8057] 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b 71
sent [LCP TermReq id=0x3 "No network protocols running"]
Connection terminated.
Trying to setdtr to 0.
setdtr to 0.
******************************************************************************************

I tried specifying the IP address and DNS servers on the client side:

*****************************************************************************************
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS3
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
Warning - secret file /etc/ppp/pap-secrets has world and/or group
access
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xcbc610f3> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xcbc610f3> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
rcvd [CCP ConfReq id=0x0 < 12 06 00 00 00 01>]
sent [CCP ConfReq id=0x1]
sent [CCP ConfRej id=0x0 < 12 06 00 00 00 01>]
rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 192.168.2.2>]
sent [IPCP ConfAck id=0x0 <compress VJ 0f 00> <addr 192.168.2.2>]
rcvd [proto=0x8057] 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b 71
Unsupported protocol 0x8057 received
sent [LCP ProtRej id=0x2 80 57 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b
71]
rcvd [IPCP ConfAck id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
Cannot determine ethernet address for proxy ARP
local IP address 192.168.2.1
remote IP address 192.168.2.2
Script /etc/ppp/ip-up started (pid 207)
Script /etc/ppp/ip-up finished (pid 207), status = 0x0
sent [CCP ConfReq id=0x1]
sent [CCP ConfReq id=0x1]
sent [CCP ConfReq id=0x1]
sent [CCP ConfReq id=0x1]
sent [CCP ConfReq id=0x1]
sent [CCP ConfReq id=0x1]
sent [CCP ConfReq id=0x1]
sent [CCP ConfReq id=0x1]
sent [CCP ConfReq id=0x1]
CCP: timeout sending Config-Requests
******************************************************************************************

************** With software compression disabled on the client side:
*********
Serial connection established.
using channel 3
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS3
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
Warning - secret file /etc/ppp/pap-secrets has world and/or group
access
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe20f729> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xe20f729> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
sent [IPCP ConfRej id=0x0 <ms-wins 0.0.0.0> <ms-wins 0.0.0.0>]
rcvd [proto=0x8057] 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b 71
Unsupported protocol 0x8057 received
sent [LCP ProtRej id=0x2 80 57 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b
71]
rcvd [IPCP ConfAck id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
IPCP: timeout sending Config-Requests
sent [LCP TermReq id=0x3 "No network protocols running"]
sent [LCP TermReq id=0x4 "No network protocols running"]
Connection terminated.
Trying to setdtr to 0.
setdtr to 0.
Connect script failed
Trying to setdtr to 0.
setdtr to 0.
****************************************************************************************

Any help would be greatly appreciated!!!
myrtoseraf
2007-07-11 10:18:24 UTC
Permalink
One more option I tried that I should mention. I disabled CCP (used
the noccp option on pppd) and the resulting log shows a much more
"normal" negotiation (see below), however the client still comes up
with "the answering modem has disconnected" as soon as the link goes
up, whereas the pppd server does not see this link termination and
keeps the line open (thus making it impossible for any further
connection attempts).

Here is the log:

Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS3
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
Warning - secret file /etc/ppp/pap-secrets has world and/or group
access
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xefb5415d> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xefb5415d> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
rcvd [CCP ConfReq id=0x0 < 12 06 00 00 00 01>]
Unsupported protocol 'Compression Control Protocol' (0x80fd) received
sent [LCP ProtRej id=0x2 80 fd 01 00 00 0a 12 06 00 00 00 01]
rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
sent [IPCP ConfRej id=0x0 <ms-wins 0.0.0.0> <ms-wins 0.0.0.0>]
rcvd [proto=0x8057] 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b 71
Unsupported protocol 0x8057 received
sent [LCP ProtRej id=0x3 80 57 01 00 00 0e 01 0a 02 30 05 ff fe b6 3b
71]
rcvd [IPCP ConfAck id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
rcvd [IPCP ConfReq id=0x1 <compress VJ 0f 00> <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfNak id=0x1 <addr 192.168.2.2> <ms-dns1 195.167.65.194>
<ms-dns3 213.249.17.11>]
rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 00> <addr 192.168.2.2> <ms-
dns1 195.167.65.194> <ms-dns3 213.249.17.11>]
sent [IPCP ConfAck id=0x2 <compress VJ 0f 00> <addr 192.168.2.2> <ms-
dns1 195.167.65.194> <ms-dns3 213.249.17.11>]
Cannot determine ethernet address for proxy ARP
local IP address 192.168.2.1
remote IP address 192.168.2.2
Script /etc/ppp/ip-up started (pid 144)
Script /etc/ppp/ip-up finished (pid 144), status = 0x0


Has anyone seen anything like this before or have any idea why the
Windows PocketPC client is unhappy? Please!
James Carlson
2007-07-11 12:02:41 UTC
Permalink
Post by myrtoseraf
One more option I tried that I should mention. I disabled CCP (used
the noccp option on pppd) and the resulting log shows a much more
"normal" negotiation (see below), however the client still comes up
The fact that CCP seems to be interfering with IPCP progress
(particularly when CCP is requesting only MPPC and not MPPE) indicates
some severe implementation errors in that peer. As I mentioned in a
previous posting, you may want to consider how much your time is worth
and how much effort you want to spend trying to repair a broken
implementation. Perhaps you could file a bug with the vendor instead,
or just get a different (and hopefully better-designed) peer.
Post by myrtoseraf
rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 00> <addr 192.168.2.2> <ms-
dns1 195.167.65.194> <ms-dns3 213.249.17.11>]
sent [IPCP ConfAck id=0x2 <compress VJ 0f 00> <addr 192.168.2.2> <ms-
dns1 195.167.65.194> <ms-dns3 213.249.17.11>]
Cannot determine ethernet address for proxy ARP
This is a minor misconfiguration on your side. You've specified the
"proxyarp" option, but the remote IP address assigned to the link is
not actually within any subnet defined by any broadcast-type link on
your system. Links are either routed or proxy ARP'd.

This isn't the reason for the failure, though, as the peer knows
nothing about this issue.
Post by myrtoseraf
local IP address 192.168.2.1
remote IP address 192.168.2.2
Script /etc/ppp/ip-up started (pid 144)
Script /etc/ppp/ip-up finished (pid 144), status = 0x0
As far as pppd is concerned, the link came up fine and is now running
IPv4. You'll need to ask the peer why it's upset.
Post by myrtoseraf
Has anyone seen anything like this before or have any idea why the
Windows PocketPC client is unhappy? Please!
The only thing I see in the logs that looks like something that could
be investigated on the pppd side is that you're rejecting IPv6 (8057).
I don't use any Windows stuff, so I'm not very familiar with it, but
does it somehow require IPv6 in order to work?
--
James Carlson, Solaris Networking <***@sun.com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
James Carlson
2007-07-11 11:54:47 UTC
Permalink
Post by myrtoseraf
I am trying to create a PPP link between a PocketPC (client) and a
linux pppd server with no luck.
It looks like the problem is on the other side of the link. If you
can't get logs from that side, you may be stuck.
Post by myrtoseraf
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
sent [IPCP ConfRej id=0x0 <ms-wins 0.0.0.0> <ms-wins 0.0.0.0>]
rcvd [IPCP ConfAck id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
At this point, IPCP is in Ack-Rcvd state. It's still waiting, though,
for an acceptable Configure-Request from its peer.
Post by myrtoseraf
sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
This is event TO+ in Ack-Rcvd state. It causes the state machine to
send a new Configure-Request message, and to jump back to Req-Sent
state. See RFC 1661 page 13.
Post by myrtoseraf
I also don't understand why the pppd server gets the IPCP ConfAck but
then makes the same request (the line immediately below:)
*** sent [IPCP ConfReq id=0x1 <addr 192.168.2.1> <compress VJ 0f 01>]
It never received an acceptable Configure-Request from its peer, and
this is how the negotiation is supposed to work.
Post by myrtoseraf
*** rcvd [IPCP ConfReq id=0x0 <compress VJ 0f 00> <addr 0.0.0.0> <ms-
dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
the pppd server rejects it but does not send back its info on the
addr, or dns servers. Why?
It rejects the request for WINS servers. You haven't configured any
of those -- you configured only DNS servers.

This shouldn't matter. Pppd is doing the right thing here. The peer
has asked for options that pppd can't support, so pppd has rejected
them. The peer must now remove those options and try again. It
hasn't done that, so the peer is broken.
Post by myrtoseraf
I posted this question on comp.os.linux.networking (same subject) and
it was suggested that the problem may be in the pppd server issuing
the <compress VJ 0f 01> request though it might not be able to handle
Sigh. That's sort of random.

The peer is broken. Either find out why it's broken (perhaps this
peer has some sort of debug logging option?), or defenestrate it and
replace it with something useful that actually conforms with the
standards.
--
James Carlson, Solaris Networking <***@sun.com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
myrtoseraf
2007-07-11 12:47:45 UTC
Permalink
Thank you for your post!
Post by James Carlson
Post by myrtoseraf
I am trying to create a PPP link between a PocketPC (client) and a
linux pppd server with no luck.
It looks like the problem is on the other side of the link. If you
can't get logs from that side, you may be stuck.
Indeed. I have posted on a PocketPC website and am hoping for some
help.
Post by James Carlson
At this point, IPCP is in Ack-Rcvd state. It's still waiting, though,
for an acceptable Configure-Request from its peer.
This is event TO+ in Ack-Rcvd state. It causes the state machine to
send a new Configure-Request message, and to jump back to Req-Sent
state. See RFC 1661 page 13.
Thank you for explaining this! I understand it now.

In fact, this seems to work correctly when the noccp option is used
(as you pointed out in response to my other post)
Post by James Carlson
This shouldn't matter. Pppd is doing the right thing here. The peer
has asked for options that pppd can't support, so pppd has rejected
them. The peer must now remove those options and try again. It
hasn't done that, so the peer is broken.
I think the peer (PocketPC) stops negotiating because it thinks that
the link has been closed (hence the "the answering modem has
disconnected"). This is really mystifying me as I can't tell why it
would think so. When CCP is disabled the peer does indeed remove the
options and try again.

If the peer (PocketPC) was sending anything other than the PPP
packets, I assume this would show up in the logs? And vice versa?
Post by James Carlson
The peer is broken. Either find out why it's broken (perhaps this
peer has some sort of debug logging option?),
Well, I don't disagree that the peer is not behaving according to the
standards. If nothing else this is indicated by the need for the
connect chat script. I am looking into the debug logging, but not very
optimistic (Pocket PC is quite a stripped down version of the Windows
OS offering very little access to anything interesting).

I have reproduced the issue with another device in my office (running
compeltely different version of the OS). However, searching the
internet I have found several PPP logs which show successful
connection between a Windows PDA and a linux pppd server.
Interestingly, in most of those I have seen both the ConfRej for the
MPPC (this is the line sent [CCP ConfRej id=0x0 < 12 06 00 00 00
01>] ) and the ProtRej for IPv6 and communication continues just fine.
So I'm not sure why this would be a problem for this particular
device.

Thank you very much for your feedback though, I guess I will have to
dig into the Microsoft side a bit more.
James Carlson
2007-07-12 16:07:22 UTC
Permalink
Post by myrtoseraf
Post by James Carlson
This shouldn't matter. Pppd is doing the right thing here. The peer
has asked for options that pppd can't support, so pppd has rejected
them. The peer must now remove those options and try again. It
hasn't done that, so the peer is broken.
I think the peer (PocketPC) stops negotiating because it thinks that
the link has been closed (hence the "the answering modem has
disconnected"). This is really mystifying me as I can't tell why it
would think so. When CCP is disabled the peer does indeed remove the
options and try again.
Is the cable itself known to be good? One thing that can make a PPP
implementation think that the peer is disconnected is loss of DCD.
Post by myrtoseraf
If the peer (PocketPC) was sending anything other than the PPP
packets, I assume this would show up in the logs? And vice versa?
No. It would show up with the file generated by the 'record' option,
but the logging is done at a higher level by the state machine. It
includes only known-good (correct FCS, correctly framed) PPP control
messages.
Post by myrtoseraf
Post by James Carlson
The peer is broken. Either find out why it's broken (perhaps this
peer has some sort of debug logging option?),
Well, I don't disagree that the peer is not behaving according to the
standards. If nothing else this is indicated by the need for the
connect chat script. I am looking into the debug logging, but not very
optimistic (Pocket PC is quite a stripped down version of the Windows
OS offering very little access to anything interesting).
That's a shame.
Post by myrtoseraf
I have reproduced the issue with another device in my office (running
compeltely different version of the OS). However, searching the
internet I have found several PPP logs which show successful
connection between a Windows PDA and a linux pppd server.
Interestingly, in most of those I have seen both the ConfRej for the
MPPC (this is the line sent [CCP ConfRej id=0x0 < 12 06 00 00 00
01>] ) and the ProtRej for IPv6 and communication continues just fine.
So I'm not sure why this would be a problem for this particular
device.
Perhaps there are updates available from the manufacturer that fix
these bugs.
Post by myrtoseraf
Thank you very much for your feedback though, I guess I will have to
dig into the Microsoft side a bit more.
Yep.
--
James Carlson, Solaris Networking <***@sun.com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
Loading...