9.3. 磁带驱动器 (st)

磁带驱动器接口的文档位于文件/usr/src/linux/drivers/scsi/README.st以及 st(4) 手册页 (输入 man st)。文件README.st还记录了驱动程序的各种参数和选项,以及驱动程序中使用的基本机制。

磁带驱动器通常通过 mt 命令访问 (参见 man mt)。mtx 是一个用于控制磁带自动加载器的关联程序 (参见 mtx.sourceforge.net)。

st 驱动程序检测外围设备类型为 "顺序访问" (代码编号 1) 的 SCSI 设备,除非它们出现在驱动程序的 "reject_list" 中。[目前,OnStream 磁带驱动器 (在后续章节中描述) 是此 reject_list 中唯一的条目。]

st 驱动程序能够识别 32 个磁带驱动器。每个磁带驱动器有 8 个设备文件名:每种模式 (编号 0 到 3) 都有一个回绕和非回绕变体。有关设备名称,请参见 第 3.2 节 中磁带设备文件名的示例。在加载 st 驱动程序后,可以添加任意数量的磁带驱动器 (最多 32 个)。

ATAPI 磁带驱动器可以通过此驱动程序在 ide-scsi 伪适配器驱动程序的帮助下进行控制。第 9.2.4 节 中的讨论也适用于 ATAPI 磁带驱动器 (和 ATAPI 软盘)。

9.3.1. st 启动参数

st=xxx[,yyy] where xxx is one of the following:
buffer_kbs:<n>
write_threshold_kbs:<n>
max_buffers:<n>
max_sg_segs:<n>

(The old boot parameters st=aa[,bb[,cc[,dd]]] supported but deprecated)

默认驱动程序缓冲区大小 (buffer_kbs) 为 32 (即 32 KB)。默认异步写入阈值 (write_threshold_kbs) 为 30 (即 30 KB)。初始化时分配的默认缓冲区数量 (max_buffers) 为 4。要使用的默认 scatter/gather 段数 (max_sg_segs) 为 32。

9.3.2. st 模块参数

buffer_kbs=<n>
write_threshold_kbs=<n>
max_buffers=<n>
max_sg_segs=<n>

9.3.3. st proc 接口

无。

9.3.4. 用于 OnStream 设备的 osst 驱动程序

有一个用于 OnStream 制造的磁带驱动器的辅助磁带驱动程序。它是一个额外的上层驱动程序,可以与 st 驱动程序共存。其驱动程序名称为 "osst" (其模块名称也是如此)。

OnStream SC-x0 SCSI 磁带驱动器不能由标准 st 驱动程序驱动,而是需要这个特殊的 osst 驱动程序并使用/dev/osst<x>字符设备节点 (主设备号 206)。[其中 <x> 遵循与 第 3.2 节 中概述的 st 设备相同的命名方案。] 通过 usb-storage 和 ide-scsi,您也可能能够驱动 USB-x0 和 DI-x0 驱动器。请注意,还有第二代 OnStream 磁带驱动器 (ADR-x0),它支持用于磁带的标准 SCSI-2 命令 (QIC-157),并且可以由标准驱动程序 st 驱动。有关更多信息,您可以查看内核源文件/usr/src/linux/drivers/scsi/README.osst。有关 OnStream 驱动程序的更多信息,请访问 linux1.onstream.nl/test/