如何找到特定ACPI设备的ACPI驱动程序/解决内核挂起错误

我正在按照https://wiki.ubuntu.com/DebuggingKernelSuspend上的指示进行操作,它说我需要重新启动系统。
sudo sh -c "sync && echo 1 > /sys/power/pm_trace && pm-suspend"

找到重启后dmesg中包含“hash matches”的行(这是什么意思?)
嗯,我找到了两行:
[    3.583591] ima: Allocated hash algorithm: sha1
[    3.593050] input: AT Raw Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
[    3.638808]   Magic number: 0:929:176
[    3.638867] acpi device:39: hash matches
[    3.638893] acpi device:0c: hash matches
[    3.639073] rtc_cmos 00:01: setting system clock to 2016-01-01 12:09:51 UTC (1451650191)

看起来问题出在这两个 ACPI 设备上。文章没有说明在这种情况下应该怎么做。如果问题出在 PCIe 设备上,我可以简单地卸载它的模块,但是在这种情况下我应该怎么办呢?ACPI 设备有模块吗?如果有,如何找到它的模块?还有哈希匹配是什么意思?
更新:
这是我的 lspci:
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #3 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
00:1e.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO UART Controller #0 (rev 21)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
3b:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961

更新:

[lz@dom0 tmp]$ lspci -t
-[0000:00]-+-00.0
           +-02.0
           +-14.0
           +-14.2
           +-15.0
           +-15.1
           +-16.0
           +-1c.0-[01]----00.0
           +-1c.4-[02-3a]--
           +-1d.0-[3b]----00.0
           +-1e.0
           +-1f.0
           +-1f.2
           +-1f.3
           \-1f.4

更新:

dmesg | grep -i acpi

