軟盤驅動程式¶
常見問題列表:¶
常見問題列表可在 fdutils 軟體包中找到(見下文),也可在 <https://fdutils.linux.lu/faq.html> 獲取。
LILO 配置選項 (Thinkpad 使用者請閱讀)¶
軟盤驅動程式透過 LILO 中的“floppy=”選項進行配置。此選項可在啟動提示符處鍵入,或輸入到 LILO 配置檔案中。
示例:如果您的核心名為 linux-2.6.9,請在 LILO 啟動提示符處鍵入以下行(如果您使用的是 Thinkpad):
linux-2.6.9 floppy=thinkpad
您也可以將以下行輸入到 /etc/lilo.conf 中,在 linux-2.6.9 的描述下:
append = "floppy=thinkpad"
可以給出幾個與軟盤相關的選項,例如:
linux-2.6.9 floppy=daring floppy=two_fdc
append = "floppy=daring floppy=two_fdc"
如果您在 LILO 配置檔案和啟動提示符處都提供了選項,則兩處的選項字串會連線起來,啟動提示符處的選項在後。這就是為什麼還有一些選項可以恢復預設行為。
模組配置選項¶
如果您將軟盤驅動程式用作模組,請使用以下語法:
modprobe floppy floppy="<options>"
示例
modprobe floppy floppy="omnibook messages"
如果您每次載入軟盤驅動程式時都需要啟用某些選項,可以將其放在
options floppy floppy="omnibook messages"
/etc/modprobe.d/ 中的配置檔案裡。
與軟盤驅動程式相關的選項有:
- floppy=asus_pci
設定位掩碼,只允許單元 0 和 1。(預設)
- floppy=daring
告訴軟盤驅動程式您有一個工作良好的軟盤控制器。這允許更高效、更流暢的操作,但可能在某些控制器上失敗。這可能會加速某些操作。
- floppy=0,daring
告訴軟盤驅動程式您的軟盤控制器應謹慎使用。
- floppy=one_fdc
告訴軟盤驅動程式您只有一個軟盤控制器。(預設)
- floppy=two_fdc / floppy=<address>,two_fdc
告訴軟盤驅動程式您有兩個軟盤控制器。第二個軟盤控制器被假定位於 <address>。如果第二個控制器位於地址 0x370,並且您使用“cmos”選項,則不需要此選項。
- floppy=thinkpad
告訴軟盤驅動程式您有一臺 Thinkpad。Thinkpad 使用碟片更換線(disk change line)的反向約定。
- floppy=0,thinkpad
告訴軟盤驅動程式您沒有 Thinkpad。
- floppy=omnibook / floppy=nodma
告訴軟盤驅動程式不要使用 DMA 進行資料傳輸。HP Omnibook 需要此選項,因為它們的軟盤驅動程式沒有可用的 DMA 通道。如果您經常收到“Unable to allocate DMA memory”訊息,此選項也很有用。事實上,DMA 記憶體需要在物理記憶體中連續,因此更難找到,而無 DMA 緩衝區可以在虛擬記憶體中分配。但是,如果您的 FDC 沒有 FIFO (8272A 或 82072),我不建議使用此選項。82072A 及更高版本則沒問題。您還需要至少 486 處理器才能使用 nodma。如果您使用 nodma 模式,我建議您也將 FIFO 閾值設定為 10 或更低,以限制資料傳輸中斷的數量。
如果您有一個支援 FIFO 的 FDC,如果找不到可 DMA 的記憶體,軟盤驅動程式會自動回退到非 DMA 模式。如果您想避免這種情況,請明確請求“yesdma”。
- floppy=yesdma
告訴軟盤驅動程式有可用的 DMA 通道。(預設)
- floppy=nofifo
完全停用 FIFO。如果您的乙太網卡(或其他裝置)在訪問軟盤時收到“匯流排主仲裁錯誤”訊息,則需要此選項。
- floppy=usefifo
啟用 FIFO。(預設)
- floppy=<threshold>,fifo_depth
設定 FIFO 閾值。這主要在 DMA 模式下相關。如果閾值較高,軟盤驅動程式可容忍更多中斷延遲,但會觸發更多中斷(即對系統其他部分施加更多負載)。如果閾值較低,中斷延遲也應較低(處理器更快)。較低閾值的好處是中斷更少。
要調整 FIFO 閾值,請使用“floppycontrol --messages”開啟過/欠載訊息。然後訪問軟盤。如果您收到大量的“過/欠載 - 重試”訊息,則 FIFO 閾值過低。嘗試使用更高的值,直到只偶爾出現過/欠載。在進行此調整時,將軟盤驅動程式編譯為模組是個好主意。事實上,這允許在不每次測試都重啟機器的情況下嘗試不同的 FIFO 值。請注意,每次重新插入模組時都需要執行“floppycontrol --messages”。
通常,不需要調整 FIFO 閾值,因為預設值 (0xa) 是合理的。
- floppy=<drive>,<type>,cmos
將 <drive> 的 CMOS 型別設定為 <type>。如果您有兩個以上軟盤驅動器(物理 CMOS 中只能描述兩個),或者您的 BIOS 使用非標準 CMOS 型別,則此項是強制性的。CMOS 型別為:
0
使用物理 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
未知或未安裝
(注意:ED 驅動器有兩種有效型別。這是因為 5 最初選擇表示軟盤“磁帶”,6 表示 ED 驅動器。AMI 忽略了這一點,並使用 5 表示 ED 驅動器。這就是為什麼軟盤驅動程式同時處理這兩種型別。)
- floppy=unexpected_interrupts
收到意外中斷時列印警告訊息。(預設)
- floppy=no_unexpected_interrupts / floppy=L40SX
收到意外中斷時不列印訊息。某些影片模式下 IBM L40SX 筆記型電腦需要此選項。(影片和軟盤之間似乎存在互動。意外中斷隻影響效能,可以安全忽略。)
- floppy=broken_dcl
不使用碟片更換線(disk change line),而是在每次重新開啟裝置節點時假定碟片已更換。某些碟片更換線損壞或不支援的機器上需要此選項。這應被視為權宜之計,因為它會導致不必要的快取重新整理,從而降低軟盤操作效率,並使其稍微更不可靠。如果您有任何 DCL 問題,請檢查您的線纜、連線和跳線設定。然而,已知一些舊驅動器和一些筆記型電腦沒有 DCL。
- floppy=debug
列印除錯訊息。
- floppy=messages
為某些操作列印資訊性訊息(碟片更換通知、過載和欠載警告以及自動檢測警告)。
- floppy=silent_dcl_clear
使用噪音較小的方式清除碟片更換線(不涉及尋道)。“daring”選項隱含此功能。
- floppy=<nr>,irq
將軟盤 IRQ 設定為 <nr> 而不是 6。
- floppy=<nr>,dma
將軟盤 DMA 通道設定為 <nr> 而不是 2。
- floppy=slow
使用 PS/2 步進速率
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.
支援工具和附加文件:¶
軟盤驅動程式的其他引數可在執行時配置。執行此操作的工具可在 fdutils 軟體包中找到。此軟體包還包含一個新版本的 mtools,它允許訪問大容量磁碟(在 3 1/2 高密度磁碟上可達 1992K!)。它還包含有關軟盤驅動程式的附加文件。
最新版本可在 fdutils 主頁找到:
fdutils 釋出版可在以下地址找到:
報告軟盤驅動程式問題¶
如果您對軟盤驅動程式有疑問或要報告錯誤,請傳送郵件至 Alain.Knaff@poboxes.com。如果您在 Usenet 上發帖,請優先使用 comp.os.linux.hardware。由於這些組的流量相當大,請務必在主題行中包含“floppy”(或“FLOPPY”)字樣。如果報告的問題在掛載軟盤時發生,請務必在主題行中同時提及檔案系統型別。
在傳送郵件/釋出任何錯誤報告之前,請務必閱讀常見問題!
Alain
更改日誌¶
- 10-30-2004 :
清理、更新、新增模組配置參考。James Nelson <james4765@gmail.com>
- 6-3-2000 :
原始文件