新买了台红米 air 笔记本,cpu 是 i7-10510Y,希望可以日常使用 Linux,尝试了多个发行版基本都能正常使用,唯一的问题就是启动时,当在 GRUB 选择系统页面选择系统后,画面会停留在 GURB 主题背景页面长达 30 秒,然后才能继续开机流程。

尝试了*新的 Ubuntu 系统,也是类似的问题,唯一的区别是 Ubuntu 下是选择系统后电脑黑屏 30 秒然后出现加载信息。

查看 dmesg 信息可以看到如下错误:

[ 0.244480] Simple Boot Flag at 0x44 set to 0x1 │
[ 0.244480] ACPI: bus type PCI registered │
[ 0.244480] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 │
[ 0.244480] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000) │
[ 0.244480] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820 │
[ 0.244480] PCI: Using configuration type 1 for base access │
[ 0.244621] ENERGY_PERF_BIAS: Set to ‘normal’, was ‘performance’ │
[ 0.248307] Kprobes globally optimized │
[ 0.248314] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages │
[ 0.248314] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages │
[ 0.248314] ACPI: Added _OSI(Module Device) │
[ 0.248314] ACPI: Added _OSI(Processor Device) │
[ 0.248314] ACPI: Added _OSI(3.0 _SCP Extensions) │
[ 0.248314] ACPI: Added _OSI(Processor Aggregator Device) │
[ 0.248314] ACPI: Added _OSI(Linux-Dell-Video) │
[ 0.248314] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio) │
[ 0.248314] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics) │
[ 0.358456] ACPI: 17 ACPI AML tables successfully acquired and loaded │
[ 0.362525] ACPI: EC: EC started │
[ 0.362527] ACPI: EC: interrupt blocked │

[ 30.376923] No Local Variables are initialized for Method [ECMD] │

[ 30.376927] Initialized Arguments for Method [ECMD]: (1 arguments defined for method invocation) │
[ 30.376928] Arg0: 0000000036f30172 Integer 000000000000001A │

[ 30.376940] ACPI Error: Aborting method \_SB.PCI0.LPCB.H_EC.ECMD due to previous error (AE_AML_LOOP_TIMEOUT) (20200925/psparse-531) │
[ 30.376960] fbcon: Taking over console │
[ 30.376972] ACPI Error: Aborting method \_TZ.FNCL due to previous error (AE_AML_LOOP_TIMEOUT) (20200925/psparse-531) │
[ 30.376986] ACPI Error: Aborting method \_TZ.FN00._OFF due to previous error (AE_AML_LOOP_TIMEOUT) (20200925/psparse-531) │
[ 30.376997] ACPI Error: Aborting method \_SB.PCI0.LPCB.H_EC._REG due to previous error (AE_AML_LOOP_TIMEOUT) (20200925/psparse-531) │
[ 30.377037] ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62 │
[ 30.377038] ACPI: EC: Boot ECDT EC used to handle transactions │
[ 30.379873] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored │
[ 30.426569] ACPI: Dynamic OEM Table Load: │
[ 30.426598] ACPI: SSDT 0xFFFF89BC00C45800 000507 (v02 PmRef Cpu0Ist 00003000 INTL 20160527) │
[ 30.429939] ACPI: \_PR_.PR00: _OSC native thermal LVT Acked │
[ 30.433359] ACPI: Dynamic OEM Table Load: │
[ 30.433378] ACPI: SSDT 0xFFFF89BC011D2C00 0003FF (v02 PmRef Cpu0Cst 00003001 INTL 20160527) │
[ 30.436652] ACPI: Dynamic OEM Table Load: │
[ 30.436670] ACPI: SSDT 0xFFFF89BC0148D6C0 0000BA (v02 PmRef Cpu0Hwp 00003000 INTL 20160527) │
[ 30.439724] ACPI: Dynamic OEM Table Load: │
[ 30.439742] ACPI: SSDT 0xFFFF89BC00C41800 000628 (v02 PmRef HwpLvt 00003000 INTL 20160527) │
[ 30.443600] ACPI: Dynamic OEM Table Load: │
[ 30.443622] ACPI: SSDT 0xFFFF89BC011C1000 000D14 (v02 PmRef ApIst 00003000 INTL 20160527) │
[ 30.448401] ACPI: Dynamic OEM Table Load: │
[ 30.448419] ACPI: SSDT 0xFFFF89BC011D0000 000317 (v02 PmRef ApHwp 00003000 INTL 20160527) │
[ 30.451771] ACPI: Dynamic OEM Table Load: │
[ 30.451788] ACPI: SSDT 0xFFFF89BC011D2800 00030A (v02 PmRef ApCst 00003000 INTL 20160527) │
[ 30.461796] ACPI: Interpreter enabled
通过传递 acpi=off 参数给内核可以跳过卡住的过程,但是开机后触摸板不可使用,且发热严重,根据日志错误信息查阅大量资料后,基本都是说升级 BIOS 以解决 ACPI 的错误,但是这款笔记本没有 BIOS 更新而且很有可能以后也不会有,所以求助各位大神,有没有什么解决这个问题的方法或者思路?

