Jump to content

P5K DSDT collection patch con EVODSDTSE


scrax
 Share

Cosa ne pensi dei metodi di hack tramite DSDT?  

63 members have voted

  1. 1. Di la tua

    • Impossibile farne a meno (Vanilla!)
      29
    • Molto Utili
      21
    • Un metodo vale l'altro basta che parta Snow
      3
    • Troppo un casino
      8
    • Mi trovo meglio senza
      2


306 posts in this topic

Recommended Posts

Apro questo topic per cercare di raccogliere le patch per risolvere i problmi più comuni riscontrati sulle schede della famiglia P5K. Spero in tanti vogliate aiutarmi ad arricchirla con le vostre scoperte, conoscenze.

 

Il DSDT.aml è un file che all'inizio può spaventare ma una volta capite le sue potenzialità secondo me non si può fare a meno di cercare di sfruttarlo al massimo.

 

Necessario:

 

DSDTSEcaja.png

- DSDTSE.app per ottenere, decompilare, editare e ricompilare facilmente il nostro DSDT

EvOToolsXcaja1.png

- EvOToolsX per vedere i dettagli delle nostre periferiche

- IORegistryExplorer.app per visualizzare il proprio registro IO

- Mac Os X funzionante (da 1.4.1 mi pare)

 

Oppure potete fare a meno di DSDTSE e EvoToolsX usando IaslMe (aggiornato a Dic.'09) o Iasl per compilare/decompilare il dsdt e lspci v1.1 per vedere le periferiche

Come iniziare:

 

Aperto DSDTDE cliccate Extract DSDT e vi aprirà un editor di testo con all'interno il DSDT della vostra scheda madre se non avete file dsdt.aml in / o /Extra (dell' hd di boot), altrimenti il dsdt sarà quello che avete in una di queste due cartelle, metterlo in entrambe non può far altro che crearvi problemi di versioni discordanti (se si bootta da chiavetta x es. il dsdt.aml deve essere in / o /Extra della chiavetta)

Con un clic su compile dsdt avrete una nuova finestra con il risultato della compilazione che il 99% delle volte è errata sul dsdt di default della scheda madre.

Per correggere gli errori potete consultare la sezione dsdt fixes di DSDTSE cercando nella lista il vostro

Una volta trovato vi verrà aperta una finestra con la spiegazione di cosa non va e come correggere, eseguite quanto riportato e ricompilate per verificare se funziona.

 

Per un video basilare su EvO DSDTse eccovi il link:

Trovate le fonti di queste patch nella mia firma.

 

PER NEOFITI

Questo topic è indirizzato a utenti con una certa dimestichezza nell'editing del DSDT, se volete iniziare a capire meglio di cosa si parla potete provare iniziando da queste guide di base, per neofiti, per concessione dell' EvOSX86 Team, tradotte in Italiano by thefoul:

 

- Modifica DSDT - 1a parte - Le Basi

- Modifica del DSDT - 2a parte - TM fix

- Modifica del DSDT - 3a parte - aggiunta di codice per le schede video

- Modifica del DSDT - 4a parte - speedstep nativo mediante DSDT

 

Ed ora grazie al DSDT fornitomi da RASONE eccovi un bell'esempio di lista di modifiche applicabili alla sua scheda madre, se la faccenda interessa cercherò di spiegare meglio in ogni passo da dove vengno i codici che abbiamo inserito, per ora vediamo se gli funziona :rolleyes:

 

EDIT: Ora ho la stessa scheda madre con bios P5KR come di RASONE quindi le aggiunte e i test saranno svolti più in fretta, la maggior parte delle patch funziona su tutte le p5k in teoria quelle sicuramente non funzionanti verranno segnalate.

 

 

DSDT_P5KC_R.zip

Ultimo DSDT.aml senza la parte relativa allo speetdstep (così va con qualsiasi processore)

 

modifiche DSDT per P5KC Bios Release 0605 P5KR <--ATTENZIONE BIOS COMPATIBILE DI UN ALTRA SCHEDA MADRE

19-Nov-2009

 

 

MODIFICHE DI BASE (per tutte le mother board, controllare che i valori siano quelli suggeriti)

ATTENZIONE usare "cerca e sostituisci" su tutto il dsdt con le stringe blu uguali a quanto scritto (e verificate ad ogni passaggio la compilazione)

 

A. CPU Section è ok, se presenti bisogna eliminare gli alias. Questo per evitare i problemi di avvio sulle schede madri che partono solo con il codice "cpus=1".

 

 

PRIMA:

 

		Scope (_PR)
	{
		Processor (P001, 0x01, 0x00004010, 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)
	}

DOPO:

 

		Scope (_PR)
	{
		Processor (CPU1, 0x01, 0x00004010, 0x06) {}
		Processor (CPU2, 0x02, 0x00000000, 0x00) {}
		Processor (CPU3, 0x03, 0x00000000, 0x00) {}
		Processor (CPU4, 0x04, 0x00000000, 0x00) {}
	}

 

 

B. HPET aggiunto IRQNoFlags. Questo per risolvere problemi di assegnazione degli IRQ di alcune device.

 

 

PRIMA:

 

	Device (HPET)
			{
				Name (_HID, EisaId ("PNP0103"))
				Name (ATT3, ResourceTemplate ()
				{
					Memory32Fixed (ReadWrite,
						0xFED00000,		 // Address Base
						0x00000400,		 // Address Length
						)
				})
				Name (A…

DOPO:

 

	Device (HPET)
			{
				Name (_HID, EisaId ("PNP0103"))
				Name (ATT3, ResourceTemplate ()
				{
					IRQNoFlags ()		//*<-- AGGIUNTO
						{0}			//*<-- AGGIUNTO
					IRQNoFlags ()		//*<-- AGGIUNTO
						{8}			//*<-- AGGIUNTO
					Memory32Fixed (ReadWrite,
						0xFED00000,		 // Address Base
						0x00000400,		 // Address Length
						)
				})
				Name (A…

 

 

C. RTC e TMR (rinominato in TIMR) invariati, assenti IRQNoFlags, in RTC il valore //Lenght è ok (cmos reset fix). Anche qui la modifica in combinazione con quella precedente risolve dei conflitti di IRQ. Il valore Lenght in RTC deve essere 02 altrimenti ad ogni avvio del PC il bios si resetta.

 

 

		Device (RTC0)
	  {
		  Name (_HID, EisaId ("PNP0B00"))
			Name (CRS0, ResourceTemplate ()
			{
				IO (Decode16,
					  0x0070,			 // Range Minimum
					  0x0070,			 // Range Maximum
					  0x00,			   // Alignment
					  0x02,			   // Length DEVE essere 0x02 non 0x04 
					  )
				   IRQNoFlags ()   		//*<-- NON c'è (meglio)
					   {8}			  //*<-- NON c'è (meglio)
			 })

 

 

D. Sostituito (PIC) con (IPIC) e rimosso IRQNoFlags per completare le ottimizzazioni agli IRQ e non avere più conflitti. Questo aumenta le prestazioni SATA.

 

 

	PRIMA:

Device (IPIC)
			{
				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 ()		//*<-- RIMOSSO
						{2} 				//*<-- RIMOSSO
				})
			}

DOPO:

 

	Device (IPIC)
			{
				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
						)
				})
			}

 

