Subject: Does PPP work on MacPPC?
To: netbsd-port-macppc <port-macppc@netbsd.org>
From: Donald Lee <donlee_ppc@icompute.com>
List: port-macppc
Date: 12/11/2000 02:44:03
Can anyone verify for me that PPP works on MacPPC with NetBSD 1.4.x or
1.5?  I've been
trying, and am closer, but have spent some effort on this, and
have tentatively concluded that it's broken.

Dial in, dial out, any direct experience wanted.  I've been struggling
with dial-in.  I've not tried to dial out.

First, I seem to have found a problem with the pppd source.

The following change seems necessary if you want to allow dial-in.
The deleted statements prevent the calling compound if() at line 342
from ever seeing the ipaddr spec if provided in ppp/options.ttyname.

I think the code is wrong, because it should not check override or
inspeed until *after* it has determined that the input string is
a number.  The code, as is, returns "success" any time it's parsing
an options.xxx file and a speed is already set, which prevents
processing the IP address.

/usr/src/usr.sbin/pppd/pppd/options.c:
*** options.c   Tue Oct 17 12:50:28 2000
--- options.mod Mon Dec 11 00:21:55 2000
***************
*** 1348,1355 ****
      char *ptr;
      int spd;

-     if (no_override && inspeed != 0)
-       return 1;
      spd = strtol(arg, &ptr, 0);
      if (ptr == arg || *ptr != 0 || spd == 0)
        return 0;
--- 1348,1353 ----

Once this code is removed, I can dial in, and I can get it to
negotiate an IP address for my PPP client.

Once that's done, though, I have other problems.

The PPP traffic seems to refuse to be routed anywhere but the machine
running pppd.  I also have some odd behavior with delays on the serial line
where "ping" operations seem to acquire a latency equal to the
ping interval, no matter what it is.  It looks to me like the
line turnaround (data coming back the other direction) is triggering
the response from the remote machine somehow.

I get similar behavior with a Cyclades 8Y card, and with a "remote serial"
widget that I wrote that allows me to shuttle the PPP characters
through a pty and over the network to a remote machine.  My "remote serial"
works OK between two 68K machines, but has the above troubles with PPC.

local "built-in" serial on the PPC seems not to work except for
9600 baud on tty00 for the console.

And last but not least, the Cyclades 8Y board seems to work OK for
a while, but the locks up, unwilling to do anything at all until
I reboot the machine. "A while" varies, but seems to be
most frequently one PPP session.

TIA,

-dgl-

P.S.  NetBSD 1.3.3 on a 68K mac works very well as a PPP dial-in
box.  Reliable, stable, sufficiently fast...