下列硬件相关的问题和错误适用于 Solaris 10 发行版。
Solaris 10 OS 提供新的密码学框架。不过,Sun Crypto Accelerator 4000 卡版本为 1.0 和 1.1 的软件和固件不使用此框架。因此,Solaris 10 OS 不支持这些版本。
2.0 发行版使用新框架。此发行版是对计划使用 Solaris 10 OS 的当前 Sun Crypto Accelerator 4000 用户提供的免费升级。因为 Sun Crypto Accelerator 4000 是导出控制的产品,您必须与 Sun Enterprise Services 或本地销售渠道联系以获得免费升级。有关其他信息,请参见 Sun 的 产品站点的 Sun Crypto Accelerator 4000 Web 页。
由于这些设备与 EHCI 驱动程序不兼容,对某些 USB 2.0 控制器的支持已被禁用。将显示以下消息:
Due to recently discovered incompatibilities with this USB controller, USB2.x transfer support has been disabled. This device will continue to function as a USB1.x controller. If you are interested in enabling USB2.x support please refer to the ehci(7D) man page. Please refer to www.sun.com/io for Solaris Ready products and to www.sun.com/bigadmin/hcl for additional compatible USB products. |
有关 USB 设备的最新信息,请参见 http://www.sun.com/io_technologies/USB-Faq.html。
本 Solaris 发行版支持 USB 1.1 和 USB 2.0 设备。下表是工作于特定配置下的 USB 设备的摘要。连接类型可以是直接连接到计算机或通过 USB 集线器连接到计算机。注意,USB 1.1 设备和集线器是低速或全速的。USB 2.0 设备和集线器是高速的。有关操作的端口和速度的详细信息,请参见《System Administration Guide: Devices and File Systems》。
表 3–1 USB 设备和配置
USB 设备 |
连接类型 |
---|---|
USB 2.0 存储设备 |
直连,USB 1.1 集线器,USB 2.0 集线器 |
USB 1.1 设备(音频设备除外) |
直连,USB 1.1 集线器,USB 2.0 集线器 |
USB 1.1 音频设备 |
直连,USB 1.1 集线器 |
USB 2.0 音频设备 |
不支持 |
以下列表介绍对用于 x86 平台的此 Solaris 10 发行版中某些驱动程序和接口的限制:
已为所有设备类型关闭此功能。在 detach() 函数的 DDI_SUSPEND 代码中,应返回 DDI_FAILURE。
此功能不可用于 USB 设备。不要创建电源管理组件。编写驱动程序,以便仅在创建电源管理组件时调用 pm_raise_power() 和 pm_lower_power()。
交互式设备(如可拆卸介质)的电源管理与监视器和驱动监视器显卡的电源管理相联系。如果屏幕活动,则 CD-ROM 驱动器和软盘等设备仍然处于全电模式。在没有监视器的系统上,这些设备可切换到低电模式。要恢复 CD 或软盘的电源,键入 volcheck 以便从每个可拆卸设备获得最新状态。
或者,您可以使用 Dtpower GUI 禁用系统的电源管理。通过禁用电源管理,这些设备将始终处于全电模式。
在缺省情况下,kdmconfig 程序指定 Generic US-English(104-Key) 作为连接到系统的键盘类型。如果系统键盘不是美国英语键盘,则必须在安装期间手动指定键盘类型。否则,会使用与系统的实际键盘类型不一致的缺省键盘规范继续安装。
解决方法 1:如果系统键盘不是美国英语键盘,请在安装期间执行以下步骤:
当显示“为安装建议的窗口系统配置”时,按 Esc 键。
“为安装建议的窗口系统配置”中的信息(包含键盘类型)仅显示 30 秒。如果希望更改配置设置,必须在 30 秒之内按 Esc 键。否则,会继续按照所显示的设置进行安装。
将键盘类型更改为与系统键盘对应的类型。
按 Enter 键接受更改,然后继续安装。
解决方法 2:如果想更改已在运行 Solaris 10 OS 的系统的键盘类型,请使用 kdmconfig 程序。选择适用于系统所运行的 X 服务器的类型的选项。
如果系统正在运行 Xsun 服务器,请执行以下步骤:
运行 kdmconfig。
使用“更改键盘”选项更改键盘类型。
保存配置。
如果系统正在运行缺省 Xorg 服务器,请执行以下步骤:
运行 kdmconfig。
选择 Xsun 服务器。
使用“更改键盘”选项更改键盘类型。
保存配置。
再次运行 kdmconfig 以切换到 Xorg 服务器。
下列主机总线适配器 (HBA) 的 jfca 在这些 HBA 连接到磁带设备时可能导致系统出现紧急情况或引起 I/O 故障:
SG-PCI1FC-JF2
SG-PCI2FC-JF2
在运行特定操作时,这些 HBA 的 jfca 驱动程序容易出现竞争情况,从而导致错误。相应操作如下所示:
链接复位
循环复位
切换复位
重复链接故障
可能显示与下例相似的错误消息:
I/O 故障消息
jfca: [ID 277337 kern.info] jfca4: Sequencer-detected error. Recover immediately. last message repeated 18376 times jfca: [ID 716917 kern.notice] jfca4: ExgWarning: SendVerify(1): SHOULD ABORT THE ORIG I/O PKG=30007520bd8! scsi: [ID 107833 kern.warning] WARNING: /pci@1e,600000/SUNW,jfca@3,1/fp@0,0/st@w2100001086108 628,1 (st3): SCSI transport failed: reason 'timeout': giving up |
系统紧急情况消息
panic[cpu1]/thread=2a100497cc0: BAD TRAP: type=31 rp=2a1004978d0 addr=a8 mmu_fsr=0 occurred in module "jfca" due to a NULL pointer dereference |
解决方法:不要将磁带设备连接到 SG-PCI1FC-JF2 或 SG-PCI2FC-JF2 HBA。
如果在 USB 2.0 集线器下使用 USB 1.x 设备,系统可能出现紧急情况。以下为可能显示的错误消息之一:
BAD TRAP: type=31 rp=2a100f8d6a0 addr=38 mmu_fsr=0 occurred in module "usba" due to a NULL pointer |
解决方法:不要对 USB 1.x 设备使用下列任何连接配置:
USB 1.x 设备与连接到 USB 2.0 系统端口的 USB 2.0 集线器连接
USB 1.x 设备与 USB 2.0 PCI 卡的端口连接
改为将 USB 1.x 设备直接连接到系统的 USB 1.1 端口。另外,可以使用连接到 USB 2.0 系统端口或 PCI 卡端口的 USB 1.1 外部集线器。
有关相应信息,请参见以下资源:
http://www.sun.com/io(针对 Solaris Ready 产品)
http://www.sun.com/bigadmin/hcl(针对其他兼容的 USB 产品)
http://www.sun.com/io_technologies/USB-Faq.html(针对 USB 设备的最新信息)
某些主板上的 ICH5R 控制器中的系统软件无法通过 BIOS 控制 EHCI 硬件。将显示以下错误消息:
ehci_init_ctrl: Unable to take control from BIOS. EHCI support disabled. |
因此,无法使用 EHCI 驱动程序。
有关相应信息,请参见以下资源:
http://www.sun.com/io(针对 Solaris Ready 产品)
http://www.sun.com/bigadmin/hcl(针对其他兼容的 USB 产品)
http://www.sun.com/io_technologies/USB-Faq.html(针对 USB 设备的最新信息)
解决方法:无。
如果将 FireWire-1394 海量存储设备与可拆卸介质卷守护进程 (vold) 一起使用,系统可能出现紧急情况。硬盘驱动器和 CD 或 DVD 驱动器即属于这类存储设备。可能显示包括 "bad mutex" 项在内的错误消息。
解决方法:将 FireWire–1394 海量存储设备连接到系统之前执行以下步骤:
成为超级用户。
停止卷管理守护进程以禁用可拆卸介质管理:
# /etc/init.d/volmgt stop |
有关守护进程的更多信息,请参见 vold(1M) 手册页。
在 USB 音频设备播放或录制期间,如果使用诸如 sdtaudiocontrol 的方式暂停设备,该驱动程序可能挂起。可能需要重新引导系统。
解决方法:不要暂停 USB 音频设备。
有关相应信息,请参见以下资源:
http://www.sun.com/io(针对 Solaris Ready 产品)
http://www.sun.com/bigadmin/hcl(针对其他兼容的 USB 产品)
http://www.sun.com/io_technologies/USB-Faq.html(针对 USB 设备的最新信息)
如果 Quad 快速以太网 (QFE) 卡与下列任何适配器共享同一总线,会出现总线争用:
Sun GigaSwift 适配器
Sun 双千兆位以太网和双 SCSI/P 适配器
Sun Quad Gigaswift 以太网适配器
这些适配器使用的 ce 驱动程序的无限成组传送参数在缺省情况下启用。因此,仅很少或无总线时间可用于共享同一总线的 QFE 端口。
解决方法:不要使 QFE 卡与列表中的网络适配器共享同一总线。
如果在运行某些 Java 应用程序时 Num Lock 键为开,其他键可能停止工作。部分受影响的键如下所示:
Back Space 键
Delete 键
Enter 键
Tab 键
数字小键盘上的零
解决方法:关闭 Num Lock 键。
修订 ID (rev_id) 小于 32 的 GigaSwift 快速或千兆位以太网卡可能导致系统出现紧急情况。在下列运行 Solaris 10 OS 的系统中观察到紧急情况:
Sun BladeTM 1500
Sun Blade 2500
Sun Fire V210
Sun Fire V240
NetraTM 240
Sun Fire V440
Netra 440
将显示以下错误消息:
panic: pcisch-1: Fatal PCI bus error(s) |
解决方法:执行以下步骤。
确定设备的 rev_id。
kstat ce:instance | grep rev |
如果 rev_id 小于 32,请使用 rev_id 等于或大于 32 的更高型号替换该卡。
在 x86 系统或未包含在以上列表中的基于 SPARC 的版本较旧的系统上,仍可使用原来的卡。
hat_getkpfnum() DDI 函数已过时。开发者应更新他们的设备驱动程序,以便不使用 hat_getkpfnum() DDI 接口。如果驱动程序使用 hat_getkpfnum(),会显示与下例相似的警告:
WARNING: Module mydrv is using the obsolete hat_getkpfnum(9F) interface in a way that will not be supported in a future release of Solaris. Please contact the vendor that supplied the module for assistance, or consult the Writing Device Drivers guide, available from http://www.sun.com for migration advice. --- Callstack of bad caller: hat_getkpfnum_badcall+93 hat_getkpfnum+6e mydrv_setup_tx_ring+2d mydrv_do_attach+84 mydrv_attach+242 devi_attach+6f attach_node+62 i_ndi_config_node+82 i_ddi_attachchild+4a devi_attach_node+4b devi_attach_children+57 config_immediate_children+6e devi_config_common+77 mt_config_thread+8b |
要确定驱动程序是否在使用 hat_getkpfnum(),请参阅驱动程序源代码,或者使用 nm() 检查驱动程序的符号。使用驱动程序 mydrv 为例,键入以下语法:
% nm /usr/kernel/drv/mydrv | grep hat_getkpfnum |
有关从 hat_getkpfnum() 迁移出驱动程序的指南,请参阅《Writing Device Drivers》中的附录 B “Summary of Solaris DDI/DKI Services”。
带有某种 USB 2.0 硬件的系统在运行本 Solaris 发行版时,可能经常会挂起或出现紧急情况。这些问题与不基于 NEC 芯片组的 USB 2.0 设备有关。在发生这些问题时,会显示下列有关增强主机控制器接口 (EHCI) 的错误消息:
WARNING: /pci@0,0/pci8086,244e@1e/pci925,1234@2,2 (ehci1): This controller is not supported. Please refer to www.sun.com/io for Solaris Ready products and to www.sun.com/bidadmin/hcl for additional compatible USB products |
解决方法:根据系统硬件配置的不同,请选择以下选项之一:
用基于 NEC 芯片组的硬件替换 USB 2.0 主机控制器硬件。众所周知,基于 NEC 芯片组的 USB 2.0 硬件能与 Solaris 操作系统协调工作。
在主板上内置有 USB 2.0 主机控制器硬件,并且有备用 PCI 插槽的系统中,请执行以下步骤:
添加基于 NEC 芯片组和 PCI 的 USB 2.0 卡。
成为超级用户。
禁用主板上的 USB 2.0,只启用通过 PCI 卡的 USB 2.0 支持。执行以下命令:
# update_drv -d -i '"pciclass,0c0320"' usba10_ehci # update_drv -a -i '"pci1033,e0"' usba10_ehci # reboot |
对于更快速的操作,可将您的 USB 2.0 设备连接到该卡的端口,而不是连接到主板上的原始端口。
即使无法在系统中添加新的 USB 硬件,您仍然可以通过执行以下步骤禁用系统的 EHCI:
成为超级用户。
执行以下命令:
# update_drv -d -i '"pciclass,0c0320"' usba10_ehci # reboot |
USB 2.0 端口由两个伴随硬件操作:
用于高速件的 EHCI
用于低速和全速件的开放主机控制器接口 (OHCI) 或通用主机控制器接口 (UHCI)
在基于 x86 的系统上,同时存在 OHCI 和 UHCI 的驱动程序。在基于 SPARC 的系统上,只支持 OHCI USB 1.1 主机控制器硬件。因此,如果 SPARC 系统上的伴随 EHCI 控制器被禁用,则只有带 OHCI 伴随控制器的 USB 硬件可以继续在该 SPARC 系统上工作。如果系统有适当的 OHCI 或 UHCI 驱动程序,即使 EHCI 被禁用,USB 硬件端口仍然可以操作。与这些端口相连接的 USB 2.0 设备的运行速度只能与 USB 1.1 设备相当。
要验证在基于 SPARC 的系统上是否存在 EHCI 和 OHCI 主机控制器,请键入:
# prtconf -D
在输出中检查 EHCI 项,这些项位于一条或多条 OHCI 项之后,如下例所示:
pci, instance #0 (driver name: pci_pci) usb, instance #0 (driver name: usba10_ohci) usb, instance #1 (driver name: usba10_ohci) usb, instance #0 (driver name: usba10_ehci) |
在 Sun Fire V65x 服务器上使用两个 Adaptec SCSI Card 39320D 卡会导致系统出现紧急情况。安装 Solaris 10 软件后,在初始重新引导期间发生该紧急情况。将显示以下错误消息:
Initializing system Please wait... 1 run-time error M6111: MATH - floating-point error: stack underflow |
解决方法:卸下第二个 Adaptec 卡。
基于 x86 的 Solaris OS 不支持由某个命令启动的软系统关闭。关机命令模拟按下关闭电源的电源按钮。在基于 x86 的系统上,在 Solaris OS 运行时发出此命令会立即关闭电源,但不会正确关闭操作系统。不正确的关机过程可能会损坏文件系统。
解决方法:在关闭电源前,首先关闭操作系统。请执行以下步骤:
成为超级用户。
使用可用命令之一正确关闭 Solaris OS,例如,init、halt 或 shutdown。例如:
# shutdown |
操作系统完全关闭后,可以通过以下两种方法之一关闭电源:
如果系统支持软系统关闭,请发出命令以关闭电源。
如果系统不支持软系统关闭,请使用电源开关手动关闭电源。
有关关闭操作系统的命令的更多信息,请参见 init(1M)、halt(1M) 和 shutdown(1M) 命令的手册页。有关关闭系统电源的信息,请参阅系统手册。
SunSwiftTM PCI 以太网/SCSI 主机适配器 (X1032A) 卡的 SCSI 部分的缺省超时值不符合 Sun 的 SCSI DVD-ROM 驱动器 (X6168A) 的超时要求。使用特殊介质,DVD-ROM 会偶尔出现超时错误。唯一的例外是 Sun Fire 6800、4810、4800 和 3800 系统。这些系统以 OpenBoot PROM 的方式覆写 SCSI 超时值。
解决方法:对于其他平台,使用与板上 SCSI 接口或 DVD-ROM 兼容的 SCSI 适配器,如下例所示:
X1018A (SBus: F501-2739-xx)
X6540A (PCI: F375-0005-xx)