XPS15-9550-Sierra icon indicating copy to clipboard operation
XPS15-9550-Sierra copied to clipboard

您好,关于亮度调节快捷键无法使用的问题。

Open gujiangjiang opened this issue 8 years ago • 39 comments

之前一直是对DSDT打补丁,这次试了一下您的Hot-Patch,别的都没问题,但是亮度快捷键无法调节,您再看一下您的DSDT-patch是不是需要修改的?

我看了一下我的BRT6下面跟你一样的,没问题,用的Smart驱动,之前我自己给DSDT打补丁的时候没问题,用了你的Hot-Patch后发现其他的都没问题,但是亮度调节快捷键无法正常使用了。。。

PS:本帖仅限XPS用户讨论,其余无关人士请谢绝留言评论,一些所谓的大神请去别的地方秀,这里庙太小容不下大佛!@PMHeart

gujiangjiang avatar Dec 22 '16 05:12 gujiangjiang

为了这个问题我用拙劣的英文请教过RehabMan了,前因后果在RehabMan的Clover热补丁原贴后几页回复里。

我猜你可能没有完全复制我的config.plist里面的热补丁……你必须保证DSDT-Patches节点下具有OSID改名补丁,并且这个补丁排列顺序在_OSI改名补丁之前。

<dict>
	<key>Comment</key>
	<string>change OSID to OSSD, that because of the _OSI rename patch may cause problem</string>
	<key>Find</key>
	<data>
	T1NJRA==
	</data>
	<key>Replace</key>
	<data>
	T1NTRA==
	</data>
</dict>
<dict>
	<key>Comment</key>
	<string>change _OSI to XOSI, pair with SSDT-XOSI.aml</string>
	<key>Find</key>
	<data>
	X09TSQ==
	</data>
	<key>Replace</key>
	<data>
	WE9TSQ==
	</data>
</dict>

为此我刚才特意又去测试了一下SmartTouchPad4.7 b5,F11和F12是可以正常调节亮度的(64级步进)

darkhandz avatar Dec 22 '16 05:12 darkhandz

真的不好意思。。。。刚刚看了一下,复制的时候少复制最后一个XOSI.aml,很抱歉,现在正常了。还有几个小问题,比如内置摄像头无法识别,外置USB3.0优盘最高速率480M,这些以前都没有的,我以前修改DSDT里面的XHC部分,我把两者合并的,但是现在不知道如何做成单独的SSDT。。。

你可以对比一下我的DSDT的XHC部分,上面是原始未修改的DSDT,下面是我修改过的DSDT,至少我用我的DSDT的时候摄像头都是正常的,不需要任何USBInjectALL等驱动,外置3.0也是正常的,我只是把两个分开的XHC挪到了一块,如果可以的话试试看做成SSDT呢。

DSDT-o.aml.zip DSDT.aml.zip

gujiangjiang avatar Dec 22 '16 05:12 gujiangjiang

这个要看一下才行,目前我这里是通过USBInjectALL+SSDT-UIAC来开USB和摄像头的

darkhandz avatar Dec 22 '16 05:12 darkhandz

我试了一下SSDT,USBInjectALL和UIAC,发现还是不行额,而且外置3.0优盘只能480M,你对比一下我的DSDT的XHC部分就知道了,我把两个XHC部分的代码合并了。

gujiangjiang avatar Dec 22 '16 06:12 gujiangjiang

@darkhandz 你看一下你的FACP表 里面包含了你电脑需要的ResetVal

////

syscl avatar Dec 22 '16 06:12 syscl

@syscl 我看过你的deploy脚本,知道在FACP里找到那个值,我这里找到的是和你那个一模一样的。不过在我这里并没有什么特别效果……有人反映会导致问题……

darkhandz avatar Dec 22 '16 06:12 darkhandz

@darkhandz 那个值导致了什么问题?

我感觉有可能她们的值发生了变化 这也是我为啥用deploy.sh修正的原因

syscl

syscl avatar Dec 22 '16 06:12 syscl

@darkhandz 对了 尝试一下新的FakeSMBIOS.kext

syscl

syscl avatar Dec 22 '16 06:12 syscl

@syscl 这个,麻烦介绍一下FakeSMBIOS.kext有什么作用?代替Clover的SMBIOS注入?

darkhandz avatar Dec 22 '16 06:12 darkhandz

@darkhandz 你现在用的是什么机型?

syscl avatar Dec 22 '16 07:12 syscl

