[debian] modules voor raidkaarten

Pagina: 1
Acties:

  • Midas.e
  • Registratie: Juni 2008
  • Laatst online: 20:23

Midas.e

Is handig met dinges

Topicstarter
Mijn setup:
Highpoint RR2220 pci-x 8 ports marvell controller, 8x1TB hitachi hardeschijven aangesloten.
Adaptec 1420SA, pci-x 4 ports marvell controller, 4x1TB hitachi hardeschijven aangesloten.

Highpoint draait onder zijn eigen driver, de hptmv6. De adaptec zou moeten draaien onder de sata_mv driver die in elke up2date kernel zit.
Probleem is nu, bij de highpoint die ook een marvell chipset heeft probeert de sata_mv driver vrolijk de kaart aan te sturen wat keihard fout gaat. Meer hierover staat hier.
Met het aanpassen van /lib/modules/`uname -r` (mijn geval lenny stable, kernel 2.6.26-1-686) files modules.alias en modules.pcimap heb ik de controller zover dat lspci laat zien dat de sata_mv niet wordt geladen, alleen bij het modproben van de sata_mv laad hij de module _wel_ weer voor mn highpoint waardoor mn array keihard onderuit gaat!
Kan ik op de een of andere manier zorgen dat sata_mv _alleen_ op de adaptec werkt en NOOIT op de highpoint?

Dit heeft me inmiddels al 4 dagen, 17 kernels en flink wat grijze haren gekost.

edit: toevoegend nog de lspci van beide controllers.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
02:01.0 SCSI storage controller: Marvell Technology Group Ltd. MV88SX6081 8-port SATA II PCI-X Controller (rev 07)
        Subsystem: Marvell Technology Group Ltd. Device 11ab
        Flags: bus master, fast Back2Back, 66MHz, medium devsel, latency 64, IRQ 24
        Memory at fc200000 (64-bit, non-prefetchable) [size=1M]
        I/O ports at 8000 [size=256]
        Capabilities: [40] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
        Capabilities: [60] PCI-X non-bridge device
        Kernel modules: hptmv6
03:01.0 RAID bus controller: Adaptec Serial ATA II RAID 1420SA (rev 01)
        Subsystem: Adaptec Serial ATA II RAID 1420SA
        Flags: bus master, fast Back2Back, 66MHz, medium devsel, latency 64, IRQ 12
        Memory at fc400000 (64-bit, non-prefetchable) [size=1M]
        I/O ports at 9000 [size=256]
        Capabilities: [40] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
        Capabilities: [60] PCI-X non-bridge device
        Kernel modules: sata_mv

[ Voor 34% gewijzigd door Midas.e op 01-03-2009 16:06 ]

Hacktheplanet / PVOutput


  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Hmm, en met rmmod en insmod (is wat "dommer" dan modprobe) eerst hptmv6 laden en daarna pas sata_mv werkt niet? Gek.

Anders kan je altijd nog met "lspci -vvnn" het PCI-id van je highpoint uitvinden en deze handmatig uit sata_mv verwijderen:

http://lxr.linux.no/linux...rivers/ata/sata_mv.c#L665

Als je niet weet hoe je je kernel hiermee recompiled moet je het even aangeven.

[ Voor 4% gewijzigd door Erik Jan op 01-03-2009 16:49 ]

This can no longer be ignored.


Verwijderd

of wellicht met udev rules

  • Midas.e
  • Registratie: Juni 2008
  • Laatst online: 20:23

Midas.e

Is handig met dinges

