Jump to content

[dúvida] Asus K45VM


Recommended Posts




Abrfilho, a sugestão do PernaCabeluda, seria, comparar a DSDT do K55VM (original x modificada) pegar as alterações e lançar na K45VM.


Caro Pernacabeluda, os modelos realmente são muito parecidos, tanto que funcionou praticamente tudo.

O Som, já corrigimos (Exceto no HDMI)

Falta a Bateria.

Mas se conseguirmos a DSDT original do K55VM podemos atacar por essa frente também.

 

Hmm, entendi... Vou ver se consigo a DSDT original do K55VM e compartilho com vocês caso consiga... Estarei mais disponível para testar modificações após o dia 9/12, pois é quando terminam minhas provas da faculdade.

Pernacabeluda, me desculpa pela minha falta de entendimento... Rsrs


Edit: Lourival, você testou os P States? Quantos que tem?

Link to post
Share on other sites
  • Replies 86
  • Created
  • Last Reply

Top Posters In This Topic

podes tentar usar esse patch na dsdt:


https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/graphics/graphics_PNLF_ivy_sandy.txt


o brilho máximo em muitos casos só vem após desligar e ligar o lcd (ctrl + alt + pwr). esse patch resolveu isso pra mim. a tela pisca enquanto o sistema sobe e já vem com o brilho correto.

 

Dentro do info.plist da kext tem uma linha que tem o nível de brilho e está setado como 12, se eu aumentar faz alguma diferença?


Não tem como eu testar isso agora pois eu estava testando umas kexts de áudio e agora o sistema não sobe mais...

Link to post
Share on other sites

Meu dsdt.aml para este notebook que extrai e uso a bastante tempo ja desde o ML, tem alguns patch aplicados, para sleep etc.

Ve se serve pra voces.

No maverick estava praticamente perfeito, ja no YOSEMITE, algumas coisa não estão funcionando como a bateria por exemplo.

Estou tentando editar para dar suporte as teclas FN, e desabilitar a Gforce.

Abracos ( sem acento )

DSDT.aml.zip

Link to post
Share on other sites
Meu dsdt.aml para este notebook que extrai e uso a bastante tempo ja desde o ML, tem alguns patch aplicados, para sleep etc.

Ve se serve pra voces.

No maverick estava praticamente perfeito, ja no YOSEMITE, algumas coisa não estão funcionando como a bateria por exemplo.

Estou tentando editar para dar suporte as teclas FN, e desabilitar a Gforce.

Abracos ( sem acento )

 

Quais patches você usou para os que estão funcionando?

Link to post
Share on other sites
  • 1 month later...

Fiz a atualização para o Yosemite 10.10.2.


Realizei através do App Store.

Não obtive nenhum erro durante a atualização, que transcorreu totalmente automatizada.

Após resetar, pediu novamente a senha do App Store.


Som deixou de funcionar, mas bastou reinstalar o kext, após reiniciar, voltou ao normal.

Rede via cabo, funcionando.

Touchpad, funcionando.

Não tenho cartão para testar o leitor de cartão agora.

Marcador de bateria continua sem funcionar.



Obs.

Esperando encomenda da china, com uma placa wireless para testar.

Link to post
Share on other sites

O leitor de cartão, está funcionando.

Vou pesquisar sobre a sua dica, para resolver o problema da bateria.


Fiz o teste do USB 3.0 (Não havia feito antes da atualização)

Está funcionando perfeitamente


Usei um arquivo de 420 Mb que estava no SSD.

Copiei o arquivo para uma Gaveta USB 3.0, usando a porta 3.0 e a porta 2.0

Vejam as diferenças


Windows 8.1 - USB 2.0 = 16"96

Windows 8.1 - USB 3.0 = 03"36

Mac OSX 10.10.2 - USB 2.0 = 10"82

Mac OSX 10.10.2 - USB 3.0 = 03"15

