Jump to content

[Guida] Leopard su ASUS P6T Deluxe V1&V2


1,267 posts in this topic

Recommended Posts

Premessa: questa è una guida, non un tutorial su problemi banali.

Per poterla utilizzare occorrono conoscenze minime del mondo Hackintosh.

 

NON risponderò a domande generiche del tipo: "come si fa a flashare il bios" "come faccio a mettere l'id della mia scheda nel kext" "come installo questo kext" etc, etc.

 

Per le risposte a tali domande esistono le F.A.Q.

 

Tali domande non verranno degnate di risposta senza alcuna spiegazione.

 

_____________________

 

P_500.jpgP_500.jpg

 

Leopard 10.5.8

Guida installazione su Asus P6T Deluxe

(Versione 1 - 2)

 

Premessa.

 

Non ho mai avuto un vero Macintosh, comprai questa motherboard e CPU nel diciembre del 2008 su un famoso sito di aste-online,

Inizialmente scoraggiato per questa nuova incompatibile architettura e sulla impossibilita' di poter installare OSX su questo l'Hardware

iniziai a documentarmi. Inizialmente l'installazione non era lineare ma incominciavano a vedersi i primi risultati con distro patchate.

Ho iniziato a conoscere questo fantastico mondo MAC e... sono rimasto stregato :)

 

Introduzione (Introduction).

Mac OS X 10.5 Leopard e' la sesta versione principale del sistema operativo Mac OS X sviluppato da Apple per i computer Macintosh.

E' stato annunciato per la prima volta il 6 giugno 2005 durante il Worldwide Developers Conference presieduto dal CEO di Apple Steve Jobs.

E' stato messo in vendita il 26 ottobre 2007. Prende il posto della versione 10.4.x Tiger e dopo circa due anni viene sostituito dalla 10.6.x Snow Leopard.

(Fonte: Wikipedia)

 

Installazione Leopard

Requisiti (Requirements).

 

 

Configurare fisicamente:

  • SATA Port1 il vostro Hard-disk
  • SATA Port2 il vostro lettore CD/DVD/BluRay

Nota: Se avete altri Hard-disk scollegateli, questo facilitera' l'installazione.

TIP: I suggest you unplug all your HDD from your computer except for the one where you will actually install Leo,

this will make things easier during the setup.

Settaggi del BIOS (BIOS Setting).

 

 [b]Main[/b]
- [b][i]Storage Configuration[/i][/b]
+ Configure SATA as [color="#2e8b57"][AHCI][/color]

[b]Advanced[/b]
- [b][i]CPU coonfiguration[/i][/b]
+ Intel HT Technology [color="#ff0000"][Disabled][/color]
+ Active Processor Cores [color="#ff0000"][1][/color]
+ A20M [color="#ff0000"][Disabled][/color]
+ tutto il resto [color="#2e8b57"][Enabled][/color]
- [b][i]Onboard Devices Configuration[/i][/b]
+ High Definition Audio [color="#ff0000"][Disabled][/color]
+ Marvell Storage Controller [color="#ff0000"][Disabled][/color]
+ Marvell LAN1 [color="#ff0000"][Disabled][/color]
+ Marvell LAN2 [color="#ff0000"][Disabled][/color]
+ Onboard 1394 Controller [color="#ff0000"][Disabled][/color]
- [b][i]USB Configuration[/i][/b]
+ USB Function [color="#2e8b57"][Enabled][/color]
+ USB 2.0 Controller [color="#2e8b57"][Enabled][/color]
+ USB Controller Mode [color="#2e8b57"][HiSpeed][/color]
+ BIOS EHCI Hand-OFF [color="#2e8b57"][Enabled][/color]
+ Legacy USB Support [color="#2e8b57"][AUTO][/color]

[b]Power[/b]
+ Suspend Mode [Auto]
+ Repost Video on S3 Resume [color="#2e8b57"][Yes][/color]
+ ACPI 2.0 Support [color="#2e8b57"][Enabled][/color]
+ ACPI APIC Support [color="#2e8b57"][Enabled][/color]
- [b][i]APM Configuration[/i][/b]
+ Restore on AC Power Loss [color="#2e8b57"][Last State][/color]

[b]Boot[/b]
- [b][i]Boot Device Priority[/i][/b]
+ 1st Boot Device [ATAPI CD-ROM]
+ 2nd Boot Device [Hard Drive]
+ 3rd Boot Device [color="#ff0000"][Disabled][/color]

Nota: In Onboard Device Configuration ho settato tutto su [Disabled], questo velocizzera' l'installazione.

TIP: I suggest you to set [Disable] all in Onboard Device, this will make things easier during the setup.

 

Avvio del DVD di Leopard (Boot Leopard DVD).

  • Masterizzare il file SlimBuild-Preboot.iso su CD (anche un cd riscrivibile va bene).
  • Avviare la nostra P6T Deluxe con il CD masterizzato.
  • Se vi viene chiesto premere [F8] (questo non succede a tutti). Quando appare il prompt di Darwin, premere [ESC],
    estraete il CD e inserite i vostro DVD di Leopard aspettate circa 10 secondi (fino a che la luce del lettore smette di lampeggiare),
    premere [ENTER] e poi [F8].
  • * (i7 920 -->) Scrivete: rd(0,1)/mach_kernel.voodoo busratio=20 -v -f rd=disk1s3
    e premete [ENTER], l'installazione dovrebbe avviarsi.
    * NOTA per chi avesse un processore diverso deve cambiare il busratio:
    (i7 940 -->) rd(0,1)/mach_kernel.voodoo busratio=22 -v -f rd=disk1s3
    (i7 950 -->) rd(0,1)/mach_kernel.voodoo busratio=23 -v -f rd=disk1s3
    (i7 965 -->) rd(0,1)/mach_kernel.voodoo busratio=24 -v -f rd=disk1s3
    (i7 975 -->) rd(0,1)/mach_kernel.voodoo busratio=25 -v -f rd=disk1s3
  • Vi apparira' una schermata simile a questa che dice:
     
    riavvio02.jpg


     
    Attempting to Determine CPU multiplier
    Determined CPU: FSB multiplier to be 0
    CPU Says 0 its multipler is 0 which makes no sense. The kernel as shipped by
    Apple will not support this and will cause the machine to reboot immediatly...
    Press 'y' to continue or use Ctrl+Alt+Delelete to reboot

  • Premete tranquillamente y (YES)
    (Nota: Durante l'avvio dell'installazione il sistema sembra bloccarsi...
    lasciatelo continuare si riprendera' in pochi minuti).
  • Dopo circa 15/20 minuti finalmente avremo questa schermata.
     
    avvio02.jpg


  • Scegliamo la lingua che preferiamo
  • In alto selezioniamo UTILITY ---> UTILITY DISCO (Come in figura)
     
    avvio04.jpg


  • E configuriamo il nostro Hard Disk (nell'esempio e' un 500 GB).
  • Il mio e' cosi partizionato**
    1) Leopard 110Gb
    2) Storage 140Gb
    3) Time Machine 250Gb
    (**Nota: Sei libero di scegliere se partizionare o meno il tuo Hard Disk
    la mia idea e' di avere una partizione per il sistema operativo,
    una per i dati e una per i backup da condividere con Snow che vedremo piu' avanti.
  • Una volta partizionato il nostro Hard Disk chiudiamo DISK UTILITY.
  • E continuiamo con l'installazione
     
    avvio08.jpg


  • Selezionata la partizione continuiamo avviando il processo di installazione.
     
    avvio09.jpg


  • Attendete che termini il processo di installazione.
     
    avvio10.jpg


  • Non vi preoccupate di questo avviso... L'installazione e' avvenuta con successo. :P
  • Diamo tranquillamente su RIAVVIA... perfetto installazione avvenuta!

 

Pre avvio di Leopard (Pre-boot Leopard).

  • Quando il sistema viene riavviato al termine del processo di installazione,
    inserire il CD (boot-132) anche questa volta, se viene chiesto premere [F8].
    Al prompt di Darwin premere [ESC], scrivere 80 e premere [ENTER].
    * (i7 920 -->) Scrivete: rd(0,1)/mach_kernel.voodoo busratio=20 -v -f -s rd=disk0s2
    * NOTA per chi avesse un processore diverso deve cambiare il busratio:
    (i7 940 -->) rd(0,1)/mach_kernel.voodoo busratio=22 -v -f -s rd=disk0s2
    (i7 950 -->) rd(0,1)/mach_kernel.voodoo busratio=23 -v -f -s rd=disk0s2
    (i7 965 -->) rd(0,1)/mach_kernel.voodoo busratio=24 -v -f -s rd=disk0s2
    (i7 975 -->) rd(0,1)/mach_kernel.voodoo busratio=25 -v -f -s rd=disk0s2
     
    riavvio06.jpg


  • Come nell'esempio in figura (Io ho un i7 940 il mio busratio sara' 22)
     
    riavvio02.jpg


  • Avremo nuovamente questa schermata... y [YES]
  • Finito il caricamento arriverete ad una schermata come quella qui sotto.
     
    riavvio07.jpg


  • Scrivete: /sbin/fsck -fy date invio e aspettate che concluda il processo
  • Scrivete: /sbin/mount -uw / date invio e aspettate che concluda il processo
  • Scrivete: passwd root date invio e [New password] digitare una password che userete per l'account root
  • [Retype new password] Ripetete la password appena inserita...
  • Scrivete: touch /var/db/.AppleSetupDone date invio
  • Scrivete: reboot date invio. Bene avete terminato il processo di configurazione.
    Effettuiamo direttamente questi passaggi per evitare la schermata di "DO YOU ALREADY OWN A MAC?" e approfittando per impostare la password per l'utente root

 

