黑蘋果定制USB遮蓋器(區(qū)別于驅動)

注:該方法經(jīng)測試支持12贤惯、13洼专、14、15系統(tǒng)孵构,需要配合不同的解除USB限制的補丁屁商,才能正常驅動。

一直在思考如何簡單有效的將定制USB驅動的方法介紹給大家颈墅,但是遠景掛掉了蜡镶,收藏的資料也找不到了。只好在自己的電腦上反復試驗確認無誤后恤筛,才抽空寫了這個教程官还。這里感謝那些幫助過我的大神,等遠景恢復后一定第一時間附上原貼及原作者毒坛。這里需要說明的是望伦,教程定制的是遮蓋器,非驅動煎殷。目的是讓系統(tǒng)能夠正確檢測到usb屯伞,結果與驅動效果一樣,不影響使用以及睡眠問題豪直。

目錄:
一劣摇、前言
二、準備工具及基本驅動文件
三顶伞、獲取USB接口信息
四饵撑、兩種驅動方法
五、USB調(diào)試
六唆貌、結語

一滑潘、前言

對于大部分臺式機來說,黑蘋果的USB只需要最新的RehabMan-USBInjectAll即可驅動USB2.0和USB3.0锨咙,但是筆記本僅僅是正常驅動USB都不容易语卤,睡眠喚醒出問題也往往都是USB出的幺蛾子。所以想要完美實現(xiàn)睡眠喚醒酪刀,USB完美驅動是必不可少的粹舵。實現(xiàn)所有USB接口如同win下一般,也是macOS重度使用者迫切需要的骂倘。下面就詳細介紹一下定制USB驅動的方法眼滤,如果使用RehabMan-USBInjectAll已經(jīng)能夠完美驅動所有USB接口,同時睡眠喚醒也正常的历涝,這個教程就無所謂了诅需,其他的朋友都可以嘗試。(這里不討論USB3.1接口)
目前荧库,通過USB定制已經(jīng)解決的問題有USB2.0堰塌、3.0(5G/s)內(nèi)建問題,藍牙驅動問題或藍牙內(nèi)建問題(免驅藍牙無法驅動)分衫,攝像頭問題(主要是筆記本攝像頭)场刑,USB睡眠問題(如藍牙與攝像頭導致的秒醒問題,需要定義接口屬性port或dsdt打usb睡眠補厄秸健)牵现。

二、準備工具及基本驅動文件

