Skip to contentSkip to conversation

Help with PPPoE

DISCUSSION jfj 3 participants 4 messages Dec 28, 2006 – Jun 6, 2007 PPP protocol drivers and compressors

lore
Share & tools
lore

jfj

author
#0 lore raw

Hi.

I have kernel 2.6.17.13 with "PPP over Ethernet" compiled in (not a module) and pppd 2.4.4b1. I have added the option "plugin rp-pppoe.so" to /etc/ppp/options.

Now when I type

pppd eth0

I get

unrecognized option 'eth0'

But wasn't the plugin supposed to enable this device?

If I use this script in /etc/ppp/peers/mydsl

	#
	# PPP over Ethernet options (using roaring pinguin external program)
	#
	plugin rp-pppoe.so
	noauth
	# pppoe has a lower mtu/mru
	mtu 1492
	mru 1492
	# switch off all compressions (this is a must)
	nopcomp
	# this is recommended
	novjccomp
	noccp
	debug

And run

pppd call mydsl

Nothing happens (pppd can't even be interrupted with ctrl-c) and /var/log/messages sais:

	Dec 28 20:43:18 linux pppd[5324]: Plugin rp-pppoe.so loaded.
	Dec 28 20:43:18 linux pppd[5324]: RP-PPPoE plugin version 3.3 compiled against pppd 2.4.4b1
	Dec 28 20:43:18 linux pppd[5324]: pppd 2.4.4b1 started by root, uid 0
	Dec 28 20:43:18 linux pppd[5324]: using channel 3
	Dec 28 20:43:18 linux pppd[5324]: Using interface ppp0
	Dec 28 20:43:18 linux pppd[5324]: Connect: ppp0 <--> /dev/tty6
	Dec 28 20:43:18 linux pppd[5324]: sent [LCP ConfReq id=0x1 <mru 1492> <asyncmap 0x0> <magic 0xad6cc157> <accomp>]
	Dec 28 20:43:50 linux last message repeated 16 times
	Dec 28 20:44:52 linux last message repeated 31 times
	Dec 28 20:45:16 linux last message repeated 12 times
	Dec 28 20:45:18 linux pppd[5324]: LCP: timeout sending Config-Requests 
	Dec 28 20:45:18 linux pppd[5324]: Connection terminated.
	Dec 28 20:45:18 linux pppd[5324]: Receive serial link is not 8-bit clean:
	Dec 28 20:45:18 linux pppd[5324]: Problem: all had bit 7 set to 0
	Dec 28 20:45:18 linux pppd[5324]: Modem hangup
	Dec 28 20:45:18 linux pppd[5324]: Exit.

Please help!

jerald

#1 lore raw

----- Original Message -----
From: "jfj" <[email protected]>
To: <[email protected]>
Sent: Thursday, December 28, 2006 4:47 PM
Subject: Help with PPPoE

Quoted 3 lines

Hi.

I have kernel 2.6.17.13 with "PPP over Ethernet" compiled in (not a

module)

Quoted 11 lines

and pppd 2.4.4b1. I have added the option "plugin rp-pppoe.so" to /etc/ppp/options.

Now when I type

pppd eth0

I get

unrecognized option 'eth0'

Quoted 8 lines

But wasn't the plugin supposed to enable this device?

If I use this script in /etc/ppp/peers/mydsl

#
# PPP over Ethernet options (using roaring pinguin external program) #
plugin rp-pppoe.so

It work for me with this exact line
plugin rp-pppoe.so eth0
...
Then you should be able to do
pppd call mydsl

Gilles

#2 lore raw
In reply to jfj

Hi.

I'm trying to setup a PPPoE in a Linux-From-Scratch system based on an old SuSE. Things seem to work, but although i use the options usepeerdns and defaultroute, pppd does not update the routing table nor
the resolv.conf.

By looking at resolv.conf it sais:

	# Modified_by:  dhcpcd
	search lan
	nameserver 10.0.0.138

and the fact that the routing table is:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
62.103.129.27 * 255.255.255.255 UH 0 0 0 ppp0
10.0.0.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 10.0.0.138 0.0.0.0 UG 0 0 0 eth0

I have to suppose that somebody else has setup eth0 to be the default gateway (maybe it's the distribution's LFS was built upon, ip-up scripts). ifconfig is:

eth0 Link encap:Ethernet HWaddr 00:90:F5:47:77:3B
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:55 errors:0 dropped:0 overruns:0 frame:0 TX packets:52 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:3926 (3.8 Kb) TX bytes:3439 (3.3 Kb) Interrupt:17 Base address:0x2000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

ppp0 Link encap:Point-to-Point Protocol
inet addr:87.203.57.58 P-t-P:62.103.129.27 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3
RX bytes:290 (290.0 b) TX bytes:54 (54.0 b)

So I kill pppd and say:

route del default

and re-run pppd:
This time I have the routing table:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
62.103.129.27 * 255.255.255.255 UH 0 0 0 ppp0
10.0.0.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default * 0.0.0.0 U 0 0 0 ppp0

But unfortunately, the network is unreachable. I try to connect to hosts by IP address, but I'm not getting any packets.

Finally the messages of pppd with debug (before removing the default route):

	Plugin rp-pppoe.so loaded.
	RP-PPPoE plugin version 3.3 compiled against pppd 2.4.4
	using channel 2
	Using interface ppp0
	Connect: ppp0 <--> eth0
	sent [LCP ConfReq id=0x1 <mru 1492> <magic 0x318827ee>]
	rcvd [LCP ConfReq id=0x5 <mru 1492> <auth pap> <magic 0x2f5b3234>]
	sent [LCP ConfAck id=0x5 <mru 1492> <auth pap> <magic 0x2f5b3234>]
	rcvd [LCP ConfAck id=0x1 <mru 1492> <magic 0x318827ee>]
	sent [LCP EchoReq id=0x0 magic=0x318827ee]
	sent [PAP AuthReq id=0x1 user="xxxxxxxxxxxxxxxx" password=<hidden>]
	rcvd [LCP EchoRep id=0x0 magic=0x2f5b3234]
	rcvd [LCP ConfReq id=0x1 <auth pap> <magic 0x62218e35>]
	sent [LCP ConfReq id=0x2 <mru 1492> <magic 0xe636f07e>]
	sent [LCP ConfAck id=0x1 <auth pap> <magic 0x62218e35>]
	rcvd [LCP ConfNak id=0x2 <mru 1500>]
	sent [LCP ConfReq id=0x3 <magic 0xe636f07e>]
	rcvd [LCP ConfAck id=0x3 <magic 0xe636f07e>]
	sent [LCP EchoReq id=0x0 magic=0xe636f07e]
	sent [PAP AuthReq id=0x2 user="xxxxxxxxxxxxxxxx" password=<hidden>]
	rcvd [LCP EchoRep id=0x0 magic=0x62218e35]
	rcvd [PAP AuthAck id=0x2 ""]
	PAP authentication succeeded
	peer from calling number 00:90:1A:41:64:F5 authorized
	kernel does not support PPP filtering
	sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
	rcvd [IPCP ConfReq id=0x1 <addr 62.103.129.26>]
	sent [IPCP ConfAck id=0x1 <addr 62.103.129.26>]
	rcvd [IPCP ConfNak id=0x1 <addr 85.75.185.8> <ms-dns1 195.170.0.1> <ms-dns3 195.170.2.2>]
	sent [IPCP ConfReq id=0x2 <addr 85.75.185.8> <ms-dns1 195.170.0.1> <ms-dns3 195.170.2.2>]
	rcvd [IPCP ConfAck id=0x2 <addr 85.75.185.8> <ms-dns1 195.170.0.1> <ms-dns3 195.170.2.2>]
	not replacing existing default route via 10.0.0.138
	local  IP address 85.75.185.8
	remote IP address 62.103.129.26
	primary   DNS address 195.170.0.1
	secondary DNS address 195.170.2.2
	Script /etc/ppp/ip-up started (pid 5082)
	Script /etc/ppp/ip-up finished (pid 5082), status = 0x0

My kernel is 2.6.17.13

How can I debug this further?
Any help will be vastly appreciated.

jf.

#3 lore raw
In reply to jfj
Quoted 4 lines · Jerald Fitzjerald

I'm trying to setup a PPPoE in a Linux-From-Scratch system based on an old SuSE. Things seem to work, but although i use the options usepeerdns and defaultroute, pppd does not update the routing table nor
the resolv.conf.

Note that pppd writes to /etc/ppp/resolv.conf, not directly to /etc. If you want to use pppd's DNS information, either create a symlink, like this:

ln -s /etc/ppp/resolv.conf /etc/resolv.conf

... or write an /etc/ppp/ip-up script to transfer data as required.

Quoted 1 line
	default         10.0.0.138      0.0.0.0         UG    0      0        0 eth0

That existing default route will prevent pppd from installing its own default route. Pppd tries not to disrupt the existing routing table.

Either remove that route via eth0 before starting pppd, or find some other way (such as an active routing protocol) to compute the routes you need.

Quoted 6 lines

So I kill pppd and say:

route del default

and re-run pppd:
This time I have the routing table:

Right; as above, that's intentional.

Quoted 2 lines

But unfortunately, the network is unreachable. I try to connect to hosts by IP address, but I'm not getting any packets.

This sounds like a separate problem to debug.

Quoted 1 line
	rcvd [LCP ConfNak id=0x2 <mru 1500>]

What? That doesn't make sense with PPPoE.

Quoted 1 line

not replacing existing default route via 10.0.0.138

That explains the first default route problem. This doesn't look like a log from the second failing case (after deleting the eth0 route), though.

Quoted 2 lines

How can I debug this further?
Any help will be vastly appreciated.

More details are needed on the second failing case. Perhaps a tcpdump or ethereal trace on the Ethernet interface running PPPoE (eth0?) would help narrow things down.

Is it possible that you just have name service problems due to the resolv.conf confusion? Try "ping -n".

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