Appareil non réclamé dans lshw

J'ai ajouté dans mon ordinateur une carte controller PCI Express avec 2 ports USB3 et 2 ports sata3. ( http://www.ldlc.be/fiche/PB00121886.html ).

Les ports USB fonctionnent correctement, mais le disque dur branché sur le port sata n'apparaît pas dans les périphériques.

J'ai couru lshw et voici le résultat concernant la carte pci:

*-pci:1 description: PCI bridge product: PEX 8604 4-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch vendor: PLX Technology, Inc. physical id: 5 bus info: pci@0000:05:05.0 version: ba width: 32 bits clock: 33MHz capabilities: pci pm msi pciexpress normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:46 ioport:7000(size=8192) memory:d6100000-d61fffff *-ide UNCLAIMED description: IDE interface physical id: 0 bus info: pci@0000:07:00.0 version: 01 width: 32 bits clock: 33MHz capabilities: ide msi pm pciexpress cap_list configuration: latency=0 resources: ioport:7000(size=8) ioport:7400(size=4) ioport:7800(size=8) ioport:7c00(size=4) ioport:8000(size=16) memory:d6100000-d61001ff` 

Il semble que l'IDE non réclamé soit le coupable et qu'il ne soit pas réclamé car le système n'a pas trouvé de pilote pour cela. Comment puis-je find quel pilote je devrais faire fonctionner cette partie IDE?

Jusqu'à présent, ma search google pour PEX 8604 ne renvoie presque rien concernant un pilote Linux.

EDIT: infos supplémentaires

 # lspci -nn 00:00.0 Memory controller [0580]: nVidia Corporation CK804 Memory Controller [10de:005e] (rev a3) 00:01.0 ISA bridge [0601]: nVidia Corporation CK804 ISA Bridge [10de:0050] (rev f3) 00:01.1 SMBus [0c05]: nVidia Corporation CK804 SMBus [10de:0052] (rev a2) 00:02.0 USB Controller [0c03]: nVidia Corporation CK804 USB Controller [10de:005a] (rev a2) 00:02.1 USB Controller [0c03]: nVidia Corporation CK804 USB Controller [10de:005b] (rev a3) 00:04.0 Multimedia audio controller [0401]: nVidia Corporation CK804 AC'97 Audio Controller [10de:0059] (rev a2) 00:06.0 IDE interface [0101]: nVidia Corporation CK804 IDE [10de:0053] (rev f2) 00:07.0 IDE interface [0101]: nVidia Corporation CK804 Serial ATA Controller [10de:0054] (rev f3) 00:08.0 IDE interface [0101]: nVidia Corporation CK804 Serial ATA Controller [10de:0055] (rev f3) 00:09.0 PCI bridge [0604]: nVidia Corporation CK804 PCI Bridge [10de:005c] (rev f2) 00:0a.0 Bridge [0680]: nVidia Corporation CK804 Ethernet Controller [10de:0057] (rev f3) 00:0b.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d] (rev f3) 00:0c.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d] (rev f3) 00:0d.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d] (rev f3) 00:0e.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d] (rev a3) 00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100] 00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map [1022:1101] 00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller [1022:1102] 00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103] 01:00.0 VGA compatible controller [0300]: nVidia Corporation G98 [GeForce 8400 GS] [10de:06e4] (rev a1) 04:00.0 PCI bridge [0604]: PLX Technology, Inc. PEX 8604 4-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch [10b5:8604] (rev ba) 05:01.0 PCI bridge [0604]: PLX Technology, Inc. PEX 8604 4-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch [10b5:8604] (rev ba) 05:05.0 PCI bridge [0604]: PLX Technology, Inc. PEX 8604 4-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch [10b5:8604] (rev ba) 06:00.0 USB Controller [0c03]: Device [1b21:1040] 07:00.0 IDE interface [0101]: Device [1b21:0611] (rev 01) 08:06.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10) 08:0b.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) [104c:8023] 08:0c.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller [11ab:4320] (rev 13) # lspci -v -s 5:5 05:05.0 PCI bridge: PLX Technology, Inc. PEX 8604 4-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=05, secondary=07, subordinate=07, sec-latency=0 I/O behind bridge: 00007000-00008fff Memory behind bridge: d6100000-d61fffff Capabilities: [40] Power Management version 3 Capabilities: [48] MSI: Enable+ Count=1/4 Maskable+ 64bit+ Capabilities: [68] Express Downstream Port (Slot+), MSI 00 Capabilities: [a4] Subsystem: PLX Technology, Inc. PEX 8604 4-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch Capabilities: [100] Device Serial Number [EDITED] Capabilities: [fb4] Advanced Error Reporting Capabilities: [148] Virtual Channel Capabilities: [520] Access Control Services Capabilities: [950] Vendor Specific Information: ID=0001 Rev=0 Len=010 <?> Kernel driver in use: pcieport Kernel modules: shpchp # lspci -v -s 7:0 07:00.0 IDE interface: Device 1b21:0611 (rev 01) (prog-if 85 [Master SecO PriO]) Subsystem: Device 1b21:1060 Flags: fast devsel, IRQ 18 I/O ports at 7000 [size=8] I/O ports at 7400 [size=4] I/O ports at 7800 [size=8] I/O ports at 7c00 [size=4] I/O ports at 8000 [size=16] Memory at d6100000 (32-bit, non-prefetchable) [size=512] Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit- Capabilities: [78] Power Management version 3 Capabilities: [80] Express Legacy Endpoint, MSI 00 Capabilities: [100] Virtual Channel 

J'ai trouvé la solution. Le périphérique n'a pas été réclamé car il n'était pas connu correctement par le kernel.

En utilisant un kernel 3.5, le périphérique a été répertorié comme ci-dessous:

 *-ide UNCLAIMED description: IDE interface product: ASM1061 SATA IDE Controller vendor: ASMedia Technology Inc. physical id: 0 bus info: pci@0000:07:00.0 version: 01 width: 32 bits clock: 33MHz capabilities: ide msi pm pciexpress cap_list configuration: latency=0 resources: ioport:7000(size=8) ioport:7400(size=4) ioport:7800(size=8) ioport:7c00(size=4) ioport:8000(size=16) memory:d6100000-d6100 

mais il n'était toujours pas réclamé.

Lors de la search de l'appareil [1b21: 0611], j'ai trouvé un message dans la list de diffusion du kernel en parlant. Il indique que le kernel n'identifie pas correctement le périphérique comme un périphérique ahci et propose un patch au kernel.

 --- a/drivers/ata/ahci.c 2012-05-20 23:56:54.000000000 +0200 +++ b/drivers/ata/ahci.c 2012-05-31 14:51:01.577045033 +0200 @@ -391,6 +391,9 @@ { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */ /* Asmedia */ + { PCI_VDEVICE(ASMEDIA, 0x0601), board_ahci }, /* ASM106x */ + { PCI_VDEVICE(ASMEDIA, 0x0602), board_ahci }, /* ASM106x */ + { PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci }, /* ASM1061 */ { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1061 */ /* Generic, PCI class code for AHCI */ 

J'ai appliqué le patch à la source du kernel 3.5 et recompilé et il fonctionne maintenant. Pour information, le patch est inclus dans le kernel dans la version 3.6 et plus.