方法
在Deepin下按住Fn+p快捷键,开启性能模式。
验证
首先去debian下载acpi-call-dkms
https://packages.debian.org/sid/all/acpi-call-dkms/download
然后使用root用户执行:
apt install --simulate ./acpi-call-dkms_1.2.2-2.1_all.deb
apt install ./acpi-call-dkms_1.2.2-2.1_all.deb
modprobe acpi_call
sudo bash -c 'echo "\GFNM" > /proc/acpi/call' && cat /proc/acpi/call
得到这样的内容就是开启了:
root@likewendy-PC:/home/likewendy# sudo bash -c 'echo "\GFNM" > /proc/acpi/call' && cat /proc/acpi/call
{0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,root@likewendy-PC:/home/likewendy#
当你关闭时会得到这样的内容:
root@likewendy-PC:/home/likewendy# sudo bash -c 'echo "\GFNM" > /proc/acpi/call' && cat /proc/acpi/call
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,root@likewendy-PC:/home/likewendy#
其他
我研究了非常长的时间,研究了EC(嵌入式控制器)和ACPI,在ACPI发现了控制风扇级别的方法_FSV,但是方法没有实现。
还发现了GFNM(获取模式)、GFNS(获取转速)、SFND(设置测试模式和转速)、SFNM(设置模式),这些方法都有实现,但是SET的方法调用后没有效果。
还在ACPI发现了貌似是控制键盘背光的方法。
发现了sudo bash -c ‘echo “\SFNM 0xfffffffff” > /proc/acpi/call’ && cat /proc/acpi/call会返回0x01开头的数据,而其他值不会
root@likewendy-PC:/home/likewendy# sudo bash -c 'echo "\SFNM 0xfffffffff" > /proc/acpi/call' && cat /proc/acpi/call
{0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,root@likewendy-PC:/home/likewendy#
拆机找到了EC芯片,里面有厂商和型号,但是没有找到文档
参考了nbfc-linux和nbfc,nbfc的教程和根据EC数据找风扇参数的命令行工具ec-probe.exe monitor --clearly,对我帮助很大。
用rweverything查阅和导出dsdt数据,用 ChatGPT-o1-预览 分析数据,我导出了图片,OCR后再分析的效果不如文本文件好。
使用了很多命令行工具,在linux下的acpidump,在win和linux下的iasl。
研究花费了我很长的业余时间,对我的身心造成了一定的损害。
ps:这还导致我找到女朋友的概率下降75%
咨询了黑苹果的intel wifi驱动交流群和Magicbook黑苹果交流群,发布了一些内容,给到的实际帮助不大,有情绪价值帮助。
暂时疲惫,我猜想到使用快捷键来开启性能模式,而且是在linux上的原因是:
- 我曾测试在windows上,先开启性能模式,然后卸载“华为电脑管家”,然后开启linux,貌似性能模式被打开了(风扇模式被切换,貌似不知道咋回事又切换回去了),也许是我的错觉。这意味着可能与“华为电脑管家”无关。
现在没有文档,也没有资料,我无法准确的找到如何通过命令或者ACPI去实现性能模式。
而且快捷键可行,让我联想到了不需要系统去控制的键盘背光,即使处在bios或者grub,也有效。这种奇怪的东西,感觉是个深渊,没有在操作系统层面去管理的必要。
这一度让我怀疑“华为电脑管家”模拟快捷键实现的性能模式切换。然后使用本文同等的方法去验证是否切换成功。
我测试快捷键是否有效时,先在已经卸载了“华为电脑管家”的windows上实验,发现可行,并且有炫酷的“性能模式已经开启”的动画。
后来在deepin上实验,也奇迹般的证明可行。
当使用“华为电脑管家”,但不安装完整的驱动时,windows下不会提示炫酷的“性能模式已经开启”的动画。也不知开启是否有效。至少在“华为电脑管家”上已经显示开启状态。
已经证实使用sudo bash -c ‘echo "\SFNM 0x1 " > /proc/acpi/call’ && cat /proc/acpi/call会导致性能模式被关闭,暂不知如何使用SFNM开启,仍可使用快捷键开启。
EC没有任何值对应风扇,至少我的研究是这样的。
ACPI对于风扇的功能,貌似有用,但是我没有很好的打开方式。
当你sudo bash -c ‘echo "\GFNS 0xfffff " > /proc/acpi/call’ && cat /proc/acpi/call的时候,无论风扇转速如何,都会返回0xff。
root@likewendy-PC:/home/likewendy# sudo bash -c 'echo "\GFNS 0xfffff " > /proc/acpi/call' && cat /proc/acpi/call
{0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,root@likewendy-PC:/home/likewendy#
难以想象的折腾:
ps:这是dsdt的数据。
我为此几乎花光了 ChatGPT-o1-预览 的访问权限。
结束
本文说了很多,我写于凌晨2点,后半部分主要是总结我的思绪,我也希望能留下有意义的内容,研究过程。
我今天本来不抱有希望的,不知道是什么让我坚持了下来。
很少有人能想象那种绝望,什么都尝试了EC、ACPI、windows下wmi尝试调用、linux下写文件尝试调用,我写了很多/sys下的文件。
我脑子很乱,各种思绪,让我坚持下来的应该是“要去面对”,面对失败。在成功前,我最后尝试的方法是在windows下修改EC的值,因为ACPI的方法实在是调用不动,还尝试使用“华为电脑管家”开启性能模式,如果能保持,这也是一种方法。那是一种垂死挣扎的尝试。
最终,我又多花了一个小时来纂写文章,如果我不写,我的脑子会无法承受这突如其来的成功。
好想有人抱抱我呀。明天想请假不上班了。