Thanks
Keith
*****************************************************************************
Keith A. Tomkins * What disclaimer?
katm...@netcom.com * Nobody listens to me anyway.
*****************************************************************************
/sys/net/if_ppp.c needs some initialization:
*** 1.1 1994/12/22 01:06:35
--- if_ppp.c 1994/12/22 01:08:30
***************
*** 430,439 ****
--- 430,440 ----
MGET(m, M_WAIT, MT_DATA);
if ((*mp = m) == NULL) {
m_freem(m0);
return (ENOBUFS);
}
+ m->m_len = 0; /* <<<=== */
if (uio->uio_resid >= MCLBYTES / 2)
MCLGET(m, M_DONTWAIT);
len = M_TRAILINGSPACE(m);
if (len > uio->uio_resid)
len = uio->uio_resid;
You are not alone in the world :-)
I have no problem with PPPD running alone, but when I'am using TCP/IP
(with ftp by ethernet, or with other PPP by modem) the connection make
the system reboot (Fatal trap 12 : Page fault in kernel mode).
I think that our problems are similar, and will send you any information
if I find the solution ! (I'm trying to make a local dial-up server with
2 US Robotics V32bis, something like a internet-style 2-node BBS, for
ftp and httpd)
It's the only bug I've seen at this time. Maybe it's a good idea to post
an E-mail to the authors of pppd...
Pierre Revel - France
>/sys/net/if_ppp.c needs some initialization:
>
>
> return (ENOBUFS);
> }
>
> m->m_len = 0; /* <<<=== */
>
> if (uio->uio_resid >= MCLBYTES / 2)
>
-----------------------------------------------------------------------
Thanks a lot for the patch ! Now my FreeBSD system dials-up 4 lines
using PPPD + FTPD + HTTPD, and 4 US Robotics internal Sportster V32bis.
-----------------------------------------------------------------------
Pierre Revel
Yeah, the exact same thing is happening to me too. I am trying to run a
FreeBSD 2.0 machine as a ppp server. It is connected to an ethernet lan
(attached to the internet) and has two US Robotics modems being used
for the ppp links. It seems to work fine about 50% of the time, and once
a connection has been established it seems to work until the user hangs
up. It only crashes when the user first attempts to execute pppd. When
it traps it is always a fatal trap 12 in pppd during the initial negotiation.
Lee Feistel
Finally, I received the solution from the net.
You have to recompile your kernel and apply a (one line) patch
Look for the file /usr/src/sys/net/if_ppp.c
Look for the code :
m_freem(m0);
return(ENOBUFS);
}
m->m_len=0; /* ADD THIS LINE ! */
if (uio->uio_resid>=MCLBYTES/2)
MCLGET(m,M_DONTWAIT);
Try it ! I have no more problems and my computer drives 4 modems.
Best Regards,
---------------------------------
Pierre Revel - Semaphore - France
---------------------------------