Topicstarter
udev ben ik mee bezig geweest, teminste het zoeken naar een rule die dit mogelijk maakt. Ik kon er geen vinden. :(
Erik Jan schreef op zondag 01 maart 2009 @ 16:47:
Hmm, en met rmmod en insmod (is wat "dommer" dan modprobe) eerst hptmv6 laden en daarna pas sata_mv werkt niet? Gek.

Anders kan je altijd nog met "lspci -vvnn" het PCI-id van je highpoint uitvinden en deze handmatig uit sata_mv verwijderen:

http://lxr.linux.no/linux...rivers/ata/sata_mv.c#L665

Als je niet weet hoe je je kernel hiermee recompiled moet je het even aangeven.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
02:01.0 SCSI storage controller [0100]: Marvell Technology Group Ltd. MV88SX6081                                                                                                                                8-port SATA II PCI-X Controller [11ab:6081] (rev 07)
        Subsystem: Marvell Technology Group Ltd. Device [11ab:11ab]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Step                                                                                                                               ping- SERR+ FastB2B+ DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort                                                                                                                               - <MAbort- >SERR- <PERR- INTx-
        Latency: 64, Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 24
        Region 0: Memory at fc200000 (64-bit, non-prefetchable) [size=1M]
        Region 2: I/O ports at 8000 [size=256]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot                                                                                                                               -,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0                                                                                                                                Enable-
                Address: 0000000000000000  Data: 0000
        Capabilities: [60] PCI-X non-bridge device
                Command: DPERE- ERO- RBC=512 OST=4
                Status: Dev=ff:1f.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=51                                                                                                                               2 DMOST=4 DMCRS=8 RSCEM- 266MHz- 533MHz-
        Kernel modules: hptmv6

Ik zou graag weten hoe ik dit uit sata_mv stamp! een pointer hierbij zou ik erg blij mee zijn, het compilen van de kernel is niet echt een probleem.

[ Voor 84% gewijzigd door Midas.e op 01-03-2009 17:19 ]

Hacktheplanet / PVOutput


  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

code:
1
[11ab:11ab]

Dit klopt niet echt, het vendor ID van Marvell is wel 0x11ab maar het device ID moet iets anders zijn. Maar dat ligt waarschijnlijk aan een brakke implementatie in lspci (of de controller zelf...).

Maar goed klein gokje is dat dat 0x6081 zal zijn. Dan moet je dus je kernel recompilen met de regel met dat ID in drivers/ata/sata_mv.c uitgecomment:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
static const struct pci_device_id mv_pci_tbl[] = {
        { PCI_VDEVICE(MARVELL, 0x5040), chip_504x },
        { PCI_VDEVICE(MARVELL, 0x5041), chip_504x },
        { PCI_VDEVICE(MARVELL, 0x5080), chip_5080 },
        { PCI_VDEVICE(MARVELL, 0x5081), chip_508x },
        /* RocketRAID 1720/174x have different identifiers */
        { PCI_VDEVICE(TTI, 0x1720), chip_6042 },
        { PCI_VDEVICE(TTI, 0x1740), chip_6042 },
        { PCI_VDEVICE(TTI, 0x1742), chip_6042 },

        { PCI_VDEVICE(MARVELL, 0x6040), chip_604x },
        { PCI_VDEVICE(MARVELL, 0x6041), chip_604x },
        { PCI_VDEVICE(MARVELL, 0x6042), chip_6042 },
        { PCI_VDEVICE(MARVELL, 0x6080), chip_608x },
        //{ PCI_VDEVICE(MARVELL, 0x6081), chip_608x }, <-- deze dus

        { PCI_VDEVICE(ADAPTEC2, 0x0241), chip_604x },

        /* Adaptec 1430SA */
        { PCI_VDEVICE(ADAPTEC2, 0x0243), chip_7042 },

        /* Marvell 7042 support */
        { PCI_VDEVICE(MARVELL, 0x7042), chip_7042 },

        /* Highpoint RocketRAID PCIe series */
        { PCI_VDEVICE(TTI, 0x2300), chip_7042 },
        { PCI_VDEVICE(TTI, 0x2310), chip_7042 },

        { }                     /* terminate list */
};

Let wel op dat je het niet letterlijk copy&pasted want dit is voor kernel 2.6.28.7.

Als je echt zeker wilt zijn en niet steeds na elke gok opnieuw wilt compilen, zou ik gewoon alles onder de kopjes "RocketRAID" disablen.

This can no longer be ignored.


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16:23

deadinspace

The what goes where now?

Midas.e schreef op zondag 01 maart 2009 @ 16:03:
Probleem is nu, bij de highpoint die ook een marvell chipset heeft probeert de sata_mv driver vrolijk de kaart aan te sturen wat keihard fout gaat. Meer hierover staat hier.
Dus als je hptmv6 niet laadt, en sata_mv gebruikt voor beide controllers heb je het probleem beschreven op die pagina? En wat als je de patch uit het gelinkte bugreport toepast?

  • Midas.e
  • Registratie: Juni 2008
  • Laatst online: 20:23

Midas.e

Is handig met dinges

Topicstarter
deadinspace schreef op zondag 01 maart 2009 @ 20:37:
[...]

Dus als je hptmv6 niet laadt, en sata_mv gebruikt voor beide controllers heb je het probleem beschreven op die pagina? En wat als je de patch uit het gelinkte bugreport toepast?
Gedaan, dat zorgt er helaas voor dat mn adaptec controller compleet geen drives meer vind. Ook niet de beste oplossing.
Erik Jan schreef op zondag 01 maart 2009 @ 19:48:
code:
1
[11ab:11ab]

Dit klopt niet echt, het vendor ID van Marvell is wel 0x11ab maar het device ID moet iets anders zijn. Maar dat ligt waarschijnlijk aan een brakke implementatie in lspci (of de controller zelf...).

Maar goed klein gokje is dat dat 0x6081 zal zijn. Dan moet je dus je kernel recompilen met de regel met dat ID in drivers/ata/sata_mv.c uitgecomment:
[...]
Let wel op dat je het niet letterlijk copy&pasted want dit is voor kernel 2.6.28.7.

Als je echt zeker wilt zijn en niet steeds na elke gok opnieuw wilt compilen, zou ik gewoon alles onder de kopjes "RocketRAID" disablen.
Bedankt hiervoor! Ik zit nu met een twijfelpunt of ik niet gewoon even langer met maar 4 drives doordraai en over niet te lang het vervang door een hardware raidkaart met 12 porten. Ben ik teminste het gepruts met half ondersteunde slechte hardware kwijt.

[ Voor 53% gewijzigd door Midas.e op 01-03-2009 21:20 ]

Hacktheplanet / PVOutput

Pagina: 1