FTPD/CMD and FTP1D/CMD, the File Transfer Protocol servers
FTPD/CMD and FTP1D/CMD are full-featured File Transfer Protocol (FTP) servers. When running, they provide Ethernet file transfer capability on the network.
FTPD [-L <log_level>] [-I] [-S] [-B] FTP1D [-L <log_level>] [-I] [-S] [-B]
FTPD allows up to four simultaneous connections from clients, and requires 48KB RAM. FTP1D (LDOS only) is the same as FTPD, but only allows a single connection. This permits FTP1D to be used with only 32KB of RAM.
Press <BREAK> to exit FTPD.
When connecting to the server, the root directory "/" contains numbered virtual directories, one for each TRS-80 hard drive partition or floppy disk drive. Files cannot be written to the root directory. Within each drive's virtual directory, all files are "owned" by whatever name you logged in with, and the group specified in the NETWORK/CFG file. The slash character (/) between filenames and filename extensions is converted to a dot (.) by FTPD.
In order to access password-protected TRS-80 files, log in using their password or the LDOS system password RS0LT0FF (zeros not the letter 'O') which can be used to access any file.
Within text-based FTP clients, filename wildcarding is done LDOS style--without using asterisks. For example, to list all filenames starting with the letters "ba", the command "dir ba" is used. To download all such files, "mget ba". To list all executables, "dir .cmd".
The file MOTD/TXT (Message Of The Day) is sent to FTP clients when connecting to the server as a login greeting. Some clients display its contents, some do not.
The -L argument specifies the verbosity of log messages displayed on the screen. Level 0 displays almost nothing and level 3 displays pretty much everything that happens. The default log level is 1.
The -I and -S switches specify that the server should by default show Invisible and/or System files in directory listings. These switches override the corresponding settings in the NETWORK/CFG file.
The -B switch (for LS-DOS only) specifies that the server should bypass LS-DOS file passwords. This is sometimes necessary to retrieve or store password-protected files, since LS-DOS does not implement a system override password. Use this switch sparingly, and only when you are certain no outside parties might be accessing the server.
You can connect to the server using Windows Explorer and many other applications. In the address box, type in "ftp://<your M3SE IP address>", where the IP address is specified in your DHCP/CFG file. If you've correctly set up your PC's hosts file, you could also use something like "ftp://trs-80", or with an account and password, "ftp://username:rs0lt0ff@trs-80".
Be aware that text file line endings are encoded differently on the TRS-80 than the PC. Using a command-line FTP client, you can specify ASCII mode and the software will perform the translation. Windows Explorer doesn't provide this functionality, so if you download a TRS-80 text file to your PC and look at it in Notepad, it'll look wrong (although Emacs handles it properly). Some clients like Filezilla perform Netascii translation based on the filename extension.
Important note: If you use Filezilla (and this probably applies to some other client software) you must turn off the transfer timeout, because the TRS-80 is far slower than the client expects. Under Edit->Settings->Connection, set the timeout value to 0 to disable it.
PC network Firewall software can sometimes interfere with FTP communication. If you have problems, make sure that TCP ports 20 and 21 are unblocked. I've noticed that under Norton 360, blocking these ports seems to be the default. To override this, you need to navigate to Settings->Firewall->Traffic Rules and Add a new rule to allow traffic on TCP ports 20 and 21.