Attenzione questa parte corregge i warning e remark segnalati dalla compilazione del dsdt originale presenti anche prima delle modifiche. Ogni scheda avrà le sue. Se non sapete come correggerli controllate il menu DSDT fix in DSDTSE o chiedete nel post.

 

E. Sostituito _T_ con T_ (correzione remarks di compilazione)

 

 

F. Sostituito Acquire (MUTE, 0x03E8) con Acquire (MUTE, 0xFFFF)

 

 

G. Sostituito Acquire (MUTE, 0x0FFF) con Acquire (MUTE, 0xFFFF)

 

 

H. Aggiunto Return (Zero) prima dell'ultima } in VGET , TGET e FGET

 

 

PRIMA:

 

		Method (VGET, 1, NotSerialized)
	{
		If (LEqual (Arg0, Zero))
		{
			Return (^^SIOR.HWV0 ())
		}

		If (LEqual (Arg0, One))
		{
			Return (^^SIOR.HWV3 ())
		}

		If (LEqual (Arg0, 0x02))
		{
			Return (^^SIOR.HWV5 ())
		}

		If (LEqual (Arg0, 0x03))
		{
			Return (^^SIOR.HWV1 ())
		}
	}

DOPO:

 

		Method (VGET, 1, NotSerialized)
	{
		If (LEqual (Arg0, Zero))
		{
			Return (^^SIOR.HWV0 ())
		}

		If (LEqual (Arg0, One))
		{
			Return (^^SIOR.HWV3 ())
		}

		If (LEqual (Arg0, 0x02))
		{
			Return (^^SIOR.HWV5 ())
		}

		If (LEqual (Arg0, 0x03))
		{
			Return (^^SIOR.HWV1 ())
		}
		Return (Zero)	   //*<-- aggiunto in VGET, FGET e TGET
	}

 

 

Compilandolo non da più errori e abbiamo paciato HPET, RTC, IPIC e TMR e gli errori base dei DSDT (compilati con il compilatore microsoft anziché Intel).

L'eliminazione degli alias è necessaria per chi è costretto a partire con cpus=1 in com.apple.Boot.plist

Finora abbiamo fatto un po meglio quello che farebbe DSDTPatcher_GUI (alla guida manca una patch (opzionale) per fare tutto quello che fa DSDTPatcher ma prima la testo un po')

 

--- Nota: Il file DSDT.aml così ottenuto è sufficiente per l'avvio ----

 

Altre Modifiche, Rifiniture o fix:

 

 

1. Bottone accensione

 

 

a. Cerca PNP0C0C e sostituisci _HID con _CID nel primo Name

 

 

2. Nomi Devices come Mac (OPZIONALE)

 

 

a. Sostituito DMAD con DMAC

b. Sostituito RTC0 con RTC

c. Sostituito OMSC con LDRC

d. Sostituito COPR con MATH

e. Sostituito (MCH) con (MCEH)

f. Sostituito CHN0 con PRT0

g. Sostituito CHN1 con PRT1

h. Sostituito P0P2 con PEGP (controllare P0P sch. grafica)

 

 

3. Aggiunto metodo DTGP per iniezione device e patch seguenti all'inizio del DSDT dopo la prima {

 

 

PRIMA:

 

		DefinitionBlock ("./dsdt.aml", "DSDT", 1, "A0871", "A0871020", 0x00000020)
	{
	Scope (_PR)
			{….

DOPO:

		DefinitionBlock ("./dsdt.aml", "DSDT", 1, "A0871", "A0871020", 0x00000020)
{

Method (DTGP, 5, NotSerialized)			//*<--DA QUI
{
	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)
}						//*<--FIN QUI

Scope (_PR)
{

 

 

4. LAN0 aggiunto a Device (P0P9) rinominato poi P0P9 in RP06 (Serve aver fatto anche il punto 3)

 

 

		Device (LAN0)
			{
				Name (_ADR, Zero)
									Name (_SUN, 0x0B)
				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)
					}
				}
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x06)
					{
						"built-in",
						Buffer (One)
						{
							0x01
						},

						"device_type",
						Buffer (0x09)
						{
							"Ethernet"
						},

						"name",
						Buffer (0x1D)
						{
							"Attansic 1L Ethernet Gigabit"
						}
					}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
				}
			}

 

Inserirlo prima della chiusura, per far riconoscere la scheda di rete (AttansiL1) come interna.

Aggiunto a Scope (\_GPE)

 

Name (_PRW, Package (0x02)

{

0x09,

0x03

})

 

PRIMA:

 

		Scope (\_GPE)
			{
				Method (_L1E, 0, NotSerialized)
				{
					Notify (\_SB.PCI0.SBRG.ASOC, One)
					Sleep (0x03E8)
				}
			}

			Scope (ASOC)
			{...

DOPO:

 

		Scope (\_GPE)
			{
				Name (_PRW, Package (0x02)
				{
					0x09,
					0x03
				})
				Method (_L1E, 0, NotSerialized)
				{
					Notify (\_SB.PCI0.SBRG.ASOC, One)
					Sleep (0x03E8)
				}
			}

			Scope (ASOC)
			{...

 

 

5. Sostituito SBRG con LPCB e aggiunto ID mac corretto alla fine del Device (LPCB) (Serve aver fatto anche il punto 3) *Per evitare aumenti di temperaure usare voodoopowermini.kext in S/L/E o ssdt table in dsdt (più avanti nel post o in produzione)

 

	Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x18, 0x3A, 0x00, 0x00		//*<--ID mac corretto
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

 

 

6. a. Sostituito ATA0 con SATA

 

b. Aggiunto alla fine del Device (SATA) (Serve aver fatto anche il punto 3)

 

 

Device (SATA)
		{
			Name (_ADR, 0x001F0002)
			....bla bla


			 Method (_DSM, 4, NotSerialized)		  //<--questo alla fine del device
			{
				Store (Package (0x02)
					{
						"device-id",
						Buffer (0x04)
						{
							0x81, 0x26, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
			}											   //<--fino a qui
		}

 

 

Dopodichè visto che era inutilizzata ho cancellato tutto il Device (SAT1) (OPZIONALE)

 

 

Device (SAT1)	 <--Cancellato da qui
{
 pappardella
}			<--fino a qui (la pappardella è molto lunga)

Device (P0P5)

 

 

7. a. USB UHCI Aggiunti ID Mac in ogni porta usb (Serve aver fatto anche il punto 3)

 

 

PRIMA:

 

		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))
			}
		}

DOPO:

 

		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))
			}
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x34, 0x3A, 0x00, 0x00		//*<--  cambia ogni usb
						}							//*es.:  34 per usb0 35 usb1 ecc.
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}

 

