[comp.os.xinu] New Port - advice requested

brian@ucsd.EDU (Brian Kantor) (06/10/88)

I'm in the process of porting Xinu V7 to an 80186-based network
controller - the SANDPAC PS-186.  This is a fast little board designed
to be a dedicated network controller for the Amateur Packet Radio
Network.  It has four serial channels capable of running async or HDLC
at up to 1 Mbit/S each simultaneously, 256K of static battery-backed
RAM, and some other nifty things related to its intended purpose as an
automated unattended radio-system controller (probably living in some
weatherproof box on a snow-covered mountaintop).

The architecture doesn't look much like a PC or AT - the interrupt
controller and DMA are QUITE different - and there's no console nor
keyboard.  The timers, time-of-day clock, and parallel ports are
different too.  We couldn't have kept the hardware the same as a PC or
AT and still gotten the kind of performance out of it that we need.
Oh, it does have an NCR SCSI controller, so it IS possible to attach a
hard drive controller to it (a DTC or Xebec are available here), but the
final system will probably be loaded from EPROM - or uploaded over the
radio network link by a simple loader in EPROM, since ordinary disks
won't take the environment.

I've started by using as much of the V7 Xinu as seems to port directly,
and grabbing large pieces of the V6 8086 Intel-board port.

The intent is to have a box that is a very efficient IP switch that
knows how to do ARP, speak AX.25 over HDLC (that's the legally-required
radio networking protocol) and to provide some services like Telnet.
As you might guess, I've never ported something quite this large before,
and I'd like to reduce the amount of error in the inevitable
trial-and-error part.  It would help if it weren't quite such a trial,
too.

I'd appreciate any suggestions on methods of attack.  Clearly the first
thing to do is get some of the very low-level kernel stuff working -
I've already got kputc and kprintf working.  I suspect that interrupt
handling is next.  I'm told we may have an 80186 in-circuit emulator
available in a few months, but that's not certain yet.

I'd also like to know what the restrictions would be on giving away
copies of the software when it's all working.

	Brian Kantor	WB6CYT	UC San Diego   brian@ucsd.edu

comer@PURDUE.EDU (Douglas Comer) (06/10/88)

Brian,

   You're off to a good start with kprintf and kputc.  The rest of the advice
is common sense: add one device driver at a time, testing as you go.  Lot's of
people boot Xinu from ROM or upload it, so that shouldn't be a problem.  You
might be able to squeeze it into EPROM (V7 on the LSI fits into 56K bytes,
and that includes data, bss, and stack).

   As for giving it away, that's fine.  You can even charge for a product
that contains Xinu as long as you charge only for the other parts and
not for Xinu itself.

   Is the SANDPAC board generally available? How much does it cost?

   What speed will the radio links support?

Regards,
Doug

brian@UCSD.EDU (Brian Kantor) (06/10/88)

I'm told that the SANDPAC board will be marketed in kit form for
something around $200 or so by the Tucson Amateur Packet Radio group,
and in some fully-assembled version (probably around $500 or so)
by a ham radio manufacturer.  It's primarily aimed at the ham
radio market, but every other ham packet radio product has been
snapped up by non-ham users, so I wouldn't be surprised if that
happened with this one too.

I have one of 10 prototypes.  The others are out at various places
around the country where similarly demented people such as myself
are porting things to it: other kinds of networking code, such as
the Net/Rom product (a proprietary datagram forwarding system);
and Phil Karn at Bellcore has one he's playing tcp/ip with.  I'm
told that the board has also been made to run some version of MS-DOS
(ecch).

The radio link speed is limited by legal bandwidth restrictions
for the most part.  1200 bps is by far most widely used, since with
inexpensive modems it occupies about the same radio bandwidth as
a voice signal and so is well tolerated by the other users of the
ham bands.  9600 bps is used in some less-dense areas of the ham 
bands.  A prototype 56Kbit radio modem is available from some
experimenters in Florida for about $200 or so in partial-kit form,
but you have to add about $500 of parts and radio to complete that.

More information on the SANDPAC PS-186 board is probably available 
from the developers (write to mike@net1.ucsd.edu).  A paper discussing 
the hardware design issues was published in the 6th ARRL Computer
Networking Conference Proceedings, available for under $20 from
the American Radio Relay League in Newington, Connecticut, or at
large ham radio stores in your hometown.  Those Proceedings and
earlier ones also present the evolution of digital communications
in the ham radio field, and might be interesting reading.  There is 
also a USENET newsgroup and corresponding Internet mailing list for ham 
packet radio topics.

Thanks for the advice!
	- Brian