@syscl iMac17,1的

@gujiangjiang 刚测试了一下,合并_SB.PCI0.XHC.RHUB里面的Device是没有必要的,下面那个If内的语句在我这里测试是会执行的,也就是说,它本来的动作就会把SS07-SS10, HS11-HS14这些Device添加到RHUB里。 我去掉USBInjectALL和SSDT-UIAC重启,在IORegistryExplorer里查看DeviceTree也确实是有这些Device。

为了再次确定,我再附加了一个SSDT去添加SS07-SS10, HS11-HS14到RHUB,重启后,patchmatic告诉我ACPI Error: [HS11] Namespace lookup failure, AE_ALREADY_EXISTS,再次说明我RHUB里已有这些Device了,不应该重复添加。

但是摄像头依然没有设备,所以我觉得你的修改(合并)并不影响摄像头或USB速率问题,应该是另有地方处理过。

附上测试SSDT:

// Automatic injection of XHC properties

DefinitionBlock("", "SSDT", 2, "hack", "XHC", 0)
{
    External(_SB.PCI0.XHC, DeviceObj)
    External(_SB.PCI0.XHC.RHUB, DeviceObj)
    External(_SB.PCI0.XHC.SSPA, MethodObj)

    // inject properties for XHCI
    If (CondRefOf(_SB.PCI0.XHC))
    {
        Method(_SB.PCI0.XHC._DSM, 4)
        {
            If (!Arg2) { Return (Buffer() { 0x03 } ) }
            Local0 = Package()
            {
                "RM,pr2-force", Buffer() { 0, 0, 0, 0 },
                "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },
                "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },
                "AAPL,clock-id", Buffer(){ 0x02 },
                "AAPL,current-available", Buffer() { 0x34, 0x08, 0, 0 },
                "AAPL,current-in-sleep", Buffer() { 0xe8, 0x03, 0, 0 },
                "AAPL,current-extra", Buffer() { 0x98, 0x08, 0, 0, },
                "AAPL,current-extra-in-sleep", Buffer() { 0x40, 0x06, 0, 0, },
                "AAPL,max-port-current-in-sleep", Buffer() { 0x34, 0x08, 0, 0 },
                "AAPL,device-internal", Buffer(){ 0x02 },
            }
            // force USB2 on XHC if EHCI is disabled
            If (CondRefOf(\_SB.PCI0.RMD2))
            {
                CreateDWordField(DerefOf(Local0[1]), 0, PR2F)
                PR2F = 0x3fff
            }
            Return(Local0)
        }
        
        Scope(_SB.PCI0.XHC.RHUB){
            
            Device (HS11)
            {
                Name (_ADR, 0x0B)  // _ADR: Address
            }

            Device (HS12)
            {
                Name (_ADR, 0x0C)  // _ADR: Address
            }

            Device (HS13)
            {
                Name (_ADR, 0x0D)  // _ADR: Address
            }

            Device (HS14)
            {
                Name (_ADR, 0x0E)  // _ADR: Address
            }
            
            
            Device (SS07)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (Add (SSPA (), 0x06))
                }
            }

            Device (SS08)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (Add (SSPA (), 0x07))
                }
            }

            Device (SS09)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (Add (SSPA (), 0x08))
                }
            }

            Device (SS10)
            {
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (Add (SSPA (), 0x09))
                }
            }
            
        }
        
    }
}
//EOF

darkhandz avatar Dec 22 '16 07:12 darkhandz

@gujiangjiang 我觉得你这个问题大概和SMBIOS机型允许的USB口分布有关,这个可以顺便请教 @syscl

darkhandz avatar Dec 22 '16 07:12 darkhandz

@darkhandz 那你还暂时不需要那个驱动

那个驱动主要试图解决MacBookPro13,1机型注入的问题

syscl

syscl avatar Dec 22 '16 07:12 syscl

@syscl 是机型字符串过长被截断的问题?

darkhandz avatar Dec 22 '16 08:12 darkhandz

@darkhandz 对的 但是现在还剩Model identifier没有修复,IOREG里面的显示也正常了(十分重要)...

syscl

syscl avatar Dec 22 '16 08:12 syscl

@syscl 我看你commit log说开HWP了,现在不影响睡眠数据了吗?没问题的话我也跟你改MBP13,开HWP哦

darkhandz avatar Dec 22 '16 08:12 darkhandz

不放心的话可以先等一段时间 睡眠没啥问题

