Jump to content
About Just Joined group Read more... ×
ludufre

[GUIA] El Capitan 10.11.5 no ASUS VivoBook S400C (S400CA-CA178H)

3 posts in this topic

Recommended Posts

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 -> Tick.png Funciona. i5-3317U @ 1.7Ghz/2.6Ghz.  SpeedStep 8 a 26 estágios. AsusAICPUPM <true/> no Clover config.plist. 
- Placa de vídeo -> Tick.png Funciona. HD4000. QE/CI completo.
- Chipset -> Tick.png Funciona.
HDMI -> Tick.png Funciona.
- VGA -> Cross.png Não funciona.
- Som -> Tick.png Funciona. VoodooHDA 2.8.8 (use o arquivo PKG).
- WiFi -> Tick.png Funciona. Substituída pela Athero 9285 Wifi/Bluetooth (http://lista.mercadolivre.com.br/atheros-9285#D[A:atheros-9285]).
- Rede -> Tick.png Funciona. AtherosE2200Ethernet 2.1.0.
- Teclado e touchpad -> Tick.png FuncionaELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (versão 4.6).
- Teclas FN do teclado -> Tick.png Funciona. Alterado "FN keys layout" na kext ELAN acima.
- Controle do brilho -> Tick.png Funciona. DSDT patch (abaixo).
- Repouso/Sleep -> Cross.png Não funciona. A tela desliga mas não entra em standby.
- Bateria -> Tick.png Funciona. ACPIBatteryManager by RehabMan (versão 2016-0531) e DSDT patch (abaixo).
- Leitor de cartão -> Cross.png Não funciona.
- Câmera integrada -> Tick.png FuncionaAnyiSightCam.
- Bluetooth -> Tick.png FuncionaBluetooth Firmware Uploader (versão 3.1).
- Segundo estágio da logo no boot -> Tick.png 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:

 

Quote

sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/Install --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction

 

Isso vai levar 30 minutos.

Screen_Shot_2016_06_25_at_4_41_35_PM.png

Instalando o bootloader:

 

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

Screen_Shot_2016_06_25_at_6_43_49_PM.pngScreen_Shot_2016_06_25_at_6_43_53_PM.png

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

Edited by ludufre

Share this post


Link to post
Share on other sites
Advertisement

Estou querendo montar um hackintosh, tenho um asus s400ca tbm. Criei uma VmWare só q ao entra na app store, não tinha o download do el capitan, então queria saber se da certo com o Sierra e se tudo vai funcionar. Primeira vez que faço um hackintosh então não sei de nada, editar dsdt, no caso gostaria de usar a sua pasta pronta. Vc sabe se funciona no Sierra? Vc tem algum meio melhor de comunicação? WhatsApp,Skype,Face,Email?

Edited by Allan
Post movido para o lugar correto

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

Announcements

  • Similar Content

    • By 83427
      I'm member of this community for 10 years and now I feel I can finally somehow help to other beginners like me, who has the same or similar hardware like me. 
       
      Here is my EFI partition with OpenCore 0.6.1 configured for 
      Asus Maximus VI Formula (chipset Z87)
      Intel Core i5-4670K @ 4GHz
      32GB DDR3 1600MHz
      Sapphire Radeon RX480 4GB
       
      I removed SN, UUID and others unique values from config.plist so don't forget to fill yours own or generate new. For beginners like me is very useful OpenCore Configurator
       
      Its compatible with macOS Catalina. I'm not sure, but I think that Mojave works also.
       
      I spent a lot of time by resolving problem with integrated sound card (Realtek ALC1150). If you have problems with sound, try another layout number via alcid=XX in boot-args. For Maximums VI Formula value 5 match the best I think. For more info how to fix soundcard read here: https://dortania.github.io/OpenCore-Post-Install/universal/audio.html 
       
       
       
      EFI.zip
    • By HerryYT
      I own a asus eee pc 1025c with patched bios to support x64 os, is it possible to install any version of mac os even with patched kernel? anyone interested in helping? 
    • By rvilbert
      Good evening,
       
      I apologies for the broadcast message but i have decided to reinstall my Hackintosh machine using Catalina 10.15.6 and .... I'm stuck at "PCI configuration begin".. 
       
      My configuration is:
      Asus X99 Deluxe Core i7 5960x 32 Gb memory GTX 980  
      Knowing that my graphic card would not be fully recognised in Catalina i have also tried to install High Sierra but I managed to get exactly to the same point  and i have therefore decided to give another try to Catalina and .... I'm still stuck.
       
      (FYI I had managed to install 10.8 on my machine a while ago but a few things have changed since then and I may be missing a trick).
       
      In a nutshell I believe my issue is linked to this message that i'm getting:
       
      Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourcesMatch</key><string ID="2">boot-uuid-media</string></dict> 
       
      I tried all options (with/without flags and with/without kext) but i think that my issue is between my DSDT, SSDT and config.plist files.
       
      Any help would be much appreciated!
       
      I have attached my EFI folder and the print screen with the error message.
       
      Let me know if you need any further information.
       
      Thanks a lot
       
       
       
       

      EFI.zip
    • By macinsane
      *This guide is deprecated and will not be maintained anymore*

      Update: Now running Mojave! Thanks to mojave2core! Yeah   Still using C2D in 2019!
      Inserted a nice and cheap GT710 that is not relying on nVidias Webdrivers and runs OOB under Mojave.
       
      Nice, seeing High Sierra running on this old but capable system! It rocks with a new ASUS GT1030
       
      Config:
      Gigabyte EP43-DS3L
      Core2Quad Q9300
      6 GB DDR2 RAM
      Asus GT1030 2GB
      Sandisk SSD 128GB
      TP-Link AC1200 Wifi USB
      Inateck KT4006 USB 3.0 PCIe (No boot)
       
      SMBIOS: iMac14,1
      Clover: 4297  4360
       
      A good deal of DSDT editing was necessary to get this machine to boot High Sierra but finally it works flawlessly, even sleep and wake!
      You NEED to have the DSDT put in place for installation because otherwise macOS doesn't recognize the SATA ports.
      There are a few important BIOS settings: SATA hast to be set to AHCI and "native" and HPET has to be run "64-bit", I'd recommend to disable IDE and the serial and parallel port.
      For the GT1030 nVidia Webdrivers are needed, have to boot with nv_disable=1 until you have them installed.
      You have to install Clover in legacy mode because this old fella does not support UEFI.
       
      Only downside: The so often recommended Inateck USB-card isn't recognized by BIOS, so you cannot boot from it. It works perfectly within macOS though, have the ac-Wifi connected to it.
      config.plist.zip
      DSDT.aml.zip
    • By VortexisTV
      I'm trying to enable UHD 620 graphics on my laptop since it's almost impossible to use Catalina with it disabled (freezing), so after I followed this guide, every time I try to boot into Catalina it does get stuck at the apple logo and progress bar. Heres also the EFI if anyone wants to look at. I'm using this UHD 620 plist to try to get my graphics to work.
       
      ASUS Zenbook UX331FN
      i5-8265U
      Intel UHD Graphics 620
      8GB of SDDR4 Ram

       
×