Transcend MTS400 SSD 导致我的 Acer C720 Chromebook 崩溃,如何在 Chrome OS 中禁用 SATA 电源管理?

Transcend MTS400 SSD 导致我的 Acer C720 Chromebook 崩溃,如何在 Chrome OS 中禁用 SATA 电源管理?

所以我升级了我的宏碁 C720P Chromebook更大的创见MTS400SSD。但是这款 SSD 有一个固件错误,因此与 SATA 电源管理不兼容(阿尔普)。这个 Transcend MTS400 错误导致我的 C720 崩溃,崩溃之前性能很差。发生的情况是,当我安装它时它似乎可以工作,但是当它从交流电源切换到电池供电时(当我取出充电器时),我在浏览文件夹或命令行时会出现输入延迟、性能低下和随机崩溃。

这家伙也有同样的问题— 碰巧是 Linux 开发人员 — 因此他能够将问题归咎于min_powerSATA 电源状态。当设置该变量时(当 chromebook 从交流电源上取下时),SATA 链接开始抛出错误,之后 chromebook 崩溃。

他还提出了一些解决方案。在他的帖子中,他建议每次将 Chromebook 从 AC 上取下时执行命令行脚本,为此您需要进入开发人员模式。在评论中,他提出了一个永久解决方案,即禁用自动更新。我会看看是否能让它们工作,如果可以的话,我会发布答案。但是我认为有多种方法可以解决这个问题,其他用户的意见可能会有所帮助。

答案1

正如我所做的这里,为模式定义特定策略并将电池模式设置为 medium_power(默认,如前所述为 min_power)可修复这些崩溃。至少,这是我在 Arch Linux 上的 Acer C720 上观察到的。(请注意,更改为CONTROL_INTEL_SATA_POWER1恢复之前建议的禁用它的更改)

答案2

总结:设置CONTROL_INTEL_SATA_POWER0/etc/laptop-mode/conf.d/intel-sata-powermgmt.conf

我知道有三种方法可以解决这个问题,其中两种是由普雷斯顿,这是我在阅读他的帖子后想到的。我尝试了 Preston 建议的最严格的方法,而且有效!(请注意,更新将撤消这些更改)

方法 0:预防问题:)

回想起来,很多人都抱怨这个问题亚马逊评论。它是否会崩溃似乎取决于操作系统和用户所处的场景。但是,所有用户都抱怨性能不佳(至少比广告宣传的更差,很多情况下明显迟缓)或崩溃(一分钟内到一个小时后)。防止此问题的唯一方法是不购买 SSD 或退货(如果您的经销商接受这一点)。您可能有权退回此产品,因为它的功能与广告宣传的不符,但行使此权利可能需要大量时间和精力。

超越讽刺的是使用C720作为例子向用户展示如何安装他们的 SSD。我猜他们从来没有测试过。由于 Chromebook 可能是他们销售这些 SSD 的主要原因,你可能会认为他们关心它是否真的能用。他们的技术支援回复很快,但当问题显然无法通过标准故障排除解决时,他们就不再回复我了。他们确实回复了 Preston 说“我无法给你一个明确的答案。”他们是否会解决这个问题。

我希望这篇文章能够帮助那些无法再退回 SSD 的人解决问题,同时也让人们知道这个问题的存在,这样他们就可以通过不尝试将此 SSD 与使用 SATA 电源管理的笔记本电脑(至少是所有 chromebook 和一些 Windows 笔记本电脑)结合来防止这种情况发生。

方法 1:在笔记本电脑模式配置中禁用 SATA 电源管理,已测试并有效

步骤 1:启用开发模式

这将擦除所有用户数据从您的 chromebook!除此之外,它还会关闭一些安全功能,例如验证启动,并在启动时显示一个可怕的警告屏幕(这实际上很可怕,因为陌生的用户可能会意外擦除您的数据)。由于你安装了 SSD您可能已经执行了此步骤。

要启用开发模式,首先按住Esc键刷新并戳电源按钮. 当恢复屏幕显示时按Ctrl-。从现在起,每次启动时你都必须按Ctrl-进入 chrome。不要按任何其他键,因为它会擦除您的数据。

第 2 步:启用读/写权限

按以下方式打开 crosh 命令行Ctrl-Alt-T。在 crosh 中键入shell以进入实际 shell。然后运行此命令获取读/写权限。

sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification

然后,这个命令给了我实际要运行的命令,以防我不知道自己在做什么。我确实不知道,但我需要一个可以正常工作的 SSD,所以我运行了它。就是这个命令,我不知道它是否因系统而异:

sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --partitions 4

重新启动后,您将拥有读/写权限。

步骤 3:删除配置文件的写保护

再次打开 shell 并使用 chmod 使笔记本电脑模式配置文件可写。这将禁用 chrome 自动更新。我不知道手动更新会如何,但我想这是一个好主意,因为现在您必须自己执行更新,然后您可以立即再次执行此修复。

sudo chmod 6 /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf

步骤 4:设置CONTROL_INTEL_SATA_POWER0

命令行文本编辑器随 chrome os 提供。使用起来非常烦人,请阅读链接中的说明以了解其工作原理。基本上,您使用箭头转到要编辑的字符,然后输入命令来更改该字符。

vi /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf

1使用箭头转到CONTROL_INTEL_SATA_POWER=1并使用命令r启用替换,然后键入0以将其替换为0。然后使用命令:wq保存文件并退出

如果你想再次写保护文件,请使用

sudo chmod 5 /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf

步骤 5:享受不崩溃、无输入延迟且性能正常的 chromebook

不过,我确实注意到我的 chromebook 外壳在 SSD 位置附近变热了。我还没有找到 chrome OS 的温度传感器或功耗实用程序,所以我无法量化这一点。不过,预计的电池使用时间似乎减少了半小时或一小时左右(比如说 10%)。

方法 2:使用电池时使用 medium_power 而不是 min_power 设置,未经测试

使用与方法 1min_power按照medium_power建议替换这里。这必须在文件中完成/usr/share/laptop-mode-tools/modules/intel-sata-powermgmt。我还没有测试过,但它可能会避免我注意到的温度升高和电池使用量增加方法 1

方法 3:每次拔掉充电器时执行一条命令,我没有测试过

使用唯一的步骤1方法 1启用开发模式。然后,拔下 chromebook 电源时,打开 crosh,进入 shell,然后使用此命令:

echo max_performance | sudo tee /sys/class/scsi_host/*/link_power_management_policy

普雷斯顿似乎可以使用此解决方法。我还没有测试过。

结束语

有两件事可能会阻止你使用这些解决方案,但它们有自己的解决方法:

-在启动时的加载屏幕上,任何人都可以擦除你的用户数据

-更新将撤消对 SATA 电源管理的更改

有一种解决方法可以让加载屏幕持续时间更短并禁用键盘输入,这样人们就不会意外擦除您的用户数据。还有一种方法可以禁用更新。这些解决方法可以在网上找到,可能不在本问题的范围内。

相关内容