0%

我们常用的 5G 频道补丁

1
2
3
Name:AirPortBrccom.apple.driver.AirPort.Brcm4360m4360
Find:4183FCFF742C48
Replace:66C7065553EB2B

其中修改的 55 53 就是 US 的意思.

那么修改成 CN 就是 43 4E

1
2
3
4
neros-MBP:~ nero$ echo -n CN |xxd
00000000: 434e CN
neros-MBP:~ nero$ echo -n US |xxd
00000000: 5553 US

故此,我们将补丁修改为

1
2
3
4
Name:AirPortBrccom.apple.driver.AirPort.Brcm4360m4360
Find:4183FCFF742C48
Replace:66C706434EEB2B
Comment10.11-BCM94352-5GHz-CN-dv
阅读全文 »

有时候查看 ACPI 时候,为了熟悉他的逻辑,需要学习一些 ACPI 语法,这里是关于 ACPI 语法的备忘录。

本备忘均从 《Advanced Configuration and Power Interface Specification》 查阅,并使用 Google 翻译得来,本人英语极渣故此不确保翻译准确,如有需要请查阅原版文档。

运算符

LEqual(逻辑等)

语法

LEqual(Source1,Source2)=> Boolean Source1 == Source2 => Boolean

参数

Source1和Source2必须各自求值为整数,字符串或缓冲区。 Source1的数据类型指示所需的Source2类型。 如果需要匹配Source1的类型,则会隐式转换Source2。

描述

如果值相等,则返回True; 否则返回False。 对于整数,执行数字比较。 对于字符串和缓冲区,只有当两个长度相同并且逐字节比较的结果表明完全相等时才返回True。

LOr(逻辑或)

阅读全文 »

本笔记参考 RehabMan 指南 [Guide] Using Clover to “hotpatch” ACPI

Hotpatch 简述

什么是 Hotpatch?

RehabMan 的介绍是:

That guide uses what is known as “static patching”. In order to inject patched ACPI files, we extract native ACPI, disassemble them, make changes, then recompile and place the files in ACPI/patched, so that Clover injects the patched ACPI instead of native ACPI. With the techniques detailed in this guide, the changes can be made directly to the ACPI binaries provided by BIOS, skipping the extract, disassembly, and recompilation steps.

该指南使用所谓的“静态修补”。 为了注入修补的ACPI文件,我们提取本地ACPI,反汇编,进行更改,然后重新编译并将文件放在ACPI / patched中,以便Clover注入修补的ACPI而不是本机ACPI。 使用本指南中详述的技术,可以直接对BIOS提供的ACPI二进制文件进行更改,跳过提取,反汇编和重新编译步骤。(翻译来自 Google 翻译)

我的理解:

其实 Hotpatch 就是将所有修补 ACPI 文件的补丁变成一个一个模块,通过重命名主板提供的 ACPI 文件原来的 Method (方法/函数) 来禁用原有的方法,再用 SSDT 来放入我们修改后的(已修补)的 Method (方法/函数).

当然上面所说的是终极解决的办法,其实还有很多很简单的方法能够完成 ACPI 补丁的功能.

如果有兴趣可以去看看 RahabMan 帖子.

之前我在 DSDT 打的补丁有.

1
2
3
4
5
6
7
8
9
10
"Fix _WAK Arg0 v2" 
"HPET Fix"
"SMBUS Fix"
"IRQ Fix"
"RTC Fix"
"OS Check Fix(Windows 7)"
"OS Check Fix(Windows 8)"
"Fix Mutex with non-zero SyncLevel" //对比了下 这个补丁是不需要打的
"Rename GFX0 to IGPU"
"Brightness fix(Haswell/Broadwell)"
阅读全文 »

找到了 _OFF 方法是在 SSDT11定义的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Scope (\_SB.PCI0.RP05.PEGP)
{
Method (_ON, 0, Serialized) // _ON_: Power On
{
SGON ()
Notify (\_SB.PCI0.RP05, Zero)
}

Method (_OFF, 0, Serialized) // _OFF: Power Off
{
SGOF ()
Notify (\_SB.PCI0.RP05, Zero)
}
}