b. Eliminato il device USB con Name (_ADR, 0x001D0003) nel mio caso (USB3)

e vari rferimenti nel dsdt" Notify (\_SB.PCI0.USB3, 0x02) "

sostituito USB0 CON UHC0

sostituito USB1 CON UHC1

sostituito USB2 CON UHC2

sostituito USB4 CON UHC3

sostituito USB5 CON UHC4

sostituito USB6 CON UHC5

sostituito USBE CON EHC1

sostituito EUSB CON EHC2

 

c. Aggiunti Id Mac a EHC1 (3a3a) e EHC2 (3a3c)

 

		Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x3a, 0x3A, 0x00, 0x00		//*<--  cambia ogni EHC
						}							//*es.:  3a3a EHC1 - 3c3a EHC2 
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

 

8 AUDIO INTEGRATO (FUNZIONA SU P5K, P5KC, P5KR E MOBO CON ALC883) con i seguenti kext in /Extra/Extensions

Audio_.kext.zip

Aggiunto dopo Device (GBEC)

 

			Device (HDEF)
		{
			Name (_ADR, 0x001B0000)
			Name (_PRW, Package (0x02)
			{
				0x0D, 
				0x06
			})
			OperationRegion (HDCS, PCI_Config, 0x54, 0x04)
			Field (HDCS, DWordAcc, NoLock, Preserve)
			{
					,   15, 
				PMES,   1
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x06)
					{
						"built-in", 
						Buffer (One)
						{
							0x00
						}, 

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

						"PinConfigurations", 
						Buffer (Zero) {}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}					   //*<---FINO A QUI INCLUSO

		Device (UHC0)
		{....

 

 

(9) SPEEDSTEP NATIVO ATTENZIONE se mal impostato può danneggiare la CPU, nel dubbio usare voodoopowermonitor.kext EDIT: LINK TOPIC VANILLA SPEEDSTEP IN ITALIANO

Sostituito tutto il primo Scope (_PR) con:

 

Scope (_PR)
   {
       Processor (CPU1, 0x01, 0x00000810, 0x06)
       {
           Name (_PSS, Package (0x0[color="#FF0000"]3[/color])      \\<--- Numero P-State
           {
               \\ P-State calcolati con P-State Calculator
               [color="#FF0000"]Package (0x06) { 1998, 51568, 10, 10, 0x616, 0x616 },
               Package (0x06) { 2331, 63571, 10, 10, 0x71A, 0x71A },
               Package (0x06) { 2664, 76548, 10, 10, 0x81D, 0x81D }[/color]  
              \\ con i valori della propria CPU
           })

           Name (_CST, Package (0x04)
           {
               0x03, 
               Package (0x04)
               {
                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x01,               // Bit Width
                           0x02,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }, 

                   One, 
                   0x65, 
                   0x03E9
               }, 

               Package (0x04)
               {
                   ResourceTemplate ()
                   {
                       Register (SystemIO, 
                           0x08,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000814, // Address
                           ,)
                   }, 

                   0x02, 
                   0x03E9, 
                   0x01F4
               }, 

               Package (0x04)
               {
                   ResourceTemplate ()
                   {
                       Register (SystemIO, 
                           0x08,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000815, // Address
                           ,)
                   }, 

                   0x03, 
                   0x55, 
                   0xFA
               }
           })
       }

       Processor (CPU2, 0x02, 0x00000810, 0x06)
       {
           Alias (^CPU1._PSS, _PSS)
           Alias (^CPU1._CST, _CST)
       }

       Processor (CPU3, 0x03, 0x00000810, 0x06)
       {
           Alias (^CPU1._PSS, _PSS)
           Alias (^CPU1._CST, _CST)
       }

       Processor (CPU4, 0x04, 0x00000810, 0x06)
       {
           Alias (^CPU1._PSS, _PSS)
           Alias (^CPU1._CST, _CST)
       }
   }

 

Il codice va adattato al proprio processore. le parti in rosso vanno modificate con i valori ottenuti da P-State Calculator.

Per usare P-State Calculator bisogna controllare che i valori nelle colonne a sx siano quelli della cpu che verrà usata e nella colonna a dx cambiando il moltiplicatore (Core Multiplier) otterremo i vari p-state. ATTENZIONE che ogni cpu usa diversi valori e anche quantità di p-state, quella nell'esempio usa solo i p-state da 6, 7 e 8 cioè da 2GHz a 2,6 Ghz. Per sapere quanti e quali P-State supporta la vostra cpu potete usare P-State Changer installando il relativo .kext (da togliere una volta fatta la modifica al dsdt).

Nota: il numero 3 rosso va modificato con il numero totale dei p-state impostati.

 

(10) JMICRON VISIBILI in SYSTEM PROFILER (inutile)

 

Aggiunto in Device (PRT0), per visualizzare il nome in System Profiler, dopo il Name (_ADR, Zero):

 

		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x02)
			{
				"io-device-location", 
				Buffer (0x08)
				{
					"JM-Bay 1"
				}
			}, 
			Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
		}

 