0.000000] Xen: [mem 0x000000006e503000-0x000000006e503fff] ACPI NVS
[    0.000000] Xen: [mem 0x000000007a3d9000-0x000000007a444fff] ACPI data
[    0.000000] Xen: [mem 0x000000007a445000-0x000000007abfefff] ACPI NVS
[    0.000000] efi:  ESRT=0x7b226f18  ACPI=0x7a3ee000  ACPI 2.0=0x7a3ee000  SMBIOS=0x7b210000  SMBIOS 3.0=0x7b20f000 
[    1.069765] ACPI: Early table checksum verification disabled
[    1.069772] ACPI: RSDP 0x000000007A3EE000 000024 (v02 ALASKA)
[    1.069782] ACPI: XSDT 0x000000007A3EE0B0 0000E4 (v01 ALASKA A M I    01072009 AMI  00010013)
[    1.069821] ACPI: FACP 0x000000007A414898 000114 (v06 ALASKA A M I    01072009 AMI  00010013)
[    1.069889] ACPI: DSDT 0x000000007A3EE228 02666B (v02 ALASKA A M I    01072009 INTL 20160422)
[    1.069903] ACPI: FACS 0x000000007ABE6C40 000040
[    1.069916] ACPI: APIC 0x000000007A4149B0 000084 (v03 ALASKA A M I    01072009 AMI  00010013)
[    1.069930] ACPI: FPDT 0x000000007A414A38 000044 (v01 ALASKA A M I    01072009 AMI  00010013)
[    1.069943] ACPI: MCFG 0x000000007A414A80 00003C (v01 ALASKA A M I    01072009 MSFT 00000097)
[    1.069957] ACPI: FIDT 0x000000007A414AC0 00009C (v01 ALASKA A M I    01072009 AMI  00010013)
[    1.069970] ACPI: MSDM 0x000000007A414B60 000055 (v03 ALASKA A M I    01072009 AMI  00010013)
[    1.069984] ACPI: SSDT 0x000000007A414BB8 003154 (v02 SaSsdt SaSsdt   00003000 INTL 20160422)
[    1.070007] ACPI: HPET 0x000000007A417D10 000038 (v01 INTEL  KBL-ULT  00000001 MSFT 0000005F)
[    1.070021] ACPI: SSDT 0x000000007A417D48 000E3B (v02 INTEL  Ther_Rvp 00001000 INTL 20160422)
[    1.070034] ACPI: SSDT 0x000000007A418B88 0006BB (v02 INTEL  xh_OEMBD 00000000 INTL 20160422)
[    1.070048] ACPI: UEFI 0x000000007A419248 000042 (v01 INTEL  EDK2     00000002      01000013)
[    1.070062] ACPI: SSDT 0x000000007A419290 000EDE (v02 CpuRef CpuSsdt  00003000 INTL 20160422)
[    1.070075] ACPI: LPIT 0x000000007A41A170 000094 (v01 INTEL  KBL-ULT  00000000 MSFT 0000005F)
[    1.070089] ACPI: WSMT 0x000000007A41A208 000028 (v01 INTEL  KBL-ULT  00000000 MSFT 0000005F)
[    1.070102] ACPI: SSDT 0x000000007A41A230 00029F (v02 INTEL  sensrhub 00000000 INTL 20160422)
[    1.070116] ACPI: SSDT 0x000000007A41A4D0 003002 (v02 INTEL  PtidDevc 00001000 INTL 20160422)
[    1.070130] ACPI: DBGP 0x000000007A41D4D8 000034 (v01 INTEL           00000002 MSFT 0000005F)
[    1.070143] ACPI: DBG2 0x000000007A41D510 000054 (v00 INTEL           00000002 MSFT 0000005F)
[    1.070157] ACPI: BGRT 0x000000007A41D568 000038 (v01 ALASKA A M I    01072009 AMI  00010013)
[    1.070171] ACPI: RMAD 0x000000007A41D5A0 000114 (v01 INTEL  KBL      00000001 INTL 00000001)
[    1.070185] ACPI: SSDT 0x000000007A41D6B8 00054D (v01 TbtGfx TbtGfx   00001000 INTL 20160422)
[    1.070198] ACPI: TPM2 0x000000007A41DC08 000034 (v03        Tpm2Tabl 00000001 AMI  00000000)
[    1.070212] ACPI: ASF! 0x000000007A41DC40 0000A0 (v32 INTEL   HCG     00000001 TFSM 000F4240)
[    1.070249] ACPI: Local APIC address 0xfee00000
[    2.173665] ACPI: PM-Timer IO Port: 0x1808
[    2.173672] ACPI: Local APIC address 0xfee00000
[    2.173707] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    2.173708] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    2.173710] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    2.173711] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
[    2.173762] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    2.173765] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    2.173769] ACPI: IRQ0 used by override.
[    2.173771] ACPI: IRQ9 used by override.
[    2.173780] Using ACPI (MADT) for SMP configuration information
[    2.173784] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    2.352646] ACPI: Core revision 20180810
[    2.371112] ACPI BIOS Warning (bug): Incorrect checksum in table [BGRT] - 0xDC, should be 0x84 (20180810/tbprint-177)
[    2.379908] PM: Registering ACPI NVS region [mem 0x6e503000-0x6e503fff] (4096 bytes)
[    2.379908] PM: Registering ACPI NVS region [mem 0x7a445000-0x7abfefff] (8101888 bytes)
[    2.380709] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[    2.380710] ACPI: bus type PCI registered
[    2.459664] ACPI: Added _OSI(Module Device)
[    2.459664] ACPI: Added _OSI(Processor Device)
[    2.459665] ACPI: Added _OSI(3.0 _SCP Extensions)
[    2.459666] ACPI: Added _OSI(Processor Aggregator Device)
[    2.459667] ACPI: Added _OSI(Linux-Dell-Video)
[    2.459667] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    2.499998] ACPI: 8 ACPI AML tables successfully acquired and loaded
[    2.505360] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    2.511690] ACPI: Dynamic OEM Table Load:
[    2.511696] ACPI: SSDT 0xFFFF88818180E800 0006F6 (v02 PmRef  Cpu0Ist  00003000 INTL 20160422)
[    2.512125] ACPI: \_PR_.CPU0: _OSC native thermal LVT Acked
[    2.513777] ACPI: Dynamic OEM Table Load:
[    2.513781] ACPI: SSDT 0xFFFF888180CE5C00 0003FF (v02 PmRef  Cpu0Cst  00003001 INTL 20160422)
[    2.514667] ACPI: Dynamic OEM Table Load:
[    2.514671] ACPI: SSDT 0xFFFF888180F43800 00065C (v02 PmRef  ApIst    00003000 INTL 20160422)
[    2.515347] ACPI: Dynamic OEM Table Load:
[    2.515351] ACPI: SSDT 0xFFFF888180D50600 00018A (v02 PmRef  ApCst    00003000 INTL 20160422)
[    2.516841] ACPI: EC: EC started
[    2.516842] ACPI: EC: interrupt blocked
[    2.516872] ACPI: \_SB_.PCI0.LPCB.EC0_: Used as first EC
[    2.516873] ACPI: \_SB_.PCI0.LPCB.EC0_: GPE=0x50, EC_CMD/EC_SC=0x66, EC_DATA=0x62
[    2.516874] ACPI: \_SB_.PCI0.LPCB.EC0_: Used as boot DSDT EC to handle transactions
[    2.516875] ACPI: Interpreter enabled
[    2.516908] ACPI: (supports S0 S3 S5)
[    2.516909] ACPI: Using IOAPIC for interrupt routing
[    2.516948] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    2.518072] ACPI: Enabled 7 GPEs in block 00 to 7F
[    2.521961] ACPI: Power Resource [WRST] (on)
[    2.522316] ACPI: Power Resource [WRST] (on)
[    2.522680] ACPI: Power Resource [WRST] (on)
[    2.523031] ACPI: Power Resource [WRST] (on)
[    2.523381] ACPI: Power Resource [WRST] (on)
[    2.523735] ACPI: Power Resource [WRST] (on)
[    2.524082] ACPI: Power Resource [WRST] (on)
[    2.524542] ACPI: Power Resource [WRST] (on)
[    2.524902] ACPI: Power Resource [WRST] (on)
[    2.525259] ACPI: Power Resource [WRST] (on)
[    2.525610] ACPI: Power Resource [WRST] (on)
[    2.525970] ACPI: Power Resource [WRST] (on)
[    2.526323] ACPI: Power Resource [WRST] (on)
[    2.526633] ACPI: Power Resource [WRST] (on)
[    2.526983] ACPI: Power Resource [WRST] (on)
[    2.527330] ACPI: Power Resource [WRST] (on)
[    2.527684] ACPI: Power Resource [WRST] (on)
[    2.529007] ACPI: Power Resource [WRST] (on)
[    2.529360] ACPI: Power Resource [WRST] (on)
[    2.529716] ACPI: Power Resource [WRST] (on)
[    2.542041] ACPI: Power Resource [FN00] (off)
[    2.542129] ACPI: Power Resource [FN01] (off)
[    2.542211] ACPI: Power Resource [FN02] (off)
[    2.542294] ACPI: Power Resource [FN03] (off)
[    2.542378] ACPI: Power Resource [FN04] (off)
[    2.543548] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-fe])
[    2.543553] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    2.543596] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[    2.562396] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 *11 12 14 15)
[    2.562462] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 *10 11 12 14 15)
[    2.562525] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 10 *11 12 14 15)
[    2.562588] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 *11 12 14 15)
[    2.562655] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 *11 12 14 15)
[    2.562718] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 *11 12 14 15)
[    2.562779] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 *11 12 14 15)
[    2.562841] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 *11 12 14 15)
[    2.563595] ACPI: EC: interrupt unblocked
[    2.563621] ACPI: EC: event unblocked
[    2.563639] ACPI: \_SB_.PCI0.LPCB.EC0_: GPE=0x50, EC_CMD/EC_SC=0x66, EC_DATA=0x62
[    2.563640] ACPI: \_SB_.PCI0.LPCB.EC0_: Used as boot DSDT EC to handle transactions and events
[    2.563765] ACPI: bus type USB registered
[    2.580383] PCI: Using ACPI for IRQ routing
[    2.627863] pnp: PnP ACPI init
[    2.628141] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    2.628280] pnp 00:01: Plug and Play ACPI device, IDs PNP0b00 (active)
[    2.628317] system 00:02: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[    2.629513] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active)
[    2.629566] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
[    2.629937] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active)
[    2.631187] system 00:06: Plug and Play ACPI device, IDs PNP0c02 (active)
[    2.632238] pnp: PnP ACPI: found 7 devices
[    3.392469] ACPI: AC Adapter [AC0] (on-line)
[    3.392539] ACPI: Lid Switch [LID0]
[    3.392581] ACPI: Sleep Button [SLPB]
[    3.392621] ACPI: Power Button [PWRB]
[    3.392663] ACPI: Power Button [PWRF]
[    3.455097] ACPI: Thermal Zone [TZ00] (28 C)
[    3.455324] ACPI: Thermal Zone [TZ01] (30 C)
[    3.461779] hpet_acpi_add: no address or irqs in _CRS
[    3.566006] battery: ACPI: Battery Slot [BAT0] (battery present)
[    3.644076] acpi LNXCPU:06: hash matches
[    5.082551] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[   16.887708] xen_acpi_processor: Uploading Xen processor PM info

