Intel ICH7M 南桥 I/O 控制器需要 Debian 驱动程序

Intel ICH7M 南桥 I/O 控制器需要 Debian 驱动程序

我正在使用基于此架构的主板。

http://www.intel.com/content/www/us/en/intelligent-systems/navy-pier/embedded-intel-atom-n270-with-mobile-intel-945gse-express-chipset.html

我需要英特尔® 82801GB I/O 控制器中枢(英特尔® ICH7)的 Linux 驱动程序。我只找到该芯片组的 Windows 驱动程序。任何指针都会有用。

我面临的实际问题如下所述。

问题: 辅助硬盘故障导致操作系统停顿..

母板 : 全麦克斯 KEMX 2030

操作系统:Debian 2.6.32-31

我们的设置和应用说明:在 KEMX 2030 主板上,我们在 SATA 0 和 SATA 1 处分别连接两个 HDD。SATA 0 连接到加载了 Debian Linux 操作系统的 HDD(主)。 SATA 1 连接到一个 HDD(辅助),该 HDD 没有任何操作系统,但有数据存储分区。我们的应用程序在主硬盘上运行,并且我们定期将某些关键文件从主硬盘复制到辅助硬盘以进行备份。

问题描述:辅助 HDD 故障会导致主 HDD 操作系统停顿和冻结。我们在现场部署中目睹了两个案例

  1. 当辅助硬盘出现坏扇区时,每当从主硬盘到辅助硬盘执行文件复制操作时,主操作系统将开始在其内核日志中抛出 DRDY UNC 错误。 UNC 表示不可纠正的扇区。操作系统无法从这种情况中恢复,整个系统冻结,并且主 HDD 上运行的每个应用程序都会变得非常慢,因为 SATA 总线被阻塞。
  2. 当连接到辅助 HDD 的SATA 数据线出现故障或质量较低时,主操作系统将开始在其内核日志中抛出 DRDY ICRC 错误。 ICRC表示数据传输中的CRC错误。即使在这种情况下,主操作系统也会冻结。问题是,为什么当辅助硬盘损坏时主操作系统会冻结。是因为SATA总线被阻塞了吗?我们希望主硬盘不会因为辅助硬盘故障而受到影响。

为了找出问题所在,我们做了以下测试。使用常规 PC 主板,我们连接相同的主驱动器和辅助驱动器(故障)来模拟这种情况。在模拟中,我们发现 Linux 内核检测到相同的 DRDY UNC/ICRC 错误,并且在大约 2 分钟内,它能够将辅助 HDD 设为只读并防止进一步损坏。主操作系统根本不会被阻塞。该 PC 主板也有类似的 SATA 0 和 SATA 1,我们将相同的 HDD 连接到它们。我们无法理解 PC 主板如何更好地处理这种情况。该测试证明操作系统在 PC 主板上可以正常工作,但在 KEMX 主板上却不能。 Quanmax架构如下图所示拱形图

我是否需要特定的 I/O 控制器驱动程序来解决此问题?

进一步调试发现,无论将副硬盘连接在SATA 0还是SATA 1端口上,linux都只能在SCSI /HOST 0端口上扫描到副硬盘。如果我们对 SCSI/HOST 1 进行扫描,则不会检测到辅助 HDD。这是否意味着 SATA 总线被复用到 SCSI HOST 0 中?相反,对于普通 PC 主板,我们注意到必须在相应的 SCSI/HOST 端口上执行扫描才能检测到辅助硬盘。

以下是 Quanmax KEMX 板上的 lspci 输出。

debian:~# lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

debian:~#

以下是常规 PC 主板上的 lspci 输出。

