1 Introduction
This project or information is dead. I cannot release any code or further
information on it, other than what you'll find on this page. All communication
regarding it will be silently deleted. Apologies.
This page documents ongoing work on PsiStack - the freeware TCP/IP stack for
Psion's EPOC 16 range of palmtop computers. (The Series 3, 3a, 3c, Siena and
Workabout)
1.1 Frequently Asked Questions
This page is primarily a developer's resource, and as such, contains technical
information. This may not be what you're looking for - may we suggest that you
read the list of Frequently Asked Questions before
proceeding with this page!
1.2 What PsiStack Does
PsiStack will allow Psion owners to
connect to other computers via cable or
dial-up modem connections, and exchange information using the standard TCP/IP
internetworking protocols.
1.3 What PsiStack Does Not Do
Please note: this part of the project deals only
with the TCP/IP stack itself, from the physical layer to the application
programming interface. The applications which use this stack are
documented here. (A few sample applications are
shipped though...)
1.4 PsiStack and other freeware Psion developments
This software is being developed as
part of the Psion-Java project. For more information on this, visit our
official home page, at
http://www.geocities.com/SiliconValley/9577/, maintained by Dan
Ramage. Full release information will be found on Dan's pages; these pages are
a public display of the work as it progresses.
1.5 Licensing
All software and documentation
developed for the PsiStack project is freely available, and is placed under the
GNU General Public License.
2 How to Download PsiStack
Note: I *still* haven't been able to upload the files to Al's FTP server, so they're available from this page:
BIN007.ZIP, SRC007.ZIP and SDK007.ZIP. They should be available from Al's server real soon now. The links below won't work yet.
|
|
Downloadable development snapshots are available from
ftp://ftp.inet.alsutton.com/pub/psion-tcpip
Version 0.07a will be available from 25th August 1998.
You may need to hold down the right-shift key and click the above links to
download the files successfully using Netscape.
There are three files:
Installable package & Owner's manual |
BIN007.ZIP |
(218KB) |
PsiStack Software Development Kit & SDK reference |
SDK007.ZIP |
(100KB) |
PsiStack Source & Technical guide (includes SDK & Owner's manual as above) |
SRC007.ZIP |
(743KB) |
If you simply want to use PsiStack, you should just download the BIN archive.
If you are interested in helping with
the development of PsiStack just download the SRC archive. You can download BIN
if you like, or build it after you've installed the source (you'll be
downloading the Owner's guide twice though, if you download BIN as well). Consult the
technical guide for more in-depth information about installing the source
on your PC. The SRC package includes the SDK package, and the Owner's Manual,
so you don't need to download those separately.
If you are interested in developing
applications for use with PsiStack, download the SDK and BIN archives. Consult
the SDK reference guide for more in-depth information about installing the SDK
package on your PC.
Note:
As of version 0.05a, Matt stopped using Microsoft Word, with Internet Assistant
2.04z to write the documentation. It is now all in HTML/GIF format. Master
documentation files are in "HTML+", graphics are done with Visio 4.
These are available on request. Previous versions of the documentation were
available in PostScript for A4 and Letter printers. You'll have to produce these
from Netscape yourself, should you need a printed copy. Also, there is now no
separate documentation archive. The relevant documentation comes with the
relevant packages.
These documents are also available online from this site, although you may prefer to download them in archive form for local browsing:
Owner's Manual,
Technical Guide, and
Software Development Reference Manual.
3 Manual errata
The following points made it into the design and code after the manuals
were converted into PostScript, or have been noticed since. This
information will be in the documentation by the next release.
- The documentation is mostly out-of-date, and will be fully revised in the next
few versions.
- The screen shots in the manual are mostly out of date. Since the user
interface is to undergo some reworking in the next few releases, I didn't
update them.. In particular, selection of the data link layer protocol
is done in the ISP dialog.
4 Product status
4.1 Status at-a-glance
The following diagram shows roughly how much of PsiStack is complete. The blue
bits represent how "finished" I perceive the various components
of the stack to be. A full box indicates the bits that are finished. When
it's all done, we'll have a nice blue diagram. It's not exactly Peter Snow's
swingometer, I know :-)
This diagram will probably be updated
more often than the rest of this document - check back here from time
to time to see how far it's all going!
4.2 Status report
Although not ready for prime time yet, PsiStack is improving all the time!
The system has successfully been split into four separate processes, and the
APIs for user applications are almost finished, although the transport layer
and sockets API needs more work.
It can receive and decode IP datagrams, and pass them on to the local
pseudo-interface, from where they are dispatched to the higher-level
protocol handlers.
IP datagram fragmentation is working, reassembly is nearly there.
The memory allocation scheme may need some further work.
The IP router is working, but it's probably not finished. (There is a fairly serious bug in it.)
The stack sends and answers pings (ICMP echo requests), from another
PsiStack, and from my Linux box.
If you could test PsiStack with other SLIP connections,
please let me know what happens!!
4.3 Current tasks
I'm currently working on:
- the setup program, and its user interface
- database manager
- enhanced, user-friendly, flexible configuration system
- reassembly of IP datagrams
- the sockets library, and several other things I can't quite
remember :) Oh yes... user documentation...
Things to do, in the order they might get done:
- Fully test dial-up scripting language; add the new parser
- Sockets library
- IP datagram reassembly
- PPP (courtesy of Patrick Robbe et al!)
- TCP
- Sockets IPC messages (Raw Stack API) for IP, ICMP, UDP, TCP
- CSLIP
- DNS
5 Authors & Acknowledgements
Lead Stunt Programmer : Matt Gumbley
Dynamic Data Link Daredevil : Patrick Robbe
Master of the Mailing Lists : Al Sutton
Psion Java project & Web Pages : Dan Ramage, Sandy Anderson
Superb Scalable Setup Swami : Greg Smith
Architectural Advice : Chris Kantarjiev
Configuration & Setup ideas : Francois Thunus, Keld Laursen
Special Mentions : Jochen Siegenthaler, Darran Rimron, Ajai Khattri
The Testing Crew
Faye Pearson
Lars Lindstrom
The members of the psion-tcpip mailing list have also contributed greatly
to the development of PsiStack. Thank you all for your advice, pointers to
code and moral support!
So we don't end up coding until we're old and grey, we welcome others to take
on some parts :)
Email Matt at
matt@gumbley.demon.co.uk or
matt@psistack.inet.alsutton.com
if you would like to work on this exciting and important project! All offers
gratefully received! Assistance with writing the stack, testing, documentation
are all very much appreciated!
If you do take up the challenge and want to add to the body of code I'm
amassing, I'd appreciate it if you would adhere to my coding style, which is
described in the technical guide.
Please print out the owner's manual, I'd really appreciate your comments on
this. Even if you think "this man cannot write English", then I'd welcome
a constructive comment or two to help me improve my exposition!
6 Contacting us
Please direct all correspondence regarding PsiStack to our mailing list, which can be reached at:
psion-tcpip@listserv.inet.alsutton.com
To subscribe to this list, send a message to the mailing list server:
majordomo@listserv.inet.alsutton.com
containing a single line:
subscribe psion-tcpip
or
subscribe psion-tcpip-announce
depending on which of the two lists you wish to subscribe to.
The subject line is ignored; you may leave it blank.
The announce list
is for announcements, whereas the psion-tcpip list is mainly for developers.
You don't need to be on both: announcements go to both, but the developer
list can get technical. (But you're welcome to join that list, even if
you're not technically-minded, your answers to our questions are
extremely useful!)
We also have a
mailing list archive.
(C) Matt J. Gumbley 1998-2005 - All Tights Reversed
|