Avvio di Leopard (Boot Leopard).

    Bene siamo pronti per il primo avvio di Leopard, prima di effettuare l'ennesimo boot-132 (L'ULTIMO :) )
    assicuriamoci di avere copiato su di un PENDRIVE USB (o averli gia' copiati su Hard Disk) i seguenti file:
    - Il combo update per Leopard 10.5.8
    - Il mio Installer per la P6T Deluxe (Versione per i7 920) NEW
  • Riavviamo e segnamoci la velocita' della nostra RAM dal BOOT SCREEN (nel mio caso 1066 MHz).
     
    ramc.jpg


  • Dall'immagine sopra vedete che la mia frequenza e' 1066 MHz... SEGNATEVI LA VOSTRA! vi servira' tra poco...
  • Utilizziamo ancora una volta il nostro CD (boot-132) se viene chiesto premere [F8].
    Al prompt di Darwin premere [ESC], scrivere 80 e premere [ENTER].
    * (i7 920 -->) Scrivete: rd(0,1)/mach_kernel.voodoo busratio=20 -v -f rd=disk0s2
    * NOTA per chi avesse un processore diverso deve cambiare il busratio:
    (i7 940 -->) rd(0,1)/mach_kernel.voodoo busratio=22 -v -f rd=disk0s2
    (i7 950 -->) rd(0,1)/mach_kernel.voodoo busratio=23 -v -f rd=disk0s2
    (i7 965 -->) rd(0,1)/mach_kernel.voodoo busratio=24 -v -f rd=disk0s2
    (i7 975 -->) rd(0,1)/mach_kernel.voodoo busratio=25 -v -f rd=disk0s2
  • Finalmente arriveremo alla schermata del LOGIN usiamo come NOME: root e come PASSWORD: (quella che avete creato).
     
     
    riavvio13.jpg


     
    Bene arrivati a questo punto procediamo subito con la fase di aggiornamento

  • Avviamo l'installer... attendiamo che termini.. e non riavviamo (minimizziamo).
    Run my installer... wait before restart
  • Avviamo il combo update 10.5.8 attendiamo che termini e ancora non riavviamo (minimizziamo).
    Run the combo update... wait before restart
     
    Abbiamo quasi finito manca poco..
  • Bene ora possiamo riavviare
    OK now we can reboot
  • Andiamo nel BIOS e settiamo
    Enter in the BIOS and change
     [b]Main[/b]
    - [b][i]Storage Configuration[/i][/b]
    + Configure SATA as [color="#2e8b57"][AHCI][/color]
    
    [b]Advanced[/b]
    - [b][i]CPU coonfiguration[/i][/b]
    + Intel HT Technology [color="#2e8b57"][Enabled][/color]
    + Active Processor Cores [color="#2e8b57"][All][/color]
    + A20M [color="#2e8b57"][Enabled][/color]
    + tutto il resto [color="#2e8b57"][Enabled][/color]
    - [b][i]Onboard Devices Configuration[/i][/b]
    + High Definition Audio [color="#2e8b57"][Enabled][/color]
    + Marvell Storage Controller [color="#2e8b57"][Enabled][/color]
    + Marvell LAN1 [color="#2e8b57"][Enabled][/color]
    + Marvell LAN2 [color="#2e8b57"][Enabled][/color]
    + Onboard 1394 Controller [color="#2e8b57"][Enabled][/color]
    - [b][i]USB Configuration[/i][/b]
    + USB Function [color="#2e8b57"][Enabled][/color]
    + USB 2.0 Controller [color="#2e8b57"][Enabled][/color]
    + USB Controller Mode [color="#2e8b57"][HiSpeed][/color]
    + BIOS EHCI Hand-OFF [color="#2e8b57"][Enabled][/color]
    + Legacy USB Support [color="#2e8b57"][AUTO][/color]
    
    [b]Power[/b]
    + Suspend Mode [Auto]
    + Repost Video on S3 Resume [color="#2e8b57"][Yes][/color]
    + ACPI 2.0 Support [color="#2e8b57"][Enabled][/color]
    + ACPI APIC Support [color="#2e8b57"][Enabled][/color]
    - [b][i]APM Configuration[/i][/b]
    + Restore on AC Power Loss [color="#2e8b57"][Last State][/color]
    
    [b]Boot[/b]
    - [b][i]Boot Device Priority[/i][/b]
    + 1st Boot Device [ATAPI CD-ROM]
    + 2nd Boot Device [Hard Drive]
    + 3rd Boot Device [color="#ff0000"][Disabled][/color]
    


  • Ora ci siamo!! Al boot avviamo con il flag -v -f
    Se il riavvio potrebbe bloccarsi, potrebbe essere un errore dovuto alla scheda video, aggiungi il flag -x
    quindi "-v -f -x"
     
    Scheda grafica Graphics Card
    Questa parte dovrete risolverla da soli dato che le configurazioni sono diverse per ognuno, se hai una scheda compatibile
    non avrai problemi dato che usera' l'enabler grafico del bootloader precedentemente installato (Chameleon 2 RC4),
    Altrimenti puoi usare una stringa EFI da inserire nel com.apple.Boot.plist , oppure un inject video.
     
    Configurare la LAN
  • Per configurare la LAN:
    For LAN open the terminal and type the following:
     
    sudo nano /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleYukon2.kext/Contents/Info.plist
     
    trova e cambia
    Yukon-88E8053 con Yukon-88E8056 (cabmia 53 con 56)
    trova e cambia
    0x436211AB con 0x436411AB (cambia 62 con 64)
    trova e cambia
    Yukon Gigabit Adapter 88E8053 Singleport Copper SA con Yukon Gigabit Adapter 88E8056 Singleport Copper SA (cambia 53 con 56)
     
    Premi Ctrl+O (e'la lettera "o") e [ENTER] per salvare il file,dopo premi Ctrl+X per chiudere nano.
  • Ultimo riavvio! Anche questa volta riavviate con flag -v -f (Sara' l'ultima).
  • Ora avrete il sistema configurato e pronto per essere usato...
  • Godetevi il vostro Leopard :P

P6T_Deluxe_10.6.x.V.1.rar

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

ho fatto dei test con iBench, con Xbench e GeekBench e....

Ta-dah, i risultati sono stati davvero deludenti! ho ottenuto risultati di gran lunga inferiori rispetto ad altre persone con la stessa scheda madre e processore... questo non fa che confermare la lentezza del sistema che avevo notato in precedenza. La mia è una installazione iDeneb 1.5.1 con kernel vanilla, cosa ho sbagliato?

Nel frattempo cerco di risolvere il problema con l'SMBIOS ed il mancato riconoscimento di processore, ram, corretto numero di nuclei fisici/logici e velocità di bus.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Laboratorio DSDT

 

 

Ciao a tutti!

Reinserisco questa mia vecchia guida sulle patch applicate al DSDT della P6T Deluxe

Do per scontato che abbiate familiarita' con iasl e tools vari BIOS ecc.

 

Gli strumenti che utilizzo sono:

- Windows

- Leopard 10.5.x o Leopard Snow 10.6.x

- iasl per Windows (iasl-win-20090903.zip)

- Lavalys EVEREST Corporate Edition (Vi serve per Dumpare le tabelle ACPI Windows)

- MMTOOL (Estrarre/Inserire la tabella DSDT nel BIOS Windows)

- DSDTSE (Raccolta di FIX da aggiungere/modificare sul nostro DSDT.dsl per OSX)

datasheet:

x58-320838.pdf http://www.intel.com/Assets/PDF/datasheet/320838.pdf

x58-320839.pdf http://www.intel.com/Assets/PDF/specupdate/320839.pdf

 

ICH9R-316972.pdf http://www.intel.com/Assets/PDF/datasheet/316972.pdf

 

ICH10-319973.pdf http://www.intel.com/Assets/PDF/datasheet/319973.pdf

ICH10-319974.pdf http://www.intel.com/Assets/PDF/specupdate/319974.pdf

 

ACPI Specification 3.0a http://www.acpi.info/spec30b.htm

ACPI Specification 4.0 http://www.acpi.info/DOWNLOADS/ACPIspec40.pdf

 

Incomincicamo:

 

Estraiamo il DSDT lo decompiliamo con iasl -d acpi_apic.bin (io l'ho estratto con Everest in Windows)

Otterremo un file con estensione .dsl

Ora passiamo il file ottenuto al pacher, avremo questo risultato

 

[size=1]	Intel ACPI Component Architecture
ASL Optimizing Compiler version 20090903 [sep  3 2009]
Copyright � 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

./dsdt_fixed.txt 11939:		 Method (VGET, 1, NotSerialized)
Warning  1087 -							^ Not all control paths return a value (VGET)

./dsdt_fixed.txt 11984:		 Method (TGET, 1, NotSerialized)
Warning  1087 -							^ Not all control paths return a value (TGET)

./dsdt_fixed.txt 12046:		 Method (FGET, 1, NotSerialized)
Warning  1087 -							^ Not all control paths return a value (FGET)

./dsdt_fixed.txt 12082:			 Store (VGET (Local0), Local1)
Warning  1092 -							   ^ Called method may not always return a value

./dsdt_fixed.txt 12124:			 Store (TGET (Local0), Local1)
Warning  1092 -							   ^ Called method may not always return a value

./dsdt_fixed.txt 12157:			 Store (FGET (Local0), Local1)
Warning  1092 -							   ^ Called method may not always return a value

ASL Input:  ./dsdt_fixed.txt - 12894 lines, 424300 bytes, 5699 keywords
AML Output: ./DSDT.aml - 46506 bytes, 1142 named objects, 4557 executable opcodes

Compilation complete. 0 Errors, 6 Warnings, 0 Remarks, 73 Optimizations[/size]

Uhummm 6 avvisi... facciamo i perfezionisti e andiamo a googgolare e troviamo come correggere questi

warnings

Fatta la dovuta ricerca ho scoperto che devo aggiungere

 

[size=1]Return (Zero)[/size]

Apriamo il nostro file con un editor di testo e con la funzione di ricerca ci spostiamo nelle varie zone del file

 

Cerchiamo all'interno del file la parola VGET

 

PRIMA

[size=1]...
	Method (VGET, 1, NotSerialized)
	{
		If (LEqual (Arg0, Zero))
		{
			Return (^^SIOR.HWV0 ())
		}
		If (LEqual (Arg0, One))
		{
			Return (^^SIOR.HWV3 ())
		}
		If (LEqual (Arg0, 0x02))
		{
			Return (^^SIOR.HWV4 ())
		}
		If (LEqual (Arg0, 0x03))
		{
			Return (^^SIOR.HWV1 ())
		}
	}
...[/size]

 

DOPO

[size=1]...
	Method (VGET, 1, NotSerialized)
	{
		If (LEqual (Arg0, Zero))
		{
			Return (^^SIOR.HWV0 ())
		}
		If (LEqual (Arg0, One))
		{
			Return (^^SIOR.HWV3 ())
		}
		If (LEqual (Arg0, 0x02))
		{
			Return (^^SIOR.HWV4 ())
		}
		If (LEqual (Arg0, 0x03))
		{
			Return (^^SIOR.HWV1 ())
		}
		Return (Zero)
	}
...[/size]

 

Cerchiamo la parola TGET

 

PRIMA

[size=1]...
	Method (TGET, 1, NotSerialized)
	{
		If (LEqual (Arg0, Zero))
		{
			Return (^^SIOR.HWT1 ())
		}
		If (LEqual (Arg0, One))
		{
			Return (^^SIOR.HWT0 ())
		}
	}
...[/size]

 

DOPO

[size=1]...
	Method (TGET, 1, NotSerialized)
	{
		If (LEqual (Arg0, Zero))
		{
			Return (^^SIOR.HWT1 ())
		}
		If (LEqual (Arg0, One))
		{
			Return (^^SIOR.HWT0 ())
		}
		Return (Zero)
	}
...[/size]

 

Cerchiamo la parola FGET

 

PRIMA

[size=1]...
	Method (FGET, 1, NotSerialized)
	{
		If (LEqual (Arg0, Zero))
		{
			Return (^^SIOR.HWF1 ())
		}
		If (LEqual (Arg0, One))
		{
			Return (^^SIOR.HWF0 ())
		}
		If (LEqual (Arg0, 0x02))
		{
			Return (^^SIOR.HWF3 ())
		}
		If (LEqual (Arg0, 0x03))
		{
			Return (^^SIOR.HWF4 ())
		}
		If (LEqual (Arg0, 0x04))
		{
			Return (^^SIOR.HWF2 ())
		}
	}
...[/size]

 

DOPO

[size=1]...
	Method (FGET, 1, NotSerialized)
	{
		If (LEqual (Arg0, Zero))
		{
			Return (^^SIOR.HWF1 ())
		}
		If (LEqual (Arg0, One))
		{
			Return (^^SIOR.HWF0 ())
		}
		If (LEqual (Arg0, 0x02))
		{
			Return (^^SIOR.HWF3 ())
		}
		If (LEqual (Arg0, 0x03))
		{
			Return (^^SIOR.HWF4 ())
		}
		If (LEqual (Arg0, 0x04))
		{
			Return (^^SIOR.HWF2 ())
		}
		Return (Zero)
	}
...[/size]

 

Aggiungiamo un'altra fix

La FIX riguarda l'eliminazione delle linee ALIAS nella parte riguardante i processori.

(ho anche rinominato la parte dell'intestazione... acpi_dsdt.aml in DSDT.aml)

 

PRIMA

[size=1]...
DefinitionBlock ("acpi_dsdt.aml", "DSDT", 1, "A1087", "A1087001", 0x00000001)
{
Scope (_PR)
{
	Processor (P001, 0x01, 0x00000810, 0x06) {}
	Alias (P001, CPU1)
	Processor (P002, 0x02, 0x00000000, 0x00) {}
	Alias (P002, CPU2)
	Processor (P003, 0x03, 0x00000000, 0x00) {}
	Alias (P003, CPU3)
	Processor (P004, 0x04, 0x00000000, 0x00) {}
	Alias (P004, CPU4)
	Processor (P005, 0x05, 0x00000000, 0x00) {}
	Alias (P005, CPU5)
	Processor (P006, 0x06, 0x00000000, 0x00) {}
	Alias (P006, CPU6)
	Processor (P007, 0x07, 0x00000000, 0x00) {}
	Alias (P007, CPU7)
	Processor (P008, 0x08, 0x00000000, 0x00) {}
	Alias (P008, CPU8)
	Processor (P009, 0x09, 0x00000000, 0x00) {}
	Alias (P009, CPU9)
	Processor (P010, 0x0A, 0x00000000, 0x00) {}
	Processor (P011, 0x0B, 0x00000000, 0x00) {}
	Processor (P012, 0x0C, 0x00000000, 0x00) {}
	Processor (P013, 0x0D, 0x00000000, 0x00) {}
	Processor (P014, 0x0E, 0x00000000, 0x00) {}
	Processor (P015, 0x0F, 0x00000000, 0x00) {}
	Processor (P016, 0x10, 0x00000000, 0x00) {}
}
...[/size]

 

DOPO

[size=1]...
DefinitionBlock ("DSDT.aml", "DSDT", 1, "A1087", "A1087001", 0x00000001)
{
Scope (_PR)
{
	Processor (P001, 0x01, 0x00000810, 0x06) {}
	Processor (P002, 0x02, 0x00000000, 0x00) {}
	Processor (P003, 0x03, 0x00000000, 0x00) {}
	Processor (P004, 0x04, 0x00000000, 0x00) {}
	Processor (P005, 0x05, 0x00000000, 0x00) {}
	Processor (P006, 0x06, 0x00000000, 0x00) {}
	Processor (P007, 0x07, 0x00000000, 0x00) {}
	Processor (P008, 0x08, 0x00000000, 0x00) {}
	Processor (P009, 0x09, 0x00000000, 0x00) {}
	Processor (P010, 0x0A, 0x00000000, 0x00) {}
	Processor (P011, 0x0B, 0x00000000, 0x00) {}
	Processor (P012, 0x0C, 0x00000000, 0x00) {}
	Processor (P013, 0x0D, 0x00000000, 0x00) {}
	Processor (P014, 0x0E, 0x00000000, 0x00) {}
	Processor (P015, 0x0F, 0x00000000, 0x00) {}
	Processor (P016, 0x10, 0x00000000, 0x00) {}
}
...[/size]

 

Bene ora ritorniamo al terminale e ripetiamo la compilazione

[size=1]./DSDT\ Patcher Debug/DSDT.dsl[/size]

 

[size=1]  Intel ACPI Component Architecture
ASL Optimizing Compiler version 20090903 [sep  3 2009]
Copyright © 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

ASL Input:  ./dsdt_fixed.txt - 12897 lines, 424376 bytes, 5702 keywords
AML Output: ./DSDT.aml - 46512 bytes, 1142 named objects, 4560 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 73 Optimizations[/size]

 

Perfetto era il risultato che volevamo...:-)

Ora prendiamo il file dsdt_fixed.txt che si trova dentro la cartella Debug della cartella DSDT_Patcher

Ovvero il file DSDT_Patcher/Debug/dsdt_fixed.txt (sara' questo il file che contiene le ultime fix applicate).

Da questo punto avrete (se compilato) un DSDT.aml funzionante e senza warnings o errori.

 

FACOLTATIVO E MOLTO RISCHIOSO

Io ho personalmente inserito il file appena creato direttamente nel BIOS della mia scheda madre con lo strumento MMTOOL in Windows

ho scelto di inserirlo con queste poche fix, perche' aggiungendo troppi cambiamenti rischiamo che Windows si rifiuti avviarsi con

un messaggio che ci invita a contattare il produttore della nostra scheda e aggiornare il BIOS blablabla... non conforme agli standar ACPI 4.blablabla...

Quindi se scegliete questa possibilita' tenete in conto di non esagerare con l'aggiunta di FIX direttamente nel DSDT del BIOS.

Direte... Che vantaggi ho a inserire questo file direttamente nel BIOS?

Il vantaggio che avete sara' ad esempio quello di avviare Leopard o Snow direttamente con i 4 cuori e l'Hyper attivi,

E se vogliamo fare i fighi sappiamo che abbiamo una tabella DSDT all'interno della nostra macchina ripulita e senza errori.

MA RIBADISCO E' UNA OPERAZIONE DELICATA E NON E' OBBLIGATORIA

 

Ma andiamo avanti e aggiungiamo a manina altri FIX, io per comodita' (Anche dovuto ai TOOLS che uso) mi sono spostato in ambiente WINDOWS ma nessuno vi vieta di continuare su Leo.

Vi do un consiglio... quando aggiungete una FIX salvate le modifiche fatte (Anche una copia del file .dsl funzionante), eprovate a fare la compliazione per vedere se sono presenti errori.

 

DTGP Questa non e' una fix ma una parte di codice che useremo per injectare altro codice all'interno del nostro DSDT

Io l'ho inserito immediatamente dopo la prima parentesi graffa di apertura dopo l'intestazione

 

PRIMA

[size=1]...
DefinitionBlock ("DSDT.aml", "DSDT", 1, "A1087", "A1087001", 0x00000001)
{
Scope (_PR)
{
	Processor (P001, 0x01, 0x00000810, 0x06) {}
...[/size]

 

DOPO

[size=1]...
DefinitionBlock ("DSDT.aml", "DSDT", 1, "APPLE", "MacPro", 0x00010001)
{
Method (DTGP, 5, NotSerialized)
{
	If (LEqual (Arg0, Buffer (0x10)
			{
				/* 0000 */	0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
				/* 0008 */	0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
			}))
	{
		If (LEqual (Arg1, One))
		{
			If (LEqual (Arg2, Zero))
			{
				Store (Buffer (One)
					{
						0x03
					}, Arg4)
				Return (One)
			}

			If (LEqual (Arg2, One))
			{
				Return (One)
			}
		}
	}

	Store (Buffer (One)
		{
			0x00
		}, Arg4)
	Return (Zero)
}

Scope (_PR)
{
	Processor (P001, 0x01, 0x00000810, 0x06) {}
...[/size]

 

Piccola verifica

 

[size=1]Microsoft Windows [Versione 5.2.3790]
© Copyright 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator\Desktop\iasl>iasl.exe dsdt.dsl

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20090903 [sep  3 2009]
Copyright © 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

ASL Input:  dsdt.dsl - 12931 lines, 412332 bytes, 5716 keywords
AML Output: DSDT.aml - 46576 bytes, 1143 named objects, 4573 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 73 Optimizations

C:\Documents and Settings\Administrator\Desktop\iasl>[/size]

Ok tutto bene.

Continuiamo.

 

HDEF FIX(Ci servira' per l'audio)

Questa fix l'ho inserita giusto prima del Device (HPET)

 

PRIMA

[size=1]...
						Divide (Local0, Local1, Local1, Local0)
						Return (Local0)
					}
				}
			}

			Device (HPET)
			{
				Name (_HID, EisaId ("PNP0103"))
...[/size]

 

DOPO

[size=1]...
						Divide (Local0, Local1, Local1, Local0)
						Return (Local0)
					}
				}
			}

			Device (HDEF)
			{
				Name (_ADR, 0x001B0000)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x08)
						{
							"subsystem-id",
							Buffer (0x04)
							{
								0xA0, 0x00, 0x00, 0x00
							},

							"subsystem-vendor-id",
							Buffer (0x04)
							{
								0x6B, 0x10, 0x00, 0x00
							},

							"layout-id",
							Buffer (0x04)
							{
								0x0C, 0x00, 0x00, 0x00
							},

							"PinConfigurations",
							Buffer (Zero) {}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

			Device (HPET)
			{
				Name (_HID, EisaId ("PNP0103"))
...[/size]

 

SATA (Intel ESB2 AHCI )

Con questa FIX avremo i dispositivi SATA

come Intel ESB2 AHCI e i dischi verranno visti come interni.

Cerchiamo il Device (SATA)

 

PRIMA

[size=1]...
		Device (SATA)
		{
			Name (_ADR, 0x001F0002)
			Name (^NATA, Package (0x01)
			{
				0x001F0002
			})
			Name (\FZTF, Buffer (0x07)
			{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5
			})
			Name (REGF, One)
			Method (_REG, 2, NotSerialized)
			{
				If (LEqual (Arg0, 0x02))
				{
					Store (Arg1, REGF)
				}
			}

			Name (TIM0, Package (0x08)
			{		 
...[/size]

 

DOPO

[size=1]...
		Device (SATA)
		{
			Name (_ADR, 0x001F0002)
			Name (^NATA, Package (0x01)
			{
				0x001F0002
			})
			Name (\FZTF, Buffer (0x07)
			{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5
			})
			Name (REGF, One)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						   "device-id", 
						   Buffer (0x04)
						   {
							   0x81, 0x26, 0x00, 0x00
						   }
					   }, Local0)
				   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				   Return (Local0)
			}

			Method (_REG, 2, NotSerialized)
			{
				If (LEqual (Arg0, 0x02))
				{
					Store (Arg1, REGF)
				}
			}

			Name (TIM0, Package (0x08)
			{

...[/size]

 

Slow SATA issue FIX (Ringraziamenti a THe KiNG)

Questa FIX richiede di editare 4 Device che sono

(HPET) (RTC0) (TMR) (PIC)

 

Cerchiamo il Device (HPET)

PRIMA

[size=1]...
			Device (HPET)
			{
				Name (_HID, EisaId ("PNP0103"))
				Name (CRS, ResourceTemplate ()
				{
					Memory32Fixed (ReadOnly,
						0xFED00000,		 // Address Base
						0x00000400,		 // Address Length
						_Y0F)
				})
				OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04)
				Field (LPCR, AnyAcc, NoLock, Preserve)
				{
					HPTS,   2,
						,   5,
					HPTE,   1,
							Offset (0x04)
				}

				Method (_STA, 0, NotSerialized)
				{
					If (LEqual (OSFL (), Zero))
					{
						If (HPTE)
						{
							Return (0x0F)
						}
					}
					Else
					{
						If (HPTE)
						{
							Return (0x0B)
						}
					}

					Return (Zero)
				}

				Method (_CRS, 0, NotSerialized)
				{
					CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y0F._BAS, HPT)
					Multiply (HPTS, 0x1000, Local0)
					Add (Local0, 0xFED00000, HPT)
					Return (CRS)
				}
			}
...[/size]

 

DOPO

[size=1]...
			Device (HPET)
			{
				Name (_HID, EisaId ("PNP0103"))
				Name (CRS, ResourceTemplate ()
				{
					IRQNoFlags ()
						{0}
					IRQNoFlags ()
						{8}
					Memory32Fixed (ReadOnly,
						0xFED00000,		 // Address Base
						0x00000400,		 // Address Length
						_Y0F)
				})
				OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04)
				Field (LPCR, AnyAcc, NoLock, Preserve)
				{
					HPTS,   2,
						,   5,
					HPTE,   1,
							Offset (0x04)
				}

				Method (_STA, 0, NotSerialized)
				{
					If (LEqual (OSFL (), Zero))
					{
						If (HPTE)
						{
							Return (0x0F)
						}
					}
					Else
					{
						If (HPTE)
						{
							Return (0x0B)
						}
					}

					Return (Zero)
				}

				Method (_CRS, 0, NotSerialized)
				{
					CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y0F._BAS, HPT)
					Multiply (HPTS, 0x1000, Local0)
					Add (Local0, 0xFED00000, HPT)
					Return (CRS)
				}
			}
...[/size]

 

Cerchiamo Device (RTC0)

 

PRIMA

[size=1]...
			Device (RTC0)
			{
				Name (_HID, EisaId ("PNP0B00"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0070,			 // Range Minimum
						0x0070,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
					IRQNoFlags ()
						{8}
				})
			}
...[/size]

 

DOPO

[size=1]...
			Device (RTC0)
			{
				Name (_HID, EisaId ("PNP0B00"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0070,			 // Range Minimum
						0x0070,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
				})
			}
...[/size]

 

Cerchiamo Device (TMR)

 

PRIMA

[size=1]...
			Device (TMR)
			{
				Name (_HID, EisaId ("PNP0100"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0040,			 // Range Minimum
						0x0040,			 // Range Maximum
						0x00,			   // Alignment
						0x04,			   // Length
						)
					IRQNoFlags ()
						{0}
				})
			}
...[/size]

 

DOPO

[size=1]...
			Device (TMR)
			{
				Name (_HID, EisaId ("PNP0100"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0040,			 // Range Minimum
						0x0040,			 // Range Maximum
						0x01,			   // Alignment
						0x04,			   // Length
						)
					IO (Decode16,
						0x0050,			 // Range Minimum
						0x0050,			 // Range Maximum
						0x01,			   // Alignment
						0x04,			   // Length
						)
				})
			}
...[/size]

Appartenente sempre alla stessa FIX

Ora cerchiamo il Device (PIC)

 

PRIMA

[size=1]...
			Device (PIC)
			{
				Name (_HID, EisaId ("PNP0000"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0020,			 // Range Minimum
						0x0020,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
					IO (Decode16,
						0x00A0,			 // Range Minimum
						0x00A0,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
					IRQNoFlags ()
						{2}
				})
			}


...[/size]

 

DOPO

[size=1]...
			Device (PIC)
			{
				Name (_HID, EisaId ("PNP0000"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0020,			 // Range Minimum
						0x0020,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
					IO (Decode16,
						0x00A0,			 // Range Minimum
						0x00A0,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
				})
			}


...[/size]

 

UHCI/EHCI Built-in FIX

Ad aggiungere questa fix dobbiamo stare molto attenti.

Potete tranquillamente copiare ed incollare l'unica "USB" che non dobbiamo toccare ha l'ADDRESS 0x001D0003

Nel mio caso corrisponde al Device (USB5)

 

PRIMA

[size=1]...
		Device (USB0)
		{
			Name (_ADR, 0x001D0000)
			OperationRegion (BAR0, PCI_Config, 0xC4, One)
			Field (BAR0, ByteAcc, NoLock, Preserve)
			{
				USBW,   2,
						Offset (0x01)
			}

			Method (_S3D, 0, NotSerialized)
			{
				If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}

			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (0x03, USBW)
				}
				Else
				{
					Store (Zero, USBW)
				}
			}

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

		Device (USB1)
		{
			Name (_ADR, 0x001D0001)
			OperationRegion (BAR0, PCI_Config, 0xC4, One)
			Field (BAR0, ByteAcc, NoLock, Preserve)
			{
				USBW,   2,
						Offset (0x01)
			}

			Method (_S3D, 0, NotSerialized)
			{
				If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}

			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (0x03, USBW)
				}
				Else
				{
					Store (Zero, USBW)
				}
			}

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

		Device (USB2)
		{
			Name (_ADR, 0x001D0002)
			OperationRegion (BAR0, PCI_Config, 0xC4, One)
			Field (BAR0, ByteAcc, NoLock, Preserve)
			{
				USBW,   2,
						Offset (0x01)
			}

			Method (_S3D, 0, NotSerialized)
			{
				If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}

			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (0x03, USBW)
				}
				Else
				{
					Store (Zero, USBW)
				}
			}

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

		Device (USB5)
		{
			Name (_ADR, 0x001D0003)
			OperationRegion (BAR0, PCI_Config, 0xC4, One)
			Field (BAR0, ByteAcc, NoLock, Preserve)
			{
				USBW,   2,
						Offset (0x01)
			}

			Method (_S3D, 0, NotSerialized)
			{
				If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}

			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (0x03, USBW)
				}
				Else
				{
					Store (Zero, USBW)
				}
			}

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

		Device (EUSB)
		{
			Name (_ADR, 0x001D0007)
			Method (_PRW, 0, NotSerialized)
			{
				Return (GPRW (0x0D, 0x04))
			}
		}

		Device (USB3)
		{
			Name (_ADR, 0x001A0000)
			OperationRegion (BAR0, PCI_Config, 0xC4, One)
			Field (BAR0, ByteAcc, NoLock, Preserve)
			{
				USBW,   2,
						Offset (0x01)
			}

			Method (_S3D, 0, NotSerialized)
			{
				If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}

			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (0x03, USBW)
				}
				Else
				{
					Store (Zero, USBW)
				}
			}

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

		Device (USB4)
		{
			Name (_ADR, 0x001A0001)
			OperationRegion (BAR0, PCI_Config, 0xC4, One)
			Field (BAR0, ByteAcc, NoLock, Preserve)
			{
				USBW,   2,
						Offset (0x01)
			}

			Method (_S3D, 0, NotSerialized)
			{
				If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}

			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (0x03, USBW)
				}
				Else
				{
					Store (Zero, USBW)
				}
			}

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

		Device (USB6)
		{
			Name (_ADR, 0x001A0002)
			OperationRegion (BAR0, PCI_Config, 0xC4, One)
			Field (BAR0, ByteAcc, NoLock, Preserve)
			{
				USBW,   2,
						Offset (0x01)
			}

			Method (_S3D, 0, NotSerialized)
			{
				If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}

			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (0x03, USBW)
				}
				Else
				{
					Store (Zero, USBW)
				}
			}

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

		Device (USBE)
		{
			Name (_ADR, 0x001A0007)
			Device (RHUB)
			{
				Name (_ADR, Zero)
				Device (PRT5)
				{
					Name (_ADR, 0x05)
					Name (_UPC, Package (0x04)
					{
						0xFF,
						Zero,
						Zero,
						Zero
					})
					Name (_PLD, Buffer (0x10)
					{
						/* 0000 */	0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
						/* 0008 */	0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
					})
				}
			}

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

...[/size]

 

DOPO

[size=1]...
		Device (USB0)
		{
			Name (_ADR, 0x001D0000)
			Method (_S3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}

				Return (0x03)
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x34, 0x3a, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

			Name (_PRW, Package (0x02)
			{
				0x03, 
				0x03
			})
		}

		Device (USB1)
		{
			Name (_ADR, 0x001D0001)
			Method (_S3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}

				Return (0x03)
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x35, 0x3a, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

			Name (_PRW, Package (0x02)
			{
				0x04, 
				0x03
			})
		}

		Device (USB2)
		{
			Name (_ADR, 0x001D0002)
			Method (_S3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}

				Return (0x03)
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x36, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

			Name (_PRW, Package (0x02)
			{
				0x0C, 
				0x03
			})
		}

		Device (USB5)
		{
			Name (_ADR, 0x001D0003)
			OperationRegion (BAR0, PCI_Config, 0xC4, One)
			Field (BAR0, ByteAcc, NoLock, Preserve)
			{
				USBW,   2, 
						Offset (0x01)
			}

			Method (_S3D, 0, NotSerialized)
			{
				If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}

			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (0x03, USBW)
				}
				Else
				{
					Store (Zero, USBW)
				}
			}

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

		Device (EUSB)
		{
			Name (_ADR, 0x001A0007)
			Method (_S3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}

				Return (0x03)
			}

			Name (_PRW, Package (0x02)
			{
				0x0D, 
				0x03
			})
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0f)
					{
						"device-id",
						Buffer (0x04)
						{
							0x3A, 0x3A, 0x00, 0x00
						},
						"AAPL,clock-id",
						Buffer (One)
						{
							0x0a   
						}, 

							"built-in",
							Buffer ()
							{
									0x00
							},

						  "device_type",
						  Buffer (0x05)
						  {
							  "EHCI"
						  },

						"AAPL,current-available", 
						0x04B0, 
						"AAPL,current-extra", 
						0x02BC, 
						"AAPL,current-in-sleep",
						0x03E8, 

						Buffer (0x01)
						{
							0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}

		Device (USB3)
		{
			Name (_ADR, 0x001A0000)
			Method (_S3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}

				Return (0x03)
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x37, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

			Name (_PRW, Package (0x02)
			{
				0x0E, 
				0x03
			})
		}

		Device (USB4)
		{
			Name (_ADR, 0x001A0001)
			Method (_S3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}

				Return (0x03)
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x38, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

			Name (_PRW, Package (0x02)
			{
				0x05, 
				0x03
			})
		}

		Device (USB6)
		{
			Name (_ADR, 0x001A0002)
			Method (_S3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}

				Return (0x03)
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x39, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

			Name (_PRW, Package (0x02)
			{
				0x20, 
				0x03
			})
		}

		Device (USBE)
		{
			Name (_ADR, 0x001A0007)
			Method (_S3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}

				Return (0x03)
			}

			Name (_PRW, Package (0x02)
			{
				0x0D, 
				0x03
			})
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0f)
					{
						"device-id",
						Buffer (0x04)
						{
							0x3C, 0x3A, 0x00, 0x00
						},
						"AAPL,clock-id",
						Buffer (One)
						{
							0x0a   
						}, 

							"built-in",
							Buffer ()
							{
									0x00
							},

						  "device_type",
						  Buffer (0x05)
						  {
							  "EHCI"
						  },

						"AAPL,current-available", 
						0x04B0, 
						"AAPL,current-extra", 
						0x02BC, 
						"AAPL,current-in-sleep",
						0x03E8, 

						Buffer (0x01)
						{
							0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}
...[/size]

 

 

[size=1]HO ELIMINATO DA QUESTA GUIDA LA FIX IN QUANTO NON NECESSARIA OSX RICONOSCE LE PORTE USB COME BUILT-IN LASCIO LA TABELLA SOTTOSTANTE COME RIFERIMENTO
Device (USB0)
Name (_ADR, 0x001D0000)
0x34, 0x3A, 0x00, 0x00
B00 D1D F00: 8086-3A34: Intel 82801JB ICH10 - USB Universal Host Controller

Device (USB1)
Name (_ADR, 0x001D0001)
0x35, 0x3A, 0x00, 0x00
B00 D1D F01: 8086-3A35: Intel 82801JB ICH10 - USB Universal Host Controller

Device (USB2)
Name (_ADR, 0x001D0002)
0x36, 0x3A, 0x00, 0x00
B00 D1D F02: 8086-3A36: Intel 82801JB ICH10 - USB Universal Host Controller

Device (USB5)
Name (_ADR, 0x001D0003)

Device (EUSB)
Name (_ADR, 0x001D0007)
0x3A, 0x3A, 0x00, 0x00
B00 D1D F07: 8086-3A3A: Intel 82801JB ICH10 - USB2 Enhanced Host Controller

Device (USB3)
Name (_ADR, 0x001A0000)
0x37, 0x3A, 0x00, 0x00
B00 D1A F00: 8086-3A37: Intel 82801JB ICH10 - USB Universal Host Controller

Device (USB4)
Name (_ADR, 0x001A0001)
0x38, 0x3A, 0x00, 0x00
B00 D1A F01: 8086-3A38: Intel 82801JB ICH10 - USB Universal Host Controller

Device (USB6)
Name (_ADR, 0x001A0002)
0x39, 0x3A, 0x00, 0x00
B00 D1A F02: 8086-3A39: Intel 82801JB ICH10 - USB Universal Host Controller

Device (USBE)
Name (_ADR, 0x001A0007)
0x3C, 0x3A, 0x00, 0x00
B00 D1A F07: 8086-3A3C: Intel 82801JB ICH10 - USB2 Enhanced Host Controller[/size]

 

 

Time Machine/Ethernet Buil-in/Device GIGE FIX (Grazie a Krabuzu)

Questa e' la fix che preferisco... Time machine funziona benissimo

La P6T ha 2 LAN integrate, quindi il metodo lo inseriremo 2 volte,

Sbirciando con IORegistryExplorer ho visto che le mie LAN sono associate al Device P0P6@1C,2 e P0P9@1C,5

Ovvero P0P6 e P0P9

 

PRIMA

[size=1]...
		Device (P0P6)
		{
			Name (_ADR, 0x001C0002)
			Method (_PRW, 0, NotSerialized)
			{
				Return (GPRW (0x09, 0x04))
			}

			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR06)
				}

				Return (PR06)
			}
		}

