256 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			256 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| =============
 | |
| Floppy Driver
 | |
| =============
 | |
| 
 | |
| FAQ list:
 | |
| =========
 | |
| 
 | |
| A FAQ list may be found in the fdutils package (see below), and also
 | |
| at <https://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:
 | |
| 
 | |
|  https://fdutils.linux.lu
 | |
| 
 | |
| The fdutils releases can be found at:
 | |
| 
 | |
|  https://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
 |