This as a reminder for those who want to check for a newer version of
the nfsd, but have forgotten the address:
ftp.uni-erlangen.de:/pub/psion/local/
ftp://src.doc.ic.ac.uk/packages/psion/icdoc/ (generic address)

First of all:
  p3nfsd is not really an nfs daemon. You can't mount the psion  
  from another workstation, only from the one, where it is attached
  to via the serial cable. I used nfs, beause it is a portable way   
  to capture filesystem operations in a program. The daemon talks              
  to the opl program on the psion through a simple protocol.


Porting
  If your architecture is already supported then select the appropriate
  setting in the Makefile and type make, else you have to do some more 
  first (see PORTING).

Supported Architectures:
  - SunOS 4.1.3
    as the program is using hardware flow control, check out that the
    jumbo-tty patch from Nov 93, id 100513-4 is in your kernel.
  - hpux 9.03
    tar does not work yet, use gtar
    If you want to copy files > 16k please stop all biod's 
  - linux
    partly tested.
  - AIX 3.2
    Strange lockups when writing a file twice.
    Not well tested
  - Solaris 2.3/2.4
    as the program is using hardware flow control, check out that the
    patch 102028-01 (Sept. 94) for RTS/CTS is applied to your kernel.
    (If somebody needs the patch, and has NO other way to find it, ask
    caronni@tik.ethz.ch) Tested on exactly two machines.

Features:
  - type p3nfsd -help to see all options.
  - if you want to see the rom and the C drive on the psion, change the
    maxdev% variable in the opl program, and comment in the specific dv$
    lines.
  - psion3 users:
    start p3nfsd with th option -speed 9600
    and change the 16 in the rsset call to 15, and tell me a way
    how to do safe pointer arithmetics in the absence of uadd() 
  - If you want to enable the "automatic wakeup on demand" feature, you
    have to turn the switch in the LINK cable and start p3nfsd with the 
    -wakeup option. This option enabled causes a delay of about 3 seconds
    before an error is reported if the psion is not attached.

Install:
  - translate the opl program (nfsc.opl) on the psion.
  - compile p3nfsd (type make)
  - install with the root setuid bit on (needed for mounting), if you'd like
    to start it as non root user. 

Starting:
  - attach first your psion to the serial port, then start the opl
    program (not from within the translator), and at last the p3nfsd.
    You have to start it as root, if it's not already installed setuid.
  - Take care, that no login is running on the serial port. If you've
    started the p3nfsd once, there is no need to terminate it, simply
    detach the psion.
    You have to make sure, that the opl Program is running before you
    attach it again.
  - You can specify a UN*X program which is called each time the psion
    is connected (-conn option) and another one (-disconn) for the time
    it is disconnected.
  - The opl program prints a character for each request it receives.


Example:

  # mkdir /psion
  # mkdir /psion/mnt
  # cd /psion
  # ln -s mnt/loc::a: a
  # ln -s mnt/loc::b: b
  # ln -s mnt/loc::m: m
  # chgrp root.src /usr/local/bin/p3nfsd
  # chmod 4711 /usr/local/bin/p3nfsd

  % /usr/local/bin/p3nfsd -u joe -dir /psion/mnt -tty /dev/ttya
  % tar cvf /tmp/backup.tar /psion/m

Known problems
  - It is currently not recommended to mount the psion on top of an nfs
    mounted directory (problems with df)
  - setattribute is not implemented ->
    - tar may report problems after unpacking each file
    - you can't delete read-only files from the unix-side
  - please close all open files before doing a backup, as the files are
    opened exclusively by most programs (not nfsc.opl) and so they can't
    be read by anybody else.
IMPORTANT:
  - While nfsc is transferring data, please avoid any activity on the psion
    !!!!  AND SWITCH TO THE NFSC APPLICATION TO GET MORE PRIORITY !!!!
    (especially if writing on ssd), as such activity can lead to malfunc-
    tioning of the hardware flow-control :-( To be fixed in the C version
    of nfsc.