PRIMA:

 

		Device (PRT0)
			{
				Name (_ADR, Zero)
				Method (_GTM, 0, NotSerialized)
				{
					ShiftLeft (PSCR, One, Local1)
					Or (PMCR, Local1, Local0)
					ShiftLeft (PMAE, 0x02, Local3)
					ShiftLeft (PM6E, One, Local4)
					Or (Local3, Local4, Local3)
					Or (PM3E, Local3, Local1)
					ShiftLeft (PMPT, 0x04, Local3)
					Or (Local1, Local3, Local1)
					ShiftLeft (PSAE, 0x02, Local3)
					continua....

 

DOPO:

 

		Device (PRT0)
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)	/<--Aggiunto da qui
				{
					Store (Package (0x02)
					{
						"io-device-location", 
						Buffer (0x08)
						{
							"JM-Bay 1"
						}
					}, 
					Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}												 /<--fino a qui
				Method (_GTM, 0, NotSerialized)
				{
					ShiftLeft (PSCR, One, Local1)
					Or (PMCR, Local1, Local0)
					ShiftLeft (PMAE, 0x02, Local3)
					ShiftLeft (PM6E, One, Local4)
					Or (Local3, Local4, Local3)
					Or (PM3E, Local3, Local1)
					ShiftLeft (PMPT, 0x04, Local3)
					Or (Local1, Local3, Local1)
					ShiftLeft (PSAE, 0x02, Local3)
					continua....

 

(11) FIREWIRE PATCH CON HOTPLUG

 

Risolve firewire viste ma non montate:

 

Device (P0P1)
		{
			Name (_ADR, 0x001E0000)
			Method (_PRW, 0, NotSerialized)
			{
				Return (GPRW (0x0B, 0x04))
			}

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

				Return (PR01)
			}

			Device (FRWR)  //<- Aggiunto da qui added from here
	{
		Name (_ADR, 0x00030000)
		Name (_GPE, 0x0B)	  //Cambiato  changed: 0x18 in 0x0B (device madre, mother device)
		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x06)
			{
				"built-in",
				Buffer ( One)
				{
					Zero
				},

				"fwports",
				Buffer (0x04)
				{
					0x02, 0x00, 0x00, 0x00
				},

				"device-id",
				Buffer (0x04)
				{
					0x44, 0x30, 0x00, 0x00  // Needed device ID for VIA VT6306 is [3044] device id della firewire
				}
			}, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
		}
	}
		}						 //<--fino a qui escluso.

 

Collegando più periferiche o HD in cascata non sempre vengono caricati, a 32bit sembra dare meno problemi. La discussione inizia a pg2. A pg.4 trovate un suggerimento per riuscire a trovare il problema, ma io non so come andare avanti, per ora.

EDIT: Sembra ci siano sviluppi nel post di MasterChief.

EDIT2: Risolto il problema

 

 

ORA ABBIAMO FINITO, OTTIMIZZANDO IN ORDINE:

 

1. Riconoscimento bottone di accessione case

2. Riconoscimento device come quelli apple

3. Aggiunto metodo DTGP per iniettare ID e altre info al posto dei kext o delle efi string

NB: usato dalle patch che seguono quindi obbligatorio se si va avanti

4. Riconoscimento scheda di rete come interna (Time Machine Fix)

5. Riconoscimento LPC rende inutile ogni disabler (Disabler.kext , NullCPUPowr.kext ecc.)

6. Riconoscimento SATA chipset ICH9 o ICH9-R come ESB2 (funziona solo se sono in modalità AHCI)

NB: Sulle schede P5K e P5KC per attivarlo si può flashare il bios con quello della P5KR

7. Riconoscimento nativo USB ed EHCI risolve i problemi di sleep

8. Attivata la scheda audio, funziona tutto (micro riavvio ecc.) con i kext allegati.Audio_.kext.zip

9. Attivato lo speedstep nativo, per un uso migliore della CPU con temperature più basse e consumi minori.

10. Riconoscimento JMicron in System Profiler non serve.

11. Riconoscimento Firewire (funziona meglio dopo sleep, problemi a 64bit, meno a 32bit. Vedi discussioni)

 

Kext inutili dopo le modifiche:

- AppleVIAATA

- NullCPUPower

- Disabler

- AppleIntelPIIXATA

- IOATAFamily

- AppleLPC

- OpenHaltRestart

 

Opzioni inutili in Chameleon

- Built In Ethernet / Ethernet EFI string

- Tutte le Injections in Options

 

