Назад | Перейти на главную страницу

Как исправить Supermicro AOC-SAS2LP-MV8 в Ubuntu 12.04, когда подключенный диск не отображается?

У меня есть карта контроллера Supermicro AOC-SAS2LP-MV8, которую я пытаюсь заставить работать на сервере Ubuntu 12.04 (x86_64). Карта основана на Marvell 88SE9485. До сих пор lscpi и lshw карту видите, но один диск, который я подключил для тестирования, не отображается.

lsmod в списке нет подходящих модулей ядра для этой карты. Я не могу определить, откуда взялся модуль ядра. Поиск в /lib/modules также не имеет модуля ядра.

Примечание: я стараюсь избегать повторной сборки ядра, так как оно попадет в производственную машину.

Этот патч, кажется, работает для меня в Ubuntu 13.10:

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

Reported-by: Matt Taggart <taggart@debian.org>
Tested-by: Matt Taggart <taggart@debian.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 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 теперь видит подключенный HDD. Я не уверен, насколько стабильно он работает. Сообщу, если у меня возникнут проблемы.