Link to post
Share on other sites
  • 1 month later...

Pessoal, comprei na china uma placa wirelles Atheros AR9280 - AR5BHB92 Dual-Band.

Coloquei no notebook e funcionou perfeitamente. Não foi necessário qualquer instalação de kext ou programas. 100% recomendado.

http://www.aliexpress.com/snapshot/6407530936.html?orderId=65092675920014


Comprei dia 14/12, foi postado dia 17/12, embarcado em 18/12, chegou nos correios do Brasil dia 30/12, e só foi entregue hoje, 19/03, ou seja quase 80 dias depois. Mas chegou e estou feliz com a aquisição.


Hackintosh chegando perto dos 100%

Link to post
Share on other sites

Caro PernaCabeluda e outros com conhecimentos aprofundados.

Como descrito neste tópico, temos um Asus K45VM e estamos usando o DSDT de um K55VM, mas o marcador de bateria não funciona. Assim, estou tentando desativar a placa Nvidia com o DSDT do próprio K45VM e fazer as coisas da forma correta, assim, segui a dica deste tópico: (http://Olarila.com/forum/viewtopic.php?f=7&t=3084)


Exportei os arquivos DSDT, SSDT's e outros.

Encontrei os MÉTODOS _ON e _OFF no SSDT-9, que utilizam os métodos SGON e SGOF do SSDT-8.

Bom, copiei os métodos _ON e _OFF do SSDT-9 e coloquei no DSDT dentro do escopo _SB.PCI0.PEG0.PEGP.


Obtive os erros abaixo

CODE  DESCRIÇÃO   
4064    Object does not exist (SGON)
4068    Object is not accessible from this scope (CMDR)
4064    Object does not exist (VGAB)
4064    Object does not exist (VGAR)
4068    Object is not accessible from this scope (CMDR)
4064    Object does not exist (NHDM)
4064    Object does not exist (CTXT)
4064    Object does not exist (VGAR)
4064    Object does not exist (VGAB)
4064    Object does not exist (CTXT)
4064    Object does not exist (SGOF)

Os erros SGON e SGOF, corrigi colocando as linhas abaixo no bloco de Definição (inicio do DSDT)

   
External (SGON, MethodObj)
External (SGOF, MethodObj)

Os Erros CTXT e VGAB, corrigi inserindo as linhas abaixo no escopo _SB.PCI0.PEG0.PEGP

        Name (CTXT, Zero)
       Name (VGAB, Buffer (0xFB)
       {
           0x00
       })

Os 5 erros restates, teoricamente seriam corrigidos com a inserção do texto abaixo no escopo _SB.PCI0.PEG0.PEGP, que também foram copiados do SSDT-9.

        
OperationRegion (WPCI, SystemMemory, EBAS (0x1000), Field (WPCI, DWordAcc, NoLock, Preserve)
           {
                       Offset (0x04), 
               CMDR,   8, 
               VGAR,   2008
           })

e

        OperationRegion (BPCI, SystemMemory, EBAS (0x1000), Field (BPCI, DWordAcc, NoLock, Preserve)
           {
                       Offset (0x04), 
               PCIC,   32, 
                       Offset (0x10), 
               GMM1,   32, 
               GMM2,   32, 
                       Offset (0x1C), 
               GMM3,   32, 
                       Offset (0x24), 
               GIO1,   32, 
                       Offset (0x3C), 
               GIRQ,   32, 
               SID,    32, 
                       Offset (0x488), 
                   ,   25, 
               NHDM,   1
           })

Ocorre que ao inserir as linhas acima, obtenho 59 erros, mas acredito que o principal seriam

CODE  DESCRIÇÃO
4096    Sintaxe error unexpected PARSEOP_FIELD
4096    Sintaxe error unexpected PARSEOP_SCOPE, expecting $end

 

Seria como se estivesse errando na sintaxe, mas como o texto foi copiado do SSDT-9 não há erro de digitação.

Abaixo, segue como está o escopo _SB.PCI0.PEG0.PEGP, alguém pode me ajudar a encontrar o erro?

    Scope (_SB.PCI0.PEG0.PEGP)
   {
       OperationRegion (DGFX, PCI_Config, Zero, 0xF0)
       Field (DGFX, DWordAcc, Lock, Preserve)
       {
                   Offset (0x0B), 
           LNKV,   8
       }
       // Inicio Insercao 02 - By Borba
       Name (CTXT, Zero)
       Name (VGAB, Buffer (0xFB)
       {
           0x00
       })
       // Iria colocar os codigos aqui        

       // Fim Insercao 01 - By Borba                  

       Method (_PRW, 0, NotSerialized)
       {
           Return (GPRW (0x09, 0x04))
       }

       // Inicio Insercao 02 - By Borba

       Method (_ON, 0, Serialized)
       {
           SGON ()
           Store (Zero, CMDR)
           Store (VGAB, VGAR)
           Store (0x06, CMDR)
           Store (0xB7, SSMP)
           If (LEqual (And (SGFL, 0x02), Zero))
           {
               Store (Zero, NHDM)
           }
       }

       Method (_OFF, 0, Serialized)
       {
           If (LEqual (CTXT, Zero))
           {
               Store (VGAR, VGAB)
               Store (One, CTXT)
           }
           SGOF ()
       }
       // Fim Insercao 02 - By Borba
   }

 

Abaixo, segue os arquivos originais e os patch que eu juntei pela net.

 

origin.zip

 

# Erro:
#	Name already exists in scope (\TNOT) 

# Patch
# Borba
# Alterar  External (\TNOT) -> //External (\TNOT)

into_all all code_regex (External\s\(\\TNOT\)) replaceall_matched
begin
//External (\\TNOT)
end;


# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Erro:
# 	Invalid object type for reserved name  (found buffer requires package)

# Patch
# rehabman:
# _PLD is supposed to return a variable length Package of Buffers

into_all all code_regex (Name\s*\(_PLD,\s*)Buffer(\s\(0x10\)[^\)]*) replaceall_matched
begin
%1Package() { Buffer%2}
end;

#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Comentário :
#	use of compiler reserved name (_T_0)

# Patch
# Maintained by: PHPdev32 for: Sourceforge

into device label _T_0 set_label begin T_0 end;
into device label _T_1 set_label begin T_1 end;
into device label _T_2 set_label begin T_2 end;
into device label _T_3 set_label begin T_3 end;
into device label _T_4 set_label begin T_4 end;
into device label _T_5 set_label begin T_5 end;

into_all all code_regex _T_0 replaceall_matched begin T_0 end;
into_all all code_regex _T_1 replaceall_matched begin T_1 end;
into_all all code_regex _T_2 replaceall_matched begin T_2 end;
into_all all code_regex _T_3 replaceall_matched begin T_3 end;
into_all all code_regex _T_4 replaceall_matched begin T_4 end;
into_all all code_regex _T_5 replaceall_matched begin T_5 end;

#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
# Aviso:
#	unknown reserved name (_WED)

into method label _WED set_label begin WED end;

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso: 
#	unknown reserved name (_WDG)


into_all all code_regex _WDG replaceall_matched begin WDG end;

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#	Possible operator timeout is ignored
#
#
# Patch
# Borba:
# Acquire (MUTE, 0x03e8)  Substituir por Acquire (MUTE, 0xFFFF)
# Acquire (MUTE, 0x0FFF)  Substituir por Acquire (MUTE, 0xFFFF)

into_all all code_regex (Acquire\s\(MUTE,\s)0x03E8\) replaceall_matched
begin
Acquire (MUTE, 0xFFFF)
end;

into_all all code_regex (Acquire\s\(MUTE,\s)0x0FFF\) replaceall_matched
begin
Acquire (MUTE, 0xFFFF)
end;

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
#
#    F A Z E R    C O R R E Ç Ã O    M A N U A L M E N T E
#
# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Statement is unreachable
#   
#
#   Remover as linhas abaixo, que estão no final do método,
#   pois estão inseridas após a linha 
#
#   Return (Local2)
#
#   logo não tem funcionalidade, além de estarem duplicadas  
#
#
#               While (LEqual (And (P6CH, 0x02), 0x02))
#                {
#                    Sleep (0x0A)
#                }
#
#                Store (0xFF, P6CH)

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Not all control paths return a value (_DSM)
#
#
#   Inserir a linha ao final do método
#
#            Return (Zero)  

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Not all control paths return a value (HSWC)
#
#
#   Inserir a linha ao final do método
#
#            Return (Zero)     

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Not all control paths return a value (WMNB)
#
#
#   Inserir a linha ao final do método
#
#            Return (Zero)    

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Result is not used operator has no effect dsdt
#
#
#   Não encontrei solução
#  

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Link to post
Share on other sites

Acho que eh o dia de sorte de voces ( espero ).

Depois de algumas garrafas de cafe e horas editando, consegui fazer a Bateria funcionar editando o dsdt seguindo o tutorial do rehabman.

Segue em anexo os arquivos que usei e o DSDT-final.aml e meu config.plist.

Lembrando que sera necessario instalar o kext do rehabman incluido.


https://www.dropbox.com/s/6lwdylibrbk022c/K45VM-DSDT-Patchs.zip?dl=0


Ainda nao teste o sleep.

Espero que ajude.

Link to post
Share on other sites
Caro PernaCabeluda e outros com conhecimentos aprofundados.

Como descrito neste tópico, temos um Asus K45VM e estamos usando o DSDT de um K55VM, mas o marcador de bateria não funciona. Assim, estou tentando desativar a placa Nvidia com o DSDT do próprio K45VM e fazer as coisas da forma correta, assim, segui a dica deste tópico: (http://Olarila.com/forum/viewtopic.php?f=7&t=3084)


Exportei os arquivos DSDT, SSDT's e outros.

Encontrei os MÉTODOS _ON e _OFF no SSDT-9, que utilizam os métodos SGON e SGOF do SSDT-8.

Bom, copiei os métodos _ON e _OFF do SSDT-9 e coloquei no DSDT dentro do escopo _SB.PCI0.PEG0.PEGP.


Obtive os erros abaixo

CODE  DESCRIÇÃO   
4064    Object does not exist (SGON)
4068    Object is not accessible from this scope (CMDR)
4064    Object does not exist (VGAB)
4064    Object does not exist (VGAR)
4068    Object is not accessible from this scope (CMDR)
4064    Object does not exist (NHDM)
4064    Object does not exist (CTXT)
4064    Object does not exist (VGAR)
4064    Object does not exist (VGAB)
4064    Object does not exist (CTXT)
4064    Object does not exist (SGOF)

Os erros SGON e SGOF, corrigi colocando as linhas abaixo no bloco de Definição (inicio do DSDT)

   
External (SGON, MethodObj)
External (SGOF, MethodObj)

Os Erros CTXT e VGAB, corrigi inserindo as linhas abaixo no escopo _SB.PCI0.PEG0.PEGP

        Name (CTXT, Zero)
       Name (VGAB, Buffer (0xFB)
       {
           0x00
       })

Os 5 erros restates, teoricamente seriam corrigidos com a inserção do texto abaixo no escopo _SB.PCI0.PEG0.PEGP, que também foram copiados do SSDT-9.

        
OperationRegion (WPCI, SystemMemory, EBAS (0x1000), Field (WPCI, DWordAcc, NoLock, Preserve)
           {
                       Offset (0x04), 
               CMDR,   8, 
               VGAR,   2008
           })

e

        OperationRegion (BPCI, SystemMemory, EBAS (0x1000), Field (BPCI, DWordAcc, NoLock, Preserve)
           {
                       Offset (0x04), 
               PCIC,   32, 
                       Offset (0x10), 
               GMM1,   32, 
               GMM2,   32, 
                       Offset (0x1C), 
               GMM3,   32, 
                       Offset (0x24), 
               GIO1,   32, 
                       Offset (0x3C), 
               GIRQ,   32, 
               SID,    32, 
                       Offset (0x488), 
                   ,   25, 
               NHDM,   1
           })

Ocorre que ao inserir as linhas acima, obtenho 59 erros, mas acredito que o principal seriam

CODE  DESCRIÇÃO
4096    Sintaxe error unexpected PARSEOP_FIELD
4096    Sintaxe error unexpected PARSEOP_SCOPE, expecting $end

 

Seria como se estivesse errando na sintaxe, mas como o texto foi copiado do SSDT-9 não há erro de digitação.

Abaixo, segue como está o escopo _SB.PCI0.PEG0.PEGP, alguém pode me ajudar a encontrar o erro?

    Scope (_SB.PCI0.PEG0.PEGP)
   {
       OperationRegion (DGFX, PCI_Config, Zero, 0xF0)
       Field (DGFX, DWordAcc, Lock, Preserve)
       {
                   Offset (0x0B), 
           LNKV,   8
       }
       // Inicio Insercao 02 - By Borba
       Name (CTXT, Zero)
       Name (VGAB, Buffer (0xFB)
       {
           0x00
       })
       // Iria colocar os codigos aqui        

       // Fim Insercao 01 - By Borba                  

       Method (_PRW, 0, NotSerialized)
       {
           Return (GPRW (0x09, 0x04))
       }

       // Inicio Insercao 02 - By Borba

       Method (_ON, 0, Serialized)
       {
           SGON ()
           Store (Zero, CMDR)
           Store (VGAB, VGAR)
           Store (0x06, CMDR)
           Store (0xB7, SSMP)
           If (LEqual (And (SGFL, 0x02), Zero))
           {
               Store (Zero, NHDM)
           }
       }

       Method (_OFF, 0, Serialized)
       {
           If (LEqual (CTXT, Zero))
           {
               Store (VGAR, VGAB)
               Store (One, CTXT)
           }
           SGOF ()
       }
       // Fim Insercao 02 - By Borba
   }

 

Abaixo, segue os arquivos originais e os patch que eu juntei pela net.

 

[attachment=0]origin.zip[/attachment]

 

# Erro:
#	Name already exists in scope (\TNOT) 

# Patch
# Borba
# Alterar  External (\TNOT) -> //External (\TNOT)

into_all all code_regex (External\s\(\\TNOT\)) replaceall_matched
begin
//External (\\TNOT)
end;


# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Erro:
# 	Invalid object type for reserved name  (found buffer requires package)

# Patch
# rehabman:
# _PLD is supposed to return a variable length Package of Buffers

into_all all code_regex (Name\s*\(_PLD,\s*)Buffer(\s\(0x10\)[^\)]*) replaceall_matched
begin
%1Package() { Buffer%2}
end;

#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Comentário :
#	use of compiler reserved name (_T_0)

# Patch
# Maintained by: PHPdev32 for: Sourceforge

into device label _T_0 set_label begin T_0 end;
into device label _T_1 set_label begin T_1 end;
into device label _T_2 set_label begin T_2 end;
into device label _T_3 set_label begin T_3 end;
into device label _T_4 set_label begin T_4 end;
into device label _T_5 set_label begin T_5 end;

into_all all code_regex _T_0 replaceall_matched begin T_0 end;
into_all all code_regex _T_1 replaceall_matched begin T_1 end;
into_all all code_regex _T_2 replaceall_matched begin T_2 end;
into_all all code_regex _T_3 replaceall_matched begin T_3 end;
into_all all code_regex _T_4 replaceall_matched begin T_4 end;
into_all all code_regex _T_5 replaceall_matched begin T_5 end;

#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
# Aviso:
#	unknown reserved name (_WED)

into method label _WED set_label begin WED end;

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso: 
#	unknown reserved name (_WDG)


into_all all code_regex _WDG replaceall_matched begin WDG end;

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#	Possible operator timeout is ignored
#
#
# Patch
# Borba:
# Acquire (MUTE, 0x03e8)  Substituir por Acquire (MUTE, 0xFFFF)
# Acquire (MUTE, 0x0FFF)  Substituir por Acquire (MUTE, 0xFFFF)

into_all all code_regex (Acquire\s\(MUTE,\s)0x03E8\) replaceall_matched
begin
Acquire (MUTE, 0xFFFF)
end;

into_all all code_regex (Acquire\s\(MUTE,\s)0x0FFF\) replaceall_matched
begin
Acquire (MUTE, 0xFFFF)
end;

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
#
#    F A Z E R    C O R R E Ç Ã O    M A N U A L M E N T E
#
# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Statement is unreachable
#   
#
#   Remover as linhas abaixo, que estão no final do método,
#   pois estão inseridas após a linha 
#
#   Return (Local2)
#
#   logo não tem funcionalidade, além de estarem duplicadas  
#
#
#               While (LEqual (And (P6CH, 0x02), 0x02))
#                {
#                    Sleep (0x0A)
#                }
#
#                Store (0xFF, P6CH)

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Not all control paths return a value (_DSM)
#
#
#   Inserir a linha ao final do método
#
#            Return (Zero)  

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Not all control paths return a value (HSWC)
#
#
#   Inserir a linha ao final do método
#
#            Return (Zero)     

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Not all control paths return a value (WMNB)
#
#
#   Inserir a linha ao final do método
#
#            Return (Zero)    

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

# Aviso:
#       Result is not used operator has no effect dsdt
#
#
#   Não encontrei solução
#  

# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 

@Lourival

A partir da linha 12617 você ira encontra isso que esta abaixo.


OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF)

Field (ECRM, ByteAcc, Lock, Preserve)

{

Offset (0x5D),

ERIB, 16,

ERBD, 8,

Offset (0xAA),

Offset (0xAB),

Offset (0xAD),

, 4,

Offset (0xAE),

PTVL, 4,

Offset (0xB0),

Offset (0xB1),

Offset (0xB2),

Offset (0xB3),

Offset (0xB4),

Offset (0xB5),

Offset (0xBC),

Offset (0xBD)

}


O que você deve fazer eh pegar o registro ERIB que armazena 16 bits e transforma-lo em dois de 8, ficando assim.

Não pode criar um registro que ja exista então ficaria assim, RIB0 e RIB1


OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF)