Giusto per informazione si può evitare l' EFI string della scheda video (non cambia nulla se non che rende più complicate le cose inutilmente metterlo nel dsdt) con un codice DSDT adatto, questo è quello della mia GF 8600GT 256MB:

 

			Device (PEGP)
		{
			Name (_ADR, 0x00010000)
			Device (GFX0)	 //<--Aggiunto da qui
			{
				Name (_ADR, Zero)
				Name (_SUN, One)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x18)
						{
							"@0,compatible", 
							Buffer (0x0B)
							{
								"NVDA,NVMac"
							}, 

							"@0,device_type", 
							Buffer (0x08)
							{
								"display"
							}, 

							"@0,name", 
							Buffer (0x0F)
							{
								"NVDA,Display-A"
							}, 

							"@1,compatible", 
							Buffer (0x0B)
							{
								"NVDA,NVMac"
							}, 

							"@1,device_type", 
							Buffer (0x08)
							{
								"display"
							}, 

							"@1,name", 
							Buffer (0x0F)
							{
								"NVDA,Display-B"
							}, 

							"NVCAP", 
							Buffer (0x18)
							{
								/* 0000 */	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
								/* 0008 */	0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
								/* 0010 */	0x00, 0x00, 0x00, 0x00
							}, 

							"NVPM", 
							Buffer (0x1C)
							{
								/* 0000 */	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
								/* 0008 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
								/* 0010 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
								/* 0018 */	0x00, 0x00, 0x00, 0x00
							}, 

							"VRAM,totalsize", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x10
							}, 

							"device_type", 
							Buffer (0x0C)
							{
								"NVDA,Parent"
							}, 

							"model", 
							Buffer (0x17)
							{
								"nVidia GeForce 8600 GT"
							}, 

							"rom-revision", 
							Buffer (0x25)
							{
								"nVidia GeForce 8600 GT OpenGL Engine"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}  //<--- fino a qui
							Method (_PRW, 0, NotSerialized)
			{...

 

 

 

 

MODIFICHE AL POST:

18-02-10

Aggiunte guide di the foul.

 

10/02/10

SIstemate alcune imperfezioni aggiunto nuovo link DSDTSE ultima versione.

18/12/09 01.00

Corrette alcune imperfezioni, aggiornati i link a DSDTSE e le altre applicazioni, migliorata un po la grafica.

 

08/12/09 08.20

Aggiunti nuovi nomi device Apple, risistemati alcuni esempi e chiarite alcune parti.

Aggiunta iniezione Audio ALC883 da integrare con .kext in /Extra/Extensions

Aggiunta linea Name (_SUN, 0x0B) a (LAN0) su segnalazione di smith@@ (post 102)

 

02/12/09 19.21

Corretto codice GFX0 grazie alla segnalazione di smith@@, aggiunta traccia iniezione ssdt per abilitare lo SpeedStep nativo.

 

22/11/09 23.14

Aggiunta patch parziale per far funzionare la firewire integrata (grazie a Master Chief, dkawg, smith@@, iFabio, kpkp e chi ho dimenticato) e segnalate meglio le patch non ancora ottimizzate.

Segnalate meglio le parti opzionali. Corretto codice scheda video.

 

19/11/09 13.05

Aggiunti avvertimenti su come rinominare le stringhe, onde evitare errori di compilazione su segnalazione di frtommy

 

18/11/09 01.00

Aggiunto SATA patch (per sfruttare a pieno il controller SATA AHCI ed eliminare i .kext: AppleVIAATA.kext, IOATAFamily.kext, AppleIntelPIIXATA.kext)

 

17/11/09 22.29

Corretto passaggio HPET gli IRQ vanno aggiunti non tolti (praticamente quello che fa DSDTPatcher_GUI assieme alla patch RTC) su segnalazione di smith@@

Link to comment
Share on other sites

Molto interessante.

Allora se io sulla mia P5q3Deluxe, mi modifico LPC come c'è scritto in DSDTSE posso tirare via il kext NULLCPU ?

 

Ti faccio un altra domanda idiota e probabilmente OT, Ho il portatile Acer Extensa 5220.

Dopo aver aggiornato a 10.6.2 devo usare il vecchio mach kernel altrimenti si riavvia il notebook appena faccio la scelta in chameleon.

Secondo te non c'entra niente con il dsdt ?

 

Ciao e grazie mille.

Link to comment
Share on other sites

Molto interessante.

Allora se io sulla mia P5q3Deluxe, mi modifico LPC come c'è scritto in DSDTSE posso tirare via il kext NULLCPU ?

 

Ti faccio un altra domanda idiota e probabilmente OT, Ho il portatile Acer Extensa 5220.

Dopo aver aggiornato a 10.6.2 devo usare il vecchio mach kernel altrimenti si riavvia il notebook appena faccio la scelta in chameleon.

Secondo te non c'entra niente con il dsdt ?

 

Ciao e grazie mille.

 

Per la prima domanda, mi sembra che la tua scheda ha il chipset ICH10 che dovrebbe essere già supportato da Snow.

In pratica la modifica al LPCB aggiunge gli ID del device LPC che vedi in Ioreg se gli ID sono uguali a 3a18 la modifica non serve a nulla e il file AppleLPC.kext dovrebbe venir avviato senza problemi (quindi non ti servono i vari Disabler, NullCPU ecc..)

 

la P5K, per esempio, ha 2918 come id del controller LPC quindi con questa modifica riesco a spacciarlo per ich10 e farlo funzionare nativamente.

 

In ogni caso aggiungere il codice senza inserire il Metodo DTGP all'inizio del dsdt come descritto al punto 3 delle mie modifiche opzionali lo renderebbe inutile e probabilmente da pure errori di compilazione.

 

Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id",
						Buffer (0x04)
						{
							0x18, 0x3A, 0x00, 0x00 //<--- questo sono i valori degli ID del device scritti al contrario 3a18
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

 

 

Per il discorso extensa, non ho idea, potrebbe aiutar il dsdt, che scheda video c'è su? con cpus=1 parte? il dsdt è quello del portatile o è paciato?

Link to comment
Share on other sites

Apro questo topic per cercare di raccogliere le patch per risolvere i problmi più comuni riscontrati sulle schede della famiglia P5K. Spero in tanti vogliate aiutarmi ad arricchirla con le vostre scoperte, conoscenze........

Sai fare anche le modifiche per il speedstep vanilla? Quelle sono importantissime per far andare il tutto in 64bit mode, visto che il kext voodooPower non va?

Link to comment
Share on other sites

Sai fare anche le modifiche per il speedstep vanilla? Quelle sono importantissime per far andare il tutto in 64bit mode, visto che il kext voodooPower non va?

 

Sto cercando di capire bene cosa fare però siccome mi sembra un altra mattonata aggiuntiva al dsdt lo sto tenendo per ultimo...

Proprio poco fa ho trovato un app per abilitare i p-state a 64bit su applelife.ru solo che il sito è in russo e melo sto leggendo con la traduzione di google :wacko:

alla fine della lettura m'han rimandato qui: http://www.insanelymac.com/forum/index.php?showtopic=188954 :D

Link to comment
Share on other sites

Per la prima domanda, mi sembra che la tua scheda ha il chipset ICH10 che dovrebbe essere già supportato da Snow.

In pratica la modifica al LPCB aggiunge gli ID del device LPC che vedi in Ioreg se gli ID sono uguali a 3a18 la modifica non serve a nulla e il file AppleLPC.kext dovrebbe venir avviato senza problemi (quindi non ti servono i vari Disabler, NullCPU ecc..)

 

la P5K, per esempio, ha 2918 come id del controller LPC quindi con questa modifica riesco a spacciarlo per ich10 e farlo funzionare nativamente.

 

In ogni caso aggiungere il codice senza inserire il Metodo DTGP all'inizio del dsdt come descritto al punto 3 delle mie modifiche opzionali lo renderebbe inutile e probabilmente da pure errori di compilazione.

 

Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id",
						Buffer (0x04)
						{
							0x18, 0x3A, 0x00, 0x00 //<--- questo sono i valori degli ID del device scritti al contrario 3a18
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

 

 

Per il discorso extensa, non ho idea, potrebbe aiutar il dsdt, che scheda video c'è su? con cpus=1 parte? il dsdt è quello del portatile o è paciato?

 

 

Allora, si la p5q3 deluxe ha il ich10, ma non ho mai provato a avviare senza nullcpu.

La cosa dell' IOREG, nella mega lista, non sò in che posizione controllare il valore da te descritto.

Stessa cosa poi mi potrebbe servire di sapere per provarla sul portatile.

Poi logicamente anche nella p5q3 deluxe ho il dsdt patchato, ma senza aver messo mano al codice, tutto in automatico con dsdtpatcher, che mi restituiscce 0 errori e 7 warning.

 

Poi per quanto riguarda la storia del Extensa, che visto il tuo rapidissimo aiuto mi interessa alla grande.

 

Extensa ha ich8-M

scheda video supportata sia in 32 che 64 bit, ed è la Intel GMA X3100.

il DSDT l'ho anche qua patchato e ho cambiato il codice dell HPET per risolvere il reset del cmos.

 

se uso il mach kernel del 10.6.2 cioè il kernel 10.2.0

 

non parte in nessun modo, ne 32 ne 64 ne cpus=1

 

Apparte che il portatile ha un CPU solo, infatti viene

 

Nome processore: Intel Core 2 Solo

Velocità processore: 2,19 GHz

 

 

Se ti serve il file dsdt.AML per capirci meglio, fammi sapere.

 

Cmq con DSDT o senza non faceva differenza, appena sceglievo di avviare in chameleon, anche in -x oppure in -v etc, finita la lista dei kext, si riavviava subito.

Oppure se non sceglievo niente, appena scadevail tempo e quindi non caricava a video la lista kext, si riavviava.

Quindi praticamente devo usare come detto nel post prima il kernel 10.0.0

 

 

Spero che le informazioni ti bastino e che tu possa capirci di + di quello che ho capito io.

 

Grazie mille davvero.

 

Ciao ciao.

Link to comment
Share on other sites

allora continuo qua, il dsdt.dsl che ti ho mandato è liscio, della scheda, io avevo modificato proprio il bios con un tool, dove si può caricare il dsdt e patchare la tabella acpi del bios, e avevo provato ad ottimizzarla per leopard, poi ho provato a patcharlo con il dsdt che KPKP aveva modificato per lo sleep ed altro, ma non so se il tool abbia apportato modifiche realmente perchè l'unica differenza era lo spegnimento

 

stasera mi ci metto che ora devo perforza rimettere a posto il pc del garage che ieri sera è deceduto grazie ad un videogioco!! e oltretutto è quello che uso per suonare e mi ritrovo in mezzo alla m***a

grazie mille per questo topic, speriamo che sia la volta buona che ci capisco qualcosa!!

Link to comment
Share on other sites

Allora, si la p5q3 deluxe ha il ich10, ma non ho mai provato a avviare senza nullcpu.

La cosa dell' IOREG, nella mega lista, non sò in che posizione controllare il valore da te descritto.

Stessa cosa poi mi potrebbe servire di sapere per provarla sul portatile.

Poi logicamente anche nella p5q3 deluxe ho il dsdt patchato, ma senza aver messo mano al codice, tutto in automatico con dsdtpatcher, che mi restituiscce 0 errori e 7 warning.

 

L'ioreg con cosa lo visualizzi da terminale? Prova con EvOsxTools a vedere le tue lspci information li trovi tutti gli id device

 

Per L'Extensa io sono abbastanza dubbioso sulla scheda video, però qui si va in OT, prova a vedere se riesci ad avere aiuto qui o vedi qua.

Se no prova ad aprire un topic apposta per il tuo problema, che continuiamo li. :(

Link to comment
Share on other sites

Ciao a tutti!

 

Io ho una P6T Deluxe, e molte delle Fix qui presenti le avevo gia' adottate nel mio DSDT...(guida P6T Deluxe)

 

Complimenti hai fatto una ottima raccolta. :(

 

Off Topic (Ma appartenente all'argomento DSDT del topic)

Provo a chiedere anche qui... vedo navigando che molti stanno adottando soluzioni nel DSDT per il corretto funzionamento della scheda Firewire....

Nel mio DSDT il Device non e' presente.... sapreste indicarmi qualche suggerimento?

End Off Topic

 

Fabio

Link to comment
Share on other sites

Ciao a tutti!

 

Io ho una P6T Deluxe, e molte delle Fix qui presenti le avevo gia' adottate nel mio DSDT...(guida P6T Deluxe)

 

Complimenti hai fatto una ottima raccolta. :P

 

Off Topic (Ma appartenente all'argomento DSDT del topic)

Provo a chiedere anche qui... vedo navigando che molti stanno adottando soluzioni nel DSDT per il corretto funzionamento della scheda Firewire....

Nel mio DSDT il Device non e' presente.... sapreste indicarmi qualche suggerimento?

End Off Topic

 

Fabio

 

Assolutamente non OT, la patch per la Firewire è in arrivo, non l'ho ancora testata però è nella mia lista dei "to test":

 

in questo Topic di kdawg ho trovato:

 

(Tradotto approssimativamente dal post di kdawg)

 

Mi sembra che la gente abbia problemi con la firewire delle loro Mobo Gigabyte.

 

FireWire runtime power conservation disabled. (2)

 

Qui c'è la soluzione a ciò:

		Method (_L1A, 0, NotSerialized) // <-- Aggiunto per firewire
	{
		Notify (\_SB.PCI0.PCIB.FRWR, 0x00)
		Notify (\_SB.PWRB, 0x02)
	}

 

Dentro il Device (PCIB) ho aggiunto un'altra device:

 

 Device (FRWR) // <--Firewire (check to be sure the _GPE value is OK)
			{
				Name (_ADR, 0x00070000)
				Name (_GPE, 0x1A)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"fwhub", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

 

Io pure ero tentato di inserire il Device (FRWR) per farla riconoscere in maniera nativa solo non capisco perché in quest'esempio abbia gli id tutti a 0x00, 0x00, 0x00, 0x00 e l'altra parte non son sicuto di dove vada, devo guardarmi meglio i dump del mac

Link to comment
Share on other sites

Senza nullcpu.. e quindi caricando il client dell' appleintelcpupowermanagement non ti risultano delle temperature di almeno 7-9 gradi maggiori rispetto al "normale"?

 

Per le usb, anche avendo fatto da tempo la procedura del fix nel dsdt (perfetta), necessito ancora dello sleepenabler, ma magari e' il tipo di piastra diversa, anche se ne dubito;

 

Se in firewire leggo cio':

 

Bus fireWire:

 

Velocità massima: Fino a 400 Mb/sec

 

Significa effettivamente che e' riconosciuta a tutti gli effetti?, chiedo questo perche' non ho possibilita' di testarla..

grazie

 

 

Sto cercando di capire bene cosa fare però siccome mi sembra un altra mattonata aggiuntiva al dsdt lo sto tenendo per ultimo...

Proprio poco fa ho trovato un app per abilitare i p-state a 64bit su applelife.ru solo che il sito è in russo e melo sto leggendo con la traduzione di google :D

alla fine della lettura m'han rimandato qui: http://www.insanelymac.com/forum/index.php?showtopic=188954 :D

 

 

Si', voodoopstate lavora bene in 64 bit anche se preferisco la versione moddata da bcc9, semplicemente perche' "utilizza" un voltaggio per ogni pstate piu' basso (almeno nel mio caso). Il problema e' che necessita della sua app: pstatechanger per passare da uno stato all'altro, altrimenti rimane sul piu basso e ... buonanotte. Purtroppo il kext non puo'gestirli da solo essendo solo un "estrapolazione" minore..

 

In attesa di superhai e del suo voodoopower a 64 bit :(

 

Ciao ;)

Link to comment
Share on other sites

Sei sicuro di questa modifica?

 

2. HPET rimosso IRQNoFlags

 

PRIMA:

 

CODE

Device (HPET)

{

Name (_HID, EisaId ("PNP0103"))

Name (ATT3, ResourceTemplate ()

{

IRQNoFlags () //*

{0} //*

IRQNoFlags () //*

{8} //*

Memory32Fixed (ReadWrite,

0xFED00000, // Address Base

0x00000400, // Address Length

)

})

Name (A…

DOPO:

 

CODE

Device (HPET)

{

Name (_HID, EisaId ("PNP0103"))

Name (ATT3, ResourceTemplate ()

{

Memory32Fixed (ReadWrite,

0xFED00000, // Address Base

0x00000400, // Address Length

)

})

Name (A…

 

Te lo chiedo perche' semplicemente i mac hanno nel HPET quei 2 IRQ, magari dovrebbero essere aggiunti e non tolti, fammi sapere ;)

 

Ciao

Link to comment
Share on other sites

Sei sicuro di questa modifica?

 

 

 

Te lo chiedo perche' semplicemente i mac hanno nel HPET quei 2 IRQ, magari dovrebbero essere aggiunti e non tolti, fammi sapere :D

 

Ciao

 

Sai ch'è tutto il giorno che sto guardando nei miei DSDT dov'è che li ho cancellati perché appunto avevo questo tarlo che mi diceva che ho sbagliato... Ora ho capito, sono in questo dsdt postato qui, che figuraccia ;-P

Hai più che ragione, non vanno tolti vanno messi!

Ora correggo

Link to comment
Share on other sites

Sai ch'è tutto il giorno che sto guardando nei miei DSDT dov'è che li ho cancellati perché appunto avevo questo tarlo che mi diceva che ho sbagliato... Ora ho capito, sono in questo dsdt postato qui, che figuraccia ;-P

Hai più che ragione, non vanno tolti vanno messi!

Ora correggo

 

:D

Link to comment
Share on other sites

Senza nullcpu.. e quindi caricando il client dell' appleintelcpupowermanagement non ti risultano delle temperature di almeno 7-9 gradi maggiori rispetto al "normale"?

 

Non ne ho idea, ma non essendo un portatile e considerando per normali quelle del macbookpro direi che siam 7-8 gradi meno :D .

In verità non so sul serio se scalda di più, problemi di stabilità non ne ho, quindi ho deciso di non preoccuparmi anche perhcè il Pc è sempre in un locale poco riscaldato e prima di st'estate voglio lo speedstep vanilla. Inoltre non ho nulla che mi dica le temperature ho un fakesmc modificato per istat ma non l'ho ancora provato.

 

 

Per le usb, anche avendo fatto da tempo la procedura del fix nel dsdt (perfetta), necessito ancora dello sleepenabler, ma magari e' il tipo di piastra diversa, anche se ne dubito;

 

Senza sleepenabler cosa fà? perché la mia entrava in stop (lo vedevo nei log), spegneva le ventole e tutto ma poi non tornava più attiva avendo l'usb non corretto nel DSDT. Fatta la patch ha cominciato ad andare senza problemi.

 

Se in firewire leggo cio':

 

Bus fireWire:

 

Velocit� massima: Fino a 400 Mb/sec

 

Significa effettivamente che e' riconosciuta a tutti gli effetti?, chiedo questo perche' non ho possibilita' di testarla..

grazie

 

NO, a me scrive così ma poi attaccando il disco o non riesce a riconoscerlo (dice periferica sconosciuta) o altre volte mi da dischi illeggibili da reinizializzare e schifezze simili. Col Mac in modalità disco invece va ch'è una meraviglia. Con un altro HD firewire 800 non va ma se lo attacco al firewire 400 di prima lo vede senza mai caricarli, tutti funzionano benissimo via usb.

 

 

Si', voodoopstate lavora bene in 64 bit anche se preferisco la versione moddata da bcc9, semplicemente perche' "utilizza" un voltaggio per ogni pstate piu' basso (almeno nel mio caso). Il problema e' che necessita della sua app: pstatechanger per passare da uno stato all'altro, altrimenti rimane sul piu basso e ... buonanotte. Purtroppo il kext non puo'gestirli da solo essendo solo un "estrapolazione" minore..

 

In attesa di superhai e del suo voodoopower a 64 bit :)

 

Ciao :P

 

In un altro forum mi han consigliato delle ssdt table da aggiungere al mio DSDT ma per ora non mi fido, voglio farmeli io i calcoli se riesco.

 

 

Per ora con AppleVIAATA.kext mi da le icone arancioni, cosa che dovrei risolvere con questa patch:

 

Device (SATA)
		{
			Name (_ADR, 0x001F0002)
			....bla bla


			 Method (_DSM, 4, NotSerialized)	 //<--questo alla fine del device
			{
				Store (Package (0x02)
					{
						"device-id",
						Buffer (0x04)
						{
							0x22, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
			}												   //<--fino a qui
		}

 

Ora tolgo AppleVIAATA e vediamo se riparte... :D

Link to comment
Share on other sites

Ok, allora rimango in attesa per il codice per il corretto funzionamento della firewire ;)

 

Controlla questo codice riguardo il device SATA: "device-id",

Buffer (0x04)

{

0x22, 0x3A, 0x00, 0x00

}

e controlla al riavvio se vengono visti come ESB2

 

Per lo speedstep natio ho provato qualsiasi cosa, dall'aggiunta delle SSDT direttamente nel DSDT a tutti i codici che puoi trovare nella sezione speedstep del forum internazionale, di tutto e di piu', ma devo dire che col voodoopstate va che e' una meraviglia e mantiene l'overclock allo stesso modo, mai kernel panic, funziona bene bene, in attesa di superhai :D

Link to comment
Share on other sites

Ok, allora rimango in attesa per il codice per il corretto funzionamento della firewire ;)

 

Controlla questo codice riguardo il device SATA: "device-id",

Buffer (0x04)

{

0x22, 0x3A, 0x00, 0x00

}

e controlla al riavvio se vengono visti come ESB2

 

Per lo speedstep natio ho provato qualsiasi cosa, dall'aggiunta delle SSDT direttamente nel DSDT a tutti i codici che puoi trovare nella sezione speedstep del forum internazionale, di tutto e di piu', ma devo dire che col voodoopstate va che e' una meraviglia e mantiene l'overclock allo stesso modo, mai kernel panic, funziona bene bene, in attesa di superhai :D

 

 

Ripartito, quel codice è quello del ICH10 e infatti meli vede ICH10, però arancio ora provo con 81 26 e dovrebbero diventare ESB2 altrimenti ho un'altro 58 34 segnato ma non so da dove venga...

 

ecco cosa vedo:

post-464373-1258496148_thumb.png

 

Mi son dimenticato di dire che ho tolto completamente il Device (SAT1) perchè non veniva visualizzato in Ioreg e poi non ho nessun ID da iniettargli

 

Ora cambio il SATA in ESB2 e vedo se mi tornan le icone giuste, a tra 2 minuti (si adesso avvia e spene più in fretta)...

 

 

Niente da fare le icone sono ancora arancio e con 0x26, 0x81 ottengo Unknown AHCI..:

post-464373-1258496852_thumb.png

 

torno a ICH10 che melo riconosceva. Sistemate le icone arancio passo alla firewire...

Link to comment
Share on other sites

81-26! 81-26! 81-26!

 

;)

 

Fino a dove hai cancellato il device SAT1?

 

 

Device (SAT1) <--da qui

{

pappardella

} <--a qui

 

Device (P0P5)

 

 

ma considera che la pappardella son tantissime righe (e ringraziamo la precisione a ste ore :D )

 

 

EDIT: Sistemato 0x81, 0x26 mo riparto .

 

EDIT EDIT:

 

post-464373-1258497868_thumb.png

 

non serve dire altro se non:

 

bella lì smith@@!

 

ESB2 aggiudicata! :D

 

Passo alla firewire ma prima devo andar a comprar le cicche, dannati vizi che non mi lasciano lobotomizzarmi davanti al computer....

 

a più tardi

Link to comment
Share on other sites

Prima del test della firewire una piccola modifica cosmetica al Jmicron:

aggiunto dopo il Name (_ADR, Zero)

 

Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
					{
						"io-device-location", 
						Buffer (0x08)
						{
							"JM-Bay 1"
						}
					}, 
					Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}

 

Per visualizzare il nome in System Profiler

 

PRIMA:

 

Device (PRT0)
			{
				Name (_ADR, Zero)
				Method (_GTM, 0, NotSerialized)
				{
					ShiftLeft (PSCR, One, Local1)
					Or (PMCR, Local1, Local0)
					ShiftLeft (PMAE, 0x02, Local3)
					ShiftLeft (PM6E, One, Local4)
					Or (Local3, Local4, Local3)
					Or (PM3E, Local3, Local1)
					ShiftLeft (PMPT, 0x04, Local3)
					Or (Local1, Local3, Local1)
					ShiftLeft (PSAE, 0x02, Local3)
					continua....

 

DOPO:

 

Device (PRT0)
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)	/<--Aggiunto da qui
				{
					Store (Package (0x02)
					{
						"io-device-location", 
						Buffer (0x08)
						{
							"JM-Bay 1"
						}
					}, 
					Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}												 /<--fino a qui
				Method (_GTM, 0, NotSerialized)
				{
					ShiftLeft (PSCR, One, Local1)
					Or (PMCR, Local1, Local0)
					ShiftLeft (PMAE, 0x02, Local3)
					ShiftLeft (PM6E, One, Local4)
					Or (Local3, Local4, Local3)
					Or (PM3E, Local3, Local1)
					ShiftLeft (PMPT, 0x04, Local3)
					Or (Local1, Local3, Local1)
					ShiftLeft (PSAE, 0x02, Local3)
					continua....

Link to comment
Share on other sites

Assolutamente non OT, la patch per la Firewire è in arrivo, non l'ho ancora testata però è nella mia lista dei "to test":

 

in questo Topic di kdawg ho trovato:

 

(Tradotto approssimativamente dal post di kdawg)

 

Mi sembra che la gente abbia problemi con la firewire delle loro Mobo Gigabyte.

 

FireWire runtime power conservation disabled. (2)

 

Qui c'è la soluzione a ciò:

		Method (_L1A, 0, NotSerialized) // <-- Aggiunto per firewire
	{
		Notify (\_SB.PCI0.PCIB.FRWR, 0x00)
		Notify (\_SB.PWRB, 0x02)
	}

 

Dentro il Device (PCIB) ho aggiunto un'altra device:

 

 Device (FRWR) // <--Firewire (check to be sure the _GPE value is OK)
			{
				Name (_ADR, 0x00070000)
				Name (_GPE, 0x1A)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"fwhub", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

 

Io pure ero tentato di inserire il Device (FRWR) per farla riconoscere in maniera nativa solo non capisco perché in quest'esempio abbia gli id tutti a 0x00, 0x00, 0x00, 0x00 e l'altra parte non son sicuto di dove vada, devo guardarmi meglio i dump del mac

 

Rieccomi...

 

Dalla tabella DSDT di un MacPro4,1 (Che e' il modello di mac "emulato dal mio Hack) la sezione della Firewire credo che sia questa...

 

la 400

 

			Device (RP05)
		{
			Name (_ADR, 0x001C0004)
			OperationRegion (P5CS, PCI_Config, 0x40, 0xA0)
			Field (P5CS, AnyAcc, NoLock, WriteAsZeros)
			{
						Offset (0x20), 
						Offset (0x22), 
				PSP5,   1, 
						Offset (0x9C), 
					,   30, 
				HPS5,   1, 
				PMS5,   1
			}

			Device (FWBR)
			{
				Name (_ADR, 0x00)
				Device (FRWR)
				{
					Name (_ADR, 0x00)
					Name (_GPE, 0x1A)
					Method (_DSM, 4, NotSerialized)
					{
						Store (Package (0x02)
							{
								"fwhub", 
								Buffer (0x04)
								{
									0x00, 0x00, 0x00, 0x00
								}
							}, Local0)
						DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
						Return (Local0)
					}
				}
			}

			Method (_PRT, 0, NotSerialized)
			{

 }

	Method (_L1A, 0, NotSerialized)
	{
		Notify (\_SB.PCI0.RP05.FWBR.FRWR, 0x00)
	}
}

 

 

e la 800

 

 }

			Device (DMAC)
			{
				Name (_HID, EisaId ("PNP0200"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0000,			 // Range Minimum
						0x0000,			 // Range Maximum
						0x00,			   // Alignment
						0x20,			   // Length
						)
					IO (Decode16,
						0x0081,			 // Range Minimum
						0x0081,			 // Range Maximum
						0x00,			   // Alignment
						0x11,			   // Length
						)
					IO (Decode16,
						0x00C0,			 // Range Minimum
						0x00C0,			 // Range Maximum
						0x00,			   // Alignment
						0x20,			   // Length
						)
					DMA (Compatibility, BusMaster, Transfer8_16, )
						{4}
				})
			}

			Device (FWHD)
			{
				Name (_HID, EisaId ("INT0800"))
				Name (_CRS, ResourceTemplate ()
				{
					Memory32Fixed (ReadOnly,
						0xFF000000,		 // Address Base
						0x01000000,		 // Address Length
						)
				})
			}

			Device (HPET)
			{
				Name (_H

 

 

 

Dimenticavo la mia firewire e' una VIA VT6308P E non una Texas istruments come montano nirmalmente sulle Gigabyte.

 

Fabio

Link to comment
Share on other sites

 Share

×
×
  • Create New...