acpi osi error intl28 条回复 • 2021-07-01 13:29:07 +08:00
feelinglucky 1
feelinglucky 20 小时 1 分钟前
看起来是 ACPI 的问题,试试 BIOS 里面设置 XHCI Handoff 为 Enabled 看看?
debuggerx 2
debuggerx 19 小时 56 分钟前
@feelinglucky 笔记本 BIOS 里什么选项都没有,只有个安全启动开关和 usb 充电选项,也都切换试过了,没用 /(ㄒoㄒ)/~~
generic 3
generic 19 小时 31 分钟前
内核命令行参数 acpi_osi=Linux 试一下?
debuggerx 4
debuggerx 19 小时 20 分钟前
@generic 试过了的,没有效果。。。
kokutou 5
kokutou 19 小时 12 分钟前
试试 archlinux 带的是*新的内核.
iceecream 6
iceecream 19 小时 8 分钟前
只能等 bios 和 EC 更新了
scybhe 7
scybhe 18 小时 22 分钟前 via Android
试试禁用独显?来自 https://bbs.archlinux.org/viewtopic.php?id=237867
shayu*0001 8
shayu*0001 17 小时 7 分钟前
输入 systemd-analyze blame

看看哪个占用了*长时间
ihipop 9
ihipop 15 小时 16 分钟前 via Android
*新内核也不行的话,试试 acpi osi 改 Windows 呢?
germain 10
germain 14 小时 18 分钟前
grub (modprobe.blacklist) 里面 block 你的 nv 的 module 就行了。

xiadong1994 11
xiadong1994 8 小时 52 分钟前 via iPhone
https://unix.stackexchange.com/questions/592694/acpi-errors-preventing-boot-when-using-kernel-version-5
redeemer 12
redeemer 6 小时 30 分钟前 via iPhone
好像是 EC 的 interrupt blocked 占用了 30 秒。是不是内核没有适配你这个笔记本 EC 的驱动啊
imnpc 13
imnpc 5 小时 0 分钟前
看日志 应该是 BIOS 配置的时候没有考虑到 Linux 或者没有做*新匹配
正常出厂的时候会针对 windows linux 的一些不同做好匹配的
他这个笔记本可能只考虑支持 windows
debuggerx 14
debuggerx 3 小时 8 分钟前
@kokutou 回头试试编译和*新内核看看情况会不会好点吧
debuggerx 15
debuggerx 3 小时 6 分钟前
@iceecream 空等啥时候是个头啊 T_T 有啥反馈途径能联系到开发么 小米社区现在基本就是废的。。。
debuggerx 16
debuggerx 3 小时 5 分钟前
@shayu*0001 systemd-analyze blame 是看开启启动服务占用时长的 我是加载内核的时候就出问题咯
debuggerx 17
debuggerx 3 小时 4 分钟前
@ihipop 试了几个,也是没有效果,Windows 2009/2012/2015 等等。。
debuggerx 18
debuggerx 3 小时 3 分钟前
@germain 核显轻薄本,没有独显的……
debuggerx 19
debuggerx 3 小时 3 分钟前
@xiadong1994 这个我也搜到过,可是我的机器没独显的……
debuggerx 20
debuggerx 3 小时 1 分钟前
@redeemer 对的,我猜也是这样,现在就在想有没有啥改善的方法,只要能跳过这个恶心的 30 秒就行,其他使用起来感觉都还好。
debuggerx 21
debuggerx 2 小时 58 分钟前
@imnpc 翻车了 T_T 趁着 618 买了这台红米和宏碁的 swift3 pro,就想对比着选个跑 Linux 更完美的,结果 swift 那边直接装不上,折腾了好几天没解决,红米这边只是会开机卡一会儿,我就以为只是小问题好解决……结果现在过了 7 天无理由退货,才发现问题没有那么简单,只能硬着头皮解决了……
aneostart173 22
aneostart173 2 小时 46 分钟前
11 代 intel 大部分 linux 发行版都有问题,据说是 intel 新驱动的锅。
germain 23
germain 2 小时 31 分钟前
@debuggerx 不好意思没细看 log,看着差不多就回了。 你这能退货就赶紧退货吧。BOIS 的锅一般不是其它软件能解决的。

https://bugzilla.kernel.org/show_bug.cgi?id=109511
debuggerx 24
debuggerx 2 小时 20 分钟前
@germain 看#21,已经超过退货时间了 T_T 而且这台本子除了这个问题 其他方面我还都挺满意的……
这个 bug 处理链接我也看过了,可我还没找到一个能和红米笔记本的开发进行沟通的有效途径,目前的想法是看看通过编译自定义内核能不能绕过或者缓解这个问题。
germain 25
germain 2 小时 9 分钟前
@debuggerx 你可以尝试一下 Enable “EC read/write access through /sys/kernel/debug/ec”

CONFIG_ACPI_EC_DEBUGFS: 默认关闭 │
libook 26
libook 1 小时 20 分钟前
笔记本硬件有很多是专用硬件,有的不够开放,相应的会难以适配 Linux,这方面 Ubuntu 出了个认证项目(可以去 Ubuntu 官网查),通过 Ubuntu 认证的才会保证跑 Ubuntu 没问题,其他的设备基本都是看运气。

红米本还是个冷门本吧,这东西是销量越高相应的 Linux 适配资料就越多,前提是能 Hack,有的*度封闭的设备完全封禁了适配 Linux 的门路。

看有什么需求必须用 Linux,如果仅仅是想用 Linux 开发环境开发一些应用级别的项目,其实可以用 Win10+WSL2,这块越来越成熟了,我现在开发 Web 全栈项目 WSL2 是完全能胜任的。

不过如果开发系统级别的项目和硬件项目的话 WSL 可能无法满足需求,此时可以考虑虚拟机,只不过会比较耗电,但能解决所有硬件适配问题。
generic 27
generic 22 分钟前
@debuggerx 我红米 pro15 amd 版也有问题,比如特定内核版本上才能 suspend-resume 成功,比如合上屏幕不产生事件。bios 设置也是什么选项都没有。要 Linux 兼容性还是 dell 或者联想好一点。
generic 28
generic 21 分钟前
@debuggerx 硬核搞法就是自己去改 bios acpi 字节码: https://wiki.archlinux.org/title/DSDT