OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [ftape.txt] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
Intro
2
=====
3
 
4
This file describes some issues involved when using the "ftape"
5
floppy tape device driver that comes with the Linux kernel. This
6
document deals with ftape-3.04 and later. Please read the section
7
"Changes" for the most striking differences between version 3.04 and
8
2.08; the latter was the version of ftape delivered with the kernel
9
until kernel version 2.0.30 and 2.1.57. ftape-3.x developed as the
10
re-unification of ftape-2.x and zftape. zftape was developed in
11
parallel with the stock ftape-2.x driver sharing the same hardware
12
support but providing an enhanced file system interface. zftape also
13
provided user transparent block-wise on-the-fly compression (regard it
14
as a feature or bug of zftape).
15
 
16
ftape has a home page at
17
 
18
http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape
19
 
20
which contains further information about ftape. Please cross check
21
this WWW address against the address given (if any) in the MAINTAINERS
22
file located in the top level directory of the Linux kernel source
23
tree.
24
 
25
Contents
26
========
27
 
28
A minus 1: Ftape documentation
29
 
30
A. Changes
31
   1. Goal
32
   2. I/O Block Size
33
   3. Write Access when not at EOD (End Of Data) or BOT (Begin Of Tape)
34
   4. MTBSF - backspace over file mark and position at its EOT side
35
   5. Formatting
36
   6. Interchanging cartridges with other operating systems
37
 
38
B. Debugging Output
39
   1. Introduction
40
   2. Tuning the debugging output
41
 
42
C. Boot and load time configuration
43
   1. Setting boot time parameters
44
   2. Module load time parameters
45
   3. Ftape boot- and load time options
46
   4. Example kernel parameter setting
47
   5. Example module parameter setting
48
 
49
D. Support and contacts
50
 
51
*******************************************************************************
52
 
53
A minus 1. Ftape documentation
54
==============================
55
 
56
Unluckily, the ftape-HOWTO is out of date. This really needs to be
57
changed. Up to date documentation as well as recent development
58
versions of ftape and useful links to related topics can be found at
59
the ftape home page at
60
 
61
http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape
62
 
63
*******************************************************************************
64
 
65
A. Changes
66
==========
67
 
68
1. Goal
69
   ~~~~
70
   The goal of all that incompatibilities was to give ftape an interface
71
   that resembles the interface provided by SCSI tape drives as close
72
   as possible. Thus any Unix backup program that is known to work
73
   with SCSI tape drives should also work with ftape-3.04 and above.
74
 
75
   The concept of a fixed block size for read/write transfers is
76
   rather unrelated to this SCSI tape compatibility at the file system
77
   interface level. It developed out of a feature of zftape, a
78
   block wise user transparent on-the-fly compression. That compression
79
   support will not be dropped in future releases for compatibility
80
   reasons with previous releases of zftape.
81
 
82
2. I/O Block Size
83
   ~~~~~~~~~~~~~~
84
   The probably most striking difference between ftape-2.x and
85
   ftape-3.x with the zftape file system interface is the concept of a
86
   fixed block size: data must be written to or read from the tape in
87
   multiples of a fixed block size. The block size defaults to 10k
88
   which is the default block size of GNU tar. While this is quite
89
   usual for SCSI tapes (block size of 32k?) and the QIC-150 driver
90
   `./drivers/char/tpqic02.c' ftape-2.x allowed data to be written in
91
   arbitrary portions to the tape.
92
 
93
   The block size can be tuned either during kernel configuration or
94
   at runtime with the MTIOCTOP ioctl using the MTSETBLK operation
95
   (i.e. do "mt -f /dev/qft0" setblk #BLKSZ). A block size of 0
96
   switches to variable block size mode i.e. "mt setblk 0" switches
97
   off the block size restriction. However, this disables zftape's
98
   built in on-the-fly compression which doesn't work with variable
99
   block size mode.
100
 
101
   The BLKSZ parameter must be given as a byte count and must be a
102
   multiple of 32k or 0, i.e. use "mt setblk 32768" to switch to a
103
   block size of 32k.
104
 
105
   The typical symptom of a block size mismatch is an "invalid
106
   argument" error message.
107
 
108
3. Write Access when not at EOD (End Of Data) or BOT (Begin Of Tape)
109
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110
   zftape (the file system interface of ftape-3.x) denies write access
111
   to the tape cartridge when it isn't positioned either at BOT or
112
   EOD. This inconvenience has been introduced as it was reported that
113
   the former behavior of ftape-2.x which allowed write access at
114
   arbitrary locations already has caused data loss with some backup
115
   programs.
116
 
117
4. MTBSF - backspace over file mark and position at its EOT side
118
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119
   ftape-2.x didn't handle the MTBSF tape operation correctly. A MTBSF
120
   call (i.e. "mt -f /dev/nqft0 bsf #COUNT") should space over #COUNT
121
   file marks and then position at the EOT tape side of the file
122
   mark. This has to be taken literally, i.e. "mt -f /dev/nqft0 bsf 1"
123
   should simply position at the start of the current volume.
124
 
125
5. Formatting
126
   ~~~~~~~~~~
127
   ftape-3.x DOES support formatting of floppy tape cartridges. You
128
   need the `ftformat' program that is shipped with the modules version