更新:

wifi/以太网有问题吗?没有

你的电池/电源工作正常吗?完全正常

有外部USB设备连接吗?没有

你注意到其他问题了吗?一点问题都没有

你的BIOS有更新吗?我得安装Windows并检查,这会花一些时间


一年前发现了同样的问题:https://ubuntuforums.org/archive/index.php/t-2393029.html 输入lspci | grep 39lspci | grep 0c,你有没有找到任何匹配项? - WinEunuuchs2Unix
@WinEunuuchs2Unix 很不幸,我的 lspci 中都没有这两个数字,所以我无法知道它们来自哪里。我已经更新了我的问题,并提供了我的整个 lspci 信息。你能看一下吗? - Guerlando OCs
实际上,我没有在你的“lspci”输出中看到“39”或“0c”。是维基百科调试挂起链接让我相信它会在那里。坦白地说,我自己没有玩过这些神奇的acpi数字。你也可以尝试使用树格式的“lspci -t”,但我不确定它是否会报告任何额外的内容。 - WinEunuuchs2Unix
@WinEunuuchs2Unix 我加了 lspci -t,不知道有没有帮助。 - Guerlando OCs
请编辑您的问题并添加dmesg | grep -i acpi的输出结果。 - Raffa
@Raffa 嗨,已经完成了 - Guerlando OCs
这下事情清楚了。在我回答之前,我想知道一下...你的WiFi/以太网有问题吗?你的电池/电源正常吗?你连接了外部USB设备吗?你有没有注意到其他问题?你的BIOS有更新吗?请[编辑]并更新你的问题。谢谢。 - Raffa
@Raffa 刚刚完成了,非常感谢! - Guerlando OCs
2个回答

