DSDT疑难杂症解决,包括台式机出现电池选项,不能重启,定制USB,屏蔽串口设备等
好多黑苹果出现某名奇妙的问题,是因为机器的ACPI表不规范或者符合macos的标准,只要将ACPI表定制完美即可解决很多问题,建议每个搞黑苹果的网友手头留一套白果的ioreg和dsdt文件作为参考,下面不多说,都是干货,每层楼解决一个黑果问题 问题一、明明是台式机,机型设置的smbios为macmini,imac,macpro,可是在系统中却出现了电池选项这个问题在于acpi表中的facp表
请看facp表
FACS Address : EC919000
DSDT Address : EC792000
Model : 00
PM Profile : 01
SCI Interrupt : 0009
SMI Command Port : 000000B2
ACPI Enable Value : A0
ACPI Disable Value : A1
这里的PM Profile后面的代码01代表台式机没有电池选项,而有些主板的这里定义的是00代表笔记本,尤其是一些小主机,使用的是笔记本的主板,而厂家没有对该表做修改
修正方法如下:
occ或OCAT在acpi选项中添加补丁
查找:00020900 B2000000 A0A1
替换为:00010900 B2000000 A0A1
acpi表签名:FACP
ocat,TableSignature:46414350 注:46414350就是FACP的十六进制 期待中,学习一下,加油 问题二、重启不能,或者重启为软重启,设备没有完全初始化问题同样出在FACP表中
请看facp表
Reset Register :
Space ID : 01
Bit Width : 08
Bit Offset : 00
Encoded Access Width : 00
Address : 00000000000000B2
Value to cause reset : BE
ARM Flags (decoded below) : 0000
PSCI Compliant : 0
Must use HVC for PSCI : 0
注意:Value to cause reset后面的参数即为重启代码:06为重启,0E为硬重启,设备会重新初始化,我的这个机器是AMD的小主机没有出现问题,但是我的另一台7080mff出现问题,问题表现为重启后直接跳过usb的UEFI引导,说明usb设备在弹出后并没有重新初始化
解决办法:
用occ或ocat打开配置文件在acpi设置里添加补丁:
查找:01080001 B2000000 00000000 73 (这是针对7080mff的,如果是上面的facp表应该为01080000 B2000000 00000000 BE)参照自己的facp表来查找,是有规律的,很简单的,注意地址要反过来写
替换为:01080001 F90C0000 00000000 0E (硬重启或叫full reset)或 01080001 F90C0000 00000000 06(软重启)
occ表签名:FACP
OCAT:46414350
原理:告诉操作系统,向0xCF9的IO口,写入6或0E 都是干货,每层楼解决一个黑果问题 :lol20年水粉 黑哥的论坛,要支持 来顶下,攒一些窝币 黑哥的论坛,要支持 水窝老用户,支持下
页:
[1]
2