129
   of ftape-3.x. Please get the latest version of ftape from
130
 
131
   ftp://sunsite.unc.edu/pub/Linux/kernel/tapes
132
 
133
   or from the ftape home page at
134
 
135
   http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape
136
 
137
   `ftformat' is contained in the `./contrib/' subdirectory of that
138
   separate ftape package.
139
 
140
6. Interchanging cartridges with other operating systems
141
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
142
 
143
   The internal emulation of Unix tape device file marks has changed
144
   completely. ftape-3.x now uses the volume table segment as specified
145
   by the QIC-40/80/3010/3020/113 standards to emulate file marks. As
146
   a consequence there is limited support to interchange cartridges
147
   with other operating systems.
148
 
149
   To be more precise: ftape will detect volumes written by other OS's
150
   programs and other OS's programs will detect volumes written by
151
   ftape-3.x.
152
 
153
   However, it isn't possible to extract the data dumped to the tape
154
   by some MSDOG program with ftape-3.x. This exceeds the scope of a
155
   kernel device driver. If you need such functionality, then go ahead
156
   and write a user space utility that is able to do
157
   that. ftape-3.x/zftape already provides all kernel level support
158
   necessary to do that.
159
 
160
*******************************************************************************
161
 
162
B. Debugging Output
163
   ================
164
 
165
1. Introduction
166
   ~~~~~~~~~~~~
167
   The ftape driver can be very noisy in that is can print lots of
168
   debugging messages to the kernel log files and the system console.
169
   While this is useful for debugging it might be annoying during
170
   normal use and enlarges the size of the driver by several kilobytes.
171
 
172
   To reduce the size of the driver you can trim the maximal amount of
173
   debugging information available during kernel configuration. Please
174
   refer to the kernel configuration script and its on-line help
175
   functionality.
176
 
177
   The amount of debugging output maps to the "tracing" boot time
178
   option and the "ft_tracing" modules option as follows:
179
 
180
 
181
   1              + errors (with call-stack dump)
182
   2              + warnings
183
   3              + information
184
   4              + more information
185
   5              + program flow
186
   6              + fdc/dma info
187
   7              + data flow
188
   8              + everything else
189
 
190
2. Tuning the debugging output
191
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
192
   To reduce the amount of debugging output printed to the system
193
   console you can
194
 
195
   i)  trim the debugging output at run-time with
196
 
197
       mt -f /dev/nqft0 setdensity #DBGLVL
198
 
199
       where "#DBGLVL" is a number between 0 and 9
200
 
201
   ii) trim the debugging output at module load time with
202
 
203
       insmod ftape.o ft_tracing=#DBGLVL
204
 
205
       Of course, this applies only if you have configured ftape to be
206
       compiled as a module.
207
 
208
   iii) trim the debugging output during system boot time. Add the
209
       following to the kernel command line:
210
 
211
       ftape=#DBGLVL,tracing
212
 
213
       Please refer also to the next section if you don't know how to
214
       set boot time parameters.
215
 
216
*******************************************************************************
217
 
218
C. Boot and load time configuration
219
   ================================
220
 
221
1. Setting boot time parameters
222
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
223
   Assuming that you use lilo, the LI)nux LO)ader, boot time kernel
224
   parameters can be set by adding a line
225
 
226
   append some_kernel_boot_time_parameter
227
 
228
   to `/etc/lilo.conf' or at real boot time by typing in the options
229
   at the prompt provided by LILO. I can't give you advice on how to
230
   specify those parameters with other loaders as I don't use them.
231
 
232
   For ftape, each "some_kernel_boot_time_parameter" looks like
233
   "ftape=value,option". As an example, the debugging output can be
234
   increased with
235
 
236
   ftape=4,tracing
237
 
238
   NOTE: the value precedes the option name.
239
 
240
2. Module load time parameters
241
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
242
   Module parameters can be specified either directly when invoking
243
   the program 'insmod' at the shell prompt:
244
 
245
   insmod ftape.o ft_tracing=4
246
 
247
   or by editing the file `/etc/modules.conf' in which case they take
248
   effect each time when the module is loaded with `modprobe' (please
249
   refer to the modules documentation, i.e. `modules.txt' and the
250
   respective manual pages). Thus, you should add a line
251
 
252
   options ftape ft_tracing=4
253
 
254
   to `/etc/modules.conf` if you intend to increase the debugging
255
   output of the driver.
256
 
257
 
258
3. Ftape boot- and load time options
259
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
260
 
261
   i.   Controlling the amount of debugging output
262
        DBGLVL has to be replaced by a number between 0 and 8.
263
 
264
        module                 |  kernel command line
265
        -----------------------|----------------------
266
        ft_tracing=DBGLVL      |  ftape=DBGLVL,tracing
267
 
268
   ii.  Hardware setup
269
        BASE is the base address of your floppy disk controller,
270
        IRQ and DMA give its interrupt and DMA channel, respectively.
271
        BOOL is an integer, "0" means "no"; any other value means
272
        "yes". You don't need to specify anything if connecting your tape
273
        drive to the standard floppy disk controller. All of these
274
        values have reasonable defaults. The defaults can be modified
275
        during kernel configuration, i.e. while running "make config",
276
        "make menuconfig" or "make xconfig" in the top level directory
277
        of the Linux kernel source tree. Please refer also to the on
278
        line documentation provided during that kernel configuration
279
        process.
280
 
281
        module                 |  kernel command line
282
        -----------------------|----------------------
283
        ft_fdc_base=BASE       |  ftape=BASE,ioport
284
        ft_fdc_irq=IRQ         |  ftape=IRQ,irq
285
        ft_fdc_dma=DMA         |  ftape=DMA,dma
286
        ft_probe_fc10=BOOL     |  ftape=BOOL,fc10
287
        ft_mach2=BOOL          |  ftape=BOOL,mach2
288
        ft_fdc_threshold=THR   |  ftape=THR,threshold
289
        ft_fdc_rate_limit=RATE |  ftape=RATE,datarate
290
 
291
4. Example kernel parameter setting
292
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
293
   To configure ftape to probe for a Colorado FC-10/FC-20 controller
294
   and to increase the amount of debugging output a little bit, add
295
   the following line to `/etc/lilo.conf':
296
 
297
   append ftape=1,fc10 ftape=4,tracing
298
 
299
5. Example module parameter setting
300
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
301
   To do the same, but with ftape compiled as a loadable kernel
302
   module, add the following line to `/etc/modules.conf':
303
 
304
   options ftape ft_probe_fc10=1 ft_tracing=4
305
 
306
*******************************************************************************
307
 
308
D. Support and contacts
309
   ====================
310
 
311
   Ftape is distributed under the GNU General Public License. There is
312
   absolutely no warranty for this software. However, you can reach
313
   the current maintainer of the ftape package under the email address
314
   given in the MAINTAINERS file which is located in the top level
315
   directory of the Linux kernel source tree. There you'll find also
316
   the relevant mailing list to use as a discussion forum and the web
317
   page to query for the most recent documentation, related work and
318
   development versions of ftape.
319
 
320
 
321
 LocalWords:  ftape Linux zftape http www rwth aachen LBFM claus EOD config
322
 LocalWords:  datarate LocalWords BOT MTBSF EOT HOWTO QIC tpqic menuconfig
323
 LocalWords:  MTIOCTOP MTSETBLK mt dev qft setblk BLKSZ bsf zftape's xconfig
324
 LocalWords:  nqft ftformat ftp sunsite unc edu contrib ft MSDOG fdc
325
 LocalWords:  dma setdensity DBGLVL insmod lilo LI nux ader conf txt
326
 LocalWords:  modprobe IRQ BOOL ioport irq fc mach THR

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.