# Kernel mode PPPoE dosn't work or Penguins DO ROAR!!!

## asimon

Okay, no problems with pppoe (user-mode).

In the Tips&Tricks section of the forum there is this HOWTO for kernel-mode PPPoE . I followed the steps there but it doesn't work!

First problem: pppd segfaults.

```

# /etc/init.d/net.ppp0 start

Bring eth0 up...                                                    [ ok ] *

Bringing ppp0 up...

Plugin pppoe.so loaded.

PPPoE Plugin Initialized

/sbin/runscript.sh: line 526:  4138 Segmentation fault      /usr/sbin/pppd

${CMD_LINE} ${MODEMPORT} ${LINESPEED} ipparam ${IFACE} linkname ${IFACE} call

${PEER} noauth ${PPPOPTIONS} hide-password

[ ok ]

```

This is caused by an error in the posted HOWTO. The error is in /etc/conf.d/net.ppp0. When specifying PERSIST="yes", one must also specify RETRYTIMEOUT=n, where n is a number. So after putting a 

```

RETRYTIMEOUT="60"

```

in /etc/conf.d/net.ppp0, pppd segfaults no more.

On to the next problem.

After setting DEBUG=yes, I get the following messages:

```

Aug 25 14:40:01 obsidian pppd[10758]: Plugin pppoe.so loaded.

Aug 25 14:40:01 obsidian pppd[10758]: PPPoE Plugin Initialized

Aug 25 14:40:01 obsidian pppd[10806]: pppd 2.4.1 started by root, uid 0

Aug 25 14:40:01 obsidian pppd[10806]: Sending PADI

Aug 25 14:40:01 obsidian pppd[10806]: HOST_UNIQ successful match

Aug 25 14:40:01 obsidian pppd[10806]: HOST_UNIQ successful match

Aug 25 14:40:01 obsidian pppd[10806]: Got connection: 1912

Aug 25 14:40:01 obsidian pppd[10806]: Connecting PPPoE socket: 00:90:1a:40:04:f6 1219 eth0 0x808ca48

Aug 25 14:40:01 obsidian pppd[10806]: using channel 21

Aug 25 14:40:01 obsidian pppd[10806]: Using interface ppp0

Aug 25 14:40:01 obsidian pppd[10806]: Connect: ppp0 <--> eth0

Aug 25 14:40:01 obsidian pppd[10806]: Couldn't increase MTU to 1500.

Aug 25 14:40:01 obsidian pppd[10806]: Couldn't increase MRU to 1500

Aug 25 14:40:01 obsidian pppd[10806]: sent [LCP ConfReq id=0x1 <mru 1492> <magic 0xc0053810>]

Aug 25 14:40:01 obsidian pppd[10806]: rcvd [LCP ConfReq id=0x94 <mru 1492> <auth pap> <magic 0x4b28dc4a>]

Aug 25 14:40:01 obsidian pppd[10806]: sent [LCP ConfRej id=0x94 <auth pap>]

Aug 25 14:40:01 obsidian pppd[10806]: rcvd [LCP ConfAck id=0x1 <mru 1492> <magic 0xc0053810>]

Aug 25 14:40:01 obsidian pppd[10806]: rcvd [LCP ConfReq id=0x95 <mru 1492> <magic 0x4b28dc4a>]

Aug 25 14:40:01 obsidian pppd[10806]: sent [LCP ConfAck id=0x95 <mru 1492> <magic 0x4b28dc4a>]

Aug 25 14:40:01 obsidian pppd[10806]: cbcp_lowerup

Aug 25 14:40:01 obsidian pppd[10806]: want: 2

Aug 25 14:40:01 obsidian pppd[10806]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]

Aug 25 14:40:02 obsidian pppd[10806]: rcvd [LCP TermReq id=0x96]

Aug 25 14:40:02 obsidian pppd[10806]: LCP terminated by peer

Aug 25 14:40:02 obsidian pppd[10806]: cbcp_lowerdown

Aug 25 14:40:02 obsidian pppd[10806]: Couldn't increase MTU to 1500.

Aug 25 14:40:02 obsidian pppd[10806]: Couldn't increase MRU to 1500

Aug 25 14:40:02 obsidian pppd[10806]: sent [LCP TermAck id=0x96]

Aug 25 14:40:05 obsidian pppd[10806]: Connection terminated.

Aug 25 14:40:05 obsidian pppd[10806]: Doing disconnect

Aug 25 14:40:05 obsidian pppd[10806]: Exit.

```

No connection is etablished. Even after setting MTU=1492 and MRU=1492 in /etc/conf.d/net.ppp0, pppd still wants to increase MTU and MRU to 1500.

I found this message in the forum where firaX seems to have the same problem. He fixed it in using pppd-2.4.2b2. But the HOWTO in the forum doesn't use a beta pppd, but the usual stable one in Portage, i.e. net-dialup/ppp-2.4.1-r14, which AFAIS includes kernel-mode pppoe patches.

So does anyone has an idea what's wrong?

Thanks.

----------

## Jyrinx

firaX's message refers to Roaring Penguin's kernel-side support; the HOWTO doesn't use rp-pppoe. (I think.)

Jyrinx

jyrinx_list@mindspring.com

----------

## asimon

 *Jyrinx wrote:*   

> firaX's message refers to Roaring Penguin's kernel-side support; the HOWTO doesn't use rp-pppoe. (I think.)
> 
> 

 

That's right but the problem looks similar.

Anyhow I got it working. I used the dsl mini-howto from gentoo.de. The big difference is that there are much more parameters with which pppd get called. So I guess my problem was that some madatory parameter for pppd was not defined.

I still get warnings "Couldn't increase MTU to 1500.", even through I define a smaller MTU value, but it looks like everyone using kernel mode pppoe gets this. It seems to be a bug in pppd.

----------