... parte del codice .... parte del codice ....

		Device (P0P9)
		{
			Name (_ADR, 0x001C0005)
			Method (_PRW, 0, NotSerialized)
			{
				Return (GPRW (0x09, 0x04))
			}

			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR09)
				}

				Return (PR09)
			}
		}
...[/size]

 

DOPO

[size=1]...
		Device (P0P6)
		{
			Name (_ADR, 0x001C0002)
			Method (_PRW, 0, NotSerialized)
			{
				Return (GPRW (0x09, 0x04))
			}

			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR06)
				}

				Return (PR06)
			}

			Device (ETH0)
			{
				Name (_ADR, Zero)
				OperationRegion (GPIO, SystemIO, 0x0800, 0x06)
				Field (GPIO, ByteAcc, NoLock, Preserve)
				{
					GO01,   8,
					GO02,   8,
					GO03,   8,
					GO04,   8,
					GO05,   8,
					GP9,	1
				}

				Name (_PRW, Package (0x02)
				{
					0x09,
					0x03
				})
				Method (EWOL, 1, NotSerialized)
				{
					If (LEqual (Arg0, One))
					{
						Or (GP9, One, GP9)
					}
					Else
					{
						And (GP9, Zero, GP9)
					}

					If (LEqual (Arg0, GP9))
					{
						Return (Zero)
					}
					Else
					{
						Return (One)
					}
				}
			}
		}

