-
Notifications
You must be signed in to change notification settings - Fork 95
/
Copy pathOCLP.html
317 lines (284 loc) · 54.5 KB
/
OCLP.html
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
<!DOCTYPE html><html class="theme-next muse use-motion" lang="zh-CN"><head><meta name="generator" content="Hexo 3.8.0"><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2"><meta name="theme-color" content="#222"><script src="//fastly.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script><link href="/lib/pace/pace-theme-corner-indicator.min.css?v=1.0.2" rel="stylesheet"><meta name="google-site-verification" content="sDeZZSmv4NPbU3sXi1IL5l8PiZt1wVqR5EKUsxOjruY"><link href="https://fastly.jsdelivr.net/npm/@fancyapps/fancybox@3.2.5/dist/jquery.fancybox.min.css" rel="stylesheet" type="text/css"><link href="//fonts.googleapis.com/css?family=Noto Serif SC:300,300italic,400,400italic,700,700italic|Noto Serif SC:300,300italic,400,400italic,700,700italic|Roboto Mono:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css"><link href="//fastly.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"><link href="/css/main.css?v=6.6.0" rel="stylesheet" type="text/css"><link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=6.6.0"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon.png?v=6.6.0"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon.png?v=6.6.0"><link rel="mask-icon" href="/images/logo.svg?v=6.6.0" color="#222"><script id="hexo.configurations">var NexT=window.NexT||{},CONFIG={root:"/",scheme:"Muse",version:"6.6.0",sidebar:{position:"left",display:"hide",offset:12,b2t:!1,scrollpercent:!0,onmobile:!0},fancybox:!0,fastclick:!1,lazyload:!1,tabs:!0,motion:{enable:!0,async:!1,transition:{post_block:"fadeIn",post_header:"slideDownIn",post_body:"slideDownIn",coll_header:"slideLeftIn",sidebar:"slideUpIn"}},algolia:{applicationID:"",apiKey:"",indexName:"",hits:{per_page:10},labels:{input_placeholder:"Search for Posts",hits_empty:"We didn't find any results for the search: ${query}",hits_stats:"${hits} results found in ${time} ms"}}}</script><meta name="description" content="使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势适用于: OCLP &gt;=0.6.9 (Sonoma 开发分支) 技术背景在macOS Sonoma开发的早期阶段,负责使用旧Wi-Fi卡的kext和框架被删除,使得常用的BT / Wi-Fi卡的Wi-Fi部分处于非工作状态以下 Wi-Fi 卡芯片组受到影响"><meta name="keywords" content="OpenCore Legacy Patcher,OCLP"><meta property="og:type" content="article"><meta property="og:title" content="使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势"><meta property="og:url" content="https://blog.daliansky.net/OCLP.html"><meta property="og:site_name" content="黑果小兵的部落阁"><meta property="og:description" content="使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势适用于: OCLP &gt;=0.6.9 (Sonoma 开发分支) 技术背景在macOS Sonoma开发的早期阶段,负责使用旧Wi-Fi卡的kext和框架被删除,使得常用的BT / Wi-Fi卡的Wi-Fi部分处于非工作状态以下 Wi-Fi 卡芯片组受到影响"><meta property="og:locale" content="zh-CN"><meta property="og:image" content="https://pan.daliansky.net/d/blog/OCLP/OCLP1.png"><meta property="og:image" content="https://pan.daliansky.net/d/blog/OCLP/OCLP2.png"><meta property="og:image" content="https://pan.daliansky.net/d/blog/OCLP/OCLP3.png"><meta property="og:image" content="https://pan.daliansky.net/d/blog/OCLP/OCLP4.png"><meta property="og:image" content="https://pan.daliansky.net/d/blog/OCLP/OCLP5.png"><meta property="og:image" content="https://pan.daliansky.net/d/blog/OCLP/OCLP6.png"><meta property="og:image" content="https://pan.daliansky.net/d/blog/OCLP/OCLP7.png"><meta property="og:image" content="https://pan.daliansky.net/d/blog/OCLP/OCLP8.png"><meta property="og:updated_time" content="2023-09-22T14:11:02.000Z"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势"><meta name="twitter:description" content="使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势适用于: OCLP &gt;=0.6.9 (Sonoma 开发分支) 技术背景在macOS Sonoma开发的早期阶段,负责使用旧Wi-Fi卡的kext和框架被删除,使得常用的BT / Wi-Fi卡的Wi-Fi部分处于非工作状态以下 Wi-Fi 卡芯片组受到影响"><meta name="twitter:image" content="https://pan.daliansky.net/d/blog/OCLP/OCLP1.png"><link rel="alternate" href="/atom.xml" title="黑果小兵的部落阁" type="application/atom+xml"><link rel="canonical" href="https://blog.daliansky.net/OCLP.html"><script id="page.configurations">CONFIG.page={sidebar:""}</script><title>使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势 | 黑果小兵的部落阁</title><noscript><style>.sidebar-inner,.use-motion .brand,.use-motion .collection-title,.use-motion .comments,.use-motion .menu-item,.use-motion .motion-element,.use-motion .pagination,.use-motion .post-block,.use-motion .post-body,.use-motion .post-header{opacity:initial}.use-motion .logo,.use-motion .site-subtitle,.use-motion .site-title{opacity:initial;top:initial}.use-motion .logo-line-before i{left:initial}.use-motion .logo-line-after i{right:initial}</style></noscript></head><body itemscope itemtype="http://schema.org/WebPage" lang="zh-CN"><div class="container sidebar-position-left page-post-detail"><div class="headband"></div><header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="header-inner"><div class="site-brand-wrapper"><div class="site-meta"><div class="custom-logo-site-title"><a href="/" class="brand" rel="start"><span class="logo-line-before"><i></i></span> <span class="site-title">黑果小兵的部落阁</span> <span class="logo-line-after"><i></i></span></a></div><p class="site-subtitle">Hackintosh安装镜像、教程及经验分享</p></div><div class="site-nav-toggle"><button aria-label="切换导航栏"><span class="btn-bar"></span> <span class="btn-bar"></span> <span class="btn-bar"></span></button></div></div><nav class="site-nav"><ul id="menu" class="menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="menu-item-icon fa fa-fw fa-home"></i><br>首页</a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="menu-item-icon fa fa-fw fa-archive"></i><br>归档</a></li><li class="menu-item menu-item-categories"><a href="/categories/" rel="section"><i class="menu-item-icon fa fa-fw fa-th"></i><br>分类</a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="menu-item-icon fa fa-fw fa-tags"></i><br>标签</a></li><li class="menu-item menu-item-about"><a href="/about/" rel="section"><i class="menu-item-icon fa fa-fw fa-user"></i><br>关于</a></li><li class="menu-item menu-item-search"><a href="javascript:;" class="popup-trigger"><i class="menu-item-icon fa fa-search fa-fw"></i><br>搜索</a></li></ul><div class="site-search"><div class="popup search-popup local-search-popup"><div class="local-search-header clearfix"><span class="search-icon"><i class="fa fa-search"></i> </span><span class="popup-btn-close"><i class="fa fa-times-circle"></i></span><div class="local-search-input-wrapper"><input autocomplete="off" placeholder="搜索..." spellcheck="false" type="text" id="local-search-input"></div></div><div id="local-search-result"></div></div></div></nav></div></header><a href="https://github.com/daliansky" class="github-corner" title="Follow me on GitHub" aria-label="Follow me on GitHub" rel="noopener" target="_blank"><svg width="80" height="80" viewbox="0 0 250 250" style="fill:#222;color:#fff;position:absolute;top:0;border:0;right:0" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"/><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin:130px 106px" class="octo-arm"/><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"/></svg></a><main id="main" class="main"><div class="main-inner"><div class="content-wrap"><div id="content" class="content"><div id="posts" class="posts-expand"><div class="reading-progress-bar"></div><article class="post post-type-normal" itemscope itemtype="http://schema.org/Article"><div class="post-block"><link itemprop="mainEntityOfPage" href="https://blog.daliansky.net/OCLP.html"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="name" content="黑果小兵"><meta itemprop="description" content="黑果小兵,daliansky,blog.daliansky.net,macOS,Hackintosh,黑苹果,linux"><meta itemprop="image" content="/images/avatar.png"></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="黑果小兵的部落阁"></span><header class="post-header"><h1 class="post-title" itemprop="name headline">使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势</h1><div class="post-meta"><span class="post-time"><span class="post-meta-item-icon"><i class="fa fa-calendar-o"></i> </span><time title="创建时间:2023-09-22 22:11:02" itemprop="dateCreated datePublished" datetime="2023-09-22T22:11:02+08:00">2023-09-22</time> </span><span class="post-category"><span class="post-meta-divider">|</span> <span class="post-meta-item-icon"><i class="fa fa-folder-o"></i> </span><span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/教程/" itemprop="url" rel="index"><span itemprop="name">教程</span></a></span> </span><span class="post-meta-divider">|</span> <span class="post-meta-item-icon" title="阅读次数"><i class="fa fa-eye"></i> <span class="busuanzi-value" id="busuanzi_value_page_pv"></span></span><div class="post-symbolscount"><span class="post-meta-item-icon"><i class="fa fa-file-word-o"></i> </span><span title="本文字数">3.8k</span> <span class="post-meta-divider">|</span> <span class="post-meta-item-icon"><i class="fa fa-clock-o"></i> </span><span title="阅读时长">7 分钟</span></div></div></header><div class="post-body" itemprop="articleBody"><div><div><div class="post-gallery"></div></div></div><h1 id="使用opencore-legacy-patcher工具在macos-sonoma中重新打开不被支持的博通wi-fi无线网卡的正确插入姿势"><a class="markdownIt-Anchor" href="#使用opencore-legacy-patcher工具在macos-sonoma中重新打开不被支持的博通wi-fi无线网卡的正确插入姿势"></a> 使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势</h1><blockquote><p><strong>适用于</strong>: <code>OCLP</code> <code>>=0.6.9</code> (Sonoma 开发分支)</p></blockquote><h2 id="技术背景"><a class="markdownIt-Anchor" href="#技术背景"></a> 技术背景</h2><blockquote><p>在macOS Sonoma开发的早期阶段,负责使用旧Wi-Fi卡的kext和框架被删除,使得常用的BT / Wi-Fi卡的Wi-Fi部分处于非工作状态</p></blockquote><p>以下 Wi-Fi 卡芯片组受到影响:</p><ul><li><strong>现代的</strong>:<ul><li><strong>Broadcom</strong>:<code>BCM94350</code> (也包括 <code>BCM94352</code>) / <code>BCM94360</code> / <code>BCM43602</code> / <code>BCM94331</code> / <code>BCM943224</code></li><li><strong>必需的 Kexts</strong>: <code>IOSkywalkFamily</code> / <code>IO80211FamilyLegacy</code> / <code>AirPortBrcmNIC</code> / <code>AirportBrcmFixup</code> / <code>AirPortBrcmNIC_Injector</code></li></ul></li><li><strong>旧版的</strong> :<ul><li><strong>Atheros</strong>: <code>AR928X</code> / <code>AR93xx</code> / <code>AR242x</code> / <code>AR542x</code> / <code>AR5418</code> / <code>AR5416</code> (苹果好像从未用过它)</li><li><strong>Broadcom</strong>: <code>BCM94322</code> / <code>BCM94328</code></li><li><strong>必需的 Kexts</strong>: <code>corecaptureElCap</code> / <code>IO80211ElCap</code> / <code>AirPortAtheros40</code> (只适用于Atheros)</li></ul></li></ul><p>多亏了Dortania的 <code>OpenCore Legacy Patcher</code>,可以通过注入所需的kexts以及使用OCLP修补系统中的文件来重新启用这些Wi-Fi卡。如果您想了解 OCLP Wi-Fi 修补的工作原理,<a href="https://www.insanelymac.com/forum/topic/357087-macos-sonoma-wireless-issues-discussion/?do=findComment&comment=2809940" target="_blank" rel="noopener">请查看这篇文章</a>。</p><p>由于macOS Sonoma的补丁程序仍在开发中,因此在当前的公开版本(0.6.8)上不提供修补Wi-Fi的功能。最重要的是,修补Wi-Fi的能力是基于检测真实Mac中使用的Wi-Fi / BT卡的兼容设备ID / IONames。因此,在Wintel系统上,如果补丁程序没有检测到Apple使用的卡,则补丁程序将不会显示修补Wi-Fi的选项。</p><p>尽管 OCLP 允许在应用程序中设置某些功能,但手动启用 Wi-Fi 修补的选项尚未在应用程序的 GUI 中实现。因此,我们必须在源代码中手动强制启用它,然后编译自定义版本的 OCLP 以应用 Wi-Fi 根补丁(方法 1)</p><h2 id="方法1-在-opencore-legacy-patcher-中强制启用-wi-fi-修复补丁"><a class="markdownIt-Anchor" href="#方法1-在-opencore-legacy-patcher-中强制启用-wi-fi-修复补丁"></a> 方法1: 在 <code>OpenCore Legacy Patcher</code> 中强制启用 <code>Wi-Fi</code> 修复补丁</h2><h3 id="1-先决条件"><a class="markdownIt-Anchor" href="#1-先决条件"></a> 1. 先决条件</h3><p>要使“现代”和“旧版”无线在macOS Sonoma中正常工作,必须满足以下先决条件(在beta 5上测试):</p><ol><li><p>如果您的系统不受 macOS 文图拉及更高版本(第 7 代英特尔 Kaby Lake 之前的所有系统)的支持,您需要先按照 CPU 系列的<a href="https://github.com/5T33Z0/OC-Little-Translated/tree/main/14_OCLP_Wintel#configuration-guides" target="_blank" rel="noopener">配置指南</a>准备配置和 EFI</p></li><li><p>通过以太网连接系统以访问互联网。这应该是显而易见的,因为 Wi-Fi 在此阶段不起作用…</p></li><li><p>启用macOS安装应用允许任何来源</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo spctl --master-disable</span><br></pre></td></tr></table></figure></li><li><p>安装 <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a>。我们需要它来构建和运行 <code>OpenCore Legacy Patcher</code> 的修改版本,以强制启用Wi-Fi补丁</p></li><li><p>通过终端安装命令行工具。构建 OCLP 也需要它:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">xcode-select --install</span><br></pre></td></tr></table></figure></li><li><p>由于我们在这里使用的是测试版软件,因此强烈建议使用 <code>OpenCore</code> 的最新夜间自动构建版本以及您正在使用<em>的所有</em>kext,以最大限度地提高兼容性。这可以通过将<a href="https://github.com/5T33Z0/OC-Little-Translated/tree/main/D_Updating_OpenCore#2-pick-an-opencore-variant" target="_blank" rel="noopener">OCAT切换到DEV模式</a>并更新 <code>OpenCore</code> 和 <code>Kexts</code> 来实现,或者<a href="https://dortania.github.io/builds/" target="_blank" rel="noopener">通过从多塔尼亚下载最新版本</a>并手动应用更新(繁琐)。</p></li></ol><p><strong>重要说明</strong>:如果您进行了最新 Sonoma beta abd 的全新安装,则未从已安装命令行工具的现有安装进行更新,则在尝试通过终端安装时,如果更新服务器上不存在该文件,您可能会收到错误消息。在这种情况下,您需要从Apple的开发人员站点下载安装程序(您需要一个帐户)。它位于:<a href="https://developer.apple.com/download/all/" target="_blank" rel="noopener">https://developer.apple.com/download/all/</a></p><h3 id="2-配置和efi调整"><a class="markdownIt-Anchor" href="#2-配置和efi调整"></a> 2. 配置和EFI调整</h3><p>将以下更改应用于您的配置文件(或从<a href="https://pan.daliansky.net/d/APPS/OCLP/config_BCM94360_for_Sonoma.plist" target="_blank" rel="noopener">plist示例</a>复制它们),并将列出的<a href="https://pan.daliansky.net/blog/OCLP/Kexts.zip" target="_blank" rel="noopener">kexts</a>添加到 <code>EFI/OC/Kexts</code> 文件夹中:</p><h3 id="请使用工具-ocat-将-opencore-版本更新到-v095-打开配置文件-configplist"><a class="markdownIt-Anchor" href="#请使用工具-ocat-将-opencore-版本更新到-v095-打开配置文件-configplist"></a> 请使用工具 <code>OCAT</code> ,将 <code>OpenCore</code> 版本更新到 <code>v0.9.5</code> ,打开配置文件: <code>config.plist</code></h3><ul><li><code>Kernel</code> -> <code>Add</code><ul><li>引入 <code>RestrictEvents.kext</code></li><li>引入 <code>AMFIPass.kext</code>,设置 <code>MinKernel</code> 为 <code>23.0.0</code></li><li>引入 <code>IOSkywalkFamily.kext</code> ,设置 <code>MinKernel</code> 为 <code>23.0.0</code></li><li>引入 <code>IO80211FamilyLegacy.kext</code> 以及 <code>AirPortBrcmNIC.kext</code> ,设置 <code>MinKernel</code> 为 <code>23.0.0</code></li></ul></li></ul><p><img src="https://pan.daliansky.net/d/blog/OCLP/OCLP1.png" alt="OCLP1"></p><ul><li><p><code>Kernel</code> -> <code>Block</code></p><ul><li>阻止 <code>IOSkywalkFamily</code>,<code>Identifier</code>填写:<code>com.apple.iokit.IOSkywalkFamily</code>,<code>Enabled</code> 设置为 <code>true</code>,<code>MinKernel</code> 设置为: <code>23.0.0</code></li></ul><p><img src="https://pan.daliansky.net/d/blog/OCLP/OCLP2.png" alt="OCLP2"></p></li><li><p><code>NVRAM</code> -> <code>Add</code></p><ul><li><code>7C436110-AB2A-4BBB-A880-FE41995C9F82</code><ul><li><code>boot-args</code> 中添加引导参数:<code>ipc_control_port_options=0</code><ul><li>备注:<code>ipc_control_port_options=0</code> 为可选项,它对某些<strong>Electron</strong>及应用有治愈作用,比如百毒云盘、天翼云盘</li></ul></li><li><code>csr-active-config</code> 数据类型设置为:<code>Data</code>,值为:<code>7F0A0000</code></li></ul></li></ul><p><img src="https://pan.daliansky.net/d/blog/OCLP/OCLP3.png" alt="OCLP3"></p></li><li><p><code>NVRAM</code> -> <code>Delete</code></p><ul><li><code>7C436110-AB2A-4BBB-A880-FE41995C9F82</code><ul><li>确保添加:<code>boot-args</code></li><li>确保添加:<code>csr-active-config</code></li></ul></li></ul></li><li><p><code>Misc</code> -> <code>Security</code></p><ul><li><code>SecureBootModel</code> -> <code>Disabled</code></li></ul></li><li><p>保存配置文件:<code>config.plist</code>,退出 <code>OCAT</code></p></li></ul><h3 id="请使用工具opencore-legacy-patcher"><a class="markdownIt-Anchor" href="#请使用工具opencore-legacy-patcher"></a> 请使用工具:<code>OpenCore Legacy Patcher</code></h3><p>OCLP工具<a href="https://pan.daliansky.net/d/blog/OCLP/OpenCore-Patcher-GUI.app_v1.0.1.zip" target="_blank" rel="noopener">下载链接</a></p><ul><li><p>打开工具:<code>OpenCore Legacy Patcher</code></p></li><li><p>双击 <code>Post-Install Root Patch</code>按钮</p><p><img src="https://pan.daliansky.net/d/blog/OCLP/OCLP4.png" alt="OCLP4"></p></li><li><p>如果 <code>Networking: Modern Wireless</code>或 <code>Networking: Legacy Wireless</code>的打补丁选项可用,请点击:<code>Start Root Patching</code> 按钮</p><p><img src="https://pan.daliansky.net/d/blog/OCLP/OCLP5.png" alt="OCLP5"></p></li><li><p>在弹出的窗口中点击 <code>Yes</code></p><p><img src="https://pan.daliansky.net/d/blog/OCLP/OCLP6.png" alt="OCLP6"></p></li><li><p>出现 <code>Root Patching</code> 窗口,请耐心等待补丁执行完成</p><p><img src="https://pan.daliansky.net/d/blog/OCLP/OCLP7.png" alt="OCLP7"></p></li><li><p>补丁执行完,在弹出的窗口按 <code>Reboot</code> 重启即可</p><p><img src="https://pan.daliansky.net/d/blog/OCLP/OCLP8.png" alt="OCLP8"></p></li></ul><h3 id="故障排除提示"><a class="markdownIt-Anchor" href="#故障排除提示"></a> 故障排除提示</h3><ul><li>下载并打开 <a href="https://github.com/khronokernel/IORegistryClone" target="_blank" rel="noopener">IORegistryExplorer</a></li><li>搜索 <code>ARPT</code></li><li>高亮显示 ARPT 条目,并在右侧列表中查找属性 <code>IOName</code></li><li>如果列出的 <code>IOName</code> 与您通过 <code>DeviceProperties</code> 注入的相同,则欺骗工作正常,问题可能是其他方面引起的。</li><li>如果仍然显示原始的 <code>IOName</code>,则欺骗不起作用。</li></ul><h3 id="执行了-root-patching-后卡住了的处理方法"><a class="markdownIt-Anchor" href="#执行了-root-patching-后卡住了的处理方法"></a> 执行了 <code>Root Patching</code> 后卡住了的处理方法</h3><p>通过在 OCLP 启动选择器上选择你的磁盘时按下空格键进入恢复模式(如果你隐藏了它,请在启动时按住 ESC 键)</p><ul><li><strong>注意:</strong> 如果你的磁盘名称不是“Macintosh HD”,请相应地修改路径。你可以通过输入 <code>ls /Volumes</code> 来找出你的磁盘名称。</li></ul><p>打开终端并首先通过输入以下命令挂载磁盘:</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mount -uw <span class="string">"/Volumes/Macintosh HD"</span></span><br></pre></td></tr></table></figure><p>然后还原快照</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bless --mount <span class="string">"/Volumes/Macintosh HD"</span> --bootefi --last-sealed-snapshot</span><br></pre></td></tr></table></figure><p>之后,输入以下命令:</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> <span class="string">"/Volumes/Macintosh HD/Library/Extensions"</span></span><br></pre></td></tr></table></figure><p>然后通过输入 <code>ls</code> 命令,你应该能看到一堆 .kexts 文件。</p><ul><li><strong>注意:</strong> 如果你只看到以“HighPoint”开头的 .kexts 文件,你可以忽略它并重新启动系统。如果找到其他的 kext 文件,继续操作。</li></ul><p>通过使用 <code>rm -rf "kextname"</code> 命令删除除以“HighPoint”开头的外的所有文件。</p><p>然后重新启动,现在你的系统应该已恢复到未修补的快照状态,能够正常启动了。</p><h3 id="注意事项"><a class="markdownIt-Anchor" href="#注意事项"></a> 注意事项</h3><ul><li>请记住,一旦应用了根补丁,增量系统更新将不再起作用。相反,将下载完整的 macOS 安装程序(≈13 GB)。<a href="https://github.com/5T33Z0/OC-Little-Translated/blob/main/S_System_Updates/OTA_Updates.md" target="_blank" rel="noopener">有一个解决方法</a>,可以暂时使增量更新起作用。</li><li>一旦正式发布 macOS Sonoma 版本的官方 OpenCore Patcher,并且在 GUI 中启用了根补丁的 Wi-Fi 功能,或者在 Wintel 机器上使用的卡的检测工作得更好,可能就不再需要这个解决方法了。毕竟,OpenCore Legacy Patcher 是为真实的 Mac 设备编写的。</li></ul><h2 id="致谢"><a class="markdownIt-Anchor" href="#致谢"></a> 致谢</h2><ul><li>Acidanthera 提供 OpenCore 和 Kexts</li><li>Dortania 提供 OpenCore Legacy Patcher</li><li>Acquarius13 找出了 OCLPs 源代码的编辑方法</li><li>deeveedee 告诉我使用 <code>brcmfxbeta</code> 启动参数以及伪造兼容的 <code>IOName</code> 的方法。</li></ul></div><div><div id="wechat_subscriber" style="display:block;padding:10px 0;margin:20px auto;width:100%;text-align:center"><a href="https://hackintosher.taobao.com"><img id="wechat_subscriber_qcode" src="/uploads/WeChatandShop.png" alt="黑果小兵 wechat" style="max-width:90%"></a><div>微信扫一扫,订阅/直达【黑果小兵的部落阁】</div></div></div><div class="updated"><svg xmlns="http://www.w3.org/2000/svg" width="130" height="20"><lineargradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></lineargradient><clippath id="a"><rect width="130" height="20" rx="3" fill="#fff"/></clippath><g clip-path="url(#a)"><path fill="#555" d="M0 0h55v20H0z"/><path fill="#97CA00" d="M55 0h75v20H55z"/><path fill="url(#b)" d="M0 0h130v20H0z"/></g><g fill="#fff" text-anchor="middle" font-family="Menlo,monospace" font-size="110"><text x="285" y="150" fill="#010101" fill-opacity=".3" textlength="450" transform="scale(.1)">更新日期</text><text x="285" y="140" textlength="450" transform="scale(.1)">更新日期</text><text x="915" y="150" fill="#010101" fill-opacity=".3" textlength="650" transform="scale(.1)">2023-09-22</text><text x="915" y="140" textlength="650" transform="scale(.1)">2023-09-22</text></g></svg></div><div><div><div style="text-align:center;color:#ccc;font-size:14px">-------------本文结束<i class="fa fa-apple"></i>感谢您的阅读-------------</div></div></div><div><div style="padding:10px 0;margin:20px auto;width:90%;text-align:center"><button id="rewardButton" disable="enable" onclick='var qr=document.getElementById("QR");"none"===qr.style.display?qr.style.display="block":qr.style.display="none"'><span>打赏</span></button><div>如果文章对您有帮助,就请站长喝杯咖啡吧 ´◡`</div><div id="QR" style="display:none"><div id="wechat" style="display:inline-block"><img id="wechat_qr" src="/images/wechatpay.jpg" alt="黑果小兵 微信支付"><p>微信支付</p></div><div id="alipay" style="display:inline-block"><img id="alipay_qr" src="/images/alipay.jpg" alt="黑果小兵 支付宝"><p>支付宝</p></div></div></div></div><div><div><ul class="qq-qun"><div><p></p><h2>QQ群列表:</h2><p></p><p>630724380 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=JyGkfKK7U3Xq3TDtpqKOTq_gW7SBg4Uh&jump_from=webapi" target="_blank" rel="noopener">黑果小兵黑苹果技术群7</a> 2000人 新开群<br>713810838 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=e8E-1Ge2lCoBSTlj8Y4zMxX7l7-V63Iv&jump_from=webapi" target="_blank" rel="noopener">黑果小兵黑苹果技术群8</a> 2000人 新开群<br>688324116 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=Fp4HZ5e8A61oCu0GMS5YUqP6COc43-AO&jump_from=webapi" target="_blank" rel="noopener">一起黑苹果</a> 2000人<br>331686786 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=No8zvDfvDicT-GfSApw1RMBI-3MQ7zM3&jump_from=webapi" target="_blank" rel="noopener">一起吃苹果</a> 2000人<br>257995340 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=acztqL9efoqAOoptc_3moZ9b3Sgczu9_&jump_from=webapi" target="_blank" rel="noopener">一起啃苹果</a> 2000人群 远景报备群<br>875482673 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=aZNyoRum_er2mruqmnbX_93ncHNgsyak&jump_from=webapi" target="_blank" rel="noopener">黑果小兵黑苹果技术群</a> 2000人<br>1058822256 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=1sIT0BDaejgr9t1Hlw16cMnw_Z96zleV&jump_from=webapi" target="_blank" rel="noopener">黑果小兵黑苹果技术群2</a> 2000人<br>819662911 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=aJx9xO7vAmyslCuOdK0bRMmDLpvOCeRw&jump_from=webapi" target="_blank" rel="noopener">黑果小兵黑苹果技术群3</a> 2000人<br>954098809 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=iu042k0X5snr--dzAxOzcsvD9Zft9yx7&jump_from=webapi" target="_blank" rel="noopener">黑果小兵黑苹果技术群4</a> 2000人<br>1161377948 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=kBV9vCnz-NqtXXJiwnUhaLyJN1D7G0n6&jump_from=webapi" target="_blank" rel="noopener">黑果小兵黑苹果技术群5</a> 2000人<br>553283949 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=kr_hZc5pKK4TCDRaFPwRlfAiB4528InP&jump_from=webapi" target="_blank" rel="noopener">黑果小兵黑苹果技术群6</a> 2000人<br>701278330 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=x57TlUmxz88oXGDWjMOOsWokYi8klE11&jump_from=webapi" target="_blank" rel="noopener">黑苹果无线网卡交流群</a> 1000人群 DW1820A技术支持群<br>891434070 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=TUAxSUUtw_T1N62V0kF1sWvMcDr_eoxc&jump_from=webapi" target="_blank" rel="noopener">Catalina黑苹果交流群</a> 2000人群 远景报备群<br>939122730 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=g_rpf7m0LJllE6WHY9c0gVvCTBm1MtuN&jump_from=webapi" target="_blank" rel="noopener">Catalina黑苹果交流II群</a> 2000人群<br>891677227 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=xsuIOzF7RXYaRTTbJ5o_UjzohRDUx5UY&jump_from=webapi" target="_blank" rel="noopener">黑果小兵高级群</a> 2000人群<br>943307869 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=aoSvqrbysdjPo0Wa_XvvPuMG9NMEtOie&jump_from=webapi" target="_blank" rel="noopener">黑果小兵高级群II</a> 2000人群<br>419298796 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=4gWtT2-pOWZYIGwIpVaTNft2aOJP-5qs&jump_from=webapi" target="_blank" rel="noopener">零刻黑苹果技术交流群</a> 500人群 非专用机型请勿加入<br>275356796 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=H7hFwiVkZq71L7se6rz3hE9QcacqL-dV&jump_from=webapi" target="_blank" rel="noopener">morefine黑苹果技术交流群</a> 500人群 非专用机型请勿加入<br>869792897 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=MTDHb2QgLH3gkaymtdFCpk77J5ufWJpH&jump_from=webapi" target="_blank" rel="noopener">minisforum U820黑苹果技术群</a> 500人群 非专用机型请勿加入<br>942112153 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=N5cjw5ksrnmk-RMQ4fPCOo5D_Dxiu47B&jump_from=webapi" target="_blank" rel="noopener">天逸510s Mini黑苹果交流群</a> 1000人群 非专用机型请勿加入<br>673294583 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=GgcMJM5-98yB-fc6zyGcTI3OuesrSBRk&jump_from=webapi" target="_blank" rel="noopener">小新Pro黑苹果技术群</a> 2000人群 非专用机型请勿加入<br>946132482 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=r-m99xC-BPIRdVkEjU6duvqXMJ-1FOwA&jump_from=webapi" target="_blank" rel="noopener">小新Pro黑苹果</a> 500人群 非专用机型请勿加入<br>158976808 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=c9DeeyUg9x4dZlOpIVmj4R4g38p-YCZ1&jump_from=webapi" target="_blank" rel="noopener">DELL黑苹果交流群</a> 1000人群 非专用机型请勿加入<br>247451054 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=h7fvRnWmdaMK2D0qVQLzJsjCC9PwB5h3&jump_from=webapi" target="_blank" rel="noopener">小米Pro黑苹果高级群</a> 2000人群 非专用机型请勿加入<br>943181023 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=OGO_GSX9ZhtbQ_HNns57Vdxm5pR1wH6V&jump_from=webapi" target="_blank" rel="noopener">联想小新Air黑苹果交流群</a> 500人群 非专用机型请勿加入<br></p><p></p><h2>Telegram群:</h2><p></p><p>黑果小兵的部落阁 <a href="http://t.me/daliansky" target="_blank">http://t.me/daliansky</a><br>黑果小兵的部落阁 #安装问题讨论 <a href="https://t.me/Hackintosh_Installer" target="_blank">https://t.me/Hackintosh_Installer</a></p><p></p><h2>淘宝店铺:</h2><p></p><p>黑果小兵的部落阁 <a href="https://hackintosher.taobao.com" target="_blank">https://hackintosher.taobao.com</a></p></div></ul></div></div><div><ul class="post-copyright"><li class="post-copyright-author"><strong>本文作者: </strong>黑果小兵</li><li class="post-copyright-link"><strong>本文链接:</strong> <a href="https://blog.daliansky.net/OCLP.html" title="使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势">https://blog.daliansky.net/OCLP.html</a></li><li class="post-copyright-license"><strong>版权声明: </strong>本博客所有文章除特别声明外,均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" rel="noopener" target="_blank"><i class="fa fa-fw fa-creative-commons"></i>BY-NC-SA</a> 许可协议。转载请注明出处!</li></ul></div><footer class="post-footer"><div class="post-tags"><a href="/tags/OpenCore-Legacy-Patcher/" rel="tag"><i class="fa fa-tag"></i> OpenCore Legacy Patcher</a> <a href="/tags/OCLP/" rel="tag"><i class="fa fa-tag"></i> OCLP</a></div><div class="post-nav"><div class="post-nav-next post-nav-item"><a href="/Intel-NUC9-Hackintosh-and-macOS-Sonoma-Installation-Tutorial.html" rel="next" title="Intel NUC9黑苹果兼Sonoma安装教程"><i class="fa fa-chevron-left"></i> Intel NUC9黑苹果兼Sonoma安装教程</a></div><span class="post-nav-divider"></span><div class="post-nav-prev post-nav-item"><a href="/BT_SSL.html" rel="prev" title="宝塔自签名证书无法导入到 macOS 的解决办法">宝塔自签名证书无法导入到 macOS 的解决办法 <i class="fa fa-chevron-right"></i></a></div></div></footer></div></article></div></div><div id="gitalk-container"></div></div><div class="sidebar-toggle"><div class="sidebar-toggle-line-wrap"><span class="sidebar-toggle-line sidebar-toggle-line-first"></span> <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span> <span class="sidebar-toggle-line sidebar-toggle-line-last"></span></div></div><aside id="sidebar" class="sidebar"><div id="sidebar-dimmer"></div><div class="sidebar-inner"><ul class="sidebar-nav motion-element"><li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap">文章目录</li><li class="sidebar-nav-overview" data-target="site-overview-wrap">站点概览</li></ul><div class="site-overview-wrap sidebar-panel"><div class="site-overview"><div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person"><a href="/"><img class="site-author-image" itemprop="image" src="/images/avatar.png" alt="黑果小兵"></a><p class="site-author-name" itemprop="name">黑果小兵</p><p class="site-description motion-element" itemprop="description">黑果小兵</p></div><nav class="site-state motion-element"><div class="site-state-item site-state-posts"><a href="/archives/"><span class="site-state-item-count">127</span> <span class="site-state-item-name">日志</span></a></div><div class="site-state-item site-state-categories"><a href="/categories/index.html"><span class="site-state-item-count">26</span> <span class="site-state-item-name">分类</span></a></div><div class="site-state-item site-state-tags"><a href="/tags/index.html"><span class="site-state-item-count">289</span> <span class="site-state-item-name">标签</span></a></div></nav><div class="feed-link motion-element"><a href="/atom.xml" rel="alternate"><i class="fa fa-rss"></i> RSS</a></div><div class="links-of-author motion-element"><span class="links-of-author-item"><a href="https://github.com/daliansky" title="GitHub → https://github.com/daliansky" rel="noopener" target="_blank"><i class="fa fa-fw fa-github"></i></a> </span><span class="links-of-author-item"><a href="http://www.jianshu.com/u/df9143008845" title="简书 → http://www.jianshu.com/u/df9143008845" rel="noopener" target="_blank"><i class="fa fa-fw fa-heartbeat"></i></a> </span><span class="links-of-author-item"><a href="http://shang.qq.com/wpa/qunwpa?idkey=db511a29e856f37cbb871108ffa77a6e79dde47e491b8f2c8d8fe4d3c310de91" title="QQ → http://shang.qq.com/wpa/qunwpa?idkey=db511a29e856f37cbb871108ffa77a6e79dde47e491b8f2c8d8fe4d3c310de91" rel="noopener" target="_blank"><i class="fa fa-fw fa-qq"></i></a></span></div><div class="links-of-blogroll motion-element links-of-blogroll-block"><div class="links-of-blogroll-title"><i class="fa fa-fw fa-link"></i> Links</div><ul class="links-of-blogroll-list"><li class="links-of-blogroll-item"><a href="https://blog.tlhub.cn" title="https://blog.tlhub.cn" rel="noopener" target="_blank">Athlonreg</a></li><li class="links-of-blogroll-item"><a href="http://www.sqlsec.com" title="http://www.sqlsec.com" rel="noopener" target="_blank">国光</a></li></ul></div></div></div><div class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active"><div class="post-toc"><div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#使用opencore-legacy-patcher工具在macos-sonoma中重新打开不被支持的博通wi-fi无线网卡的正确插入姿势"><span class="nav-number">1.</span> <span class="nav-text">使用OpenCore Legacy Patcher工具在macOS Sonoma中重新打开不被支持的博通Wi-Fi无线网卡的正确插入姿势</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#技术背景"><span class="nav-number">1.1.</span> <span class="nav-text">技术背景</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#方法1-在-opencore-legacy-patcher-中强制启用-wi-fi-修复补丁"><span class="nav-number">1.2.</span> <span class="nav-text">方法1: 在 OpenCore Legacy Patcher 中强制启用 Wi-Fi 修复补丁</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#1-先决条件"><span class="nav-number">1.2.1.</span> <span class="nav-text">1. 先决条件</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-配置和efi调整"><span class="nav-number">1.2.2.</span> <span class="nav-text">2. 配置和EFI调整</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#请使用工具-ocat-将-opencore-版本更新到-v095-打开配置文件-configplist"><span class="nav-number">1.2.3.</span> <span class="nav-text">请使用工具 OCAT ,将 OpenCore 版本更新到 v0.9.5 ,打开配置文件: config.plist</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#请使用工具opencore-legacy-patcher"><span class="nav-number">1.2.4.</span> <span class="nav-text">请使用工具:OpenCore Legacy Patcher</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#故障排除提示"><span class="nav-number">1.2.5.</span> <span class="nav-text">故障排除提示</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#执行了-root-patching-后卡住了的处理方法"><span class="nav-number">1.2.6.</span> <span class="nav-text">执行了 Root Patching 后卡住了的处理方法</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#注意事项"><span class="nav-number">1.2.7.</span> <span class="nav-text">注意事项</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#致谢"><span class="nav-number">1.3.</span> <span class="nav-text">致谢</span></a></li></ol></li></ol></div></div></div></div></aside></div></main><footer id="footer" class="footer"><div class="footer-inner"><div class="copyright"><a href="http://www.beian.miit.gov.cn" rel="noopener" target="_blank">辽ICP备15000696号-3 </a>© 2016 – <span itemprop="copyrightYear">2024</span> <span class="with-love" id="animate"><i class="fa fa-apple"></i> </span><span class="author" itemprop="copyrightHolder">黑果小兵</span> <span class="post-meta-divider">|</span> <span class="post-meta-item-icon"><i class="fa fa-area-chart"></i> </span><span title="站点总字数">859k</span> <span class="post-meta-divider">|</span> <span class="post-meta-item-icon"><i class="fa fa-coffee"></i> </span><span title="站点阅读时长">26:03</span></div><div class="busuanzi-count"><script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><span class="site-uv" title="总访客量"><i class="fa fa-user"></i> <span class="busuanzi-value" id="busuanzi_value_site_uv"></span> </span><span class="site-pv" title="总访问量"><i class="fa fa-eye"></i> <span class="busuanzi-value" id="busuanzi_value_site_pv"></span></span></div></div></footer><div class="back-to-top"><i class="fa fa-arrow-up"></i> <span id="scrollpercent"><span>0</span>%</span></div></div><script>"[object Function]"!==Object.prototype.toString.call(window.Promise)&&(window.Promise=null)</script><script src="/lib/jquery/index.js?v=2.1.3"></script><script src="/lib/velocity/velocity.min.js?v=1.2.1"></script><script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script><script src="https://fastly.jsdelivr.net/npm/@fancyapps/fancybox@3.2.5/dist/jquery.fancybox.min.js"></script><script src="//fastly.jsdelivr.net/gh/theme-next/theme-next-reading-progress@1.1/reading_progress.min.js"></script><script src="/js/src/utils.js?v=6.6.0"></script><script src="/js/src/motion.js?v=6.6.0"></script><script src="/js/src/scrollspy.js?v=6.6.0"></script><script src="/js/src/post-details.js?v=6.6.0"></script><script src="/js/src/bootstrap.js?v=6.6.0"></script><script src="//fastly.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.min.js"></script><link rel="stylesheet" href="//fastly.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.css"><script src="//fastly.jsdelivr.net/npm/js-md5@0.7.3/src/md5.min.js"></script><script>var gitalk=new Gitalk({clientID:"0da3e792a21a77938da6",clientSecret:"4d2869563000629ee6dbed48fbbf878aea151cb6",repo:"daliansky.github.io",owner:"daliansky",admin:["daliansky"],id:md5(location.pathname),distractionFreeMode:"true",proxy:"https://gitalk.daliansky.workers.dev/?https://github.com/login/oauth/access_token"});gitalk.render("gitalk-container")</script><script>// Popup Window;
var isfetched = false;
var isXml = true;
// Search DB path;
var search_path = "search.xml";
if (search_path.length === 0) {
search_path = "search.xml";
} else if (/json$/i.test(search_path)) {
isXml = false;
}
var path = "/" + search_path;
// monitor main search box;
var onPopupClose = function (e) {
$('.popup').hide();
$('#local-search-input').val('');
$('.search-result-list').remove();
$('#no-result').remove();
$(".local-search-pop-overlay").remove();
$('body').css('overflow', '');
}
function proceedsearch() {
$("body")
.append('<div class="search-popup-overlay local-search-pop-overlay"></div>')
.css('overflow', 'hidden');
$('.search-popup-overlay').click(onPopupClose);
$('.popup').toggle();
var $localSearchInput = $('#local-search-input');
$localSearchInput.attr("autocapitalize", "none");
$localSearchInput.attr("autocorrect", "off");
$localSearchInput.focus();
}
// search function;
var searchFunc = function(path, search_id, content_id) {
'use strict';
// start loading animation
$("body")
.append('<div class="search-popup-overlay local-search-pop-overlay">' +
'<div id="search-loading-icon">' +
'<i class="fa fa-spinner fa-pulse fa-5x fa-fw"></i>' +
'</div>' +
'</div>')
.css('overflow', 'hidden');
$("#search-loading-icon").css('margin', '20% auto 0 auto').css('text-align', 'center');
$.ajax({
url: path,
dataType: isXml ? "xml" : "json",
async: true,
success: function(res) {
// get the contents from search data
isfetched = true;
$('.popup').detach().appendTo('.header-inner');
var datas = isXml ? $("entry", res).map(function() {
return {
title: $("title", this).text(),
content: $("content",this).text(),
url: $("url" , this).text()
};
}).get() : res;
var input = document.getElementById(search_id);
var resultContent = document.getElementById(content_id);
var inputEventFunction = function() {
var searchText = input.value.trim().toLowerCase();
var keywords = searchText.split(/[\s\-]+/);
if (keywords.length > 1) {
keywords.push(searchText);
}
var resultItems = [];
if (searchText.length > 0) {
// perform local searching
datas.forEach(function(data) {
var isMatch = false;
var hitCount = 0;
var searchTextCount = 0;
var title = data.title.trim();
var titleInLowerCase = title.toLowerCase();
var content = data.content.trim().replace(/<[^>]+>/g,"");
var contentInLowerCase = content.toLowerCase();
var articleUrl = decodeURIComponent(data.url);
var indexOfTitle = [];
var indexOfContent = [];
// only match articles with not empty titles
if(title != '') {
keywords.forEach(function(keyword) {
function getIndexByWord(word, text, caseSensitive) {
var wordLen = word.length;
if (wordLen === 0) {
return [];
}
var startPosition = 0, position = [], index = [];
if (!caseSensitive) {
text = text.toLowerCase();
word = word.toLowerCase();
}
while ((position = text.indexOf(word, startPosition)) > -1) {
index.push({position: position, word: word});
startPosition = position + wordLen;
}
return index;
}
indexOfTitle = indexOfTitle.concat(getIndexByWord(keyword, titleInLowerCase, false));
indexOfContent = indexOfContent.concat(getIndexByWord(keyword, contentInLowerCase, false));
});
if (indexOfTitle.length > 0 || indexOfContent.length > 0) {
isMatch = true;
hitCount = indexOfTitle.length + indexOfContent.length;
}
}
// show search results
if (isMatch) {
// sort index by position of keyword
[indexOfTitle, indexOfContent].forEach(function (index) {
index.sort(function (itemLeft, itemRight) {
if (itemRight.position !== itemLeft.position) {
return itemRight.position - itemLeft.position;
} else {
return itemLeft.word.length - itemRight.word.length;
}
});
});
// merge hits into slices
function mergeIntoSlice(text, start, end, index) {
var item = index[index.length - 1];
var position = item.position;
var word = item.word;
var hits = [];
var searchTextCountInSlice = 0;
while (position + word.length <= end && index.length != 0) {
if (word === searchText) {
searchTextCountInSlice++;
}
hits.push({position: position, length: word.length});
var wordEnd = position + word.length;
// move to next position of hit
index.pop();
while (index.length != 0) {
item = index[index.length - 1];
position = item.position;
word = item.word;
if (wordEnd > position) {
index.pop();
} else {
break;
}
}
}
searchTextCount += searchTextCountInSlice;
return {
hits: hits,
start: start,
end: end,
searchTextCount: searchTextCountInSlice
};
}
var slicesOfTitle = [];
if (indexOfTitle.length != 0) {
slicesOfTitle.push(mergeIntoSlice(title, 0, title.length, indexOfTitle));
}
var slicesOfContent = [];
while (indexOfContent.length != 0) {
var item = indexOfContent[indexOfContent.length - 1];
var position = item.position;
var word = item.word;
// cut out 100 characters
var start = position - 20;
var end = position + 80;
if(start < 0){
start = 0;
}
if (end < position + word.length) {
end = position + word.length;
}
if(end > content.length){
end = content.length;
}
slicesOfContent.push(mergeIntoSlice(content, start, end, indexOfContent));
}
// sort slices in content by search text's count and hits' count
slicesOfContent.sort(function (sliceLeft, sliceRight) {
if (sliceLeft.searchTextCount !== sliceRight.searchTextCount) {
return sliceRight.searchTextCount - sliceLeft.searchTextCount;
} else if (sliceLeft.hits.length !== sliceRight.hits.length) {
return sliceRight.hits.length - sliceLeft.hits.length;
} else {
return sliceLeft.start - sliceRight.start;
}
});
// select top N slices in content
var upperBound = parseInt('1');
if (upperBound >= 0) {
slicesOfContent = slicesOfContent.slice(0, upperBound);
}
// highlight title and content
function highlightKeyword(text, slice) {
var result = '';
var prevEnd = slice.start;
slice.hits.forEach(function (hit) {
result += text.substring(prevEnd, hit.position);
var end = hit.position + hit.length;
result += '<b class="search-keyword">' + text.substring(hit.position, end) + '</b>';
prevEnd = end;
});
result += text.substring(prevEnd, slice.end);
return result;
}
var resultItem = '';
if (slicesOfTitle.length != 0) {
resultItem += "<li><a href='" + articleUrl + "' class='search-result-title'>" + highlightKeyword(title, slicesOfTitle[0]) + "</a>";
} else {
resultItem += "<li><a href='" + articleUrl + "' class='search-result-title'>" + title + "</a>";
}
slicesOfContent.forEach(function (slice) {
resultItem += "<a href='" + articleUrl + "'>" +
"<p class=\"search-result\">" + highlightKeyword(content, slice) +
"...</p>" + "</a>";
});
resultItem += "</li>";
resultItems.push({
item: resultItem,
searchTextCount: searchTextCount,
hitCount: hitCount,
id: resultItems.length
});
}
})
};
if (keywords.length === 1 && keywords[0] === "") {
resultContent.innerHTML = '<div id="no-result"><i class="fa fa-search fa-5x" /></div>'
} else if (resultItems.length === 0) {
resultContent.innerHTML = '<div id="no-result"><i class="fa fa-frown-o fa-5x" /></div>'
} else {
resultItems.sort(function (resultLeft, resultRight) {
if (resultLeft.searchTextCount !== resultRight.searchTextCount) {
return resultRight.searchTextCount - resultLeft.searchTextCount;
} else if (resultLeft.hitCount !== resultRight.hitCount) {
return resultRight.hitCount - resultLeft.hitCount;
} else {
return resultRight.id - resultLeft.id;
}
});
var searchResultList = '<ul class=\"search-result-list\">';
resultItems.forEach(function (result) {
searchResultList += result.item;
})
searchResultList += "</ul>";
resultContent.innerHTML = searchResultList;
}
}
if ('auto' === 'auto') {
input.addEventListener('input', inputEventFunction);
} else {
$('.search-icon').click(inputEventFunction);
input.addEventListener('keypress', function (event) {
if (event.keyCode === 13) {
inputEventFunction();
}
});
}
// remove loading animation
$(".local-search-pop-overlay").remove();
$('body').css('overflow', '');
proceedsearch();
}
});
}
// handle and trigger popup window;
$('.popup-trigger').click(function(e) {
e.stopPropagation();
if (isfetched === false) {
searchFunc(path, 'local-search-input', 'local-search-result');
} else {
proceedsearch();
};
});
$('.popup-btn-close').click(onPopupClose);
$('.popup').click(function(e){
e.stopPropagation();
});
$(document).on('keyup', function (event) {
var shouldDismissSearchPopup = event.which === 27 &&
$('.search-popup').is(':visible');
if (shouldDismissSearchPopup) {
onPopupClose();
}
});</script><script src="/js/src/js.cookie.js?v=6.6.0"></script><script src="/js/src/scroll-cookie.js?v=6.6.0"></script><script src="/live2dw/lib/L2Dwidget.min.js?094cbace49a39548bed64abff5988b05"></script><script>L2Dwidget.init({pluginRootPath:"live2dw/",pluginJsPath:"lib/",pluginModelPath:"assets/",model:{scale:1.2,hHeadPos:.5,vHeadPos:.618,jsonPath:"/live2dw/assets/tororo.model.json"},display:{superSample:2,width:150,height:300,position:"right",hOffset:0,vOffset:-20},mobile:{show:!1,scale:.5},react:{opacityDefault:.7,opacityOnHover:.2},log:!1,tagMode:!1})</script></body></html>