Field (ECRM, ByteAcc, Lock, Preserve)

{

Offset (0x5D),

RIB0, 8,

RIB1, 8,

ERBD, 8,

Offset (0xAA),

Offset (0xAB),

Offset (0xAD),

, 4,

Offset (0xAE),

PTVL, 4,

Offset (0xB0),

Offset (0xB1),

Offset (0xB2),

Offset (0xB3),

Offset (0xB4),

Offset (0xB5),

Offset (0xBC),

Offset (0xBD)

}


Depois logo abaixo voce ira encontrar isso:


Mutex (FAMX, 0x00)

Method (FANG, 1, NotSerialized)

{

Acquire (FAMX, 0xFFFF)

Store (Arg0, ERIB)

Store (ERBD, Local0)

Release (FAMX)

Return (Local0)

}


Method (FANW, 2, NotSerialized)

{

Acquire (FAMX, 0xFFFF)

Store (Arg0, ERIB)

Store (Arg1, ERBD)

Release (FAMX)

Return (Arg1)

}


E vai apontar os dois de 8 para o método B1B2 que recebera os dois valores ficando assim:


Mutex (FAMX, 0x00)

Method (FANG, 1, NotSerialized)

{

Acquire (FAMX, 0xFFFF)

Store (Arg0, B1B2(RIB0,RIB1))

Store (ERBD, Local0)

Release (FAMX)

Return (Local0)

}