... parte del codice .... parte del codice ....

		Device (P0P9)
		{
			Name (_ADR, 0x001C0005)
			Method (_PRW, 0, NotSerialized)
			{
				Return (GPRW (0x09, 0x04))
			}

			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR09)
				}

				Return (PR09)
			}

			Device (ETH1)
			{
				Name (_ADR, Zero)
				OperationRegion (GPIO, SystemIO, 0x0800, 0x06)
				Field (GPIO, ByteAcc, NoLock, Preserve)
				{
					GO01,   8,
					GO02,   8,
					GO03,   8,
					GO04,   8,
					GO05,   8,
					GP9,	1
				}

				Name (_PRW, Package (0x02)
				{
					0x09,
					0x03
				})
				Method (EWOL, 1, NotSerialized)
				{
					If (LEqual (Arg0, One))
					{
						Or (GP9, One, GP9)
					}
					Else
					{
						And (GP9, Zero, GP9)
					}

					If (LEqual (Arg0, GP9))
					{
						Return (Zero)
					}
					Else
					{
						Return (One)
					}
				}
			}
		}
...[/size]

 

OSYS FIX questa FIX consiste nell'aggiungere il riconoscimento del Sistema operativo Darwin (OSX)

(Ringraziamenti vanno a UgoKind.)

 