问题是什么?
你的dmesg输出中有一行引人注目。那就是:
[    2.543596] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM

激活状态电源管理(Active State Power Management,ASPM)是挂起过程所依赖的用于节能功能的必需功能。此问题在这里有报告。下面引用的来自Launchpad的文本就是你需要知道的内容。

当内核在固件中运行根PCI桥_OSC控制方法并且执行失败时,会出现此错误消息,可能是由于固件中的错误或者该方法不存在。因此,内核无法确定设备支持的特性或固件提供的功能,并且必须禁用PCIe ASPM(激活状态电源管理)。

未启用激活状态电源管理的缺点是机器的功耗效率较低,然而,可以通过内核启动参数"pcie_aspm=force"强制启用此功能,但是,强制启用可能会导致系统死机。


为什么你会遇到这个问题?
看起来你的笔记本是为使用Windows操作系统而制造的,尽管Ubuntu和其他Linux发行版会模拟Windows操作系统对BIOS的调用,但有时候在双方之间这种交互不成功,就会出现这样的问题。
由此引起的问题可能涉及到暂停问题、WiFi、以太网、电池、硬盘、固态硬盘等等。因此我上面的评论是:
你是否遇到了WiFi/以太网的问题?你的电池/电源是否正常?你是否连接了外部USB设备?你是否注意到其他问题?
其中一些问题可能会在某些Linux内核版本中出现,并在其他版本中消失。它们可能会有所不同,但在系统BIOS和内核之间的通信得到修复之前,它们不太可能完全消失。理想的解决方法是更新BIOS以解决ASPM问题。
如何解决这个问题?
我建议按照以下顺序提出以下解决方案,直到解决这个问题为止:
1. 将您的Ubuntu更新到较新的版本。较新的内核可能对您的BIOS有更好的支持。 2. 更新您的BIOS。较新的BIOS版本可能与您的操作系统进行更好的通信。 3. 在GRUB启动菜单中按下e键,并尝试使用内核引导参数pcie_aspm=force。请参考this answer了解如何添加引导参数。

