[RP-PPPoE] pppoe:read (asyncReadFromPPP):: Input/output error

Mike mike-rppppoe at tiedyenetworks.com
Fri Jul 30 10:52:23 EDT 2010


Jolly Shah wrote:
> Thanks for the reply Mike.
> Below are the observations:
>
> -> Yes ath0 is up and running
> -> It has write access to pid file /etc/ppp/pppoe.conf-pppoe.pid.pppoe
> -> /usr/sbin/pppoe -h gives help output
> -> command "/usr/sbin/pppd pty 'pppoe -I ath0' noauth user test
> password YOURPASSWORDHERE  debug" does not give any error.
> -> pppoe modules are built in the kernel. So I cant see them in lsmod.
> But they are present in the kernel otherwise it gives error saying
> kernel support is missing for pppoe.
>
> I have attached the full debug log of pppoe-start command. It gives
> "pppoe: read (asyncReadFromPPP): Session 7: Input/output error" after
> session confirmation request.
>   
Howdy,

    Ok so the interesting thing then is that you were able to run "pppd 
pty pppoe...." by hand, with a much stripped down command line, and you 
stated here that you got no error. If that is really the case then your 
machine is otherwise healthy and this is an invocation problem. The root 
of the problem seems to be that pppd is aborting as soon as it's run 
(your last packet states 'RP-PPPoE: System call error: Bad file 
descriptor'), if indeed it's actually getting launched at all.

    Questions:

    What does ls -l /dev/ppp show?
    Do you have local logging (like files in /var/log for example)? Do 
you see anything in it from pppd? What does it say?

    Bonus debugging:

    Do you have 'strace' available? Can you run 'strace -f -p <pid of 
rp-pppoe> 2> /some/temp/file'. Look for 'exec...' and see what cmd line 
args are being passed to pppd, and then a further exec... for pppoe and 
check those. You'll be looking for errors concerning open() and such 
most likely.

    If you don't have strace available... is your filesystem writable? 
can you try the following:

    mv /usr/sbin/pppd /usr/sbin/pppd.orig
    cat > /usr/sbin/pppd <<EOF
    #!/bin/sh
    echo $* > /tmp/pppd-args
    exec /usr/sbin/pppd.orig $*
    EOF
    chmod +x /usr/sbin/pppd

    and then try a run and see what's in /tmp/pppd-args?

Mike-
   



More information about the RP-PPPoE mailing list