Jump to content
anor4k

No graphics / USB / Audio after wake

586 posts in this topic

Recommended Posts

After upgrading to El Capitan (since PB1), I haven't managed to get sleep and wake working properly. It will go to sleep normally, but when I wake it up (using either the keyboard/mouse or the power button), and neither the display, usb or graphics will work. Ethernet works, since I can access my iTunes library using the Remote app on iOS.

Sleep/wake worked perfectly in Yosemite. I use a GA-Z77x-UP5 TH, i7 3770K, and an AMD 6850 on an OCZ SSD.

Can anyone help? I'll attach my config.plist and DSDT.

DSDT_CONFIG.zip

Share this post


Link to post
Share on other sites
Advertisement

AMD graphics not wakes from sleep in ElCapitan. This is a task for research.

 

Yes, i have an HD6870 and i have same problem no signal monitor after wake from sleep... :surprised:

 

Share this post


Link to post
Share on other sites

I have ASUS R9 270x and after wake from sleep i can't see on my screens, other stuff works.

I used diffrent settings in Clover but withour success.

Share this post


Link to post
Share on other sites

What would be the first step to research this issue?

 

I tried to use SSH after waking up, and it works, but I didn't read anything relevant in system.log. If I run shutdown -r now it doesn't reboot and I have to force reset.

 

I'm using a Sapphire 6670 and the GM build.

Share this post


Link to post
Share on other sites

What would be the first step to research this issue?

 

I tried to use SSH after waking up, and it works, but I didn't read anything relevant in system.log. If I run shutdown -r now it doesn't reboot and I have to force reset.

 

 

I'm using a Sapphire 6670 and the GM build.

I have a 6850. If I try to wake, I get no graphics, but USB appears to wake based on LED on the bottom of the mouse. Running:

pmset -g | grep Failure

returns

2015-09-21 19:19:33 -0400 Failure              Drivers Failure during wake due to PEG0(AppleHDAController):                          
2015-09-21 19:36:26 -0400 Failure              Drivers Failure during wake due to PEG0(AppleHDAController),HDEF(AppleHDAController),SAT0():           
2015-09-22 13:08:43 -0400 Failure              Drivers Failure during wake due to PEG0(AppleHDAController),HDEF(AppleHDAController),SAT0():           
2015-09-22 17:05:27 -0400 Failure              Drivers Failure during wake due to PEG0(AppleHDAController),HDEF(AppleHDAController),SAT0():

This leads me to believe that the problem is a driver conflict with HDMI audio, given that PEG0 is the PCI External Graphics and AppleHDAController is for audio.  SAT0() is my boot drive. HDEF is the audio device. I'm using the Bulrushes framebuffer and have not modified any kexts to get HDMI audio on the Radeon working.

Share this post


Link to post
Share on other sites

What would be the first step to research this issue?

 

I tried to use SSH after waking up, and it works, but I didn't read anything relevant in system.log. If I run shutdown -r now it doesn't reboot and I have to force reset.

 

I'm using a Sapphire 6670 and the GM build.

I have this line in system.log after wake up. System working and system.log is saving, I just have black screen and force to shutdown before look into logs.

Sep 23 21:46:32 iMac kernel[0]: ATIFramebufferNI::setPowerState(0x7c2347df02f8a781, 0 -> 1) timed out after 45910 ms

see, there is a framebuffer problem.

I also got a report from real iMac12,2 with the same TURKS Radeon. There is no such problem and real Mac can wake with this card.

Share this post


Link to post
Share on other sites

Interesting. Slice and I don't appear to have the same problem, at all. Slice--it looks like your driver is working, just fails to complete an operation. 

 

Edit: in my case I was able to fix the sleep issue by disabling ATI injection in clover and reverting to the default Radeon frame buffer. Sleep functions normally now. 

Share this post


Link to post
Share on other sites

Interesting. Slice and I don't appear to have the same problem, at all. Slice--it looks like your driver is working, just fails to complete an operation. 

 

Edit: in my case I was able to fix the sleep issue by disabling ATI injection in clover and reverting to the default Radeon frame buffer. Sleep functions normally now. 

No, I tested all configuration to make the card working:

1. With injection

2. Without injection

3. With FakeID of real Mac

4. With or without GPUPM

5. With or without HDMI

No way to make wake up.

But if I delete AMD drivers I got screen with very lags but wake up working.

Share this post


Link to post
Share on other sites

Old timer here. Seems El Capitan has disabled quite a few graphics cards.

After 49 hours of perilous straining to get the beast advance from Boot Screen to Installer, to completing install, I am currently stuck with  a black / Blank Screen after booting to desktop or if it is the Setup Wizard.

 

I had a very refined DSDT and a perfected Clover config. Now none of it seems to work.

 

I replaced the refined DSDT to a very basic DSDT extracted from booting into Windows and patching it using MaciASL.

It has added GFX (peg0), HDMi out & audio edits - injection. However, I do not use ALC onboard audio since I have a Creative X-Fi USB sound card with 5.1 speakers.

 

Now, can someone please shed light on why El Capitan hates nVidia 560Ti 1GB Direct CUII model...???

Following is all I have done or tried before reaching out for help:

 

1) Updated Clover. <- everything related to this is done and dealt with

 

2) Switched SMBIOS.plist from iMac13.2 to Macpro6,1 <- this actually got my Machine to boot without the dreaded ACPIPlatform Error. found from a different user's query.

Currently using iMac13,2 SMBIOS, as it supports 560Ti unlike MacPro SMBIOS whichhave that AGDP bug which results in black/blank screen post boot.

 

3) Tried different DSDTs <- self made / modified. but all with GFX DSDT injection since that is what I am following since day 1 of Hacckintosh.

4) Lastly, tried NVIDIA WEB Drivers latest version. NOTE: It is hell getting to install these even with the macmodel bypass. It didn't work for me. I had to manually extract using my backup Hackintosh box using Pacfist. and then, boot Installer -> use Terminal to manually copy them to SLE. rebuild cache using touch SLEx. Used nvda_drv=1.

Thus, I can freely switch between native drivers & Nvidia Web drivers.

 

Still Black Screen.  :hysterical::censored::wallbash:  Can someone "Please help", and post if got sucess on 560Ti....? :help: :help: :help:

 

 

Regards,

 

Freaky Chokra :ninja:

Share this post


Link to post
Share on other sites

I have finally got El Capitan running. It is blazingly fast in everything... Even, the internet throughput speeds have imporved 10-fold!!!

 

It seems, as I found out after tons of research and about making 20 different USB INstallers of El Capitan:

 

A] Please Use a 16GB USB Pen Drive -> Plug it into a regular USB 2.0 port of your Laptop / Desktop only!

B] Stay away from installing a plain copy of Yosemite (10.10) - Solely for the purpose of Upgrade-Installing El Capitan (10.11).

 

This is what I had done, As my 8GB USB Pendrive was resulting in continuous failures. In retrospect: I had copied the El Capitan Installer app to another volume, andItreally boots directly from another volume without any problems.

However, Over-writing a Yosemite install is what lead to the blank screen repeatedly.

 

This is what bugs me, and I find it strange.

 

Lastly, for those who might wonder & question this post or findings -> I tried with & without the DSDT -> which some might say is badly compiled. Though, that DSDT has worked fine for me since about 4 months.

 

I am attaching a copy of the config.plist, which helped me to boot the installer without any errors with everything enabled except USB 3.0 controllers.

 

-Regards,

 

Freaky Chokra :ninja:

Share this post


Link to post
Share on other sites

Same problem for me, sapphire 6870. Black screen after wake.

 

kernel[0]: ATIFramebufferNI::setPowerState(0x6c3f889d9a394709, 0 -> 2) timed out after 45518 ms

kernel[0]: ATIFramebufferNI::setPowerState(0x2270f5cb39747ffb, 0 -> 2) timed out after 45553 ms

Share this post


Link to post
Share on other sites

Anyone an idea what the issue can be?

I checked numerous ideas and didn't find a solution.

