Skip to contentSkip to conversation

IPCP-Nak doesn't do anything

DISCUSSION ipcpblues 3 participants 3 messages Dec 12, 2007 PPP protocol drivers and compressors

lore
Share & tools
lore

ipcpblues

author
#0 lore raw

Hi,

I'm trying to get two PPP devices to work together to setup a PPP connection. I have control over one of them - meaning I can set whatever options I please - but I can't control the other device, it's options are hard-wired.

I think I've almost got them working because they pass the LCP request - ack stage and enter the IPCP stage. In the IPCP stage, my IPCP-Req is Ack'd, so I'm halfway there. Their IPCP-Req is received by me with IP-addr=0.0.0.0 and I respond with IPCP-Nak IP-addr2.168.20.50. All this seems correct to me, but then the device doesn't accept my Nak and either re-sends its original IPCP-Req or goes back to the LCP-Req stage.

Does any have ideas on why this could happen or something I can try?

My log is below, Thanks for reading :)

# pppd file options.pppBCM nodetach
pppd options in effect:
debug           # (from options.pppBCM)
nodetach                # (from command line)
dump            # (from options.pppBCM)
noauth          # (from options.pppBCM)
/dev/ttyUSB1            # (from options.pppBCM)
9600            # (from options.pppBCM)
lock            # (from options.pppBCM)
nocrtscts               # (from options.pppBCM)
asyncmap ffffffff               # (from options.pppBCM)
192.168.30.1:192.168.30.50              # (from options.pppBCM)
nobsdcomp               # (from options.pppBCM)
nodeflate               # (from options.pppBCM)
using channel 21
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB1
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x25 <asyncmap 0x0> <magic 0xa5a44a5a>]
sent [LCP ConfAck id=0x25 <asyncmap 0x0> <magic 0xa5a44a5a>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfReq id=0x27 <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x27 <addr 192.168.30.50>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfReq id=0x28 <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x28 <addr 192.168.30.50>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfReq id=0x2a <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x2a <addr 192.168.30.50>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [LCP ConfReq id=0x2c <asyncmap 0x0> <magic 0xa5a44a5a>]
sent [LCP ConfReq id=0x2 <magic 0xae75be4b> <pcomp> <accomp>]
sent [LCP ConfAck id=0x2c <asyncmap 0x0> <magic 0xa5a44a5a>]
rcvd [LCP ConfAck id=0x2 <magic 0xae75be4b> <pcomp> <accomp>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfReq id=0x2d <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x2d <addr 192.168.30.50>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>] 
Signature · 2 lines
View this message in context: http://www.nabble.com/IPCP-Nak-doesn%27t-do-anything-tp14303969p14303969.html
Sent from the linux-ppp mailing list archive at Nabble.com.
#1 lore raw
Quoted 15 lines · ipcpblues

Hi,

I'm trying to get two PPP devices to work together to setup a PPP connection. I have control over one of them - meaning I can set whatever options I please - but I can't control the other device, it's options are hard-wired.

I think I've almost got them working because they pass the LCP request - ack stage and enter the IPCP stage. In the IPCP stage, my IPCP-Req is Ack'd, so I'm halfway there. Their IPCP-Req is received by me with IP-addr=0.0.0.0 and I respond with IPCP-Nak IP-addr2.168.20.50. All this seems correct to me, but then the device doesn't accept my Nak and either re-sends its original IPCP-Req or goes back to the LCP-Req stage.

Quoted 8 lines

Does any have ideas on why this could happen or something I can try?

My log is below, Thanks for reading :)

# pppd file options.pppBCM nodetach
pppd options in effect:
debug           # (from options.pppBCM)
nodetach                # (from command line)

Why dump?

Quoted 2 lines

dump # (from options.pppBCM)
noauth # (from options.pppBCM)

You do not require athentication from the other side. That is the default.

Quoted 2 lines

/dev/ttyUSB1 # (from options.pppBCM)
9600 # (from options.pppBCM)

That is really slow

Quoted 2 lines

lock # (from options.pppBCM)
nocrtscts # (from options.pppBCM)

Dangerous. does your modem really have no hardware flow control?

