plptools - Matt's work on User-Space UNIX-Psion tools
Table Of Contents
1 IntroductionI started writing a Linux-based User-Space PLP/NCP/RFSV stack, and also started investigating a kernel-based implementation. While working on this, Philip Proudman beat me to a working implementation (plp), which Fritz Elfert improved by merging with Rudolf Koenig's p3nfs/p5nfs, to produce plptools.
Fritz removed the RFSV16 (Psion Series 3) support from plptools, and so I'm adding it back in.
I'm also investigating proxying - discussions about this are taking place on the
firstname.lastname@example.org mailing list. It will allow processes on the Psion
to connect to processes on the UNIX system (and vice versa) via NCP, provided by
plptools' ncpd NCP daemon.
2 Contacting me about plptoolsPlease do not send patches/queries to my home mail address, matt at gumbley dot demon dot co dot uk, as I cannot rapidly respond to these. Instead, please send them to the main developer mailing list, linux-psion at geekstuff dot co dot uk.
(Sorry I can't use mailto addresses, they're too easily harvested by imbeciles)
3 Contacting me about plpI no longer work with the plp source code - please contact Philip Proudman for queries regarding this code.
4 Obtaining plptools
4.1 Fritz' ReleasesFritz' original plptools can be obtained from ftp://ftp.to.com/pub/psion
The latest version (as I write this) is 0.6.
5 What These Patches Do
Patches to plptools-0.6, collected by Matt Gumbley -------------------------------------------------- 1) Compilation patches to enable builds on Solaris. ftp.cc and ppsocket.cc 2) Christof Meerwald's patches so that ncpd can autoterminate (-e option), and patch for mgetty PLP autodetection (in the new patches directory), also a patch to make the connection more stable. 3) Peter Cherriman's patch which fixes the "one hour out" bug, which "...is that a file timestamp is sometimes different when you do a "ls -l" on a mounted psion, than the timestamp listed by the properties box on the psion. My previous fix, no longer worked when the daylight saving changed. Linux stores timestamps internally as the number of seconds since the EPOC in UTC(GMT). However the psion seems stores timestamps as the number of seconds since the EPOC. However the EPOC in defined relative to the currently set timezone on the psion. My new fix takes into account the timezone and DST status provided by the linux system, it now works in by GMT(UTC+0) and BST(UTC+0+DST), but I haven't tested it very much in other timezones, but I think it works. It provides the correct timestamps apart from files created within a hour of a DST change, however this can't be helped due to the strange way the psion stores timestamps and handles timezone and DST." 4) Added --with-mountdir option to configure to allow the plpnfsd mount point to be specified at build time. Default is /mnt/psion. 5) Added /dev/psion at the start of the serial ports probed for. 6) Peter Cherriman's patch that fixes compilation of ftp.cc on some platforms. 7) Jim Hague's patches for SIBO, and later Linux Kernels, from Feb 2000. My apologies to Jim for not merging these sooner. He says: "I've been doing a little work on getting plptools working with my 3a. ... I have plpftp working for file transfer and plpnsfd also working, at least sufficiently to back up my 3a. I have also modified the include files required for the Linux build so that it works with a 2.2 series kernels with the NFSv3 patch applied; actually, all I've done is copy the relevant bits of the old NFSv2 headers. It all seems to work with my 3a, though compared to p3nfsd plpnsfd seems very slow at listing directories - when time permits I shall take a closer look. In addition to my English 3a (v3.22F) I have also tried it on an Italian 3a (v3.40F). The latter exhibits some curious behaviour - if you start ncpd, run up plpftp and quit plpftp, the 3a closes its serial port down (drops CTS and DSR) and seems to need a reset before it will re-open the serial port. Again, when time permits I shall see if it does this when using PsiWin." Other parts of Jim's patch: "Which reminds me - 0.6 doesn't seem to have working copyFromPsion and copyToPsion. I've fixed it up and tidied up the retrieval of Owner Infomation a little - 3as anyway send lots of \0\0\0\0\0, each of which was being displayed in plpftp as a blank line. " Jim's patch removes lots of diagnostics in the rfsv16 code, and looks like it fixes lots of stuff I hadn't got round to
5.1 Earlier workYou can ignore this section, it's here for posterity.
RFSV16 support is still unfinished, but it moderately useable. Although I'm releasing a patch against Fritz' 0.4, it isn't quite ready to be merged (unless Fritz thinks otherwise!)
Until it's finished, you'll have to make do with these development snapshots:
My changes are documented in the README.mjg file, reproduced below. This might be more up-to-date than the one in the above snapshot, as it gets built into this page from my development tree whenever my website gets autoregenerated.