ftpd‑topfield patches to 0.7.7p (and puppy to 1.14p)

ftpd‑topfield patches to 0.7.7p (and puppy to 1.14p)

I've patched the standard ftpd‑topfield distribution (obtained from this site) to better handle multiple toppies being on the USB bus. Given that they will probably drop into standby mode when not doing anything you can't reliably 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.

Update - March 2011

A tidy up has been done and both utiltities moved to patch-level "p".

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

They also removes the use of any /tmp/puppy lock file from ftpd-topfield since claiming a USB device is exclusive anyway.
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.

The source files available here are:

These Pre-built binaries are available

The dynamically-linked libusb versions require that a version of libusb version 0.1.x (not 1.0.x) be installed on the system. If you don't already have that, use the statically-linked ones.
The download file-names reflect the build-style - you'll probably want to rename them to puppy and ftpd‑topfield before use.

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:

Both compilations also now have STATIC and LIBUSBLOC options to control libusb linking. See the top of the page for details.

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.
21 March 2011