lshw中无人认领的设备

Ult*_*der 9 drivers hardware sata hard-disk

我在我的计算机中添加了一个带有 2 个 USB3 端口和 2 个 sata3 端口的 PCI Express 控制卡。(http://www.ldlc.be/fiche/PB00121886.html)。

USB 端口工作正常,但插入 sata 端口的 HDD 未出现在设备中。

我运行了 lshw,这里是关于 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`
Run Code Online (Sandbox Code Playgroud)

似乎 Unclaimed IDE 是罪魁祸首,它无人认领是因为系统找不到驱动程序。我如何才能找到使该 ide 部分工作所需的驱动程序?

到目前为止,我对 PEX 8604 的谷歌搜索几乎没有返回任何关于 linux 驱动程序的信息。

编辑:附加信息

# 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
Run Code Online (Sandbox Code Playgroud)

Ult*_*der 7

我找到了解决办法。该设备无人认领,因为内核无法正确识别该设备。

使用内核 3.5,该设备列出如下:

*-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
Run Code Online (Sandbox Code Playgroud)

但它仍然无人认领。

在搜索设备 [1b21:0611] 时,我在内核邮件列表中发现了一篇关于它的帖子。它告诉内核没有将设备正确识别为 ahci 设备,并向内核提出补丁。

--- 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 */
Run Code Online (Sandbox Code Playgroud)

我将补丁应用到内核 3.5 的源代码并重新编译,它现在可以工作了。有关信息,该补丁包含在 3.6 及更高版本的内核中。