[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] Re: PPP disconnect problem
From: |
yueyue papa |
Subject: |
[lwip-users] Re: PPP disconnect problem |
Date: |
Fri, 6 Aug 2010 07:48:51 +0800 |
I found the problem:
void
pppLinkTerminated(int pd)
{
PPPDEBUG(LOG_DEBUG, ("pppLinkTerminated: unit %d\n", pd));
#if PPPOE_SUPPORT
if (pppControl[pd].ethif) {
pppoe_disconnect(pppControl[pd].pppoe_sc);
} else
#endif /* PPPOE_SUPPORT */
{
#if PPPOS_SUPPORT
PPPControl* pc;
pppRecvWakeup(pd);
pc = &pppControl[pd];
pppDrop(&pc->rx); /* bug fix #17726 */ 《===
Whether the pppDrop needs to call here?
The frame is dropped, but is process later.
In the log:
pppInput[0]: packet processed
I has not find the proper solution now.
Lee
On Thu, Aug 5, 2010 at 6:08 PM, yueyue papa
<address@hidden> wrote:
Hi All,
I meet the PPP disconnect error in different task configuration.
If PPP task has higher priority, every thing is ok
########################
sifdown: unit 0: linkStatusCB=0x2013aabc errCode=-5
pppLinkStatusCallback: PPPERR_CONNECT
IPCP: lowerdown state 9 (LS_OPENED) -> 1 (LS_STARTING)
IPCP: close reason=LCP down state 1 (LS_STARTING) -> 0 (LS_INITIAL)
pppLinkDown: unit 0
pppRecvWakeup: unit 0
ppp_send_config[0]: outACCM=FF FF FF FF
ppp_recv_config[0]: inACCM=0 0 0 0
pppWrite[0]: len=29
fsm_sdata(LCP): Sent code 5,2,16.
LCP: close reason=User request state 9 (LS_OPENED) -> 4 (LS_CLOSING)
pppRecvWakeup: unit 0
pppInProc[0]: got 29 bytes
tcpip_thread: CALLBACK 0x201a0b08
pppInput[0]: LCP len=16
fsm_input(LCP):6,2,16
fsm_rtermack(LCP): state=4 (LS_CLOSING)
link_terminated: 0
Connection terminated.
pppLinkTerminated: unit 0
pppRecvWakeup: unit 0
pppLinkTerminated: unit 0: linkStatusCB=0x2013aabc errCode=-5
pppLinkStatusCallback: PPPERR_USER
pppLinkTerminated: finished.
pppInput[0]: packet processed
LOG_DEBUG |:SEND[ATH0
]
pppInProc[0]: got 14 bytes
LOG_DEBUG |:Re-Send[ATH0
]
LOG_DEBUG |:RECV[6]
LOG_DEBUG |:201d4ed0 : 0d 0a 4f 4b 0d 0a | ..OK.
####################################
If PPP task has lower priority, I meet the pbuf assert
#####################
pppClose() called
pppClose: unit 0 kill_link -> pppStop
pppStop: unit 0
link_down: 0
upap_lowerdown: 0 s=4
ipcp: down
np_down: 0 proto=21
sifdown: unit 0: linkStatusCB=0x2013aabc errCode=-5
pppLinkStatusCallback: PPPERR_CONNECT
IPCP: lowerdown state 9 (LS_OPENED) -> 1 (LS_STARTING)
IPCP: close reason=LCP down state 1 (LS_STARTING) -> 0 (LS_INITIAL)
pppLinkDown: unit 0
pppRecvWakeup: unit 0
ppp_send_config[0]: outACCM=FF FF FF FF
ppp_recv_config[0]: inACCM=0 0 0 0
pppWrite[0]: len=29
fsm_sdata(LCP): Sent code 5,2,16.
LCP: close reason=User request state 9 (LS_OPENED) -> 4 (LS_CLOSING)
pppRecvWakeup: unit 0
pppInProc[0]: got 29 bytes
tcpip_thread: CALLBACK 0x201a0b08
pppInput[0]: LCP len=16
fsm_input(LCP):6,2,16
fsm_rtermack(LCP): state=4 (LS_CLOSING)
link_terminated: 0
Connection terminated.
pppLinkTerminated: unit 0
pppRecvWakeup: unit 0
pppDrop: pbuf len=16, addr 0x201c60d4
pppLinkTerminated: unit 0: linkStatusCB=0x2013aabc errCode=-5
pppLinkStatusCallback: PPPERR_USER
pppLinkTerminated: finished.
pppInput[0]: packet processed
Assertion "pbuf_free: p->ref > 0" failed at line 566 in pbuf.c
############################
lwIP 1.3.2 no problem.
My version is an early 1.4.0 CVS version
Is there any hint for me ?