syscl avatar Dec 22 '16 08:12 syscl

老大你改吧,毕竟是笔记本,macbookpro好一点。感激不尽

fangf2018 avatar Dec 22 '16 09:12 fangf2018

@darkhandz 我试了下使用了FakeSMBIOS.kext(并且把里面改成了MacBookPro13,3), 并且用了MBP13,3的SMBIOS.

启动是没问题的, System Report里面正如@syscl 所说 Model Identifier还是截取, IOreg里面正常.

唯一遇到的问题是我的TB3-to-DP的转接线在修改了SMBIOS之后无法连上显示器, 而改回原来的MB9,1后并未出现此问题.

corenel avatar Dec 22 '16 09:12 corenel

@darkhandz 我一直用的是MacBookPro13,3,我的DSDT只需要把两者合并就可以驱动了,在其他什么都不修改的情况下合并后就能检测到摄像头了。

问题是现在我用了你的SSDT,USBInject还是不行,依旧无法检测到摄像头。。。

对了,你是iMac吧,难道是MacBookPro的问题?但我之前那样修改DSDT之后确实就没问题了啊。。。

gujiangjiang avatar Dec 22 '16 10:12 gujiangjiang

@darkhandz ResetVal值设定没问题 可以加上去。

shixuev5 avatar Dec 22 '16 11:12 shixuev5

@shixuev5 这个值的作用是什么啊?

gujiangjiang avatar Dec 22 '16 12:12 gujiangjiang

@gujiangjiang @corenel 首先大家都知道这里SMBIOS的机型名称太长会被截断,MacBookPro13,1的型号标识符会变成MacBookPro1,而MacBook9,1iMac17,1不会被截断。

然后我研究了一下USBInjectALL.kext的Info.plist,发现它本身提供一些机型的USB端口遮盖,但是并没有MacBookPro1的条目,然后我把MacBookPro13,1-XHC复制一份,改名为MacBookPro1-XHC

qq20161223-0

这时候USBInjectALL就可以匹配上我们的机型了,可以注入对应主板的USB端口开启信息了。 12月14日最新版的USBInjectALL在Info.plist里面带有了8086_a12f主板的所有USB端口信息,所以这个时候如果你还不知道自己的笔记本用到哪些个端口,可以直接把SSDT-UIAC.aml删除,重启,它会默认帮你开启所有USB端口。

当然,要开启全部USB端口,还少不了破解系统USB驱动的15端口限制的补丁:

<dict>
	<key>Comment</key>
	<string>change 15 port limit to 26 in XHCI kext (100-series)</string>
	<key>Disabled</key>
	<false/>
	<key>Find</key>
	<data>
	g710////EA==
	</data>
	<key>MatchOS</key>
	<string>10.12.x</string>
	<key>Name</key>
	<string>AppleUSBXHCIPCI</string>
	<key>Replace</key>
	<data>
	g710////Gw==
	</data>
</dict>

这个时候重启,你就会发现IOReg里所有的USB端口都出现了: qq20161223-1

摄像头也出现在相机设备里了,USB3也满速了: qq20161223-2

大家都知道RehabMan多次强调这个15端口破解补丁不是长久之计,还是需要自行测试各种USB2,USB3,USB-HUB设备的占用端口情况,然后定制属于自己电脑的SSDT-UIAC.aml,再去掉破解补丁。(之前我偷懒一直用 @corenel 的那个,稍后我自己制作一个吧,不过没有USB-HUB设备测试)

当然,除了USBInjectALL方式,还可以用传统的USBInjector的方式来覆盖系统的USB遮盖器,这个可以参考 @syscl 的 M3800 项目做法,要注意机型可能要用被截断后的名称(因为我不了解这些Info.plist内容被加载的时机)。

这就是上面为什么我的iMac17,1可以有USB3和摄像头,而 @gujiangjiang 换成 MacBookPro13,3却加上USBInjectALL驱动都没有用的原因,我猜测 @gujiangjiang 以前可能是用USBInjector的方式,而这种方式的Info.plist内容可以置于FakeSMC或者其他kext内,这次按我这个repo的方式安装,漏了也不一定。

不知道 @corenel 的TB3-to-DP问题是否也和 USBInjectALL不匹配被截断的机型名称这个问题有关,希望有空可以测试下。

就到这里吧……有问题大家继续讨论

darkhandz avatar Dec 23 '16 01:12 darkhandz

