NEC VC26MB(VK26MB) 使用Clover提取DSDT及Patch修补笔记

纯粹记录,按以下步骤进行


开机到Clover引导界面,按F4保存原始DSDT文件


拷贝EFI-Clover-ACPI-Origin目录出来


进入macOS,参考教程使用iasl执行以下命令对Origin内的DSDT.aml文件进行转换,得到DSDT.dsl文件

./iasl -da -dl DSDT.aml


使用MaciASL(赠送上述使用的iasl程序)打开DSDT.dsl文件,点击编译会发现很多error

主要修改以下地方,代码位置可参考MaciASL提示错误位置或者搜索查找


修复一:删除这两段(因为站长不知道怎么修复,/偷笑)

            OperationRegion (\SCRP, SystemIO, 0x1280, 0x04)
            Field (SCRP, ByteAcc, NoLock, Preserve)
            {
                CR00,   8, 
                CR01,   8, 
                CR02,   8, 
                CR03,   8
            }


                            Name (_PLD, Buffer (0x10)  // _PLD: Physical Location of Device
                            {
                                /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */  0x20, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 
                            })



修复二:留意最后一行,主要是大写

原始

            Device (SCM0)
            {
                Name (_HID, "pnp0c14")  // _HID: Hardware ID


修改

            Device (SCM0)
            {
                Name (_HID, "PNP0C14")  // _HID: Hardware ID



修复三:注意,这里需要修改的有两坨一样的代码,以下只演示一坨,留意最后两行的数字

原始

                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            )


修改

                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )


修复四:可选步骤,如果用得上的话(看不懂请忽略),站长已经使用ACPIDebug测试得出NEC这台设备的亮度调节快捷键代码为亮度减QB7和亮度加QB7,使用Patch打入以下补丁

 into method label _QB7 replace_content
begin
// Brightness Down\n
    Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n
end;
into method label _QB8 replace_content
begin
// Brightness Up\n
    Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n
end;


再试下编译,发现已经没有error了,还有很多警告的内容可以忽略不用管

最后再另存文件格式为“ACPI Machine Language Binary”可以保存修复好的DSDT.aml文件使用

评论

  • *
  • *