=========== ftape-0.9 =========== 30/06/93 SJL ========== Now what's this ?: This is the first release of my driver for the QIC-40 and QIC-80 type mini-cartridge tape drives. (Yes another one) It supports those drives that are attached directly to the floppy disk controller, according to the QIC-117 spec. (The parallel port type drives are _not_ supported yet !) The driver should need no modification to work with a Colorado Jumbo 120 or 250 drive, although I only tested the Jumbo 120. Can I use it ?: Probably not. Although you should be able to make a backup with for example tar when the tape has no defects. This is still alpha code, intended to be tested, not used for critical backups. The writing part is implemented for only 3 days now and barely tested. Retries and bad sector handling are not even implemented yet. Then, why this release ?: I would like feedback on some areas, and could use some help on others. First of all, different hardware configurations should be evaluated: Slower/Faster systems with tape drives from other manufacturers. Secondly, I'd like someone who knows what he's doing to look at the ecc code. I've had to make some strange hacks to get it running. Third: How is the cooperation with other parts of the system. I don't have the NET-2 code running. The interrupt latency could be very long (I haven't tested this yet) and the serial drivers could drop characters when the tape is used. Experiments with the number of tape buffers to keep the drive streaming on different systems need to be done too. Last: I'd like to get suggestions on implementation of f.e. end-of-file marks, major/minor device numbers, sharing the fdc, irq & dma with the floppy driver, a way to allocate the tape buffer dynamically, etc. etc. What's this `modules' stuff ?: The code relies on (my own port) of the modules package that can be found on most ftp sites. I've included my patches and the modules code with the driver, but I'm not sure if it is complete. So get the complete modules package if something seems to be missing and use my patches to get it working with the driver. Do I _need_ `modules' ?: For now, yes. If you know what you're doing you could hack the driver into the kernel, but dynamic loading is preferred in this stage. It is large !: That's because it's full of debugging code that was needed to find out how these damned drives are working. It is also using a large buffer in kernel space that is declared static as long as there is no better way to it. What about QIC-40 and QIC-80 ?: The driver implements a raw *nix tape device, to be used with tar, dump or cpio. I'm not adhereing to the QIC-40/80 specs for the volume and file tables. Nor do I have the intention to implement this in the future. The only parts of the spec used are the bad sector tables, the header segments and the ecc implementation. You'll probably need MS-DOS to format your tapes (So finally you know what MS-DOS is good for), or buy them formatted. I have no plans to write a format utility. What if you're a whimp or a newbie ?: PLEASE DON'T. THIS IS ALPHA CODE AND ONLY FUN FOR PEOPLE WHO KNOW WHAT THEY'RE DOING. (I'm not even sure if I know what I'm doing because I zapped my superblock once while developping this monster.) I will not respond to newbie questions so do not waste bandwidth and wait for the driver to become beta. ============================================================ The code was develloped and tested on a 486/33 cpu with a Colorado Jumbo 120 drive and Generic Linux 0.99pl10 with the QIC-02 and sound drivers. I'm open for all comments, suggestions and bug-reports. Even compliments, flowers and pastry are welcome... Please keep in mind that I have no ftp access and my mail connection is dropping characters every now and then, making large uuencoded messages useless. A final word of thanks to Dave Brown for his code that I used to bootstrap mine (some parts are still his), Karl Heinz Kremer who lured me into this and kept me going by sending me all the information I needed, and Marc Blom for uploading the package to the major ftp sites. Bas bas@vimec.nl ===============================================================