非常感谢您提供的所有信息。我完全忘记告诉您一件事。我正在使用Qubes,它是基于Xen和Fedora的dom0。我在ask ubuntu上提问是因为调试过程与在ubuntu机器上调试相同。在Ubuntu上,睡眠功能运行得非常好。所以我对了解Ubuntu上的调试过程很感兴趣,以便更好地理解为什么在Qubes上失败。所以,BIOS兼容性是没问题的,因为Ubuntu可以完美地进入和唤醒睡眠状态。 - Guerlando OCs
为什么我不使用Ubuntu呢?嗯,我试过,但是所有的Ubuntu都有一个非常严重的bug,导致我的SSD每天坏三次。我尝试了每个可能的Linux发行版,但都没有成功。后来我想到安装Qubes,因为它具有PCIe抽象功能,完全解决了这个问题。这是我开放的问题链接:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1746340。我尝试了很多一个Ubuntu用户提供给我的补丁,但都没有成功。所以我被困在了Qubes上。 - Guerlando OCs
如果你对如何在Qubes/Xen上调试这个问题有任何进一步的想法,我会非常高兴。我的Qubes中的dom0是Fedora25。我尝试了没有虚拟化的Fedora30,并且睡眠功能在我的笔记本上正常工作,但SSD仍然失败。我尝试了一个非常新的Qubes内核(基于5.0),但它并没有解决问题,所以我不知道问题出在哪里。如果你有任何想法,在这个问题解决后,我可以开一个新的问题来给你加分。 - Guerlando OCs
1@GuerlandoOCs 相同的电源管理问题可能会引起其他问题,其中包括您的固态硬盘失去电源,导致它被卸载/挂载并导致文件系统损坏。不同的Linux内核可能会因此而产生不同的问题。您最好的选择是尝试我的上面答案中的解决方案2和3。祝您好运。 - Raffa

我的系统有一个英特尔雷电控制器,与您的ACPI匹配之一相同:

$ lspci | grep 39
39:00.0 USB controller: Intel Corporation DSL6340 USB 3.1 Controller [Alpine Ridge]

大约一年前,我的暂停/恢复功能出了问题,所以我不得不创建这个脚本:
#!/bin/bash

# Original script was using /bin/sh but shellcheck reporting warnings.

# NAME: custom-xhci_hcd
# PATH: /lib/systemd/system-sleep
# CALL: Called from SystemD automatically
# DESC: Suspend broken for USB3.0 as of Oct 25/2018 various kernels all at once

# DATE: Oct 28 2018.

# NOTE: From comment #61 at: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/522998

TMPLIST=/tmp/xhci-dev-list

# Original script was: case "${1}" in hibernate|suspend)

case $1/$2 in
  pre/*)
    echo "$0: Going to $2..."
    echo -n '' > $TMPLIST
          for i in `ls /sys/bus/pci/drivers/xhci_hcd/ | egrep '[0-9a-z]+\:[0-9a-z]+\:.*$'`; do
              # Unbind xhci_hcd for first device XXXX:XX:XX.X:
               echo -n "$i" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
           echo "$i" >> $TMPLIST
          done
        ;;
  post/*)
    echo "$0: Waking up from $2..."
    for i in `cat $TMPLIST`; do
              # Bind xhci_hcd for first device XXXX:XX:XX.X:
              echo -n "$i" | tee /sys/bus/pci/drivers/xhci_hcd/bind
    done
    rm $TMPLIST
        ;;
esac

使用以下命令创建文件:sudo -H gedit /lib/systemd/system-sleep/custom-xhci_hcd 将上述代码复制并粘贴到文件中,保存文件并退出gedit
使用sudo chmod a+x /lib/systemd/system-sleep/custom-xhci_hcd将其设置为可执行文件。
重新启动。

但是我没有你的控制器。lspci | grep 39lspci | grep 0c没有任何结果。我已经更新了我的问题,附上了我的lspci信息。这就是为什么我问的原因,如果这些390c出现在lspci中,那么我就知道如何禁用它们的驱动程序,但它们并没有出现。 - Guerlando OCs
同时,ls /sys/bus/pci/drivers/xhci_hcd/ | egrep '[0-9a-z]+\:[0-9a-z]+\:.*$' 没有产生任何结果。 - Guerlando OCs
@GuerlandoOCs 你确实有 Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21),我认为这是Thunderbolt的另一个名称?无论如何,如果这个脚本能像对我一样解决挂起/恢复问题,那么花几分钟尝试一下是值得的。 - WinEunuuchs2Unix
我尝试了,但没有成功。这是不可能成功的,因为/sys/bus/pci/drivers/xhci_hcd/中除了bind module new_id remove_id unevent unbind之外什么都没有,而这些并没有被你的正则表达式匹配到。所以脚本实际上什么也没做 :c。难道我不应该根据我的控制器自定义脚本吗? - Guerlando OCs
@GuerlandoOCs 这个脚本是在2011年的评论#61中编写的,链接为:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/522998。它已经为许多人工作过了,我从未对正则表达式多加留意过。 - WinEunuuchs2Unix