debian:~# lspci
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 82G33/G31/P35/P31 Express PCI Express Root Port (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 02)
00:19.0 Ethernet controller: Intel Corporation 82562V-2 10/100 Network Connection (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801I (ICH9 Family) 2 port SATA IDE Controller (rev 02)

不同之处在于普通PC主板有ICH9系列,而Quanmax KEMX有ICH7系列。

以下是内核日志,显示正在使用的驱动程序为 ata_piix 版本 2.13。这个版本的驱动有bug吗?

2013 Nov 21 17:14:19::kernel::[    1.569271] ata_piix 0000:00:1f.2: version 2.13
2013 Nov 21 17:14:19::kernel::[    1.569315] ata_piix 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19
2013 Nov 21 17:14:19::kernel::[    1.569405] ata_piix 0000:00:1f.2: MAP [ P0 P2 IDE IDE ]
2013 Nov 21 17:14:19::kernel::[    1.569697] ata_piix 0000:00:1f.2: setting latency timer to 64
2013 Nov 21 17:14:19::kernel::[    1.576892] scsi0 : ata_piix
2013 Nov 21 17:14:19::kernel::[    1.581480] scsi1 : ata_piix
2013 Nov 21 17:14:19::kernel::[    1.584880] ata1: SATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14
2013 Nov 21 17:14:19::kernel::[    1.584952] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15
2013 Nov 21 17:14:19::kernel::[    1.756783] ata1.00: ATA-8: ST320LT012-9WS14C, 0001SDM1, max UDMA/133
2013 Nov 21 17:14:19::kernel::[    1.756860] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 0/32)
2013 Nov 21 17:14:19::kernel::[    1.757445] ata1.01: ATA-8: ST320LT012-9WS14C, 0001SDM1, max UDMA/133
2013 Nov 21 17:14:19::kernel::[    1.757517] ata1.01: 625142448 sectors, multi 16: LBA48 NCQ (depth 0/32)
2013 Nov 21 17:14:19::kernel::[    1.772546] ata1.00: configured for UDMA/133
2013 Nov 21 17:14:19::kernel::[    1.789555] ata1.01: configured for UDMA/133
2013 Nov 21 17:14:19::kernel::[    1.789846] scsi 0:0:0:0: Direct-Access     ATA      ST320LT012-9WS14 0001 PQ: 0 ANSI: 5
2013 Nov 21 17:14:19::kernel::[    1.790422] scsi 0:0:1:0: Direct-Access     ATA      ST320LT012-9WS14 0001 PQ: 0 ANSI: 5
2013 Nov 21 17:14:19::kernel::[    1.814269] sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320 GB/298 GiB)
2013 Nov 21 17:14:19::kernel::[    1.814370] sd 0:0:0:0: [sda] 4096-byte physical blocks
2013 Nov 21 17:14:19::kernel::[    1.814658] sd 0:0:1:0: [sdb] 625142448 512-byte logical blocks: (320 GB/298 GiB)
2013 Nov 21 17:14:19::kernel::[    1.814755] sd 0:0:1:0: [sdb] 4096-byte physical blocks
2013 Nov 21 17:14:19::kernel::[    1.814998] sd 0:0:0:0: [sda] Write Protect is off
2013 Nov 21 17:14:19::kernel::[    1.815068] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
2013 Nov 21 17:14:19::kernel::[    1.815165] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
2013 Nov 21 17:14:19::kernel::[    1.815268] sd 0:0:1:0: [sdb] Write Protect is off
2013 Nov 21 17:14:19::kernel::[    1.815339] sd 0:0:1:0: [sdb] Mode Sense: 00 3a 00 00
2013 Nov 21 17:14:19::kernel::[    1.815452] sd 0:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
2013 Nov 21 17:14:19::kernel::[    1.816076]  sda:
2013 Nov 21 17:14:19::kernel::[    1.828670]  sdb: sda1 sda2 sda3 < sdb1 sdb2 < sda5 sdb5 sda6 >
2013 Nov 21 17:14:19::kernel::[    1.921110]  sdb6 >
2013 Nov 21 17:14:19::kernel::[    1.922236] sd 0:0:1:0: [sdb] Attached SCSI disk
2013 Nov 21 17:14:19::kernel::[    1.922571] sd 0:0:0:0: [sda] Attached SCSI disk

相关内容