反馈下我 DELL 5510 的 MacBookPro12,1 - MacBook Pro (Retina, 13-inch, Early 2015) 摄像头和USB3是好的

zhuzhe1983 avatar Dec 23 '16 01:12 zhuzhe1983

@zhuzhe1983 额,那我就迷惑了……

darkhandz avatar Dec 23 '16 01:12 darkhandz

做USBInjector失败了,看来知识还不够…… 目前是用USBInjectAll+aml来开启的,SMBIOS我跟syscl用MBP13,1的,文件如下,记得删除原来的SSDT-UIAC.aml: USB.zip

目前只开启了下面这些端口,必要的6个是我自己用USB2和USB3盘测试出来的,其他的USB-HUB,USBC我不知道会不会在XHC出现,没有设备测试。

usb

必要的:
HS01  right	U2
HS02  left	U2
HS04  BT	255
HS12  Cam	255
SS02  left	U3
SS01  right	U3

darkhandz avatar Dec 23 '16 03:12 darkhandz

@darkhandz 谢谢,我试试哈

gujiangjiang avatar Dec 23 '16 03:12 gujiangjiang

@darkhandz 前来反馈... 我试了你说的修改USBInjectALL的方法, USB3.0与Hub均可用, TB3仍旧不认TAT (我用的是MBP13,3的SMBIOS) 即使是用config.plist打patch开所有口也不行. 月末要交期末大程, 因此没多少时间来仔细研究, 期待@syscl 能研究出让Model Identifier也正常工作不被截断的FakeSMBIOS...

corenel avatar Dec 23 '16 05:12 corenel

@corenel 额,那只有等 syscl 大神研究了……

darkhandz avatar Dec 23 '16 05:12 darkhandz

真他妈有病, 你到底懂不懂?

IOREG相对你妈逼的底层...

你真那么牛逼你弄啊,一天到晚讲优先级,你列举几个kext优先级出来啊,我够会说boot.efi先于mach_kernel之前咯!有任何意义吗?

一天到晚盯着别人黑,不是刷存在感是干什么!我一心一意弄个修复都招黑,你倒是黑呀!在群里面够给你脸了,现在还到处黑FakeSMBIOS,摆事实摆证据啊,you can you up啊!

对了,你不是不用Clover吗,不是不用AppleHDA啊,闹腾啥啊?

你不懂真的不要紧的。。没人会嘲笑你的。。对了,听说osxaptiofix2drv free2000的md5和你daddy的一模一样哦?赶紧提醒他修复一下电脑吧,说不定被黑客黑了哦

syscl

syscl avatar Dec 29 '16 02:12 syscl

求求你拉黑我吧,我觉得电脑什么的有bug,都可以通过补丁解决,你的问题,没有补丁能够解决!

再见!

syscl

syscl avatar Dec 29 '16 02:12 syscl

@syscl 大神你们在哪个群里

fangf2018 avatar Dec 29 '16 02:12 fangf2018

@niceokf 有什么问题 你说

syscl avatar Dec 29 '16 02:12 syscl

@PMheart 你怎么又开始了?不要成天到处发表这种言论,别人不是不知道,但是现在kext可以解决很多问题有何不可?你发表这样的言论有何意义???github上面是用来讨论成果的,难道你有更好的办法解决问题么?如果你有,请发出来,如果没有,请不要随意乱发文,这样不是你有技术的体现,而是无知的体现,谢谢。

gujiangjiang avatar Dec 29 '16 02:12 gujiangjiang

@gujiangjiang @darkhandz 有什么方法屏蔽特定人特定消息的?我只求清净,不用你的东西吧,还爱瞎几把评论,可能当时海豚就是这样被气走的吧,包括什么p.h什么大神,对了还有前一段时间那个crazybird。。替他们感到心疼,Apple真应该聘请这样的人,这样黑苹果就完蛋了。。。呵呵

syscl

syscl avatar Dec 29 '16 03:12 syscl