Quoted 2 lines

asyncmap ffffffff # (from options.pppBCM)
192.168.30.1:192.168.30.50 # (from options.pppBCM)

These are the IP addresses you want your self and them to have.

Quoted 23 lines

nobsdcomp # (from options.pppBCM)
nodeflate # (from options.pppBCM)
using channel 21
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB1
sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]

Quoted 8 lines

sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]

The above all mean that you are talking to yourself. You are sending out and receiving the same thing (that is what the magic numbr is all about) there is not communication with the remote side.

Quoted 2 lines

rcvd [LCP ConfReq id=0x25 <asyncmap 0x0> <magic 0xa5a44a5a>] sent [LCP ConfAck id=0x25 <asyncmap 0x0> <magic 0xa5a44a5a>]

They send you something.
and you respond.

Quoted 3 lines

sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]

They agree to your address.

Quoted 8 lines

sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfReq id=0x27 <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x27 <addr 192.168.30.50>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfReq id=0x28 <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x28 <addr 192.168.30.50>]

It looks to me like the other side is hardly every receiving your communication. What is the thing that you are trying to connect to?

Quoted 13 lines

sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfReq id=0x2a <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x2a <addr 192.168.30.50>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [LCP ConfReq id=0x2c <asyncmap 0x0> <magic 0xa5a44a5a>] sent [LCP ConfReq id=0x2 <magic 0xae75be4b> <pcomp> <accomp>] sent [LCP ConfAck id=0x2c <asyncmap 0x0> <magic 0xa5a44a5a>] rcvd [LCP ConfAck id=0x2 <magic 0xae75be4b> <pcomp> <accomp>] sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>]

Quoted 8 lines

sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfReq id=0x2d <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x2d <addr 192.168.30.50>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>] sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 192.168.30.1>]

I think that he is not hearing you most of the time.

More information about what it is you are trying to do, and what is on the other side of the link would be useful. (Cell phone, windows machine, embedded computer,...

Quoted 2 lines
Signature · 4 lines
William G. Unruh   |  Canadian Institute for|     Tel: +1(604)822-3273
Physics&Astronomy  |     Advanced Research  |     Fax: +1(604)822-5324
UBC, Vancouver,BC  |   Program in Cosmology |     [email protected]
Canada V6T 1Z1     |      and Gravity       |  www.theory.physics.ubc.ca/
#2 lore raw
In reply to ipcpblues
Quoted 6 lines · ipcpblues

I think I've almost got them working because they pass the LCP request - ack stage and enter the IPCP stage. In the IPCP stage, my IPCP-Req is Ack'd, so I'm halfway there. Their IPCP-Req is received by me with IP-addr=0.0.0.0 and I respond with IPCP-Nak IP-addr2.168.20.50. All this seems correct to me, but then the device doesn't accept my Nak and either re-sends its original IPCP-Req or goes back to the LCP-Req stage.

The peer is free to ignore your suggested IP address for any reason it wants. You cannot make it accept an address that it doesn't want.

Assuming you can't get debug logs out of the peer (in order to find out why it doesn't like that address), I think the only thing you could do would be to refuse to negotiate the addresses by adding "ipcp-no-address ipcp-no-addresses".

Quoted 4 lines

sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <magic 0xec2490cf> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <magic 0xec2490cf> <pcomp> <accomp>]

This part is pretty suspicious and likely points to communications errors on the path ...

Quoted 4 lines

sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>]

... as does this. Are you sure that the underlying link works and is relatively error-free? Excessive frame loss could _easily_ be the cause of the kind of problem you're seeing. It can lead to non-convergence.

Quoted 3 lines

rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 192.168.30.1>] rcvd [LCP ConfReq id=0x2c <asyncmap 0x0> <magic 0xa5a44a5a>] sent [LCP ConfReq id=0x2 <magic 0xae75be4b> <pcomp> <accomp>]

Right here the peer gives up and starts over. That likely indicates that it thinks IPCP isn't converging properly, which seems fairly likely given the very odd traffic on this link.

Signature · 1 line
James Carlson         42.703N 71.076W         <[email protected]>