当所连接的驱动器不显示时,如何修复 Ubuntu 12.04 上的 Supermicro AOC-SAS2LP-MV8?

当所连接的驱动器不显示时,如何修复 Ubuntu 12.04 上的 Supermicro AOC-SAS2LP-MV8?

我有一张 Supermicro AOC-SAS2LP-MV8 控制卡,我想让它在 Ubuntu 12.04 服务器 (x86_64) 上运行。该卡基于 Marvell 88SE9485。到目前为止,我可以lscpi看到lshw该卡,但我连接用于测试的一个驱动器没有显示出来。

lsmod没有列出适合此卡的内核模块。我无法确定内核模块来自哪里。搜索/lib/modules也没有内核模块。

注意:我试图避免重新构建内核,因为这将进入生产机器。

答案1

这个补丁似乎对我的 Ubuntu 13.10 有效:

http://lists.debian.org/debian-kernel/2013/09/msg00184.html

Reported-by: Matt Taggart <[email protected]>
Tested-by: Matt Taggart <[email protected]>
Signed-off-by: Ben Hutchings <[email protected]>
---
 drivers/scsi/mvsas/mv_init.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c
index 7b7381d..83fa5f8 100644
--- a/drivers/scsi/mvsas/mv_init.c
+++ b/drivers/scsi/mvsas/mv_init.c
@@ -729,6 +729,15 @@ static struct pci_device_id mvs_pci_table[] = {
        .class_mask = 0,
        .driver_data    = chip_9485,
    },
+   {
+       .vendor     = PCI_VENDOR_ID_MARVELL_EXT,
+       .device     = 0x9485,
+       .subvendor  = PCI_ANY_ID,
+       .subdevice  = 0x9485,
+       .class      = 0,
+       .class_mask = 0,
+       .driver_data    = chip_9485,
+   },
    { PCI_VDEVICE(OCZ, 0x1021), chip_9485}, /* OCZ RevoDrive3 */
    { PCI_VDEVICE(OCZ, 0x1022), chip_9485}, /* OCZ RevoDrive3/zDriveR4 (exact model unknown) */
    { PCI_VDEVICE(OCZ, 0x1040), chip_9485}, /* OCZ RevoDrive3/zDriveR4 (exact model unknown) */

至少现在lshw -c storage可以看到控制器,也fdisk -l可以看到连接的硬盘。我不确定它运行得有多稳定。如果遇到任何问题,我会报告。

相关内容