123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- This file describes the floppy driver.
- FAQ list:
- =========
- A FAQ list may be found in the fdutils package (see below), and also
- at <http://fdutils.linux.lu/faq.html>.
- LILO configuration options (Thinkpad users, read this)
- ======================================================
- The floppy driver is configured using the 'floppy=' option in
- lilo. This option can be typed at the boot prompt, or entered in the
- lilo configuration file.
- Example: If your kernel is called linux-2.6.9, type the following line
- at the lilo boot prompt (if you have a thinkpad):
- linux-2.6.9 floppy=thinkpad
- You may also enter the following line in /etc/lilo.conf, in the description
- of linux-2.6.9:
- append = "floppy=thinkpad"
- Several floppy related options may be given, example:
- linux-2.6.9 floppy=daring floppy=two_fdc
- append = "floppy=daring floppy=two_fdc"
- If you give options both in the lilo config file and on the boot
- prompt, the option strings of both places are concatenated, the boot
- prompt options coming last. That's why there are also options to
- restore the default behavior.
- Module configuration options
- ============================
- If you use the floppy driver as a module, use the following syntax:
- modprobe floppy floppy="<options>"
- Example:
- modprobe floppy floppy="omnibook messages"
- If you need certain options enabled every time you load the floppy driver,
- you can put:
- options floppy floppy="omnibook messages"
- in a configuration file in /etc/modprobe.d/.
- The floppy driver related options are:
- floppy=asus_pci
- Sets the bit mask to allow only units 0 and 1. (default)
- floppy=daring
- Tells the floppy driver that you have a well behaved floppy controller.
- This allows more efficient and smoother operation, but may fail on
- certain controllers. This may speed up certain operations.
- floppy=0,daring
- Tells the floppy driver that your floppy controller should be used
- with caution.
- floppy=one_fdc
- Tells the floppy driver that you have only one floppy controller.
- (default)
- floppy=two_fdc
- floppy=<address>,two_fdc
- Tells the floppy driver that you have two floppy controllers.
- The second floppy controller is assumed to be at <address>.
- This option is not needed if the second controller is at address
- 0x370, and if you use the 'cmos' option.
- floppy=thinkpad
- Tells the floppy driver that you have a Thinkpad. Thinkpads use an
- inverted convention for the disk change line.
- floppy=0,thinkpad
- Tells the floppy driver that you don't have a Thinkpad.
- floppy=omnibook
- floppy=nodma
- Tells the floppy driver not to use Dma for data transfers.
- This is needed on HP Omnibooks, which don't have a workable
- DMA channel for the floppy driver. This option is also useful
- if you frequently get "Unable to allocate DMA memory" messages.
- Indeed, dma memory needs to be continuous in physical memory,
- and is thus harder to find, whereas non-dma buffers may be
- allocated in virtual memory. However, I advise against this if
- you have an FDC without a FIFO (8272A or 82072). 82072A and
- later are OK. You also need at least a 486 to use nodma.
- If you use nodma mode, I suggest you also set the FIFO
- threshold to 10 or lower, in order to limit the number of data
- transfer interrupts.
- If you have a FIFO-able FDC, the floppy driver automatically
- falls back on non DMA mode if no DMA-able memory can be found.
- If you want to avoid this, explicitly ask for 'yesdma'.
- floppy=yesdma
- Tells the floppy driver that a workable DMA channel is available.
- (default)
- floppy=nofifo
- Disables the FIFO entirely. This is needed if you get "Bus
- master arbitration error" messages from your Ethernet card (or
- from other devices) while accessing the floppy.
- floppy=usefifo
- Enables the FIFO. (default)
- floppy=<threshold>,fifo_depth
- Sets the FIFO threshold. This is mostly relevant in DMA
- mode. If this is higher, the floppy driver tolerates more
- interrupt latency, but it triggers more interrupts (i.e. it
- imposes more load on the rest of the system). If this is
- lower, the interrupt latency should be lower too (faster
- processor). The benefit of a lower threshold is less
- interrupts.
- To tune the fifo threshold, switch on over/underrun messages
- using 'floppycontrol --messages'. Then access a floppy
- disk. If you get a huge amount of "Over/Underrun - retrying"
- messages, then the fifo threshold is too low. Try with a
- higher value, until you only get an occasional Over/Underrun.
- It is a good idea to compile the floppy driver as a module
- when doing this tuning. Indeed, it allows to try different
- fifo values without rebooting the machine for each test. Note
- that you need to do 'floppycontrol --messages' every time you
- re-insert the module.
- Usually, tuning the fifo threshold should not be needed, as
- the default (0xa) is reasonable.
- floppy=<drive>,<type>,cmos
- Sets the CMOS type of <drive> to <type>. This is mandatory if
- you have more than two floppy drives (only two can be
- described in the physical CMOS), or if your BIOS uses
- non-standard CMOS types. The CMOS types are:
- 0 - Use the value of the physical CMOS
- 1 - 5 1/4 DD
- 2 - 5 1/4 HD
- 3 - 3 1/2 DD
- 4 - 3 1/2 HD
- 5 - 3 1/2 ED
- 6 - 3 1/2 ED
- 16 - unknown or not installed
- (Note: there are two valid types for ED drives. This is because 5 was
- initially chosen to represent floppy *tapes*, and 6 for ED drives.
- AMI ignored this, and used 5 for ED drives. That's why the floppy
- driver handles both.)
- floppy=unexpected_interrupts
- Print a warning message when an unexpected interrupt is received.
- (default)
- floppy=no_unexpected_interrupts
- floppy=L40SX
- Don't print a message when an unexpected interrupt is received. This
- is needed on IBM L40SX laptops in certain video modes. (There seems
- to be an interaction between video and floppy. The unexpected
- interrupts affect only performance, and can be safely ignored.)
- floppy=broken_dcl
- Don't use the disk change line, but assume that the disk was
- changed whenever the device node is reopened. Needed on some
- boxes where the disk change line is broken or unsupported.
- This should be regarded as a stopgap measure, indeed it makes
- floppy operation less efficient due to unneeded cache
- flushings, and slightly more unreliable. Please verify your
- cable, connection and jumper settings if you have any DCL
- problems. However, some older drives, and also some laptops
- are known not to have a DCL.
- floppy=debug
- Print debugging messages.
- floppy=messages
- Print informational messages for some operations (disk change
- notifications, warnings about over and underruns, and about
- autodetection).
- floppy=silent_dcl_clear
- Uses a less noisy way to clear the disk change line (which
- doesn't involve seeks). Implied by 'daring' option.
- floppy=<nr>,irq
- Sets the floppy IRQ to <nr> instead of 6.
- floppy=<nr>,dma
- Sets the floppy DMA channel to <nr> instead of 2.
- floppy=slow
- Use PS/2 stepping rate:
- " PS/2 floppies have much slower step rates than regular floppies.
- It's been recommended that take about 1/4 of the default speed
- in some more extreme cases."
- Supporting utilities and additional documentation:
- ==================================================
- Additional parameters of the floppy driver can be configured at
- runtime. Utilities which do this can be found in the fdutils package.
- This package also contains a new version of mtools which allows to
- access high capacity disks (up to 1992K on a high density 3 1/2 disk!).
- It also contains additional documentation about the floppy driver.
- The latest version can be found at fdutils homepage:
- http://fdutils.linux.lu
- The fdutils releases can be found at:
- http://fdutils.linux.lu/download.html
- http://www.tux.org/pub/knaff/fdutils/
- ftp://metalab.unc.edu/pub/Linux/utils/disk-management/
- Reporting problems about the floppy driver
- ==========================================
- If you have a question or a bug report about the floppy driver, mail
- me at Alain.Knaff@poboxes.com . If you post to Usenet, preferably use
- comp.os.linux.hardware. As the volume in these groups is rather high,
- be sure to include the word "floppy" (or "FLOPPY") in the subject
- line. If the reported problem happens when mounting floppy disks, be
- sure to mention also the type of the filesystem in the subject line.
- Be sure to read the FAQ before mailing/posting any bug reports!
- Alain
- Changelog
- =========
- 10-30-2004 : Cleanup, updating, add reference to module configuration.
- James Nelson <james4765@gmail.com>
- 6-3-2000 : Original Document
|