Method (FANW, 2, NotSerialized)

{

Acquire (FAMX, 0xFFFF)

Store (Arg0, B1B2(RIB0,RIB1))

Store (Arg1, ERBD)

Release (FAMX)

Return (Arg1)

}


Depois ira adicionar o método B1B2 aplicando o patch abaixo.


into method label B1B2 remove_entry;

into definitionblock code_regex . insert

begin

Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n

end;


Compile se der erro no TNOT simples remova a linha, toda vez que aplicar um patch ou tentar recompilar vai dar erro nas linhas acima, o que vc deve fazer e apenas deixa-las novamente como estão nesse post.

Mais fácil, use o meu dsdt.

Adicione o kext do Rehabman que esta incluído no meu post anterior, la também esta meu dsdt que esta pronto e funcionando tudo

Pronto a bateria vai marcar certo agora.


Abracos

Link to post
Share on other sites
  • 3 weeks later...

Primeiramente, olá galera!

Bom, acompanho o fórum há algum tempo já, porém, este é meu primeiro post tive alguns problemas na minha máquina, e tive de formatar, estou a instalar meu yosemite novamente hoje, gostaria de saber como estão as novidades, a respeito do k45vm, que por acaso, também possuo um. Como está rodando o hack? O que funciona ou não? A resolução esta ok (1366x768)?