PRIMA

[size=1]...
Method (OSYS, 0, NotSerialized)
{
	Store (0x10, Local0)
	If (CondRefOf (_OSI, Local1))
	{
		If (_OSI ("Windows 2000"))
		{
			Store (0x12, Local0)
		}

		If (_OSI ("Windows 2001"))
		{
			Store (0x13, Local0)
		}

		If (_OSI ("Windows 2001 SP1"))
		{
			Store (0x13, Local0)
		}

		If (_OSI ("Windows 2001 SP2"))
		{
			Store (0x13, Local0)
		}

		If (_OSI ("Windows 2001.1"))
		{
			Store (0x14, Local0)
		}

		If (_OSI ("Windows 2001.1 SP1"))
		{
			Store (0x14, Local0)
		}

		If (_OSI ("Windows 2006"))
		{
			Store (0x15, Local0)
		}
	}
	Else
	{
		If (MCTH (_OS, "Microsoft Windows NT"))
		{
			Store (0x12, Local0)
		}
		Else
		{
			If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
			{
				Store (0x11, Local0)
			}

			If (MCTH (_OS, "Linux"))
			{
				Store (One, Local0)
			}
		}
	}

	Return (Local0)
}

...[/size]

 

DOPO

[size=1]...
Method (OSYS, 0, NotSerialized)
{
	Store (0x10, Local0)
	If (CondRefOf (_OSI, Local1))
	{
		If (_OSI ("Windows 2000"))
		{
			Store (0x12, Local0)
		}

		If (_OSI ("Windows 2001"))
		{
			Store (0x13, Local0)
		}

		If (_OSI ("Windows 2001 SP1"))
		{
			Store (0x13, Local0)
		}

		If (_OSI ("Windows 2001 SP2"))
		{
			Store (0x13, Local0)
		}

		If (_OSI ("Windows 2001.1"))
		{
			Store (0x14, Local0)
		}

		If (_OSI ("Windows 2001.1 SP1"))
		{
			Store (0x14, Local0)
		}

		If (_OSI ("Windows 2006"))
		{
			Store (0x15, Local0)
		}
		If (_OSI ("Darwin"))
		{
			Store (0x15, Local0)
		}

	}
	Else
	{
		If (MCTH (_OS, "Microsoft Windows NT"))
		{
			Store (0x12, Local0)
		}
		Else
		{
			If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
			{
				Store (0x11, Local0)
			}

			If (MCTH (_OS, "Linux"))
			{
				Store (One, Local0)
			}
		}
	}
...[/size]

 

prova DSDT920 3.3

Link to comment
Share on other sites

  • 1 month later...

Forse se tu la integri nel primo post che hai fatto potrebbe essere più comoda.....magari cambi anche il titolo del post.......come stiamo a Snow leopard? io appena ho la tastiera USB continuerei a fare qualche prova nel frattempo ho chiarito un paio di dubbi...spero di avere qusta tastiera la + presto...XDXD

Link to comment
Share on other sites

Forse se tu la integri nel primo post che hai fatto potrebbe essere più comoda.....magari cambi anche il titolo del post.......come stiamo a Snow leopard? io appena ho la tastiera USB continuerei a fare qualche prova nel frattempo ho chiarito un paio di dubbi...spero di avere qusta tastiera la + presto...XDXD

 

 

Ciao Phoenix!

 

 

 

Stavo pensando di eliminarla da questa guida....

 

E inserirla come Guida a se stante.... Sarebbe utile avere il supporto e aiuto di gente con piu' esperienza... anche perche' la mini-guida altro non e' che una raccolta di FIX da me testati e provati e "catalogati" funzionanti sulla P6T....

 

Cosa ne pensate?

 

I consigli sono sempre ben accetti.

 

Fabio

 

SlimBuild_Preboot.iso.zip

Link to comment
Share on other sites

This is the most complete P6T Deluxe guide made.

 

:(:D

 

Grazie KariNeKo!

Spero che le informazioni qui contenute aiutino i possesori delle schede P6T Deluxe.

(I hope this info help P6T users.)

 

Oggi con un po di pazienza provo a installare il gattorne delle nevi.

(Today I start Snow test.)

 

Fabio

Link to comment
Share on other sites

fabio hai un altro PC con leopard? e una porta s-ata dsponibile?

 

Ho un vecchio Pentium 4 ma niente Leo... solo WinXP

 

....

 

 

:rolleyes: ho installato Snow... in 20 minuti ho da subito avviato a 64bit senza problemi

le performance non sembrano eccellenti... ma direi che iniziamo bene

iniziano i test!

(HDD1 Leopard) (HDD2 Snow) (HDD3 XP64)

 

Fabio

Link to comment
Share on other sites

Io ho messo sul mio pentium

ideneb..10.5 con un HD sa 20gb IDE poi ho aggiunto un HD s-ata da 500 ho installato da ideneb il nuovo Snow sull HD da 500 poi ci ho messo chameleon Rc3 ed ho aggiunto su extra le varie kext riportate in una guida sulla asus p6t deluxe....l'unico problema è k il bios dalla prima porta s-ata sul PC in firma non boota + nulla( ho ricontrollato anche sul bios tutte le impostazioni achi...etc) neanche XP domani monto l'HD su un'altra porta s-ata oggi nn avevo tempo....tu come hai fatto?

Cmq alcune guide parlano anche della modifica delle solite tabelle dsdt....

Link to comment
Share on other sites

Io ho messo sul mio pentium

ideneb..10.5 con un HD sa 20gb IDE poi ho aggiunto un HD s-ata da 500 ho installato da ideneb il nuovo Snow sull HD da 500 poi ci ho messo chameleon Rc3 ed ho aggiunto su extra le varie kext riportate in una guida sulla asus p6t deluxe....l'unico problema � k il bios dalla prima porta s-ata sul PC in firma non boota + nulla( ho ricontrollato anche sul bios tutte le impostazioni achi...etc) neanche XP domani monto l'HD su un'altra porta s-ata oggi nn avevo tempo....tu come hai fatto?

Cmq alcune guide parlano anche della modifica delle solite tabelle dsdt....

 

 

Io ho fatto cosi'...

 

HD1 (leopard)

 

HD2 (vuoto partizionato GTP)

 

da leo ho avviato l'installazione montando l'immagine e richiamando l'installer.mkpg

 

senza riavviare installo il chamaleon RC3 di Dr. Hurt, fatto questo sostituisco il boot sulla parizione snow con il PCEFI 10.3 moddado per la PCI0 (il boot normale carica da PCI1),

 

copiati i kext necessari in Extra sempre su snow, il DSDT.aml (quello super moddato con la guida che ho fatto nel 1 post),sia in extra che in root.

 

editato il AppleYukon.kext per la lan inserito in smbios.plist il mio corretto adress mac(e' lo stesso delll'UUID) e editato anche iln PlatformUUID.kext lo stesso valore...

 

e... fatto :)

 

 

 

Fammi sapere

Link to comment
Share on other sites

che intendi x "le perfomrance non sembrano eccellenti?"

 

 

Ho fatto in veloce test con geekbench ed ho ottenuto un risultato al di sotto di quello che ho con LEO, ma snow e' ancora da sistemare... e' la prima cosa che ho fatto (il test).

 

Sicuramente smanettandoci rende molto di piu'... (al momento sono in Windows) questa notte affino il gattone invernale, almeno ci provo... :)

 

Fabio

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...

CHiiiiiiiiiiiiii si vedeeeeee!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! no...poi ho lasciato stare ho avuto trpp impegni con la scuola....cmq da domani o dopodomani mi rimetto a lavoro...ho già preparato la mia pennina bootable..XDXD...cmq nell'attesa di un boot 123 il mio scopo era quello di installare almeno leopard partendo da zero senza utilizzare altri PC con MAC preinstallato.....ho provato sia Empire EFI sia Rebel EFI entrambi danno still root wait....Etc Se ho novità ti faccio sapere ...... Bye! ^^

 

Sembra che ci siano problemi con la 10.6.2...?

Link to comment
Share on other sites

Ciao, ho seguito tutta la guida, ma ho dei problemi... ho su la 10.5.8.

Se collego un chiave usb non la monta, a meno che la chiave non sia inserita dall'avvio del computer. inoltre anche le due porte lan fanno i capricci. ho modificato il file Info.plist e ho anche provato a copiare il file AppleYukon2.kext nella partizione EFI. la prima volta che ho riavviato funzionato, poi basta

 

Chi mi può aiutare?

Grazie

Link to comment
Share on other sites

 Share

×
×
  • Create New...