ftpd‑topfield patches to 0.7.7n (and puppy to 1.14o)

ftpd‑topfield patches to 0.7.7n (and puppy to 1.14o)

I've patched the standard ftpd‑topfield distribution (obtained from this site) to better handle multiple toppies being in the USB bus. Given that they will probably drop into standby mode when not doing anything you can't reliable refer to specific ones by the order they appear on the USB bus, as the result of that depends on which ones are on at any given time.

Similar patches have now been applied to puppy. I've also added code to ignore crc checks on packets with zero checksums, so you don't need to specify the -i option if you have the USB Accelerator patches on your Toppy. The orginal code was collected from here.
NOTE:After installing version 1.14n on a Plug Computer I noticed that syslog reported a reset and failure to claim the device beforer use. So I've extended the puppy patch from the original one to claim the device in the same way that ftpd-topfield does.

The patches here use libusb to scan the bus for devices specified by the --devices option (or -X, which is now activated):

It also removes the use of any /tmp/puppy lock file since claiming a USB device is exclusive anyway.
NOTE:
This also removes the ability to pre-empt another ftpd‑topfield process which currently owns the device when it gets back to waiting for its next command.

25 May 2009 - minor changes to remove some compilation warnings.

The source files available here are:


These Pre-built binaries are available

Compiling ftpd‑topfield

I have intended to make the original code builds still work. The build method is to unpack the source, cd to the ftpd‑topfield directory and run:

Compiling puppy

Similarly the intent is to allow original code builds still work. The build options are to unpack the source, cd to the puppy directory and run:

The Toppy USB protocol

Since you (and I) may wish to know what this is I've extracted a copy of USB_Dll_(09Jun2004).pdf from this zip file. It's here as USB-protocol.pdf.
27 Aug 2009