Adaptec Ultra320 系列管理器集¶
Linux 操作系统的自述文件
1. 支持的硬件¶
此驱动程序集支持以下 Adaptec SCSI 主机适配器。
Ultra320 ASIC
描述
AIC-7901A
单通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI ASIC
AIC-7901B
单通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI ASIC,带保留训练
AIC-7902A4
双通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI ASIC
AIC-7902B
双通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI ASIC,带保留训练
Ultra320 适配器
描述
ASIC
Adaptec SCSI 卡 39320
双通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI 卡(一个外部 68 针,两个内部 68 针)
7902A4/7902B
Adaptec SCSI 卡 39320A
双通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI 卡(一个外部 68 针,两个内部 68 针)
7902B
Adaptec SCSI 卡 39320D
双通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI 卡(两个外部 VHDC 和一个内部 68 针)
7902A4
Adaptec SCSI 卡 39320D
基于 AIC-7902B ASIC 的双通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI 卡(两个外部 VHDC 和一个内部 68 针)
7902A4
Adaptec SCSI 卡 29320
单通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI 卡(一个外部 68 针,两个内部 68 针,一个内部 50 针)
7901A
Adaptec SCSI 卡 29320A
单通道 64 位 PCI-X 133MHz 至 Ultra320 SCSI 卡(一个外部 68 针,两个内部 68 针,一个内部 50 针)
7901B
Adaptec SCSI 卡 29320LP
单通道 64 位矮板 PCI-X 133MHz 至 Ultra320 SCSI 卡(一个外部 VHDC,一个内部 68 针)
7901A
Adaptec SCSI 卡 29320ALP
单通道 64 位矮板 PCI-X 133MHz 至 Ultra320 SCSI 卡(一个外部 VHDC,一个内部 68 针)
7901B
2. 版本历史¶
- 3.0 (2005 年 12 月 1 日)
更新驱动程序以使用 SCSI 传输类基础设施
支持从 adaptec 发布的驱动程序版本 2.0.15 中的定序器和核心修复。
- 1.3.11 (2003 年 7 月 11 日)
修复了几个死锁问题。
添加 29320ALP 和 39320B ID。
- 1.3.10 (2003 年 6 月 3 日)
将 SCB_TAG 字段对齐到 16 字节边界。 这避免了在某些 PCI-33 总线上发生 SCB 损坏。
更正了 Rev B. 硬件上的非零 lun。
更新了 2.5.X SCSI proc FS 接口的更改。
当通过 8 位 WDTR 消息协商异步时,发送一个偏移量为 0 的 SDTR,以确保目标知道我们是异步的。 这解决了 Quantum Atlas 10K 中的固件缺陷。
实现控制器挂起和恢复。
在驱动程序附加期间清除 PCI 错误状态,以便我们不会由于其他驱动程序探测(发生在我们声明控制器之前)产生的杂散写入而禁用内存映射 I/O。
- 1.3.9 (2003 年 5 月 22 日)
修复编译器错误。
删除跨越 4GB 边界的段的 S/G 分割。 这保证不会在 Linux 中发生。
添加对在 2.5.X 内核中找到的
scsi_report_device_reset()
的支持。添加 7901B 支持。
简化了数据包化 lun Rev A 解决方法处理。
更正并简化了忽略宽残留消息的处理。 如果事务数据长度为偶数并且我们收到 IWR 消息,则以前的代码将无法报告残留。
- 1.3.8 (2003 年 4 月 29 日)
修复了通过命令行界面代码访问的类型。
执行一些固件优化。
修复了“意外的 PKT busfree”错误。
使用定序器中断通知主机具有错误状态的命令。 我们推迟通知,直到没有未完成的选择,以确保主机尽可能短的时间内被中断。
删除 pre-2.2.X 支持。
添加对新的 2.5.X 中断 API 的支持。
更正了 big-endian 架构支持。
- 1.3.7 (2003 年 4 月 16 日)
使用 del_timer_sync() 确保在控制器关闭期间没有挂起的超时。
对于 pre-2.5.X 内核,请仔细调整我们的段列表大小以避免 SCSI malloc 池碎片。
清理我们的 /proc 输出中的通道显示。
在 add-single-device 期间,解决中间层设备列表中的重复设备条目。
- 1.3.6 (2003 年 3 月 28 日)
更正了域验证代码中的双重释放。
更正了控制器关闭期间对释放的内存的引用。
重置 SE->LVD 更改时的总线。 这是重置我们的收发器所必需的。
- 1.3.5 (2003 年 3 月 24 日)
修复了一些寄存器窗口模式错误。
将读取流式传输包含在我们诊断程序和 /proc 中显示的 PPR 标志中。
为 2.5.X 内核添加 PCI 热插拔支持。
更正了 RevA 硬件的默认预补偿值。
修复域验证线程关闭。
添加了一个固件解决方法,以使 LED 在 H2A4 上的数据包化操作期间闪烁更亮。
更正了用户读取流式传输设置的 /proc 显示。
通过在中间层驱动程序条目中释放 io_request_lock 来简化驱动程序锁定。
清理命令行解析并将此代码的许多部分移动到 aiclib。
- 1.3.4 (2003 年 2 月 28 日)
更正了我们的错误恢复处理程序中的竞争条件。
允许测试单元准备就绪命令在域验证期间花费完整的 5 秒。
- 1.3.2 (2003 年 2 月 19 日)
更正了由于 1.3.1 中包含的 GEM318 兼容性修复而导致的 Rev B. 回归。
- 1.3.1 (2003 年 2 月 11 日)
添加了对 39320A 的支持。
改进了某些 PCI-X 错误的恢复。
修复了没有中间训练的情况下可能发生的相同写入事务的 LQ/DATA/LQ/DATA 处理。
更正了与 GEM318 机箱服务设备的兼容性问题。
更正了在高标记深度写入负载下发生的数据损坏问题。
适应 2.5.X daemonize() API 中的更改。
更正了“在 ahd_handle_scsiint 中缺少情况”的 panic。
- 1.3.0 (2003 年 1 月 21 日)
完成了所有 U320 产品的完整回归测试。
添加了中止和目标/lun 重置错误恢复处理程序以及中断合并。
- 1.2.0 (2002 年 11 月 14 日)
添加了对域验证的支持
添加了对 Hewlett-Packard 版本的 39320D 和 AIC-7902 适配器的支持。
尚未完全测试对以前适配器的支持,仅应由客户自行承担风险使用。
- 1.1.1 (2002 年 9 月 24 日)
添加了对 Linux 2.5.X 内核系列的支持
- 1.1.0 (2002 年 9 月 17 日)
添加了对四个其他 SCSI 产品的支持:ASC-39320、ASC-29320、ASC-29320LP、AIC-7901。
- 1.0.0 (2002 年 5 月 30 日)
初始驱动程序版本。
- 2.1. 软件/硬件特性
支持 SPI-4 “Ultra320” 标准: - 320MB/s 传输速率 - 160MB/s 和 320MB/s 的数据包化 SCSI 协议 - 快速仲裁选择 (QAS) - 保留训练信息(仅限 Rev B. ASIC)
中断合并
启动器模式(当前不支持目标模式)
支持高达 133MHz 的 PCI-X 标准
支持 PCI v2.2 标准
域验证
- 2.2. 操作系统支持
Redhat Linux 7.2、7.3、8.0、Advanced Server 2.1
SuSE Linux 7.3、8.0、8.1、Enterprise Server 7
目前仅支持 Intel 和 AMD x86
支持 >4GB 内存配置。
有关更多详细信息,请参阅用户指南。
3. 命令行选项¶
警告
不正确地更改或添加这些驱动程序参数可能会导致您的系统无法运行。 请谨慎使用它们。
将 .conf 文件放在 /etc/modprobe.d/ 目录中,并添加/编辑包含
options aic79xx aic79xx=[command[,command...]]
的行,其中command
是以下一个或多个命令
- verbose
- 定义:
在驱动程序操作期间启用其他信息性消息。
- 可能的值:
此选项是一个标志
- 默认值:
禁用
- debug:[value]
- 定义:
启用各种级别的调试信息 调试掩码的位定义可以在 drivers/scsi/aic7xxx/aic79xx.h 的“Debug”标题下找到。
- 可能的值:
0x0000 = 无调试,0xffff = 完全调试
- 默认值:
0x0000
- no_reset
- 定义:
在初始探测阶段不要重置总线
- 可能的值:
此选项是一个标志
- 默认值:
禁用
- extended
- 定义:
强制控制器上的扩展转换
- 可能的值:
此选项是一个标志
- 默认值:
禁用
- periodic_otag
- 定义:
定期发送一个有序标记以防止标记饥饿。 一些旧设备需要
- 可能的值:
此选项是一个标志
- 默认值:
禁用
- reverse_scan
- 定义:
以相反的顺序探测 scsi 总线,从目标 15 开始
- 可能的值:
此选项是一个标志
- 默认值:
禁用
- global_tag_depth
- 定义:
所有总线上所有目标的全局标记深度。 此选项设置默认标记深度,可以通过 tag_info 选项有选择地覆盖该深度。
- 可能的值:
1 - 253
- 默认值:
32
- tag_info:{{value[,value...]}[,{value[,value...]}...]}
- 定义:
在每个控制器的基础上设置每个目标的标记队列深度。 可以省略控制器和目标,表示它们应该保留默认标记深度。
- 可能的值:
1 - 253
- 默认值:
32
示例
tag_info:{{16,32,32,64,8,8,,32,32,32,32,32,32,32,32,32}
在控制器 0 上
为目标 0 指定标记深度为 16
为目标 3 指定标记深度为 64
为目标 4 和 5 指定标记深度为 8
将目标 6 留在默认值
为目标 1,2,7-15 指定标记深度为 32
所有其他目标保留默认深度。
tag_info:{{},{32,,32}}
在控制器 1 上
为目标 0 和 2 指定标记深度为 32
所有其他目标保留默认深度。
- rd_strm: {rd_strm_bitmask[,rd_strm_bitmask...]}
- 定义:
在每个目标的基础上启用读取流式传输。 rd_strm_bitmask 是一个 16 位十六进制值,其中每一位代表一个目标。 将目标的位设置为“1”可为该目标启用读取流式传输。 可以省略控制器,表示它们应该保留默认的读取流式传输设置。
示例
rd_strm:{0x0041}
在控制器 0 上
为目标 0 和 6 启用读取流式传输。
禁用目标 1-5,7-15 的读取流式传输。
所有其他目标保留默认的读取流式传输设置。
rd_strm:{0x0023,,0xFFFF}
在控制器 0 上
为目标 1、2 和 5 启用读取流式传输。
禁用目标 3、4、6-15 的读取流式传输。
在控制器 2 上
为所有目标启用读取流式传输。
所有其他目标保留默认的读取流式传输设置。
- 可能的值:
0x0000 - 0xffff
- 默认值:
0x0000
- dv: {value[,value...]}
- 定义:
- 在每个控制器的基础上设置域验证策略。
可以省略控制器,表示它们应该保留默认的读取流式传输设置。
- 可能的值:
< 0
使用来自串行 EEPROM 的设置。
0
禁用 DV
> 0
启用 DV
- 默认值:
DV 串行 EEPROM 配置设置。
示例
dv:{-1,0,,1,1,0}
在控制器 0 上,将 DV 保持在其默认设置。
在控制器 1 上,禁用 DV。
跳过控制器 2 上的配置。
在控制器 3 和 4 上,启用 DV。
在控制器 5 上,禁用 DV。
- seltime:[value]
- 定义:
指定选择超时值
- 可能的值:
0 = 256 毫秒,1 = 128 毫秒,2 = 64 毫秒,3 = 32 毫秒
- 默认值:
0
- precomp: {value[,value...]}
- 定义:
在每个控制器的基础上设置 IO 单元预补偿值。 可以省略控制器,表示它们应该保留默认的预补偿设置。
- 可能的值:
0 - 7
- 默认值:
根据芯片修订版而异
示例
precomp:{0x1}
在控制器 0 上,将预补偿设置为 1。
precomp:{1,,7}
在控制器 0 上,将预补偿设置为 1。
在控制器 2 上,将预补偿设置为 8。
- slewrate: {value[,value...]}
- 定义:
在每个控制器的基础上设置 IO 单元转换速率。 可以省略控制器,表示它们应该保留默认的转换速率设置。
- 可能的值:
0 - 15
- 默认值:
根据芯片修订版而异
示例
slewrate:{0x1}
在控制器 0 上,将转换速率设置为 1。
slewrate :{1,,8}
在控制器 0 上,将转换速率设置为 1。
在控制器 2 上,将转换速率设置为 8。
- amplitude: {value[,value...]}
- 定义:
在每个控制器的基础上设置 IO 单元信号幅度。 可以省略控制器,表示它们应该保留默认的读取流式传输设置。
- 可能的值:
1 - 7
- 默认值:
根据芯片修订版而异
示例
amplitude:{0x1}
在控制器 0 上,将幅度设置为 1。
amplitude :{1,,7}
在控制器 0 上,将幅度设置为 1。
在控制器 2 上,将幅度设置为 7。
示例
options aic79xx aic79xx=verbose,rd_strm:{{0x0041}}
启用驱动程序中的详细输出,并为控制器 0 的目标 0 和 6 打开读取流式传输。
4. 补充说明¶
4.1. 已知/未解决或 FYI 问题¶
在 SuSE Linux Enterprise 7 下,由于 Linux 内核中 PCI 中断路由的问题,驱动程序可能无法正常运行。 请联系 SuSE 以获取更新的 Linux 内核。
4.2. 第三方兼容性问题¶
Adaptec 仅支持运行最新可用固件的 Ultra320 硬盘。 请与您的硬盘制造商联系,以确保您拥有最新版本。
4.3. 操作系统或技术限制¶
PCI 热插拔未经测试,可能会导致操作系统停止响应。
从 0 开始编号不连续的 Lun 可能不会在系统启动期间自动探测。 这是操作系统的限制。 请联系您的 Linux 供应商,以获取有关手动探测非连续 lun 的说明。
在 RedHat 下的操作系统安装期间使用此软件包的驱动程序更新磁盘版本可能会导致此驱动程序的两个版本安装到系统模块目录中。 这可能会导致 /sbin/mkinitrd 程序和/或其他尝试安装系统模块的 RPM 包出现问题。 系统运行后纠正此问题的最佳方法是安装此驱动程序的最新 RPM 软件包版本,该版本可从 http://www.adaptec.com 获得。
5. Adaptec 客户支持¶
Adaptec 技术支持需要技术支持标识 (TSID) 号码。
12 位 TSID 可以在产品包装盒内的白色条形码类型标签上找到。 TSID 通过准确识别您的产品和支持状态来帮助我们提供更高效的服务。
- 支持选项
在 http://ask.adaptec.com 搜索 Adaptec 支持知识库 (ASK),以查找有关您产品的文章、故障排除提示和常见问题解答。
如需通过电子邮件获得支持,请将您的问题提交给 Adaptec 的技术支持专家,网址为 http://ask.adaptec.com/。
- 北美
请访问我们的网站 http://www.adaptec.com/。
有关 Adaptec 的支持选项的信息,请致电 408-957-2550,每周 7 天,每天 24 小时。
如需与技术支持专家交谈,
对于硬件产品,请致电 408-934-7274,周一至周五,太平洋夏令时上午 3:00 至下午 5:00。
对于 RAID 和光纤通道产品,请致电 321-207-2000,周一至周五,太平洋夏令时上午 3:00 至下午 5:00。
为了加快您的服务速度,请随身携带您的计算机。
如需订购 Adaptec 产品(包括附件和电缆),请致电 408-957-7274。 如需在线订购电缆,请访问 http://www.adaptec.com/buy-cables/。
- 欧洲
如需与技术支持专家交谈,请致电或发送电子邮件,
德语:+49 89 4366 5522,周一至周五,欧洲中部时间 9:00-17:00,http://ask-de.adaptec.com/。
法语:+49 89 4366 5533,周一至周五,欧洲中部时间 9:00-17:00,http://ask-fr.adaptec.com/。
英语:+49 89 4366 5544,周一至周五,格林威治标准时间 9:00-17:00,http://ask.adaptec.com/。
您可以在 http://www.adaptec.com/buy-cables/ 在线订购 Adaptec 电缆。
- 日本
请访问我们的网站 http://www.adaptec.co.jp/。
如需与技术支持专家交谈,请致电 +81 3 5308 6120,周一至周五,上午 9:00 至中午 12:00,下午 1:00 至下午 6:00。
Copyright © 2003 Adaptec Inc. 691 S. Milpitas Blvd., Milpitas CA 95035 USA. 保留所有权利。
您可以重新分发、使用和修改此自述文件的全部或部分内容,以配合受通用公共许可证约束的软件的重新分发,前提是满足以下条件
自述文件的重新分发必须保留上述版权声明、此条件列表以及以下免责声明,不得进行修改。
未经事先书面许可,不得使用作者的姓名来认可或推广从该软件派生的产品。
修改或新的贡献必须在版权声明中注明作者(“贡献者”),并添加到原始版权声明下方。 版权声明用于识别贡献者,不应被视为允许更改 Adaptec 授予的权限。
此自述文件由 ADAPTEC 和贡献者 按原样
提供,并且不作任何明示或暗示的保证,包括但不限于任何不侵权保证或对适销性和特定用途适用性的暗示保证。 在任何情况下,ADAPTEC 或贡献者均不对任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于采购替代商品或服务;使用、数据或利润的损失;或业务中断)负责,无论其原因如何,也无论其责任理论如何,无论是合同、严格责任还是侵权(包括疏忽或其他原因)的方式,都与使用此自述文件有关,即使已被告知可能发生此类损害。