Jump to content

DSDT Editor e Patcher


  • Please log in to reply
27 replies to this topic

#1
el coniglio

el coniglio

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 101 posts
Estou disponibilizando o DSDT Editor, feito por mim com a ajuda do oldnapalm.

Para download e mais informações, confira esse tópico

Dentro do pacote existe uma pasta com alguns exemplos e um rtf que explica a sintaxe dos comandos.

Segue um screenshot:
Posted Image

Seguem alguns exemplos de como criar seu próprio patch:

1. Verificas todos os scopes com o nome _PR e remove as linhas de Alias() (cpus=1 fix)
into_all scope label _PR code_regex Alias\s\([^\n]+\n removeall_matched

2. Dentro do método _PTS, substitui o código por um que usa um valor capturado com regex (shutdown fix)
into method label _PTS code_regex_not LEqual\s\(Arg0,\s0x05\) code_regex ^((?:.|\n)*)$ replace_matched
begin
        If (LEqual (Arg0, 0x05)) {}\n
        Else\n
        {\n
%1
        }\n
end

3. Em um device com um _ADR específico, adiciona um código (orange AHCI hd icon fix)
into method label _DSM parent_adr 0x001F0002 remove_entry;
into device name_adr 0x001F0002 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
	Store (Package (0x02)\n
		{\n
			"device-id", \n
			Buffer (0x04)\n
			{\n
				0x81, 0x26, 0x00, 0x00\n
			}\n
		}, Local0)\n
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
	Return (Local0)\n
}\n
end

4. Em um device com um _HID específico, adiciona código
into device label HDEF parent_hid PNP0A08 remove_entry;
into device name_hid PNP0A08 insert
begin
Device (HDEF)\n
{\n
	Name (_ADR, 0x001B0000)\n
	Method (_DSM, 4, NotSerialized)\n
	{\n
		Store (Package (0x08)\n
			{\n
				"codec-id", \n
				Buffer (0x04)\n
				{\n
					0x9B, 0x82, 0x43, 0x10\n
				}, \n
\n
				"layout-id", \n
				Buffer (0x04)\n
				{\n
					0x0C, 0x00, 0x00, 0x00\n
				}, \n
\n
				"device-type", \n
				Buffer (0x17)\n
				{\n
					"Analog Devices AD1988B"\n
				}, \n
\n
				"PinConfigurations", \n
				Buffer (0x24)\n
				{\n
					/* 0000 */	0x30, 0x40, 0x21, 0x01, 0x10, 0x40, 0x11, 0x01, \n
					/* 0008 */	0x40, 0x90, 0xA1, 0x01, 0x50, 0x30, 0x81, 0x01, \n
					/* 0010 */	0x60, 0x10, 0x01, 0x01, 0x20, 0x90, 0xA0, 0x90, \n
					/* 0018 */	0x80, 0xF1, 0x45, 0x01, 0x90, 0xF1, 0xC5, 0x01, \n
					/* 0020 */	0x70, 0x60, 0x01, 0x01\n
				}\n
			}, Local0)\n
		DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
		Return (Local0)\n
	}\n
}\n
end

5. Um patch um pouco mais complexo (HPET/RTC/PIC/TMR irqs fix)
into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} store_%8;
into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} store_%9;
into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0103 code_regex_not IRQNoFlags code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\)\n\s+\{((?:.|\n)*)\}\) replace_matched
begin
Name (%1, ResourceTemplate ()\n
					{\n
						IRQNoFlags ()\n
							{%8}\n
						IRQNoFlags ()\n
							{%9}\n
%2
})\n
end

Créditos: o componente editor http://code.google.com/p/jsyntaxpane/
IASL, da Intel
Feito em Java

#2
macmarques

macmarques

    Marques

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Gender:Male
Show de bola coniglio!
Agora to precisando de uma maozinha aqui, ainda estou a desenvolver um ACL883 pro meu Hack, acho que nao to sabendo aplicar o metodo, pode dar uma ajuda ae.

MArques

#3
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,837 posts
  • Gender:Male
  • Location:Brazil
Já tem um patch pra ALC883 na pasta patches.

Se o seu DSDT já tem device HDEF, aplique apenas o patch ALC883.

Se tem device AZAL, aplique os patches "AZAL to HDEF" e o ALC883.

Se não tem AZAL nem HDEF, aplique o HDEF e o ALC883.