发现其中 _OFF 方法调用了 SGOF 方法。

查找到 SGOF 方法是在 SSDT10 定义的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Method (SGOF, 0, Serialized)
{
If (LEqual (CCHK (Zero), Zero))
{
Return (Zero)
}

Store (Zero, ONOF)
Store (\_SB.PCI0.LPCB.EC0.RRAM (0x0521), Local0)
And (Local0, 0xCF, Local0)
\_SB.PCI0.LPCB.EC0.WRAM (0x0521, Local0)
\_SB.PCI0.LPCB.EC0.WRAM (0x0520, 0x91)
\_SB.PCI0.LPCB.EC0.WRAM (0x03A4, Zero)
\_SB.PCI0.LPCB.EC0.WRAM (0x03A5, Zero)
Store (LCTL, ELCT)
Store (SVID, HVID)
Store (SDID, HDID)
Store (One, LNKD)
While (LNotEqual (LNKS, Zero))
{
Sleep (One)
}

SGPO (HLRS, One)
SGPO (PWEN, Zero)
Return (Zero)
}
阅读全文 »

前言

装完我那台老掉牙的 Dell 笔记本黑苹果系统后,嫌弃它分辨率太低了,我又将我的目光转向老婆公司送的华硕 VM510LI 笔记本。😝

准备工作

趁目前 Windows 平台还在的时候,先下载 AIDA64 Engineer,导出以下内容:

导出显卡 Bios 备用

方法:

  1. 打开 AIDA64 Engineer;
  2. 查看,勾上状态栏。(此时软件下方应该会出现了一个框。)
  3. 右键状态栏 Video Debug。
  4. Video Bios Dump
  5. 点开显示设备→图形处理器(GPU)查看 PCI 设备的 ID(8086-1616)
  6. 将导出的 bin 文件重命名为 8086-1616.rom 备用。
阅读全文 »

本文说明

本文转载至远景论坛 daxuexinsheng 的帖子 [教程] [授权翻译] 使用补丁修改DSDT/SSDT [DSDT/SSDT综合教程]

近期远景论坛访问异常,还需要改 hosts 才能正常访问,而远景几乎是国内比较大的黑苹果权威论坛,为了防止一些珍贵的文献无法访问,而又方便日后翻查,我决定转载一些有用的文章。

翻译授权信息

  本教程原作者是tonymacx86网站的Rehabman。本贴,是对原贴的 翻译 与 补充。已经得到Rehabman的授权。相关信息如下:

授权信息

  请尊重原贴作者 与 本贴楼主。原作者把自己丰富的经验分享给了大家,本贴作者每个贴子平均花了3个小时翻译。
所以,转载请注明出处:

原贴地址:http://www.tonymacx86.com/yosemite-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html

本贴地址:http://bbs.pcbeta.com/viewthread-1571455-1-1.html

概述

  为了能让OS X的特性能够在普通PC上正常工作,就需要修改(可以利用补丁)DSDT和SSDT。本教程的目的,就是介绍如何利用现有补丁,修改你电脑的原始OEM DSDT/SSDT。

  虽然你可以用其它型号的电脑的DSDT,但这样的后果是会造成更多问题。你不能保证用别的型号电脑的DSDT是没问题的。如果你用了别的电脑的ACPI文件,即便是硬件配置非常相似,也可能会造成 系统不稳定 和 一些奇葩的问题。

使用补丁修改DSDT/SSDT包含了以下步骤:

  • 提取原始ACPI文件
  • 反编译原始文件
  • 分析并筛选这些原始文件
  • 使用补丁修改
  • 编译并保存,再放到引导特定的目录

提取原始ACPI文件

  所有BIOS都实现了把ACPI文件提交给操作系统的功能。所以,基于任何操作系统,你都可以通过操作系统提取出原始ACPI文件,之后再进行修改。Linux、OS X、Windows、Clover都可以用来提取原始ACPI文件。这些方式提取的文件是完全相同的,只是由于使用的提取工具不同,文件名会不同。

  本教程将主要介绍3种提取方式:在OS X使用patchmatic工具(Rehabman编写的终端程序),在Clover启动界面按F4,还有使用Linux。

阅读全文 »

农历年末了,等着放假,人都懒惰了。之前一直利用空余时间研究黑苹果,终于把辣鸡Dell 笔记本装上 macOS Sierra 驱动完所有能驱动的东东后,就好像虚脱了一样啥事都没干,说要把黑苹果的心路历程写下来的,开了个草稿现在就晾在那里了。

我装黑苹果其实是想找一款逼格好点的 Markdown 编辑器,后来发现妈蛋都好贵啊,动辄上百,轻则上几十块,完全玩不起啊。

后来找到开源的 MacDown,目前用着挺好,但是发现这家伙删除线不支持预览,胜在体积小,写 blog 方便。

MWeb Lite 也挺不错,但是那个按照建站方式管理的文档管理模式我感觉不方便,所以日常写博客还是用 MacDown。

翻了下我的 Seafile 上的个人维基,以前写了几篇关于翻墙的文章,因为站点备案了,我也不敢放这里,待会改天找我喝茶就不太好。

年初八去柬埔寨旅游,不知道有啥好玩的呢,到时候拍点好照片更新到 blog 上。

分享一首歌,我觉得挺好听,今天在网易云音乐听到。

陈奕迅-几许风雨

live 版更好听,但是无法生成外链。

总结下今年的计划:

  • 买房
  • 生孩 X
  • 换工作
  • 涨工资

这样总结下来貌似还算可以喔。明年继续努力,装修房子要好多钱钱,生娃更需要努力工作。突然发现男人很累啊。

END

阅读全文 »

前言

由于 GitBlog 无后台编辑,故此每次在电脑写好博客,还需要用 SSH 或其他方式上传文件比较麻烦,而服务器本来就部署了 Seafile,故此可以使用 Seafile 的命令行客户端来作为同步工具。

需要使用工具

Seaf-Cli 安装方法

####下载客户端

1
2
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-cli_4.3.2_x86-64.tar.gz
tar xzf seafile-cli_4.3.2_x86-64.tar.gz

####初始化和安装守护进程

1
2
3
4
5
cd seafile-cli-4.3.2
# 选择存储seafile客户端设置的文件夹(例如)~/.seafile-client
mkdir ~/.seafile-client # 创建客户端设置文件夹
./seaf-cli init -d ~/.seafile-client # 初始化客户端,并指定客户端的配置文件目录
./seaf-cli start # 启动守护程序

####在您的环境中安装 Seafile 客户端

1
2
# 建立 seaf-cli 命令软连接到系统环境中
ln -s `readlink -f seaf-cli` /usr/bin/
阅读全文 »

前言

最近在折腾 GitBlog,顺便想将网站的 http1.1 协议更改为 http2,修改好 nginx 配置后发现依然还是 http1.1。后来 Google 了一番,发现 http2 需要 openssl 1.0.2 版本支持,而 Centos7 默认 yum 的 openssl 版本是 1.0.1 故此需要使用新版的 openssl 1.1.0c 编译 nginx。

下载 openssl 源码

到 openssl 官网下载源码:https://www.openssl.org/source/

1
2
3
cd /usr/src
wget https://www.openssl.org/source/openssl-1.1.0c.tar.gz
tar xzf openssl-1.1.0c.tar.gz && rm openssl-1.1.0c.tar.gz -f

卸载旧版 nginx 编译安装 nginx

下载 nginx 源码包

1
2
3
4
5
cd /usr/src
yum remove nginx
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar xzf nginx-1.10.2.tar.gz && rm -f nginx-1.10.2.tar.gz
cd nginx-1.10.2
阅读全文 »