@PMheart 是不是Clover的BUG我已经说过很多次了,在IM撕逼就算了,还跑到Github上面撕逼这就没必要了,我还是那句话,你没这个机型,你可以提出建议,但是请不要妄加猜测,你对boot.efi了如指掌么?你对OSX的整个运行机制了如指掌么?不是什么的都像书上写的那样一丝不变,你说kext修改smbios绝无可能,但是目前的kext确实修改成功了,系统也能升级了,bootcamp也能打开了,这是很多XPS用户和DELL用户亲眼所见的事实,难道你没听说过事实胜于雄辩么?不要总是拿一套大道理出来,其是漏洞很多,只是不想挑漏洞而已,你当初说AppleALC仅仅适用于变色龙,Clover就不该用,结果呢?你当年说ktp仅仅用来加载FakeSMC,结果呢?slice自己都在完善kp加载其他kext的功能,你偏偏要阻止别人用不是很奇怪么?你的能力大家都知道,没必要成天发这些凸现自己的能力,反而会让人觉得装X。。。作为朋友劝一句,改改性子,不然以后会很难过的。

gujiangjiang avatar Dec 29 '16 08:12 gujiangjiang

@PMheart 那你来解决SMBIOS问题吧,别光动嘴,本事不是吹出来的,人家解决了问题,你觉得人家不行,那就你来解决,你如果解决了那就说明你有能力,光动嘴炮谁不会啊?

gujiangjiang avatar Dec 30 '16 03:12 gujiangjiang

@gujiangjiang 你跟她吵啥呢?她直接用了复制了Free2000 AptioFix2Drv然后说是自己爸爸写的,光这点你就该知道这个人的人品怎样了?还要接续探讨下去吗?

我们也不是没有试过goodwin_c的kext,连注入都失败。真的好好看代码,就知道差别在哪了。我至少写出个kext,有的人啊,连这个都做不到就开始喷。好像,连自己的国籍都改了哦?IOREG的重要性,基本上就是现代mac系统框架的一环,这个在Apple的官方kext开发档案中早就有说明了哦~~

在我面前黑Rehabman,然后背地里加人家为好友,在别人面前黑我,然后故意又加我为好友。。。我可是都留着截图留着证据的,虽然人都删了,毕竟嘛,眼不见为净。。

她都说了她不用Clover了,jiajia你也是有截图的啊。。

至于别人怎么评级她的,我们自己看看截图就知道,走好不送。我就算再不弄黑苹果,也不让这样的人搞坏论坛的风气,不让这样的人让小白走更多的弯路。winxpzgg我以前觉得他就是爱学人说话什么的,现在我收回这话,比起你,我更更愿意和他那人探讨。。

留个截图大家开心欣赏吧@niceokf @shixuev5 @corenel @darkhandz img_8646 img_8644 img_8645 img_8643

截止今天小伙伴们对这个事件的反响 也祝各位新年愉快,心想事成:) ~~

syscl

syscl avatar Dec 30 '16 03:12 syscl

我以前可能受到中国传统美德的影响,认为,惹不起的人,躲开就好,现在我明白了,有些事情,躲是躲不开的,那么,只有更积极的去面对和处理。虽然我总是觉得独善其身就好,但是,真的有一天,我发现,蠢坏的东西,通过努力获得了很不好的影响力的时候,一切都太迟了。

所以,最好的方法是,直面这些蠢坏的东西,让他们的丑恶暴露于光天化日之下,让他们如同过街老鼠般无处藏身!hackintosh走到今天,多少人为之付出了努力,心血,或许今天的黑苹果更是因为好玩,有趣,也许是因为苹果自身的影响力。我现在才逐渐明白,当年tk大神说的话的含义,他不是不接受批评,而是不能接受蠢坏,你们可以看看pcbeta至今,变成了啥样,被误导成了什么样子?小白们是不懂,我当年甚至是个大白,但是,我极其的感激那些教程,那些帖子带来的教诲,所以我觉得做点什么,把自己的心得体会分享出来,哪怕对别人有那么一点灵感我也心满意足。以至于后来被邀请成为远景的管理员,我感到的,是我终于能够为论坛做点什么。可是有些人呢?一路盯着别人看,总想着超越别人,以打压和抹黑甚至做到为了抹黑而使出浑身解数的地步,如果我真的做错了,我很高兴有人提出,我会改掉,但是,如果真的是不懂,还要跑到别人那里装懂,不仅如此,把别人slice,vit9696,rehabman,全黑了一遍。甚至不惜误导小白的地步,那么朋友们,你们能想到些什么吗?Jiangbo当年最多算是为了有偿,帮别人一把,但是有些人呢?凭借背诵了点单词,中英夹杂一下,就误导了一大片小白,最终的坏影响比江波大的不知道哪里去了。

也挺心疼开发者们的... snip20161229_2

syscl

syscl avatar Dec 30 '16 04:12 syscl