Sobre a placa de vídeo, alguém já testou http://www.hackintoshworld.com/como-usar-drivers-cuda-nvidia/ ? Sabe se funciona com a nossa GT630M? Alguma ideia de suporte a ela?

Grato desde já e informo que estão com mais um membro contribuinte de informações! rs

Abraços!!!

Link to post
Share on other sites

Pessoal, me surgiuo seguinte problema, estou com o clover instalado na EFI, o mesmo, efetua boot naturalmente,porém quando seleciono o yosemite, o mesmo não dá prosseguimento. O Ruindows 8.1 e o Ubuntu estão operando naturalmente com o clover. O meu é o K45VM-VX106H e usei a DSDT-FINAL do nosso amigo bem como o config.

PS: Quando efetuo o boot através do pen drive, consigo acessar o yosemite perfeitamente.

Alguém sabe o que poderia ser?

Link to post
Share on other sites

Consegui resolver o problema, o clover que havia instalado estava bugado, uma outra versão sanou.

No momento me surgiu outro BO, coloquei a dsdt na EFI em patched, e o conf em seu devido lugar também, mas quando logo no sistema, os bugs permanecem, sem FN, sem VOLUME, e por aí vai....

Alguém me dê uma luz se possível....

Agradeço desde já!

Link to post
Share on other sites
  • 2 weeks later...

Olá locossaurorex, estava sem vir aqui há um tempo e vi que você resolveu algumas coisas na DSDT, porém eu não estou conseguindo realizar o download pelos links que você forneceu, ele me retorna que a página não existe.

Link to post
Share on other sites

@abrfilho

@Eduardocpj testa estas novas configuraçoes.


Segue minha pasta do Clover coloque na particao EFI

Esta nova pasta tem algumas correções como a troca do ElanTouchpad que causava random crash.


https://www.dropbox.com/s/oixhq4zfnv1fbtq/CLOVER.zip?dl=0

VoodooHDA

https://www.dropbox.com/s/ka9yhz3o9ucgdid/Voodoo.zip?dl=0


Lembre-se de mover os kexts da nvidia para outro local, eles deixam o osx instável.

sudo mkdir /KextBackup

sudo mv /System/Library/Extensions/NV* /KextBackup



Abracos

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



×
×
  • Create New...

:cap-Please Disable Your ADBlocker-:cap