较新的内核给我的 SSD 带来了问题,我该如何修复?

较新的内核给我的 SSD 带来了问题,我该如何修复?

当我决定安装 Linux 时,我受到电池寿命问题的困扰,最烦人的是,每次重启我的系统都无法检测到我的 SSD。

经过大量研究,我找到了我的一个问题的根源。

在内核版本 4.11 中,他们添加了一个可以节省电量的 NVMe 控制器。在内核版本 4.11.0rc7 之后,他们添加了此补丁:

static const struct nvme_core_quirk_entry core_quirks[] = {
    /*
     * Seen on a Samsung "SM951 NVMe SAMSUNG 256GB": using APST causes
     * the controller to go out to lunch.  It dies when the watchdog
     * timer reads CSTS and gets 0xffffffff.
     */
    {
        .vid = 0x144d,
        .fr = "BXW75D0Q",
        .quirks = NVME_QUIRK_NO_APST,
    },

显然,这会导致我的 SSD 在重启时出现问题,从而无法检测到它。我只能使用内核版本 4.11.0rc7 以下版本来避免重启问题,并且内核中还有电源更改补丁。

现在,我唯一的问题是:是否可以在较新的内核中禁用此功能?我真的不知道该怎么做。我希望它就像添加启动参数一样简单。

答案1

你可能已经修复了这个问题,但我想在这里发布原始线程

结论:尝试使用内核参数启动nvme_core.force_apst=1

相关内容