hmm...
0.) adding pty's is pretty easy. Just grab the BSD code and start
hacking. Grab the original version of Steven's book - he will talk to you
through it in detail. It's a two drivers, the control (ptyX) and the
slave (ttypX) . Having them in your system is handy anyway for a number
of things besides networking (like the expect(1) program).
1.) Larry's memory might be better than mine but I did not think streams
shows up until System V.3. I have an old PWB 3.0 (System III) manual and
see no evidence of streams in it. Given that Dennis did not create them
until the V8 tty driver, and then later, the Summit guys use the streams
interface for networking, I'm not surprised its not in System III. So I
think using streams is likely to be a dead end.
2.) Perry Flinn, Bob Doolittle, and I spliced BSD sockets and the 4.2 stack
into a System III -ish kernel for the Masscomp's RTU. So it's definitely
doable - although work. The biggest issue is that the memory systems
between BSD and System III are different. So Rob Gurwitiz's old mbuf code
will need to be hacked. Definitely get a copy of Steven's, maybe the
current BSD book and go for it.
3.) One other thought if all you want to a solid IP/TCP network stack and
can forgo the sockets API, then you might try to find the old BBN
distribution for BSD 4.1 (Vax) -- which is what Joy started with[remember -
Berkeley did not have contract for IP/TCP support for the Vax, BBN did -
joy took the BBN code and redid it). By definition its is a FOSS - because
the US tax payer paid for it - although I'm not sure where to find the code
these days (google in your friend). Anyway, the BBN stack splices into
the kernel with one small hook (a hack in nami - similar to the MIT
ChaosNet stack) but otherwise things just look like devices: i.e.
open("/dev/tcp",...) or instead of socket(...) There was a later
version/distribution from BBN that included the BSD sockets code as an
update for 4.2, but was the BBN guts (we actually used that version for the
Stellar machine - splicing it into a System V3 based kernel after adding
the BSD APIs).
4.) It strikes me that it would be easiest of all to just take something
like a $20-$30 "Wiznet" 5100 board from Sparkfun and interface it to the
system either via serial or better if you have a parallel port. Then run
the IP/TCP stack externally. This is what we do for Arduino's and other
small micro controllers - the board is well documents and easy to talk
too. They have both RJ45 style and wireless too. I have a hand full of
them here and am pretty happy with them for what they provide.
The fact is that for the Masscomp system originally, we ran the IP/TCP
stack in a coprocessor (in that case an 186) for realtime reasons (we did
not want networking to interrupt the main processor which was 10MHz 68K).
But when we finally went to the '020 the processor was so much faster, we
put the stack into the kernel and just use the co-processor as a very large
buffer.
Anyway - the idea is that the system hacking for a tcp stack become very
small, just a driver. You don't get things like UNIX domain sockets, but
if what you want it telnet/ftp and the like - a cheap coprocessor like the
Wiznet should work fine.
Clem
On Sat, Nov 7, 2015 at 2:20 PM, Larry McVoy <lm(a)mcvoy.com> wrote:
So this seems pretty tough, 16 bit machine and all.
If you were to get
it to work it would probably be with Lachman's STREAMS based TCP/IP.
No idea if that was open sourced.
On Sat, Nov 07, 2015 at 08:03:58PM +0100, Oliver Lehmann wrote:
Hi,
i have an old Z8001 based SysIII variant and I would love to have
TCP/IP on it (SLIP first, later with a homebrew ethernet device).
I wonder if someone ever saw TCP/IP available on a System III?
I have lets say 90% of the kernel running on it as source
available and I started digging in the available 4.2 BSD sources.
It looks like there would be much to do to hack in TCP/IP on my
own (no IPC, no Net, no PTY, no....).
I got K5JB running (userland TCP/IP implementation) after I fixed
some C code because the C Compiler available on the system is.....
kinda limited.
telnetd is of course not working as there are no pseudo-teletypes
on this SYSIII. At least I got ping, echoping and ftpd up and
running via SLIP
(10.1.1.2 is my SysIII box:)
# ping -c3 10.1.1.2
PING 10.1.1.2 (10.1.1.2): 56 data bytes
64 bytes from 10.1.1.2: icmp_seq=0 ttl=254 time=316.317 ms
64 bytes from 10.1.1.2: icmp_seq=1 ttl=254 time=297.328 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=254 time=296.369 ms
--- 10.1.1.2 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 296.369/303.338/316.317/9.186 ms
# ftp 10.1.1.2
Connected to 10.1.1.2.
220 FTP version K5JB.k37 ready at Tue Apr 30 22:25:47 1991
Name (10.1.1.2:root): test
331 Enter PASS command
Password:
230 Logged in
ftp> get sa.timer
local: sa.timer remote: sa.timer
500 Unknown command
500 Unknown command
200 Port command okay
150 Opening data connection for RETR sa.timer
2571 0.53 KB/s
226 File sent OK
2571 bytes received in 00:05 (0.48 KB/s)
ftp> get wega
local: wega remote: wega
200 Port command okay
150 Opening data connection for RETR wega
98723 0.51 KB/s
226 File sent OK
98723 bytes received in 03:05 (0.51 KB/s)
ftp> exit
221 Goodbye!
#
So I wonder if someone got anything SYSIII -> Net/TCP/IP related
which could help me in any way to get a SYSIII kernel capable of
TCP/IP and PTYs to get a telnetd up and running via SLIP is my
first goal.
Regards,
Oliver
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
--
---
Larry McVoy lm at
mcvoy.com
http://www.mcvoy.com/lm
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs