SCSI 通用 (sg) 驅動程式¶
20020126
簡介¶
SCSI 通用驅動程式 (sg) 是四個 “高階” SCSI 裝置驅動程式之一,另外三個是 sd、st 和 sr(分別是磁碟、磁帶和 CD-ROM)。 Sg 比它的同類更通用(但更底層),並且傾向於用於不適合現有服務類別的 SCSI 裝置。 因此,sg 用於掃描器、CD 燒錄機以及以數字方式讀取音訊 CD 等。
此處不記錄驅動程式的介面,而是提供版本資訊以及指向 (即 URL) 在哪裡可以找到文件和示例的指標。
sg 驅動程式的主要版本¶
- Linux 核心 (lk) 中有三個主要版本的 sg
sg 版本 1(原始版本),從 1992 年到 1999 年初 (lk 2.2.5)。 它基於 sg_header 介面結構。
sg 版本 2,從 lk 2.2.6 開始在 2.2 系列中。 它基於 sg_header 介面結構的擴充套件版本。
sg 版本 3,在 lk 2.4 系列(和 lk 2.5 系列)中找到。 它添加了 sg_io_hdr 介面結構。
Sg 驅動程式文件¶
sg 驅動程式的最新文件儲存在
這描述了在 lk 2.4 系列中找到的 sg 版本 3 驅動程式。
在 lk 2.2 系列中找到的 sg 版本 2 驅動程式的文件(大型版本)可以在以下位置找到
sg 驅動程式的原始文件(在 lk 2.2.6 之前)可以在 LDP 存檔中找到
關於 Linux SCSI 子系統(sg 是其中的一部分)的更一般的描述可以在 https://www.tldp.org/HOWTO/SCSI-2.4-HOWTO 中找到。
示例程式碼和實用程式¶
有兩個 sg 實用程式包
sg3_utils
適用於在 lk 2.4 中找到的 sg 版本 3 驅動程式
sg_utils
適用於在 lk 2.2 和更早版本中找到的 sg 版本 2(和原始)驅動程式
這兩個包都可以在 lk 2.4 系列中使用。 但是,sg3_utils 提供了更多的功能。 它們可以在以下位置找到:https://sg.danny.cz/sg/sg3_utils.html 和 freecode.com
另一種方法是檢視使用 sg 驅動程式的應用程式。 這些包括 cdrecord、cdparanoia、SANE 和 cdrdao。
Linux 核心版本到 sg 驅動程式版本的對映¶
以下是 2.4 系列中包含新版本 sg 驅動程式的 Linux 核心列表
lk 2.4.0:sg 版本 3.1.17
lk 2.4.7:sg 版本 3.1.19
lk 2.4.10:sg 版本 3.1.20 [1]
lk 2.4.17:sg 版本 3.1.22
作為參考,以下是 2.2 系列中包含新版本 sg 驅動程式的 Linux 核心列表
lk 2.2.0:原始 sg 版本 [沒有版本號]
lk 2.2.6:sg 版本 2.1.31
lk 2.2.8:sg 版本 2.1.32
lk 2.2.10:sg 版本 2.1.34 [SG_GET_VERSION_NUM ioctl 首次出現]
lk 2.2.14:sg 版本 2.1.36
lk 2.2.16:sg 版本 2.1.38
lk 2.2.17:sg 版本 2.1.39
lk 2.2.20:sg 版本 2.1.40
lk 2.5 開發系列目前包含 sg 版本 3.5.23,其功能與在 lk 2.4.17 中找到的 sg 版本 3.1.22 等效。
Douglas Gilbert
2002 年 1 月 26 日