Outros patches que pode utilizar:
- RTC (elimina a kext LegacyAppleRTC)
- SpeedStep e LPC (elimina Disabler, NullCPUPowerManagement e SleepEnabler)
- talvez precise do HPET (se tiver KP "no HPET available")
- IRQs (se tiver problema de lentidão com o SpeedStep

#4
macmarques

macmarques

    Marques

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Gender:Male

Já tem um patch pra ALC883 na pasta patches.

Se o seu DSDT já tem device HDEF, aplique apenas o patch ALC883.

Se tem device AZAL, aplique os patches "AZAL to HDEF" e o ALC883.

Se não tem AZAL nem HDEF, aplique o HDEF e o ALC883.

Outros patches que pode utilizar:
- RTC (elimina a kext LegacyAppleRTC)
- SpeedStep e LPC (elimina Disabler, NullCPUPowerManagement e SleepEnabler)
- talvez precise do HPET (se tiver KP "no HPET available")
- IRQs (se tiver problema de lentidão com o SpeedStep


OK, Old uso OS Retail (EFI) devo fazer os procedimentos nela, certo?

Hoje tenho as seguintes kexts na minha EFI:
Posted Image
Quais alem do Audio, eu poderia remover e aplicar DSDT?
Seguinte, os DSDTs gerados tem que estar dentro da EFI na pasta Extra, correto?

Aguardo

Marques

#5
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,837 posts
  • Gender:Male
  • Location:Brazil
Só vai ficar a fakesmc de todas que você tem aí.

Como o Maldon respondeu no outro tópico, vai precisar da legacyHDA pra ALC883, e uma modificação no binário da AppleHDA original (veja no tópico do update 10.6.4).

Sobre o restart, você pode usar o Chameleon RC5 ou outro bootloader com o fix. O shutdown pode ser consertado por DSDT, mas o que tem no editor é apenas para ASUS, estamos testando o da Gigabyte.

O dsdt.aml deve estar na pasta Extra da partição do bootloader, se você usa o Chameleon na EFI, é nela.

#6
el coniglio

el coniglio

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 101 posts
Novo release disponível. Mais detalhes nesse post: http://www.insanelym...p...t&p=1524057

#7
slipttees

slipttees

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 343 posts
  • Gender:Male
  • Location:Iguatu-CE, Brazil
el coniglio... poderia implementar o opção de abas para abrir mais de 1 arquivos?
el coniglio... poderia implementar também a opção de mover código pela a arvore?
el coniglio... poderia melhorar a opçãp "insert"...tipo adicionar o DTGP em qualquer parte e a mesma forma os devices...assim mantendo o dsdt mais organizado.

falow

#8
MaLd0n

MaLd0n

    ...filling veins with juice of chaos...

  • Moderators
  • 11,137 posts
  • Gender:Male
  • Location:Rio de Janeiro

...assim mantendo o dsdt mas organizado.

WoWPosted Image

Eu gostaria de pedir uns fixs de alguns Warnings, sei que não vai fazer diferença nenhuma na pratica, mas mts gostariam disso.
Posted Image

#9
slipttees

slipttees

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 343 posts
  • Gender:Male
  • Location:Iguatu-CE, Brazil
kkkkkk, jogando areia como sempre :-p

valeu :)

#10
MaLd0n

MaLd0n

    ...filling veins with juice of chaos...

  • Moderators
  • 11,137 posts
  • Gender:Male
  • Location:Rio de Janeiro

kkkkkk, jogando areia como sempre :-p

valeu :)


Nops
eu gostei dessa

...assim mantendo o dsdt mas organizado.


Posted Image

#11
Tadeu Ferreira

Tadeu Ferreira

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts
  • Gender:Male
  • Location:RIMINI - ITALIA
  • Interests:Hackintosh - Dual boot Snow Leopard, Windows 7

OK, Old uso OS Retail (EFI) devo fazer os procedimentos nela, certo?

Hoje tenho as seguintes kexts na minha EFI:
Posted Image
Quais alem do Audio, eu poderia remover e aplicar DSDT?
Seguinte, os DSDTs gerados tem que estar dentro da EFI na pasta Extra, correto?

Aguardo

Marques


Oque devo fazer depois que aplico a Patch de Audio ALC662? Pois aplico e mesmo assim meu Audio fica horrivel travando e de vez enquando não abre.

#12
MaLd0n

