8. Frequently Asked Questions

Contents of this section

This is a collection of questions I get asked once in a while, which could fall into the category of FAQ's. If you feel that there is some question that ought to be added to the list, please feel free to mail me (but do include an answer, thanks!).

8.1 How do I change the trace-level?

You can do this two ways: either change the default trace-level (the var `tracing' in file `ftape-rw.c') and recompile or say

        mt -f /dev/ftape fsr <tracing-level>

The use of the fsr command in mt is a hack, and will probably disappear or change with time.

8.2 Can I exchange tapes with someone using DOS?

No. The DOS software conforms to the QIC-80 specs about the layout of the DOS filesystem, and it should(?) be a small problem to write a program that can read/write the DOS format. In fact, I'd bet that creating a nice user interface would be a bigger problem.

8.3 How do I `....' with tar?

These are really tar questions: Please read the man page and the info page. If you have not got it either, try `tar --help 2>&1 | more'.

If your version of tar is v1.11.1 or earlier, consider upgrading to v1.11.2 - This version can call GNU zip directly (i.e.: it supports the -z option) and has an elaborate help included. Also, it compiles right out of the box on Linux.

8.4 ftape DMA transfers gives ECC errors

Sadly to say there are some SVGA cards and ethernet cards that do not decode their addresses correct. This typically happens when the ftape buffers are in the range 0x1a0000 to 0x1c0000. Somehow, the DMA write cycles get clobbered and every other byte written gets a bad value (0xff). These problems are reported to happen with both SVGA and ethernet cards. We know of at least one (bad?) ATI 16bit VGA card that caused this.

The easiest solution is to put the card in an 8bit slot (it is often not enough to reconfigure the card to 8bit transfers). Moving the ftape buffer away from the VGA range is only a partial solution; All DMA buffers used in Linux can have this problem! Let us make this one clear: This has nothing to do with the ftape software.

8.5 insmod says the kernel version is wrong

The insmod program checks the kernel version against the version recorded in the ftape driver. This is a string in kernel-version.h, (e.g.: #define KERNEL_VERSION "1.1.72";) which is extracted from the kernel you are running when you run `make dep'. If you got the error when you tried to insert the ftape driver, remove the file `kernel-version.h', type `make dep; make' again and the kernel-version.h file should be updated. Remember that you will have to do this every time you change to another kernel version.

Newer versions of insmod allows you to ``force'' insertion of a module into the kernel, even though the version string is incorrect.

8.6 insmod says that kernel 1.2.0 and 1.2.0 differ

This probably means that you have updated your modules utilities package to v1.2.8, but your kernel is older than v1.2.8. Upgrade your kernel.

8.7 ftape says ``This tape has no 'Linux raw format'''

You get this complaint, if you haven't erased your freshly formatted tape. This is because ftape wants a ``magic header'' on the tape, to be able that it is allowed to interpret the header segment in it's own way (eg: file marks). To remove the problem, say `mt -f /dev/nftape erase'

8.8 Where can I find the tar/mt/cpio/ddbinaries/sources/manpages?

All of these tools have been developed by the GNU project, and the source (and man page) can be fetched from just-about any ftp site in the world (including ftp.funet.fi, tsx-11.mit.edu, and sunsite.unc.edu). In any case they can be fetched from the official GNU home site: prep.ai.mit.edu [18.71.0.38]:/pub/gnu. The latest versions (by 26. march 94) are:

        cpio:   2.3 (cpio-2.3.tar.gz)
        dd:     3.9 (fileutils-3.9.tar.gz)
        mt:     2.3 (cpio-2.3.tar.gz)
        tar:    1.11.2 (tar-1.11.2.tar.gz)
        gzip:   1.2.4 (gzip-1.2.4.tar.gz)

They all compile out of the box on Linux v1.0.4 / libc v4.5.19 / gcc v2.5.8 (The rmt program does not compile out of the box, but it is probably not needed as it is only used for accessing the tape drive remotely). There is a patch for mt included in the ftape distribution, which makes the mt status command spew out usable information for ftape drives.

8.9 Where can I obtain the QIC standards?

If you wish to help developing ftape, or add some utility (e.g. a tape formatting program), you will need that appropriate QIC standards. The standard(s) to get is: QIC-80 and perhaps QIC-117. QIC-117 describes how commands are sent to the tape drive (including timing etc), so you would probably never need it. QIC-80 describes the tape layout, ECC code, standard filesystem and all such ``higher-level'' stuff. You can get the QIC standards from the following address:

Quarter Inch Cartridge Drive Standards, Inc.
311 East Carrillo Street
Santa Barbara, California 93101
Phone: (805) 963-3853
Fax:   (805) 962-1541

Note: They are registered as `Freeman Associates, Inc' in the phone book.

8.10 What block-size should I use with tar

When using compression, and in all general, it can be a benefit to specify to tar, that it should block the output into chunks. Since ftape cuts things into 29Kbyte blocks, saying `-b58' should be optimum.

``Why 29Kbyte?'', I hear you cry. Well, the QIC-80 standard specifies that all data should be protected by an Error Correcting Code (ECC) code. The code specified in the QIC-80 standard is known as a Reed-Solomon (R-S) code. The R-S code takes 29 data bytes and generates 3 parity bytes. To increase the performance of the ECC code, the parity bytes are generated across 29 1Kbyte sectors. Thus, ftape takes 29Kbytes of data, adds 3Kbytes of ECC parity, and writes 32Kbytes to the tape at a time. For this reason, ftape will always read and write 32K byte blocks to be able to detect (and correct) data errors.

If you are curious, and wish to know more, look in the ecc.c and ecc.h files, for an explanation of the code and a reference to a textbook on Reed-Solomon codes.

8.11 ftape detects more bad sectors than DOS on QIC-3020 tapes

If you look at the difference, you will notice that ftape always detects 2784 sectors more than DOS.

The number that ftape reports is correct (of course :-). Each correctly formatted QIC-3020 tape has 2784 sectors at fixed positions that are marked in the bad sector map. To quote from the specs:

``Tracks 5,7,9,11,13,15,17,19,21,23,25 and 27 within 4 segments of either EOT or BOT are prone to increased error rates due to hole imprints. Therefore, these regions shall be mapped as bad at format time and entered in the bad sector map by indicating that all sectors within the identified segments are bad.''

This gives 12 tracks * 2 * 4 segments * 29 sectors == 2784 sectors.

So ftape choose to report the real number of sectors that cannot be used on the tape, while DOS gives a more optimistic number giving a better indication of tape quality. (ftape's behaviour might change in the future to detect correct formatting and display the separate numbers. It has rather low priority though).

QIC-3010 are alike QIC-3020 tapes regarding this.


Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter