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