我已将 PCIe ASMedia SATA 控制器添加到我的 PC。在win10下可以正常使用,但在ubuntu下就不行了。
lspci 返回:
01:00.0 IDE interface: ASMedia Technology Inc. Device 0624 (rev 01) (prog-if 85 [PCI native mode-only controller, supports bus mastering])
Subsystem: ASMedia Technology Inc. Device 1060
Flags: fast devsel, IRQ 16
I/O ports at e040 [size=8]
I/O ports at e030 [size=4]
I/O ports at e020 [size=8]
I/O ports at e010 [size=4]
I/O ports at e000 [size=16]
Memory at df180000 (32-bit, non-prefetchable) [size=8K]
Expansion ROM at df100000 [disabled] [size=512K]
Capabilities: <access denied>
Kernel modules: pata_acpi
主板控制器在 ahci 下工作正常:
00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31) (prog-if 01 [AHCI 1.0])
Subsystem: Elitegroup Computer Systems Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode]
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 124
Memory at df228000 (32-bit, non-prefetchable) [size=8K]
Memory at df22d000 (32-bit, non-prefetchable) [size=256]
I/O ports at f090 [size=8]
I/O ports at f080 [size=4]
I/O ports at f060 [size=32]
Memory at df22c000 (32-bit, non-prefetchable) [size=2K]
Capabilities: <access denied>
Kernel driver in use: ahci
Kernel modules: ahci
我有什么想法可以让它发挥作用吗?
答案1
由于某种原因,在模块有机会尝试pata_acpi
之前,模块首先与控制器匹配。ahci
编辑(或创建)/etc/modprobe.d/blacklist.conf
并向其中添加以下行:
blacklist pata_acpi
然后运行sudo update-initramfs -u
以将更改传播到 initramfs 文件。
或者,编辑/etc/default/grub
以添加blacklist=pata_acpi
到 的值GRUB_CMDLINE_LINUX
。换句话说,找到如下一行:
GRUB_CMDLINE_LINUX=""
然后将其更改为:
GRUB_CMDLINE_LINUX="blacklist=pata_acpi"
如果双引号内已经有内容,请blacklist=pata_acpi
在引号内添加,并与现有部分用空格分隔,即如果您发现:
GRUB_CMDLINE_LINUX="something=else"
然后将其更改为:
GRUB_CMDLINE_LINUX="something=else blacklist=pata_acpi"
在这两种情况下,进行更改后,运行sudo update-grub
以重新生成实际的 GRUB 配置文件。
下次启动时,pata_acpi
不应为 ASMedia SATA 控制器加载该模块,因此该ahci
模块将有机会声明它。
答案2
根据 https://linux-hardware.org/index.php?id=pci:1b21-0612-1b21-1060,ASMedia SATA 控制器 106x 是SATA控制器,而不是 亚太旅游协会设备。
因此它可以与 AHCI 配合使用。
我认为问题是,如何设置内核使用ahci驱动程序而不是pata_acpi。谢谢。
答案3
创建了一个帐户,以便我可以在这里发表评论,因为我已经在 Ubuntu 下使用同一张卡与这个问题斗争了一段时间。
卡上有一个开关。关闭计算机,将其移至 AHCI(启动)。一切都显现出来了。再次运行 LSPCI 和 LSBLK 以验证您的设备是否存在。
前:
IDE interface: ASMedia Technology Inc. ASM1061 SATA IDE Controller (rev 02)
后:
SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)