In ElCapitan vs Maverics (Yosemite) two kexts became SMC-dependent: AppleBacklight and AppleMCCSControl.kext

It looks like AMD drivers more carefully checks sensors. (Light Sensors? Environment?)

Remember, this is hackintosh-only problem so we can't expect Apple will resolve it.

Share this post


Link to post
Share on other sites

--> this is hackintosh-only problem so we can't expect Apple will resolve it

 

Really, sure? Perhaps someone with MacPro and a ATI/AMD card(swapped by themself) have same issue too...

 

Hmm...

Link?

I know iMac12,2 with Radeon HD6970m (Turks family as well as my HD6670) wake up in ElCapitan without issue.

#3410

Share this post


Link to post
Share on other sites

checked the dev forums from apple it had very similar issues there 

 

GKs4mXR.png

This guy has NVIDIA.

Check, please!

 

Max108

Sep 17, 2015 8:09 AM(in response to GellieG)

@GellieG - I suggest you open System Preferences, then "Energy Saver" and un-tick the "Automatic graphics switching" option.

 

 

 

KenV54

Sep 17, 2015 8:59 AM(in response to Max108)

Max,

 

We (you, that is,) may have solved a major problem with El Capitan!

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By guira
      Hey all, im new in Hackintosh world, I managed to install macOS Mojave in ASUS laptop x555LA, WIFI,HDMI,INTEL graphics, touchpad, laptop keyboard, ethernet, sound( barely, have to change it every time i run the laptop) is WORKING (after to much hours :D), also clover starts well without USB connected.
      Now my problem is that in clover, USB mouse and USB keyboard works perfectly but when MacOS load, don't know why, they stop working(just touchpad and lap keyboard working), I tried all to repair this but I can't, anyone can help me? also brightness not working but not a problem, just want USB keyboard and USB mouse working.
      AH and sorry for my English, im trying my best :D.
      btw, USB mouse and keyboard worked  when installing Mojave, but never worked in desktop or in login.
      Thanks so much , if u need more info I will be here!
    • By ludufre
      Novo guia para o macOS Catalina 10.15 (versões i3 e i5)!
      Obs.: Somente em inglês :/
       
       
       
      Instalando OS X El Capitan 10.11.5 no ASUS VivoBook S400C (também conhecido como S400CA)
      Especificamente no modelo S400CA-CA178H, provavelmente os outros modelos serão compatíveis
       
        
       
      Atualização 26/06/16 #1:
      - Adicionado correção para a logo no segundo estágio de boot em <KextsToPatch> no config.plist do Clover. (não está nos anexos)
       
       
      O que funciona e o que não funciona
       
      - Processador ->  Funciona. i5-3317U @ 1.7Ghz/2.6Ghz.  SpeedStep 8 a 26 estágios. AsusAICPUPM <true/> no Clover config.plist.  - Placa de vídeo ->  Funciona. HD4000. QE/CI completo. - Chipset ->  Funciona. - HDMI ->  Funciona. - VGA ->  Não funciona. - Som ->  Funciona. VoodooHDA 2.8.8 (use o arquivo PKG). - WiFi ->  Funciona. Substituída pela Athero 9285 Wifi/Bluetooth (http://lista.mercadolivre.com.br/atheros-9285#D[A:atheros-9285]). - Rede ->  Funciona. AtherosE2200Ethernet 2.1.0. - Teclado e touchpad ->  Funciona. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (versão 4.6). - Teclas FN do teclado ->  Funciona. Alterado "FN keys layout" na kext ELAN acima. - Controle do brilho ->  Funciona. DSDT patch (abaixo). - Repouso/Sleep ->  Não funciona. A tela desliga mas não entra em standby. - Bateria ->  Funciona. ACPIBatteryManager by RehabMan (versão 2016-0531) e DSDT patch (abaixo). - Leitor de cartão ->  Não funciona. - Câmera integrada ->  Funciona. AnyiSightCam. - Bluetooth ->  Funciona. Bluetooth Firmware Uploader (versão 3.1). - Segundo estágio da logo no boot ->  Funciona. Correção para adicionar em <KextsToPatch> abaixo.    
      O que você precisa para instalar
       
      - Instalação do El Capitan funcionando no VMware -> Baixei a versão 10.11 por torrent (busque torrent por "10.11 vmware"). Você pode usar um Mac real de um amigo. Meu método só funciona no Mavericks (10.9) e acima.
      - Um pendrive de 8GB ou maior.
      - App de instalação do OS X El Capitan -> Baixe na App Store por dentro da máquina virtual. Baixei a versão 10.11.5.
      - CloverEFI -> Também baixe por dentro da máquina virtual. Eu usei a compilação 3577.
      - Habilidade em DSDT patch-> Necessário para a bateria funcionar. [Guia] DSDT/SSDT - Conhecimentos Gerais. Ou você pode baixar o meu DSDT abaixo, mas eu não recomendo.
       
       
      Como criar o pendrive
       
      Criando a instalação:
       
      Formate o pendrive com partição GUID e nomeie como "Install"
       
      Abra o terminal e execute o comando:
       
       
      Isso vai levar 30 minutos.

      Instalando o bootloader:
       
      Baixe o CloverEFI (usei 3577) e instale com essas opções em "Install OS X El Capitan":

      Opções:
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - Drivers64UEFI - CsmVideoDxe-64
      - Drivers64UEFI - OsxAptioFixDrv-64
       
      Vai ser criado uma partição com nome EFI. Edite o arquivo /EFI/CLOVER/config.plist e altere os seguintes valores:
        - Graphics - Inject - ATI - <false/> - Graphics - Inject - Intel - <true/> - Graphics - ig-platform-id - 0x01660003 - KernelAndKextPatches - AsusAICPUPM - <true/>   Importante: Renomeie "#Inject" para "Inject" e "#ig-platform-id" para "ig-platform-id".   Obs.: Vou deixar em anexo meu config.plist.   Agora você vai precisar dessas duas Kexts:
       
      - Baixar a kext Smart Touchpad. Eu usei a versão 4.6.
      - Baixar o dmg do HWSensors e utilizar a FakeSMC.kext de dentro. Eu usei a versão 6.20.1410. Isso é muito importante. Não dá pra dar boot sem ele.
      - Coloque essas Kexts dentro de /EFI/CLOVER/kexts/10.11/
      - Coloque o instalador do Clover dentro do pendrive também.
       
      Agora você pode iniciar a inalação sem problema (eu acho).
       
       
      Configuração do Setup da BIOS e Instalação
       
      - Desligue o ultrabook e insira o pendrive.
      - Ligue com a tecla F2 apertada para entrar no Setup da BIOS.
      - Vá para "Save & Exit" e selecione "Restore Defaults".
      - Vá para aba "Advanced" e altere esses valores:
      - Intel Virtualization Technology: Disabled
      - VT-d: Disabled
      - USB Configuration - XHCI Pre-Boot Mode: Disabled
      - Vá para "Save & Exit" novamente e selecione "Save Changes".
      - Agora na seção "Boot Override" selecione o pendrive que vai estar com onome começando com UEFI. No meu caso "UEFI: KingstonDataTraveler 2.0PMAP".
      - O menu do Clover vai aparecer. Use as setas do teclado para selecionar o pendrive. Vai até a opção com o nome de "Boot OS X Install from Install OS X El Capitan", então aperter Enter.
      - Se você fez tudo corretamente, sua instalação vai inciar. Lembre-se: Formatar o HDD ou SSD com partição GUID.
      - Isso vai levar cerca de 20 minutos.
      - Depois da instalação da primeira parte o sistema vai reiniciar. Você precisa segurar o botão ESC para entrar no menu de Boot quando aparecer a logo da Asus.
      - Selecione o pendrive novamente.
      - No menu do Clover, aperte Enter em "Boot OS X Install from Install OS X El Capitan" mais uma vez.
      - A segunda parte da instalação vai começar. Isso leva cerca de 16 minutos.
       
      Pós instalação
       
      - Quando a segunda parte da instalação acabar, o sistema vai reiniciar novamente.
      - Após realizar a configuração inicial de usuário e ir para a área de trabalho, você precisará instalar o Clover no disco interno.
      - Abra o instalador do Clover dentro do pendrive que você copiou anteriormente.
      - Use as mesmas opções acima mas dessa vez escolha o a partição do sistema.
      - Agora você precisa substituir a pasta EFI de dentro da partição EFI do disco interno com a pasta EFI da partição EFI do pendrive.
      - A partição EFI do pendrive não vai estar montada. Monde com "diskutil mount /dev/rdiskXs1". Para saber qual é o X, use "diskutil list", mas provavelmente será 1.
      - Agora reinicie o sistema. Você vai precisar apertar ESC para entrar no menu de Boot quando aparecer a logo da Asus.
      - Selecione o pendrive novamente.
      - No menu do Clove, use as setas do teclado e vá para a última opção com nome "Clover Boot Options" e aperte Espaço. - Selecione a opção "Add Clover boot options for all entries".
      - Desligue, remova o pendrive e ligue.
      - Se você fez tudo corretamente, o sistema vai iniciar normalmente.
       
      Outras Kexts:
       
      Baixe as kexts nos links abaixo. Eu recomendo fortemente sempre usar versões mais novas. Se você estiver com preguiça, eu anexei no final desse post.
       
      Rede: AtherosE2200Ethernet 2.1.0
      Som: VoodooHDA 2.8.8 (use o arquivo PKG). Você precisa selecionar a saída nas Preferências do Sistemas após reiniciar.
      Bateria: ACPIBatteryManager by RehabMan (versão 2016-0531). Você precisa do path DSDT (abaixo).
      Bluetooth: Bluetooth Firmware Uploader (versão 3.1).
      Câmera integrada: AnyiSightCam
       
      Todas as kexts devem ser colocadas em /EFI/CLOVER/kexts/10.11/, monde essa partição novamente (diskutil mount /dev/rdiskXs1) pra isso.
       
      Teclas FN:
      Abra "ApplePS2SmartTouchPad.kext/Contents/Plugins/ApplePS2Keyboard.kext/Contents/Info.plist" e altere:
      <key>Fn keys Layout</key> <string>NONE</string> <key>Fn keys Mode</key> <integer>2</integer> Para:
      <key>Fn keys Layout</key> <string>ASUS</string> <key>Fn keys Mode</key> <integer>3</integer>   Correção do segundo estágio de boot:
      Adicionar em /EFI/CLOVER/config.plist dentro de KextsToPatch
      <dict> <key>Comment</key> <string>HD 4000 Logo Fix</string> <key>Find</key> <data> AQAAdRc= </data> <key>Name</key> <string>IOGraphicsFamily</string> <key>Replace</key> <data> AQAA6xc= </data> </dict> Path DSDT da bateria:
      #Maintained by: RehabMan for: Laptop Patches #battery_ASUS-N55SL.txt # created by RehabMan 8/12/2013 # created originally for jesselid # works for: # ASUS N55SL, BIOS rev. 204 # ASUS VivoBook series # ASUS Zenbook UX31A # ASUS UX301LA # ASUS X553E-SX399V # ASUS F501A # ASUS K55VM # ASUS U46SV, BIOS rev. 2.04 # ASUS N43 # ASUS PU500CA (90NB00F1-M01120) # ASUS N73SV # ASUS X401A-WX108 # ASUS F551CA Bios rev. 207 # ASUS S551LB VivoBook # ASUS ZenBook UX32VD # ASUS F550L-X455H # ASUS X53S # ASUS K550JD-XX003H # ASUS G53SX # ASUS K56CB # ASUS UX305 into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n end; # not really for battery, but might come in handy to read fan speed(s) into device label EC0 code_regex TAH0,\s+16 replace_matched begin TH00,8,TH01,8 end; into device label EC0 code_regex TAH1,\s+16 replace_matched begin TH10,8,TH11,8 end; into method label TACH code_regex \(TAH0, replace_matched begin (B1B2(TH00,TH01), end; into method label TACH code_regex \(TAH1, replace_matched begin (B1B2(TH10,TH11), end; into method label GFAN code_regex \(\\_SB\.PCI0\.LPCB\.EC0\.TAH0, replace_matched begin (B1B2(\\_SB.PCI0.LPCB.EC0.TH00,\\_SB.PCI0.LPCB.EC0.TH01), end; # battery EC into device label EC0 code_regex B0SN,\s+16 replace_matched begin B0S0,8,B0S1,8 end; into device label EC0 code_regex B1SN,\s+16 replace_matched begin B1S0,8,B1S1,8 end; into method label BIFA code_regex \(B0SN, replace_matched begin (B1B2(B0S0,B0S1), end; into method label BIFA code_regex \(B1SN, replace_matched begin (B1B2(B1S0,B1S1), end; into device label EC0 code_regex DT2B,\s+16 replace_matched begin T2B0,8,T2B1,8 end; into method label SMBR code_regex \(DT2B, replace_matched begin (B1B2(T2B0,T2B1), end; into method label SMBW code_regex Store\s+\(([^,]*),\s+DT2B\) replace_matched begin Store(%1,T2B0) Store(ShiftRight(%1,8),T2B1) end; into device label EC0 insert begin Method (RDBA, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BA00, Index(TEMP, 0x00))\n Store (BA01, Index(TEMP, 0x01))\n Store (BA02, Index(TEMP, 0x02))\n Store (BA03, Index(TEMP, 0x03))\n Store (BA04, Index(TEMP, 0x04))\n Store (BA05, Index(TEMP, 0x05))\n Store (BA06, Index(TEMP, 0x06))\n Store (BA07, Index(TEMP, 0x07))\n Store (BA08, Index(TEMP, 0x08))\n Store (BA09, Index(TEMP, 0x09))\n Store (BA0A, Index(TEMP, 0x0A))\n Store (BA0B, Index(TEMP, 0x0B))\n Store (BA0C, Index(TEMP, 0x0C))\n Store (BA0D, Index(TEMP, 0x0D))\n Store (BA0E, Index(TEMP, 0x0E))\n Store (BA0F, Index(TEMP, 0x0F))\n Store (BA10, Index(TEMP, 0x10))\n Store (BA11, Index(TEMP, 0x11))\n Store (BA12, Index(TEMP, 0x12))\n Store (BA13, Index(TEMP, 0x13))\n Store (BA14, Index(TEMP, 0x14))\n Store (BA15, Index(TEMP, 0x15))\n Store (BA16, Index(TEMP, 0x16))\n Store (BA17, Index(TEMP, 0x17))\n Store (BA18, Index(TEMP, 0x18))\n Store (BA19, Index(TEMP, 0x19))\n Store (BA1A, Index(TEMP, 0x1A))\n Store (BA1B, Index(TEMP, 0x1B))\n Store (BA1C, Index(TEMP, 0x1C))\n Store (BA1D, Index(TEMP, 0x1D))\n Store (BA1E, Index(TEMP, 0x1E))\n Store (BA1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBA, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BA00)\n Store (DerefOf(Index(TEMP, 0x01)), BA01)\n Store (DerefOf(Index(TEMP, 0x02)), BA02)\n Store (DerefOf(Index(TEMP, 0x03)), BA03)\n Store (DerefOf(Index(TEMP, 0x04)), BA04)\n Store (DerefOf(Index(TEMP, 0x05)), BA05)\n Store (DerefOf(Index(TEMP, 0x06)), BA06)\n Store (DerefOf(Index(TEMP, 0x07)), BA07)\n Store (DerefOf(Index(TEMP, 0x08)), BA08)\n Store (DerefOf(Index(TEMP, 0x09)), BA09)\n Store (DerefOf(Index(TEMP, 0x0A)), BA0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BA0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BA0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BA0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BA0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BA0F)\n Store (DerefOf(Index(TEMP, 0x10)), BA10)\n Store (DerefOf(Index(TEMP, 0x11)), BA11)\n Store (DerefOf(Index(TEMP, 0x12)), BA12)\n Store (DerefOf(Index(TEMP, 0x13)), BA13)\n Store (DerefOf(Index(TEMP, 0x14)), BA14)\n Store (DerefOf(Index(TEMP, 0x15)), BA15)\n Store (DerefOf(Index(TEMP, 0x16)), BA16)\n Store (DerefOf(Index(TEMP, 0x17)), BA17)\n Store (DerefOf(Index(TEMP, 0x18)), BA18)\n Store (DerefOf(Index(TEMP, 0x19)), BA19)\n Store (DerefOf(Index(TEMP, 0x1A)), BA1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BA1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BA1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BA1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BA1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BA1F)\n }\n end; into device label EC0 code_regex BDAT,\s+256 replace_matched begin //BDAT, 256,\n BA00,8,BA01,8,BA02,8,BA03,8,\n BA04,8,BA05,8,BA06,8,BA07,8,\n BA08,8,BA09,8,BA0A,8,BA0B,8,\n BA0C,8,BA0D,8,BA0E,8,BA0F,8,\n BA10,8,BA11,8,BA12,8,BA13,8,\n BA14,8,BA15,8,BA16,8,BA17,8,\n BA18,8,BA19,8,BA1A,8,BA1B,8,\n BA1C,8,BA1D,8,BA1E,8,BA1F,8\n end; into method label SMBR code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into method label SMBR code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into device label EC0 insert begin Method (RDBB, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BB00, Index(TEMP, 0x00))\n Store (BB01, Index(TEMP, 0x01))\n Store (BB02, Index(TEMP, 0x02))\n Store (BB03, Index(TEMP, 0x03))\n Store (BB04, Index(TEMP, 0x04))\n Store (BB05, Index(TEMP, 0x05))\n Store (BB06, Index(TEMP, 0x06))\n Store (BB07, Index(TEMP, 0x07))\n Store (BB08, Index(TEMP, 0x08))\n Store (BB09, Index(TEMP, 0x09))\n Store (BB0A, Index(TEMP, 0x0A))\n Store (BB0B, Index(TEMP, 0x0B))\n Store (BB0C, Index(TEMP, 0x0C))\n Store (BB0D, Index(TEMP, 0x0D))\n Store (BB0E, Index(TEMP, 0x0E))\n Store (BB0F, Index(TEMP, 0x0F))\n Store (BB10, Index(TEMP, 0x10))\n Store (BB11, Index(TEMP, 0x11))\n Store (BB12, Index(TEMP, 0x12))\n Store (BB13, Index(TEMP, 0x13))\n Store (BB14, Index(TEMP, 0x14))\n Store (BB15, Index(TEMP, 0x15))\n Store (BB16, Index(TEMP, 0x16))\n Store (BB17, Index(TEMP, 0x17))\n Store (BB18, Index(TEMP, 0x18))\n Store (BB19, Index(TEMP, 0x19))\n Store (BB1A, Index(TEMP, 0x1A))\n Store (BB1B, Index(TEMP, 0x1B))\n Store (BB1C, Index(TEMP, 0x1C))\n Store (BB1D, Index(TEMP, 0x1D))\n Store (BB1E, Index(TEMP, 0x1E))\n Store (BB1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBB, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BB00)\n Store (DerefOf(Index(TEMP, 0x01)), BB01)\n Store (DerefOf(Index(TEMP, 0x02)), BB02)\n Store (DerefOf(Index(TEMP, 0x03)), BB03)\n Store (DerefOf(Index(TEMP, 0x04)), BB04)\n Store (DerefOf(Index(TEMP, 0x05)), BB05)\n Store (DerefOf(Index(TEMP, 0x06)), BB06)\n Store (DerefOf(Index(TEMP, 0x07)), BB07)\n Store (DerefOf(Index(TEMP, 0x08)), BB08)\n Store (DerefOf(Index(TEMP, 0x09)), BB09)\n Store (DerefOf(Index(TEMP, 0x0A)), BB0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BB0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BB0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BB0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BB0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BB0F)\n Store (DerefOf(Index(TEMP, 0x10)), BB10)\n Store (DerefOf(Index(TEMP, 0x11)), BB11)\n Store (DerefOf(Index(TEMP, 0x12)), BB12)\n Store (DerefOf(Index(TEMP, 0x13)), BB13)\n Store (DerefOf(Index(TEMP, 0x14)), BB14)\n Store (DerefOf(Index(TEMP, 0x15)), BB15)\n Store (DerefOf(Index(TEMP, 0x16)), BB16)\n Store (DerefOf(Index(TEMP, 0x17)), BB17)\n Store (DerefOf(Index(TEMP, 0x18)), BB18)\n Store (DerefOf(Index(TEMP, 0x19)), BB19)\n Store (DerefOf(Index(TEMP, 0x1A)), BB1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BB1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BB1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BB1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BB1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BB1F)\n }\n end; into device label EC0 code_regex BDA2,\s+256 replace_matched begin //BDA2, 256,\n BB00,8,BB01,8,BB02,8,BB03,8,\n BB04,8,BB05,8,BB06,8,BB07,8,\n BB08,8,BB09,8,BB0A,8,BB0B,8,\n BB0C,8,BB0D,8,BB0E,8,BB0F,8,\n BB10,8,BB11,8,BB12,8,BB13,8,\n BB14,8,BB15,8,BB16,8,BB17,8,\n BB18,8,BB19,8,BB1A,8,BB1B,8,\n BB1C,8,BB1D,8,BB1E,8,BB1F,8\n end; into method label SMBR code_regex \(BDA2, replaceall_matched begin (RDBB(), end; into method label SMBR code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex \(BDA2, replaceall_matched begin (RDBB(), end; # additional work for _BIX method present in some ASUS laptops into device label EC0 code_regex B0C3,\s+16 replace_matched begin XC30,8,XC31,8 end; into device label EC0 code_regex B1C3,\s+16 replace_matched begin YC30,8,YC31,8 end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B0C3, replaceall_matched begin (B1B2(^^LPCB.EC0.XC30,^^LPCB.EC0.XC31), end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B1C3, replaceall_matched begin (B1B2(^^LPCB.EC0.YC30,^^LPCB.EC0.YC31), end; # or could remove the _BIX method if it turns out not to work #into_all method label _BIX remove_entry; Path do brilho
      #Maintained by: RehabMan for: Laptop Patches #graphics_PNLF_ivy_sandy.txt # This patch enables the brightness slider in SysPrefs->Displays # and will also enable activation of sleep mode by closing # the laptop lid. # # This particular version is intended to be used with ACPIBacklight.kext # although it can also be used with AppleBacklight.kext, # provided AppleBacklight.kext is patched to recognize your # display or an injector is used to set brightness levels. # # See this thread for more information: # http://www.tonymacx86.com/hp-probook-mavericks/121031-native-brightness-working-without-blinkscreen-using-patched-applebacklight-kext.html # (also read any linked threads) # # # Note: This patch should be applied to the DSDT or SSDT that defines # your integrated graphics device (always at _ADR 0x00020000) # into_all device label PNLF remove_entry; into_all device name_adr 0x00020000 code_regex (OperationRegion\s\(RMPC,\sPCI_Config[^\}]*\}) remove_matched; into device name_adr 0x00020000 insert begin OperationRegion (RMPC, PCI_Config, 0x10, 4)\n Field (RMPC, AnyAcc, NoLock, Preserve)\n {\n BAR1,32,\n }\n Device (PNLF)\n {\n // normal PNLF declares (note some of this probably not necessary)\n Name (_ADR, Zero)\n Name (_HID, EisaId ("APP0002"))\n Name (_CID, "backlight")\n Name (_UID, 10)\n Name (_STA, 0x0B)\n //define hardware register access for brightness\n // lower nibble of BAR1 is status bits and not part of the address\n OperationRegion (BRIT, SystemMemory, And(^BAR1, Not(0xF)), 0xe1184)\n Field (BRIT, AnyAcc, Lock, Preserve)\n {\n Offset(0x48250),\n LEV2, 32,\n LEVL, 32,\n Offset(0x70040),\n P0BL, 32,\n Offset(0xc8250),\n LEVW, 32,\n LEVX, 32,\n Offset(0xe1180),\n PCHL, 32,\n }\n // DEB1 special for setting KLVX at runtime...\n //Method (DEB1, 1, NotSerialized)\n //{\n // Store(Arg0, KLVX)\n //}\n // LMAX: use 0x710 to force OS X value\n // or use any arbitrary value\n // or use 0 to capture BIOS setting\n Name (LMAX, 0x710)\n // KMAX: defines the unscaled range in the _BCL table below\n Name (KMAX, 0x710)\n // KPCH: saved value for PCHL\n Name(KPCH, 0)\n // _INI deals with differences between native setting and desired\n Method (_INI, 0, NotSerialized)\n {\n // save value of PCHL for later\n Store(PCHL, KPCH)\n // determine LMAX to use\n If (LNot(LMAX)) { Store(ShiftRight(LEVX,16), LMAX) }\n If (LNot(LMAX)) { Store(KMAX, LMAX) }\n Store(ShiftLeft(LMAX,16), KLVX)\n If (LNotEqual(LMAX, KMAX))\n {\n // Scale all the values in _BCL to the PWM max in use\n Store(0, Local0)\n While (LLess(Local0, SizeOf(_BCL)))\n {\n Store(DerefOf(Index(_BCL,Local0)), Local1)\n Divide(Multiply(Local1,LMAX), KMAX,, Local1)\n Store(Local1, Index(_BCL,Local0))\n Increment(Local0)\n }\n // Also scale XRGL and XRGH values\n Divide(Multiply(XRGL,LMAX), KMAX,, XRGL)\n Divide(Multiply(XRGH,LMAX), KMAX,, XRGH)\n }\n // adjust values to desired LMAX\n Store(ShiftRight(LEVX,16), Local1)\n If (LNotEqual(Local1, LMAX))\n {\n Store(LEVL, Local0)\n If (LOr(LNot(Local0),LNot(Local1))) { Store(LMAX, Local0) Store(LMAX, Local1) }\n Divide(Multiply(Local0,LMAX), Local1,, Local0)\n //REVIEW: wait for vblank before setting new PWM config\n //Store(P0BL, Local7)\n //While (LEqual (P0BL, Local7)) {}\n If (LGreater(LEVL, LMAX))\n { Store(KLVX, LEVX) Store(Local0, LEVL) }\n Else\n { Store(Local0, LEVL) Store(KLVX, LEVX) }\n }\n }\n // _BCM/_BQC: set/get for brightness level\n Method (_BCM, 1, NotSerialized)\n {\n // initialize for consistent backlight level before/after sleep\n If (LNotEqual(PCHL, KPCH)) { Store(KPCH, PCHL) }\n If (LNotEqual(LEVW, 0x80000000)) { Store (0x80000000, LEVW) }\n If (LNotEqual(LEVX, KLVX)) { Store (KLVX, LEVX) }\n // store new backlight level\n Store(Match(_BCL, MGE, Arg0, MTR, 0, 2), Local0)\n If (LEqual(Local0, Ones)) { Subtract(SizeOf(_BCL), 1, Local0) }\n If (LNotEqual(LEV2, 0x80000000)) { Store(0x80000000, LEV2) }\n Store(DerefOf(Index(_BCL, Local0)), LEVL)\n }\n Method (_BQC, 0, NotSerialized)\n {\n Store(Match(_BCL, MGE, LEVL, MTR, 0, 2), Local0)\n If (LEqual(Local0, Ones)) { Subtract(SizeOf(_BCL), 1, Local0) }\n Return(DerefOf(Index(_BCL, Local0)))\n }\n Method (_DOS, 1, NotSerialized)\n {\n // Note: Some systems have this defined in DSDT, so uncomment\n // the next line if that is the case.\n //External(^^_DOS, MethodObj)\n ^^_DOS(Arg0)\n }\n // extended _BCM/_BQC for setting "in between" levels\n Method (XBCM, 1, NotSerialized)\n {\n // initialize for consistent backlight level before/after sleep\n If (LNotEqual(PCHL, KPCH)) { Store(KPCH, PCHL) }\n If (LNotEqual(LEVW, 0x80000000)) { Store (0x80000000, LEVW) }\n If (LNotEqual(LEVX, KLVX)) { Store (KLVX, LEVX) }\n // store new backlight level\n If (LGreater(Arg0, XRGH)) { Store(XRGH, Arg0) }\n If (LAnd(Arg0, LLess(Arg0, XRGL))) { Store(XRGL, Arg0) }\n If (LNotEqual(LEV2, 0x80000000)) { Store(0x80000000, LEV2) } \n Store(Arg0, LEVL)\n }\n Method (XBQC, 0, NotSerialized)\n {\n Store(LEVL, Local0)\n If (LGreater(Local0, XRGH)) { Store(XRGH, Local0) }\n If (LAnd(Local0, LLess(Local0, XRGL))) { Store(XRGL, Local0) }\n Return(Local0)\n }\n // Use XOPT=1 to disable smooth transitions\n Name (XOPT, Zero)\n // XRGL/XRGH: defines the valid range\n Name (XRGL, 40)\n Name (XRGH, 1808)\n // KLVX is initialization value for LEVX\n Name (KLVX, 0x7100000)\n // _BCL: returns list of valid brightness levels\n // first two entries describe ac/battery power levels\n Name (_BCL, Package()\n {\n 1808,\n 479,\n 0,\n 53, 55, 57, 59,\n 62, 66, 71, 77,\n 83, 91, 99, 108,\n 119, 130, 142, 154,\n 168, 183, 198, 214,\n 232, 250, 269, 289,\n 309, 331, 354, 377,\n 401, 426, 453, 479,\n 507, 536, 566, 596,\n 627, 660, 693, 727,\n 762, 797, 834, 872,\n 910, 949, 990, 1031,\n 1073, 1115, 1159, 1204,\n 1249, 1296, 1343, 1391,\n 1440, 1490, 1541, 1592,\n 1645, 1698, 1753, 1808,\n })\n }\n end; Está pronto!
       
       
      Em anexo arquivos utilizados na instalação. Pelo amor de deus, sempre use versões mais novas.
       
       
      E por último mas não menos importante
       
      Eu gostaria de agradecer os seguintes membros da comunidade, por tornar esse sonho possível:
      @crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas e todos os outros membros envolvidos direta ou indiretamente.
      EFI antes instalação.zip
      EFI após instalação.zip
    • By ludufre
      New guide available for macOS Catalina 10.15 (i3 and i5 versions)!
       
       
       
      Installing OS X El Capitan 10.11.5 on ASUS VivoBook S400C (also know as S400CA)
      Specifically in S400CA-CA178H model, most likely all other models are compatible
       
        
       

      Updated 22/11/17 #1:
       
      - High Sierra 10.13.1 on ASUS Vivobook S400C (S400CA-CA178H).
       
       
      Updated 27/06/16 #1:
       
      - Altered Brightness to fix with Clover <KextsToPatch> method.
       
      - Added Kexts to fix USB port injection (FakePCIID.kext, FakePCIID_XHCIMux.kext and USB.kext).
      - Touch Screen was missing from the list. Added and now works.
      - Sleep now works after DSDT patch
      - Card Reader now works too
      - Created section about DSDT and Todo list
      - Added missing patchs
      - Updated BIOS config list before install.
       
      Updated 26/06/16 #1:
       
      - Added patch in <KextsToPatch> in Clover config.plist to fix 2nd Stage Boot logo. (not in attachments)
       
       
      What works and what does not work
       
      - Processor ->  Work. i5-3317U @ 1.7Ghz/2.6Ghz.  SpeedStep 8 to 26 stages. AsusAICPUPM <true/> in Clover config.plist. 
      - Video Card ->  Work. HD4000. Full QE/CI.
      - Chipset ->  Work.
      - HDMI ->  Work.
      - VGA ->  Not work.
      - Audio ->  Work. VoodooHDA 2.8.8 (use PKG file).
      - WiFi ->  Work. Replaced by Athero 9285 Wifi/Bluetooth (https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=atheros+9285).
      - Ethernet ->  Work. AtherosE2200Ethernet 2.1.0.
      - Keyboard and touchpad ->  Work. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (version 4.6).
      - FN keyboards keys ->  Work. Changed FN keys layout inside ELAN kext above.
      - Brightness control ->  Work. Clover <KextsToPatch> below.
      - Touchscreen ->  Work. USB port inject kext in attachment.
      - Sleep ->  Work. DSDT patch (below) and <HighCurrent> set to <true/> in Clover.
      - Battery ->  Work. ACPIBatteryManager by RehabMan (version 2016-0531) and DSDT patch (below).
      - Card Reader ->  Work. USB port inject kext in attachment.
      - Integrated Camera ->  Work. AnyiSightCam.
      - Bluetooth ->  Work. Bluetooth Firmware Uploader (version 3.1).
      - 2nd stage boot logo ->  Work. Clover <KextsToPatch> below.

       
       
      What you need to install
       


      - Running install of El Capitan on VMware -> Downloaded version 10.11 via torrent (search by "10.11 vmware" torrent). You can use a real Mac of an friend. My method only works on Mavericks (10.9) and above.
      - One USB flash drive of 8GB or bigger.
      - OS X El Capitan install app -> Downloaded via App Store inside the virtual machine. Downloaded version 10.11.5.
      - CloverEFI -> Also download inside the virtual machine. I used build 3577.
      - DSDT patch skills -> Needed to battery works. How to patch DSDT. Or you can download mine DSDT below, but would not recommend.

       
       
      How create the flash drive
       
      Creating the install:
       
      Format the flash drive with GUID partition mapping and name it "Install"
       
      Open terminal and run this command:
       
       
       
       
      This will take about 30 minutes.

      Installing bootloader:
       
      Download the CloverEFI (used 3577) and install with this options on "Install OS X El Capitan":

      Options:
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - Drivers64UEFI - CsmVideoDxe-64
      - Drivers64UEFI - OsxAptioFixDrv-64
       
      Will be created a partition named EFI. Edit the /EFI/CLOVER/config.plist and change those values:
       
      - Graphics - Inject - ATI - <false/>
      - Graphics - Inject - Intel - <true/>
      - Graphics - ig-platform-id - 0x01660003
      - KernelAndKextPatches - AsusAICPUPM - <true/>
       
      Important: Rename "#Inject" to "Inject" and "#ig-platform-id" to "ig-platform-id".
       
      P.s.: I will provide below my config.plist as attachment.
       

      Now you will need two Kexts:
       
      - Download the Smart Touchpad kext from here. I used the version 4.6.
      - Download the HWSensors dmg and use the FakeSMC.kext from inside. I used the version 6.20.1410. This is very important. Can't boot without it.
      - Put these Kexts inside /EFI/CLOVER/kexts/10.11/
      - Put the Clover installer on the flash drive too.

       
      Now you can start the instalation without problem (I guess).
       
       
      BIOS Setup Configuration and Installation
       
      - Shutdown the ultrabook and insert the flash drive.
      - Power on with F2 pressed to enter BIOS setup.
      - Go to "Save & Exit" and press "Restore Defaults".
      - Go to "Advanced" tab and change these values:
       
      - VT-d: Disabled
      - Go to "Save & Exit" again and select "Save Changes".
      - Now in "Boot Override" section select the flash drive named with UEFI prefix. In my case "UEFI: KingstonDataTraveler 2.0PMAP".
      - The clover menu will show. Use the arrow keys to mark the flash drive. The option name is "Boot OS X Install from Install OS X El Capitan", then press Enter.
      - If you did everything correctly, you can start the installation. Remember: Format the HDD or SSD with GUID partition mapping.
      - This will take about 20 minutes.
      - After first part install the system will reboot. You need to press ESC to enter Boot menu when Asus logo appear.
      - Select the flash drive again.
      - In Clover main menu, press enter in "Boot OS X Install from Install OS X El Capitan" once again.
      - The second part of the installation will begin. This will take 16 minutes.
       
       
      Post installation
       
      - When the second part of install finish, the system will reboot again.
      - After performing the user initial setup and go to the desktop, you need to install Clover on internal disk.
      - Open the Clover installer inside flash drive that you copied before.
      - Use same options above but choose the system partition this time.
      - Now you need to replace the EFI folder inside your internal disk EFI parittion with EFI folder inside flash card EFI partition.
      - The flash drive EFI partition is unmounted. Mount with "diskutil mount /dev/rdiskXs1". To know what X is, use "diskutil list", most likely is 1.
      - Now restart the system. You need to press ESC to enter Boot menu when Asus logo appear.
      - Select the flash drive again.
      - In Clover menu, use arrows and go to the last option with name "Clover Boot Options" and press Space.
      - Select the option "Add Clover boot options for all entries".
      - Shutdown, remove the flash drive and power on.
      - If you do everything wright, the system will start normally.
       
      Others Kexts:
       
      Download the kexts from the links below. I strongly recommend always use newest versions. If you are too lazy, I attach on end of the post.
       
      Ethernet: AtherosE2200Ethernet 2.1.0
      Sound: VoodooHDA 2.8.8 (use PKG file). You need to select the output there in System Preferences after reboot.
      Battery: ACPIBatteryManager by RehabMan (version 2016-0531). You need to path DSDT (below).
      Bluetooth: Bluetooth Firmware Uploader (version 3.1).
      Integrated Camera: AnyiSightCam
      USB Port Injector: FakePCIID and FakePCIID_XHCIMux (version 2016-0512) and USB.kext attached below.
       
      All kexts will placed inside /EFI/CLOVER/kexts/10.11/, mount again this partition (diskutil mount /dev/rdiskXs1) for it.
       
       
      Fine Adjustiment
       
      Prevent eject when sleep
      Open "/EFI/CLOVER/config.plist" and change:
       
       
      <key>HighCurrent</key> <false/> To:
       
      <key>HighCurrent</key> <true/>  Enable FN keys
      Open "ApplePS2SmartTouchPad.kext/Contents/Plugins/ApplePS2Keyboard.kext/Contents/Info.plist" and change:
       
      <key>Fn keys Layout</key> <string>NONE</string> <key>Fn keys Mode</key> <integer>2</integer> To:
       
      <key>Fn keys Layout</key> <string>ASUS</string> <key>Fn keys Mode</key> <integer>3</integer>  Second stage boot logo fix
      Add in /EFI/CLOVER/config.plist inside KextsToPatch.
       
      <dict> <key>Comment</key> <string>HD 4000 Logo Fix</string> <key>Find</key> <data> AQAAdRc= </data> <key>Name</key> <string>IOGraphicsFamily</string> <key>Replace</key> <data> AQAA6xc= </data> </dict> Brightness fix
      Add in /EFI/CLOVER/config.plist inside KextsToPatch.
       
      <dict> <key>Comment</key> <string>HD 4000 brightness fix</string> <key>Find</key> <data> EAcAABAHAAA= </data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data> EhMAABITAAA= </data> </dict> DSDT Patchs
       
      First of all, extract your system DSDT.aml pressioning F4 on Clover boot menu. Will be stored in /EFI/CLOVER/ACPI/origin.
      Copy to /EFI/CLOVER/ACPI/patched and apply following patchs using MaciASL:
       
      Fix *pnp/pnp lower case Error
       
      #Maintained by: RehabMan for: Laptop Patches #fix_HID_pnp.txt # To fix Name(_HID, "*pnpXXXX") and Name(_HID, "pnpXXXX") into_all all code_regex (Name\s+\(_HID,\s+\")\*pnp(.*\") replaceall_matched begin %1PNP%2 end; into_all all code_regex (Name\s+\(_HID,\s+\")pnp(.*\") replaceall_matched begin %1PNP%2 end; Rename GFX0 to IGPU
       
      #Maintained by: RehabMan for: Laptop Patches #graphics_Rename-GFX0.txt # Note: Most DSDT/SSDTs use GFX0 for the integrated graphics device, # but there are few renegades that use VID or AGP1. # If your DSDT uses VID or AGP1 instead of GFX0, see the # alternate patch "Rename VID/AGP1 to IGPU" # sometimes there is already IGPU used for other things into_all all code_regex IGPU, replaceall_matched begin IGFX, end; # rename GFX0 -> IGPU for better power management into_all all code_regex GFX0\. replaceall_matched begin IGPU. end; into_all all code_regex \.GFX0 replaceall_matched begin .IGPU end; into_all all code_regex \sGFX0, replaceall_matched begin IGPU, end; into_all all code_regex \(GFX0 replaceall_matched begin (IGPU end; into_all all label GFX0 set_label begin IGPU end; into_all all label _SB.PCI0.GFX0 set_label begin _SB.PCI0.IGPU end; into_all all label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end; into_all all label _SB.PCI0.GFX0.DD02 set_label begin _SB.PCI0.IGPU.DD02 end; into_all all label \_SB.PCI0.GFX0.DD02 set_label begin \_SB.PCI0.IGPU.DD02 end; into_all all label ^^^GFX0 set_label begin ^^^IGPU end; into_all all label ^^GFX0 set_label begin ^^IGPU end; into_all all label ^GFX0 set_label begin ^IGPU end; Battery (ASUS N55LS/Vivobook)
       
      #Maintained by: RehabMan for: Laptop Patches #battery_ASUS-N55SL.txt # created by RehabMan 8/12/2013 # created originally for jesselid # works for: # ASUS N55SL, BIOS rev. 204 # ASUS VivoBook series # ASUS Zenbook UX31A # ASUS UX301LA # ASUS X553E-SX399V # ASUS F501A # ASUS K55VM # ASUS U46SV, BIOS rev. 2.04 # ASUS N43 # ASUS PU500CA (90NB00F1-M01120) # ASUS N73SV # ASUS X401A-WX108 # ASUS F551CA Bios rev. 207 # ASUS S551LB VivoBook # ASUS ZenBook UX32VD # ASUS F550L-X455H # ASUS X53S # ASUS K550JD-XX003H # ASUS G53SX # ASUS K56CB # ASUS UX305 into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n end; # not really for battery, but might come in handy to read fan speed(s) into device label EC0 code_regex TAH0,\s+16 replace_matched begin TH00,8,TH01,8 end; into device label EC0 code_regex TAH1,\s+16 replace_matched begin TH10,8,TH11,8 end; into method label TACH code_regex \(TAH0, replace_matched begin (B1B2(TH00,TH01), end; into method label TACH code_regex \(TAH1, replace_matched begin (B1B2(TH10,TH11), end; into method label GFAN code_regex \(\\_SB\.PCI0\.LPCB\.EC0\.TAH0, replace_matched begin (B1B2(\\_SB.PCI0.LPCB.EC0.TH00,\\_SB.PCI0.LPCB.EC0.TH01), end; # battery EC into device label EC0 code_regex B0SN,\s+16 replace_matched begin B0S0,8,B0S1,8 end; into device label EC0 code_regex B1SN,\s+16 replace_matched begin B1S0,8,B1S1,8 end; into method label BIFA code_regex \(B0SN, replace_matched begin (B1B2(B0S0,B0S1), end; into method label BIFA code_regex \(B1SN, replace_matched begin (B1B2(B1S0,B1S1), end; into device label EC0 code_regex DT2B,\s+16 replace_matched begin T2B0,8,T2B1,8 end; into method label SMBR code_regex \(DT2B, replace_matched begin (B1B2(T2B0,T2B1), end; into method label SMBW code_regex Store\s+\(([^,]*),\s+DT2B\) replace_matched begin Store(%1,T2B0) Store(ShiftRight(%1,8),T2B1) end; into device label EC0 insert begin Method (RDBA, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BA00, Index(TEMP, 0x00))\n Store (BA01, Index(TEMP, 0x01))\n Store (BA02, Index(TEMP, 0x02))\n Store (BA03, Index(TEMP, 0x03))\n Store (BA04, Index(TEMP, 0x04))\n Store (BA05, Index(TEMP, 0x05))\n Store (BA06, Index(TEMP, 0x06))\n Store (BA07, Index(TEMP, 0x07))\n Store (BA08, Index(TEMP, 0x08))\n Store (BA09, Index(TEMP, 0x09))\n Store (BA0A, Index(TEMP, 0x0A))\n Store (BA0B, Index(TEMP, 0x0B))\n Store (BA0C, Index(TEMP, 0x0C))\n Store (BA0D, Index(TEMP, 0x0D))\n Store (BA0E, Index(TEMP, 0x0E))\n Store (BA0F, Index(TEMP, 0x0F))\n Store (BA10, Index(TEMP, 0x10))\n Store (BA11, Index(TEMP, 0x11))\n Store (BA12, Index(TEMP, 0x12))\n Store (BA13, Index(TEMP, 0x13))\n Store (BA14, Index(TEMP, 0x14))\n Store (BA15, Index(TEMP, 0x15))\n Store (BA16, Index(TEMP, 0x16))\n Store (BA17, Index(TEMP, 0x17))\n Store (BA18, Index(TEMP, 0x18))\n Store (BA19, Index(TEMP, 0x19))\n Store (BA1A, Index(TEMP, 0x1A))\n Store (BA1B, Index(TEMP, 0x1B))\n Store (BA1C, Index(TEMP, 0x1C))\n Store (BA1D, Index(TEMP, 0x1D))\n Store (BA1E, Index(TEMP, 0x1E))\n Store (BA1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBA, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BA00)\n Store (DerefOf(Index(TEMP, 0x01)), BA01)\n Store (DerefOf(Index(TEMP, 0x02)), BA02)\n Store (DerefOf(Index(TEMP, 0x03)), BA03)\n Store (DerefOf(Index(TEMP, 0x04)), BA04)\n Store (DerefOf(Index(TEMP, 0x05)), BA05)\n Store (DerefOf(Index(TEMP, 0x06)), BA06)\n Store (DerefOf(Index(TEMP, 0x07)), BA07)\n Store (DerefOf(Index(TEMP, 0x08)), BA08)\n Store (DerefOf(Index(TEMP, 0x09)), BA09)\n Store (DerefOf(Index(TEMP, 0x0A)), BA0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BA0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BA0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BA0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BA0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BA0F)\n Store (DerefOf(Index(TEMP, 0x10)), BA10)\n Store (DerefOf(Index(TEMP, 0x11)), BA11)\n Store (DerefOf(Index(TEMP, 0x12)), BA12)\n Store (DerefOf(Index(TEMP, 0x13)), BA13)\n Store (DerefOf(Index(TEMP, 0x14)), BA14)\n Store (DerefOf(Index(TEMP, 0x15)), BA15)\n Store (DerefOf(Index(TEMP, 0x16)), BA16)\n Store (DerefOf(Index(TEMP, 0x17)), BA17)\n Store (DerefOf(Index(TEMP, 0x18)), BA18)\n Store (DerefOf(Index(TEMP, 0x19)), BA19)\n Store (DerefOf(Index(TEMP, 0x1A)), BA1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BA1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BA1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BA1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BA1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BA1F)\n }\n end; into device label EC0 code_regex BDAT,\s+256 replace_matched begin //BDAT, 256,\n BA00,8,BA01,8,BA02,8,BA03,8,\n BA04,8,BA05,8,BA06,8,BA07,8,\n BA08,8,BA09,8,BA0A,8,BA0B,8,\n BA0C,8,BA0D,8,BA0E,8,BA0F,8,\n BA10,8,BA11,8,BA12,8,BA13,8,\n BA14,8,BA15,8,BA16,8,BA17,8,\n BA18,8,BA19,8,BA1A,8,BA1B,8,\n BA1C,8,BA1D,8,BA1E,8,BA1F,8\n end; into method label SMBR code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into method label SMBR code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into device label EC0 insert begin Method (RDBB, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BB00, Index(TEMP, 0x00))\n Store (BB01, Index(TEMP, 0x01))\n Store (BB02, Index(TEMP, 0x02))\n Store (BB03, Index(TEMP, 0x03))\n Store (BB04, Index(TEMP, 0x04))\n Store (BB05, Index(TEMP, 0x05))\n Store (BB06, Index(TEMP, 0x06))\n Store (BB07, Index(TEMP, 0x07))\n Store (BB08, Index(TEMP, 0x08))\n Store (BB09, Index(TEMP, 0x09))\n Store (BB0A, Index(TEMP, 0x0A))\n Store (BB0B, Index(TEMP, 0x0B))\n Store (BB0C, Index(TEMP, 0x0C))\n Store (BB0D, Index(TEMP, 0x0D))\n Store (BB0E, Index(TEMP, 0x0E))\n Store (BB0F, Index(TEMP, 0x0F))\n Store (BB10, Index(TEMP, 0x10))\n Store (BB11, Index(TEMP, 0x11))\n Store (BB12, Index(TEMP, 0x12))\n Store (BB13, Index(TEMP, 0x13))\n Store (BB14, Index(TEMP, 0x14))\n Store (BB15, Index(TEMP, 0x15))\n Store (BB16, Index(TEMP, 0x16))\n Store (BB17, Index(TEMP, 0x17))\n Store (BB18, Index(TEMP, 0x18))\n Store (BB19, Index(TEMP, 0x19))\n Store (BB1A, Index(TEMP, 0x1A))\n Store (BB1B, Index(TEMP, 0x1B))\n Store (BB1C, Index(TEMP, 0x1C))\n Store (BB1D, Index(TEMP, 0x1D))\n Store (BB1E, Index(TEMP, 0x1E))\n Store (BB1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBB, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BB00)\n Store (DerefOf(Index(TEMP, 0x01)), BB01)\n Store (DerefOf(Index(TEMP, 0x02)), BB02)\n Store (DerefOf(Index(TEMP, 0x03)), BB03)\n Store (DerefOf(Index(TEMP, 0x04)), BB04)\n Store (DerefOf(Index(TEMP, 0x05)), BB05)\n Store (DerefOf(Index(TEMP, 0x06)), BB06)\n Store (DerefOf(Index(TEMP, 0x07)), BB07)\n Store (DerefOf(Index(TEMP, 0x08)), BB08)\n Store (DerefOf(Index(TEMP, 0x09)), BB09)\n Store (DerefOf(Index(TEMP, 0x0A)), BB0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BB0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BB0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BB0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BB0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BB0F)\n Store (DerefOf(Index(TEMP, 0x10)), BB10)\n Store (DerefOf(Index(TEMP, 0x11)), BB11)\n Store (DerefOf(Index(TEMP, 0x12)), BB12)\n Store (DerefOf(Index(TEMP, 0x13)), BB13)\n Store (DerefOf(Index(TEMP, 0x14)), BB14)\n Store (DerefOf(Index(TEMP, 0x15)), BB15)\n Store (DerefOf(Index(TEMP, 0x16)), BB16)\n Store (DerefOf(Index(TEMP, 0x17)), BB17)\n Store (DerefOf(Index(TEMP, 0x18)), BB18)\n Store (DerefOf(Index(TEMP, 0x19)), BB19)\n Store (DerefOf(Index(TEMP, 0x1A)), BB1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BB1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BB1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BB1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BB1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BB1F)\n }\n end; into device label EC0 code_regex BDA2,\s+256 replace_matched begin //BDA2, 256,\n BB00,8,BB01,8,BB02,8,BB03,8,\n BB04,8,BB05,8,BB06,8,BB07,8,\n BB08,8,BB09,8,BB0A,8,BB0B,8,\n BB0C,8,BB0D,8,BB0E,8,BB0F,8,\n BB10,8,BB11,8,BB12,8,BB13,8,\n BB14,8,BB15,8,BB16,8,BB17,8,\n BB18,8,BB19,8,BB1A,8,BB1B,8,\n BB1C,8,BB1D,8,BB1E,8,BB1F,8\n end; into method label SMBR code_regex \(BDA2, replaceall_matched begin (RDBB(), end; into method label SMBR code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex \(BDA2, replaceall_matched begin (RDBB(), end; # additional work for _BIX method present in some ASUS laptops into device label EC0 code_regex B0C3,\s+16 replace_matched begin XC30,8,XC31,8 end; into device label EC0 code_regex B1C3,\s+16 replace_matched begin YC30,8,YC31,8 end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B0C3, replaceall_matched begin (B1B2(^^LPCB.EC0.XC30,^^LPCB.EC0.XC31), end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B1C3, replaceall_matched begin (B1B2(^^LPCB.EC0.YC30,^^LPCB.EC0.YC31), end; # or could remove the _BIX method if it turns out not to work #into_all method label _BIX remove_entry; Fix Sleep issues caused by USBs
       
      #Maintained by: RehabMan for: Laptop Patches #Changed by Luan (ludufre) Eduardo #usb_prw_0x0d_xhc.txt # remove _PRW methods to prevent instant wake # delete any existing XHC1 device into device label XHC1 name_adr 0x00140000 remove_entry; # delete any existing USB2 device into device label USB2 name_adr 0x001D0000 remove_entry; # if _PRW objects are methods into method label _PRW parent_adr 0x001D0000 remove_entry; into method label _PRW parent_adr 0x001A0000 remove_entry; into method label _PRW parent_adr 0x00140000 remove_entry; into method label _PRW parent_adr 0x001B0000 remove_entry; # some other LAN cards use 0x00190000 into method label _PRW parent_adr 0x00190000 remove_entry; # if _PRW methods are stuffed into a separate scope into method label _PRW parent_label _SB.PCI0.EHC1 remove_entry; into method label _PRW parent_label _SB.PCI0.EHC2 remove_entry; into method label _PRW parent_label _SB.PCI0.XHC remove_entry; into method label _PRW parent_label \_SB.PCI0.EHC1 remove_entry; into method label _PRW parent_label \_SB.PCI0.EHC2 remove_entry; into method label _PRW parent_label \_SB.PCI0.XHC remove_entry; # if _PRW objects are names into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; # some _PRW have three entries in the Package into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; # seems to work better if _PRW is present, but returns 0 (original was 3) for sleep state into device name_adr 0x001D0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x001A0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x00140000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x001B0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x00190000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device label XHC set_label begin XHC1 end; into_all all code_regex XHC(?=\W) replaceall_matched begin XHC1 end; into method label _WAK code_regex \_SB.PCI0.XHC1.XWAK replace_matched begin _SB.PCI0.XHC1._INI end; It's done!
       
       
       
      To do list
       
      - Replace VoodooHDA by aDummyHDA (AppleHDA Patcher).
       
      Can't make mic/output jack work. I don't know how fix the layout.
       
      - Sleep and Hibernate
       
       
      Entering to sleep have a delay ~30 seconds, and wake to blackscreen, making necessary to press any key to power on the display.
       
      Hibernate not work. The system never wake up. (temporarily disabled with "pmset -a hibernatemode 0")
       
      - Brightness adjustment by FN keys
      Need time to search DSDT patch.
       
       
       
       
       
       
      Attached files used in the installation. For God's sake, always use the newest versions.
       
       
      And last but not least
       
      I would like to thank the following community members, by making these dream possible:
      @crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas and all others members involved directly or indirectly.
      EFI before install.zip
      EFI after install v2.zip
      USB.kext.zi
    • By jamesxxx1997
      Hi everyone~
      My machine is thinkpad x1 yoga 2018 , uhd620 , WQHD resolution , with macos 10.14.6 installed.
       
      My efi patch seems to have some problems related improper graphic patch.
      1. The screen sometimes have flickers , especially on safari browser.
      2. Sometimes kernel panic happens after wake from sleep , black screen then reboot.
      3. I cannot enable specific resolution(1920*1080) in hidpi , using hackintool or FixEDID+DarwinDumper
       
      Any help is appreciated , thanks~
       
       
       
      28525.zip
×