MaLd0n

    ...filling veins with juice of chaos...

  • Moderators
  • 11,137 posts
  • Gender:Male
  • Location:Rio de Janeiro

Oque devo fazer depois que aplico a Patch de Audio ALC662? Pois aplico e mesmo assim meu Audio fica horrivel travando e de vez enquando não abre.


isso é a sua pasta Extra?
Posted Image

pro audio vc precisa do DSDT com o patch(ALC662) + Legacy
e a partir do 10.6.3 vc vai precisar tb da Applehda mod ou usar a Apple Hda 10.6.2
FICANDO
DSDT com o patch(ALC662) + Legacy + AppleHda 10.6.2

#13
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,837 posts
  • Gender:Male
  • Location:Brazil

Oque devo fazer depois que aplico a Patch de Audio ALC662? Pois aplico e mesmo assim meu Audio fica horrivel travando e de vez enquando não abre.

Pode tentar aplicar o patch "IRQs".

Você está usando AppleHDA ou VoodooHDA?

#14
JuniorGump

JuniorGump

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 113 posts
  • Gender:Male
  • Location:Paraíba, Brasil
Ele não tá querendo funcionar aqui nem com reza braba.

Eu abro o programa, vou em DSL, mando extrair pro sistema, ae ele cria um processo que come 100% de um Core, e nao faz simplesmente nada ¬¬ encerro o programa, mas o processo continua rodando... mado forçar a finalização, e mesmo assim nao adianta;;; Ja fiz limpeza no sistema com o Cleanmymac, e nada..

No meu netbook funfava direitinho.. no Desktop, ta com isso :wacko:

#15
MaLd0n

MaLd0n

    ...filling veins with juice of chaos...

  • Moderators
  • 11,137 posts
  • Gender:Male
  • Location:Rio de Janeiro
Extraia o DSDT e "upa" que eu aplico pra vc

qual a sua placa mãe, processador, etc?

rode esse comando no terminal
perl -e 'open(CMD, "ioreg -lw0 \| grep DSDT|") or die; while(<CMD>) { chomp; if($_ =~ /\"DSDT\.?\d?\"=<([^>]*)>/) { $buff = $1; open(PIP, "|xxd -r -p > dsdt.aml") or die; print PIP "$1"; } }'
o DSDT vai ser gerado na sua pasta de usuário

#16
JuniorGump

JuniorGump

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 113 posts
  • Gender:Male
  • Location:Paraíba, Brasil
MaLd0n

Obrigado irmao. Eu fiz o procedimento, apesar que demorou pra caramba, mas gerou...

vou fazer de novo só que pelo programa... estranho que no meu netbook com uma configuração inumeras vezes inferior ao do desktop, gerou tao rapido... e no desktop demora pra caramba .... rsrss

vai entender.. :wacko:

#17
Tadeu Ferreira

Tadeu Ferreira

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts
  • Gender:Male
  • Location:RIMINI - ITALIA
  • Interests:Hackintosh - Dual boot Snow Leopard, Windows 7

Pode tentar aplicar o patch "IRQs".

Você está usando AppleHDA ou VoodooHDA?


Olá Old, Estou usando VoodooHDA

#18
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,837 posts
  • Gender:Male
  • Location:Brazil

Olá Old, Estou usando VoodooHDA

O patch DSDT é para ser usado com a AppleHDA e uma legacyHDA para o seu codec.

Para usar a VoodooHDA não use o patch, pode até atrapalhar. O patch IRQs pode ajudar no caso dos ruídos.

#19
Tadeu Ferreira

Tadeu Ferreira

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts
  • Gender:Male
  • Location:RIMINI - ITALIA
  • Interests:Hackintosh - Dual boot Snow Leopard, Windows 7

O patch DSDT é para ser usado com a AppleHDA e uma legacyHDA para o seu codec.

Para usar a VoodooHDA não use o patch, pode até atrapalhar. O patch IRQs pode ajudar no caso dos ruídos.


Ola Oldnapalm,
Tentarei aplicarei a patch do IRQ na DSDT que o Mald0n editou para mim com as fixs obrigatorias.

#20
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,837 posts
  • Gender:Male
  • Location:Brazil

Ola Oldnapalm,
Tentarei aplicarei a patch do IRQ na DSDT que o Mald0n editou para mim com as fixs obrigatorias.

Não precisa, ele já aplicou.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy