1 .\" Copyright (C) 1994, 2001 by Joerg Wunsch, Dresden
2 .\" All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY
14 .\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
19 .\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
20 .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21 .\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
23 .\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
31 .Nd display and modify floppy disk parameters
43 utility allows the modification of the run-time behavior of the
45 driver for the device specified by
48 Commands are implemented to query the current device density settings
49 as well as the underlying device hardware as registered with the
50 driver, to manipulate debugging levels, and to adjust the device
52 All the operations that manipulate the kernel
53 settings are restricted to the superuser (by the device driver), while
54 all inquiry requests only require read access to
59 argument should always be given as a full path name, e.g.\&
64 utility without any of the optional flags will report the drive type
65 that is registered with the device driver.
66 In the shortest form, a single string describing the drive type will
76 This information is primarily intended to be easily parsable by
79 In order to add some descriptive text that makes the output better
80 human readable, the flag
86 will report the device's density settings in a form that is suitable
92 some more text will be returned, including the total capacity of the
93 density settings in kilobytes.
97 control utilities support two different options how to specify device
101 to specify the format of the medium in kilobytes.
103 underlying drive type, the value is compared against a table of known
104 commonly used device density settings for that drive, and if a match
105 is found, those settings will be used.
106 Currently, the following
107 values for the respective drive types are acceptable:
110 2.88M and 1.44M drives:
111 .Bd -ragged -offset indent -compact
115 KB sectrac secsize ncyls speed heads flags
116 1721 21 2 (512) 82 500 2 MFM
117 1476 18 2 (512) 82 500 2 MFM
118 1440 18 2 (512) 80 500 2 MFM
119 1200 15 2 (512) 80 500 2 MFM
120 820 10 2 (512) 82 250 2 MFM
121 800 10 2 (512) 80 250 2 MFM
122 720 9 2 (512) 80 250 2 MFM
127 .Bd -ragged -offset indent -compact
131 KB sectrac secsize ncyls speed heads flags
132 1200 15 2 (512) 80 500 2 MFM
133 1232 8 3 (1024) 77 500 2 MFM
134 1476 18 2 (512) 82 500 2 MFM
135 1440 18 2 (512) 80 500 2 MFM
136 1200 15 2 (512) 80 500 2 MFM
137 820 10 2 (512) 82 300 2 MFM
138 800 10 2 (512) 80 300 2 MFM
139 720 9 2 (512) 80 300 2 MFM
140 360 9 2 (512) 40 300 2 MFM,2STEP
141 640 8 2 (512) 80 300 2 MFM
146 .Bd -ragged -offset indent -compact
150 KB sectrac secsize ncyls speed heads flags
151 720 9 2 (512) 80 250 2 MFM
156 .Bd -ragged -offset indent -compact
160 KB sectrac secsize ncyls speed heads flags
161 360 9 2 (512) 40 250 2 MFM
166 The second form to specify a device density uses
168 to explicitly specify each parameter in detail.
171 is a comma-separated list of values of the form:
174 .Ar sectrac , secsize , datalen , gap , ncyls , speed ,
175 .Ar heads , f_gap , f_inter , offs2 , flags
178 The meaning of the parameters is:
179 .Bl -tag -width ".Ar secsize"
181 The number of sectors per track.
183 The sector size code, 0 = 128 bytes (or less), 1 = 256 bytes, 2 = 512
184 bytes, 3 = 1024 bytes.
186 The actual sector size if the size code is 0, or the (ignored) value
187 0xFF for larger size codes.
189 The length of the gap 3 parameter for read/write operations.
191 The number of cylinders.
193 The transfer speed in kilobytes per second.
194 Can be 250, 300, 500, or
195 1000, but each drive type only supports a subset of these values.
199 The length of the gap 3 when formatting media.
201 The sector interleave to be applied when formatting.
203 interleave, 1 means 1:1 etc.
205 The offset of the sector numbers on side 2 (i.e., head number 1).
206 Normally, sector numbering on both sides starts with 1.
208 A list from one of the following flag values:
210 .Bl -tag -width ".Cm +perpend" -compact
214 Use FM (single-density) encoding.
216 Use 2 steps per each cylinder (for accessing 40-cylinder media in
219 Do not use 2 steps per cylinder, i.e., access each physical cylinder
222 Use perpendicular recording (for 2.88 MB media, currently not
225 Use longitudinal recording.
229 For any missing parameter, the current value will be used, so only
230 actual changes need to be specified.
231 Thus to turn off a flag bit
234 which is the default for all drive types), the form with a leading
235 minus sign must explicitly be used.
237 A simple inquiry about the drive type:
238 .Bd -literal -offset indent
243 Same as above, but with verbose output.
244 Note that the result is about
248 .Em "device density" ,
249 so it is independent from the actual subdevice being used for
251 .Bd -literal -offset indent
252 $ fdcontrol -v /dev/fd0
253 /dev/fd0: 1.44M drive (3.5" high-density)
256 Inquiry about the density settings:
257 .Bd -literal -offset indent
258 $ fdcontrol -F /dev/fd0
259 18,512,0xff,0x1b,80,500,2,0x6c,1,0,+mfm
262 The verbose flag makes this human readable:
263 .Bd -literal -offset indent
264 /dev/fd0: 1440 KB media type
265 Format: 18,512,0xff,0x1b,80,500,2,0x6c,1,0,+mfm
270 Transfer rate: 500 kbps
278 As indicated, trailing commas in the parameter list may be omitted.
280 In order to access archaic 160 KB single-density (FM encoded) 5.25
281 media in a modern 1.2M drive, something like the following definition
283 (Note that not all controller hardware is actually
284 capable of handling FM encoding at all.)
286 # fdcontrol -s 16,128,0x80,0x2,40,300,,0x10,,,-mfm,+2step /dev/fd1.1
289 It is still possible to hook up 8" drives to most modern floppy
290 controllers, given the right cable magic.
291 (On PC hardware, tell the BIOS that it is a 5.25" drive.)
292 The classical 128/26/2/77 format can be read with this entry
293 .Bd -literal -offset indent
294 fdcontrol -s 26,128,0x80,0x2,77,500,2,0x10,,,-mfm /dev/fd0
303 and was vastly overhauled in
306 The program and this man page was contributed by