定制USB的工具:
1邀桑、win平臺:
AIDA64(用以確認所有USB接口以及設備對應接口)
2施籍、macOS平臺:
MaciASL(選用,編輯DSDT文件)
IORegistryEntry (用來確認USB是否正常驅動
PlistEdit pro(編輯info.plist)

基本驅動:
1概漱、USB_Injector.kext(方法一中使用)
遠景中一位大神編寫的需要DSDT文件配合
2丑慎、USBInjectAll.kext(方法二中使用)
RehabMac大神編寫的萬能驅動,定制既是直接修改這個驅動

三瓤摧、獲取USB接口信息

USB接口的基本結構大致如下:(這里不討論USB3.1接口)
1竿裂、EHC1總線(第一組USB2.0接口)
2、EHC2 總線 (第二組USB2.0接口)
3照弥、XHC1總線(USB3.0接口)


USB接口

需要獲取的是EHC1腻异、EHC2、XHC1中的接口數(shù)量这揣,以及設備使用的接口(如藍牙悔常、觸摸板影斑、攝像頭等),需要在win平臺下机打,使用AIDA64工具矫户,設備——USB下找到相關接口。

1残邀、EHC1總線


EHC1

EHC1下有兩個主接口port1與port2皆辽,port2無集線器直接忽略。port1下有8個接口芥挣,接口分別是11 ~ 18驱闷,其中13設備是指紋識別器,14是藍牙空免,16是攝像頭(記錄下來)空另。

2、EHC2總線


EHC2

EHC1下有兩個主接口port1與port2蹋砚,port2無集線器直接忽略痹换。port1下有6個接口,接口分別是11 ~ 16都弹,其中12設備是觸摸板(記錄下來)娇豫。

3、XHC1總線


XHC1

XHC1下有21個接口畅厢,所有接口未被設備直接使用冯痢。

使用AIDA64查看所有USB接口信息,某個總線沒有框杜,也沒有關系浦楣,如實記錄即可。需要說明的是被設備直接使用的大多為特殊接口咪辱,后面章節(jié)需要特殊定義振劳,其他接口只需要定義USB2.0與USB3.0即可。

以上可以確定完整USB2.0接口油狂,但是USB3.0則需要進一步確認历恐,這里需要用到DSDT文件(clover啟動項選擇頁面F4獲取,保存于ACPI 下专筷,DSDT文件的編輯需要將格式由aml轉換為dsl弱贼,并在ACPI5.0下修復報錯才能保存,這里不討論)

DSDT

XHC1總線下的21個接口有15個HS01 ~ HS15磷蛹,6個SSP1 ~ SSP6吮旅,這里HS為USB3.0兼容USB2.0的接口,SSP為USB3.0接口(部分電腦代碼不同)味咳。由于EHC中已經(jīng)定義USB2.0庇勃,這里忽略掉所有的HS接口(DSDT文件刪除所有HS接口)檬嘀,僅保留SSP接口。

四责嚷、兩種驅動方法

下面開始根據(jù)USB接口信息開始定制USB驅動鸳兽。DSDT中需要將所有EHC1改為EH01,EHC2改為EH02再层,XHCI改為XHC。
info中對USB接口的定義分別是0堡纬、3聂受、255,既USB2.0烤镐、USB3.0蛋济、特殊端口

方法一:

1、獲得USB_Injector.kext
2炮叶、修改驅動下USB_Injector.kext—Contents—info.plist文件

info

將紅框中的電腦型號修改成當前型號碗旅,確認電腦型號后分別是-EH01,-EH02镜悉,-XHC(macOS對USB的識別祟辟,與win中EHC1,EHC2侣肄,XHCI不同)旧困。

①EH01


EH01

DSDT

ports下保留EHC1中的8個11 ~ 18接口,分別為PR11 ~ PR18稼锅,對應DSDT中PR11~PR18吼具。由于13設備是指紋識別器,14是藍牙矩距,因此UsbConnector定義為255(特殊接口)拗盒。攝像頭0(USB2.0)即可,部分電腦則需要255(特殊接口)锥债,根據(jù)情況修改陡蝇。PR11在部分電腦上會識別成集線器,也需要修改為255(特殊接口)哮肚,根據(jù)情況修改毅整。port-count填入接口數(shù)量,每個接口port中的值绽左,如圖依次填入悼嫉。model中填入電腦型號。

②EH02


EH02

DSDT

ports下保留EHC2中的6個11 ~ 16接口拼窥,分別為PR11 ~ PR16戏蔑,對應DSDT中PR11~PR16蹋凝。由PR11在部分電腦上會識別成集線器,也需要修改為255(特殊接口)总棵,根據(jù)情況修改鳍寂。port-count填入接口數(shù)量,每個接口port中的值情龄,如圖依次填入迄汛。model中填入電腦型號。

③XHC

XHC

DSDT

ports下保留XHC1中的6個接口骤视,分別為SSP1 ~ SSP6鞍爱,對應DSDT中SSP1 ~ SSP6。這里所有接口均為USB3.0专酗,因此UsbConnector為3睹逃。
根據(jù)情況修改。這里的port-count填入是最大的數(shù)祷肯,而不是數(shù)量沉填,因為HS01 ~ HS15加上SSP1 ~ SSP6總共21個,十六進制為15佑笋,即使刪除HS01 ~ HS15翼闹,USB3.0總線接口數(shù)依然還是15,這個數(shù)能多不能少蒋纬,否則會造成接口丟失橄碾。每個接口port中的值,如圖依次填入颠锉。model中填入電腦型號法牲。

3、文件放置對應位置
將修改好的驅動放在EFI—Clover—Kexts下即可琼掠,DSDT轉換為aml格式拒垃,放入EFI—Clover—ACPI—patch下,自動替換OEM中的DSDT瓷蛙。

方法二:

1悼瓮、獲得USBInjectAll.kext
2、修改驅動下USBInjectAll.kext—Contents—info.plist文件

info

這里需要修改的位置在Configuration下內(nèi)容艰猬,下面的機型可以無視横堡,不影響結果。這里EH01冠桃、EH02命贴、HUB1、HUB2為USB2.0,其他為各種主板不同型號的USB3.0胸蛛。根據(jù)AIDA64中獲取的信息找到對應的名稱修改污茵。

①EH01


EH01

ports下保留EH01中的8個11 ~ 18接口,分別為PR11 ~ PR18葬项,由于13設備是指紋識別器泞当,14是藍牙,因此UsbConnector定義為255(特殊接口)民珍。攝像頭0(USB2.0)即可襟士,部分電腦則需要255(特殊接口),根據(jù)情況修改嚷量。PR11在部分電腦上會識別成集線器陋桂,也需要修改為255(特殊接口),根據(jù)情況修改津肛。這里的port-count與port都無需修改對所有設備通用章喉。

②EH02


EH02

ports下保留EH02中的6個11 ~ 16接口汗贫,分別為PR11 ~ PR16身坐。由PR11在部分電腦上會識別成集線器,也需要修改為255(特殊接口)落包,根據(jù)情況修改部蛇。這里的port-count與port都無需修改對所有設備通用。

③XHC


XHC

win下設備管理器的通用串口控制器中查看USB3.0硬件ID咐蝇,可確定USB3.0為8086_8xxx涯鲁。


info

由于我的HS接口為USB3.0兼容USB2.0,而非USB3.0有序,因此HS的UsbConnector修改0或刪除抹腿,保留SSP,同時SSP1 ~ SSP6所有接口的UsbConnector修改為3旭寿。這里的port-count與port都無需修改對所有設備通用警绩。

需要說明的是,部分電腦使用這個驅動是不需要定義USB3.0即可驅動USB3.0盅称,這就需要刪除所有8086項肩祥。而部分電腦使用修改過USB的DSDT后也不需要在驅動中再次定義USB3.0,也需要刪除所有8086項缩膝。因此在修改過8086項后仍然無法驅動USB3.0混狠,可以嘗試刪除所有8086項。

對于部分設備使用上述驅動疾层,對應設備依然無法驅動的将饺,則需要SSDT-UIAC.dsl來修復

DefinitionBlock ("", "SSDT", 1, "hack", "UIAC", 0)
{
    Device(UIAC)
    {
        Name(_HID, "UIA00000")

        // override XHC configuration to have only one port
        Name(RMCF, Package()
        {
            "8086_8xxx", Package()
            {
                "port-count", Buffer() { 0xa, 0, 0, 0 },
                "ports", Package()
                {
                    "SSP1", Package()//這里的SSP1為需要修復的接口
                    {
                        "UsbConnector", 3,//3是接口定義
                        "port", Buffer() { 0xa, 0, 0, 0 },
//{}內(nèi)為接口ID,SSP1為8086_8xxx中的第16個接口,十進制為16俯逾,十六進制則為0xa贸桶,以此類推。
                    }
                }
            }
        })
    }
}

3桌肴、文件放置對應位置
將修改好的驅動放在EFI—Clover—Kexts下即可皇筛。
SSDT-UIAC.dsl轉換為aml格式后,放入EFI—Clover—ACPI—patch下坠七,同時config.plist的ACPI—SortedOrder中加入SSDT-UIAC.aml

五水醋、USB調(diào)試

在修改好所有驅動后,需要在config.plist中Kernel and Kext Patches——kextstoPatch加入解除USB限制補丁彪置。

Comment: change 15 port limit to 20 in AppleUSBXHCIPCI
Name: AppleUSBXHCIPCI
Find: <83bd8cfe ffff10>
Replace: <83bd8cfe ffff15>
//此補丁僅適用于10.11
Comment: change 15 port limit to 26 in AppleUSBXHCIPCI
Name: AppleUSBXHCIPCI
Find: <83bd8cfe ffff10>
Replace: <83bd8cfe ffff1b>
Comment: USB port limit patch #1 10.15.x modify by DalianSky(credit ydeng)
Name: com.apple.iokit.IOUSBHostFamily
Find: 83FB0F0F
Replace: 83FB3F0F

Comment: USB Port limit patch #2 10.15.x modify by DalianSky
Name: com.apple.driver.usb.AppleUSBXHCI
Find: 83F90F0F
Replace: 83F93F0F
//僅適用于10.15

如果沒有使用自己修改DSDT拄踪,則config.plist中的ACPI—DSDT—Patches需要加入以下補丁:

Comment: Rename EHC1 to EH01
Disabled: NO
Find: <45484331>
Replace: <45483031>
Comment: Rename EHC2 to EH02
Disabled: NO
Find: <45484332>
Replace: <45483032>
Comment:Rename XHC1 to XHC
Disabled: NO
Find: <58484331>
Replace: <584843>

否則就需要將DSDT中的EHC1拳魁、EHC2惶桐、XHC1(或者是其他類似代碼)已經(jīng)修改為EH01、EH02潘懊、XHC姚糊。

所有工作完成以后,可以使用U盤對所有接口進行測試授舟,然后使用IORegistryEntry查看是否成功救恨,也可在系統(tǒng)報告中查看USB3.0是否實現(xiàn)5G/s速度。


IORegistryEntry

系統(tǒng)報告

六释树、結語

由于手頭的機器有限肠槽,以上的方法無法將方方面介紹到,僅提供整體思路以及個人經(jīng)驗奢啥,方便更好的來定制USB遮蓋器秸仙。這套定制USB遮蓋器的方法結合我之前的所有教程,使我的筆記本在10.12.6版本時實現(xiàn)了幾乎所有macOS的功能桩盲,但在10.13后由于未知的原因寂纪,睡眠喚醒變成了關機。雖然如此正驻,還是很能說明這套方法的可行度弊攘,希望能幫助到大家。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末姑曙,一起剝皮案震驚了整個濱河市襟交,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伤靠,老刑警劉巖捣域,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啼染,死亡現(xiàn)場離奇詭異,居然都是意外死亡焕梅,警方通過查閱死者的電腦和手機迹鹅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贞言,“玉大人斜棚,你說我怎么就攤上這事「么埃” “怎么了弟蚀?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長酗失。 經(jīng)常有香客問我义钉,道長,這世上最難降的妖魔是什么规肴? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任捶闸,我火速辦了婚禮,結果婚禮上拖刃,老公的妹妹穿的比我還像新娘删壮。我一直安慰自己,他們只是感情好序调,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布醉锅。 她就那樣靜靜地躺著兔簇,像睡著了一般发绢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上垄琐,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天边酒,我揣著相機與錄音,去河邊找鬼狸窘。 笑死墩朦,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的翻擒。 我是一名探鬼主播氓涣,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼陋气!你這毒婦竟也來了劳吠?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤巩趁,失蹤者是張志新(化名)和其女友劉穎痒玩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡蠢古,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年奴曙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片草讶。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡洽糟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出堕战,到底是詐尸還是另有隱情脊框,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布践啄,位于F島的核電站浇雹,受9級特大地震影響,放射性物質發(fā)生泄漏屿讽。R本人自食惡果不足惜昭灵,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伐谈。 院中可真熱鬧烂完,春花似錦、人聲如沸诵棵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽履澳。三九已至嘶窄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間距贷,已是汗流浹背柄冲。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留忠蝗,地道東北人现横。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像阁最,于是被迫代替她去往敵國和親戒祠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359