Jump to content

Due injector per SBUS e LPC


Smith@@™
 Share

34 posts in this topic

Recommended Posts

Si', l'sbus inseriscilo tu come in esempio.

 

Per l' lpcb inserisci l'id, uno di quelli gia' contenuti nel kext, anch'esso nel dsdt ed eviti di usare gli injector. Trovi anche questo esempio in dsdtse se non ricordo male.

 

Ciao

Link to comment
Share on other sites

Si', l'sbus inseriscilo tu come in esempio.

 

Per l' lpcb inserisci l'id, uno di quelli gia' contenuti nel kext, anch'esso nel dsdt ed eviti di usare gli injector. Trovi anche questo esempio in dsdtse se non ricordo male.

 

Ciao

 

Ciao.Rieccomi....

Ho inserito questa parte di codice sia per SBUS che LPCB.

Device (SBUS)
	{
		Name (_ADR, 0x001F0003)
		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x04)
				{
					"name", 
					"pci8086,3a30", 
					"device-id", 
					Buffer (0x04)
					{
						0x30, 0x3A, 0x00, 0x00
					}
				}, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
		}

		OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
		Field (SMBP, DWordAcc, NoLock, Preserve)
		{
				,   2, 
			I2CE,   1
		}

		OperationRegion (SMBI, SystemIO, 0x1C00, 0x10)
		Field (SMBI, ByteAcc, NoLock, Preserve)
		{
			HSTS,   8,
		} 
		}   
		 Device (SBRG)
		{
			Name (_ADR, 0x001F0000)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x18, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

 

 

 

0 errori e 0 warning 70 ottimizzazioni.

 

Ma il codice è corretto ?

Perchè per SBUS finiva come ho scritto prima con 8, e io c'ho aggiunto le due parentesi graffe per chiudere.

 

Corretto sarà corretto visto gli 0 errori , però volevo sapere se funzionava correttamente diciamo :)

 

Ciao e grazie mille per la risposta come sempre.

Link to comment
Share on other sites

Si gli id sono corretti, ma se vuoi che venga caricato "like a mac" dovresti inserire anche questa porzione di codice nel device sbus:

 

Device (BUS1)
               {
                   Name (_CID, "smbus")
                   Name (_ADR, One)
                   Device (DVL0)
                   {
                       Name (_ADR, 0x57)
                       Name (_CID, "diagsvault")
                       Method (_DSM, 4, NotSerialized)
                       {
                           Store (Package (0x03)
                               {
                                   "address", 
                                   0x57, 
                                   Buffer (One)
                                   {
                                       0x00
                                   }
                               }, Local0)
                           MCDP (Arg2, RefOf (Local0))
                           Return (Local0)
                       }
                   }
               }

 

o questa, e' indifferente:

 

Device (BUS0)
               {
                   Name (_CID, "smbus")
                   Name (_ADR, Zero)
                   Device (DVL0)
                   {
                       Name (_ADR, 0x57)
                       Name (_CID, "diagsvault")
                       Method (_DSM, 4, NotSerialized)
                       {
                           Store (Package (0x03)
                               {
                                   "address", 
                                   0x57, 
                                   Buffer (One)
                                   {
                                       0x00
                                   }
                               }, Local0)
                           MCDP (Arg2, RefOf (Local0))
                           Return (Local0)
                       }
                   }
               }

 

 

Non dovrebbe darti nulla in piu' ai fini pratici, soprattutto se usi un sistema delle alimentazioni vanilla e identifichi il tuo hack come mac pro. In questi ultimi l'sbus non viene caricato ne' e' presente il bus0 o 1. Vedrai quello che vedi ora nello ioreg. Puoi anche lasciare come e' ora

Link to comment
Share on other sites

Riguardo all'errore dell'injector dovresti postare che errore, detta cosi' a scatola chiusa e' un po' difficile aiutarti;)

Io proverei sempre a editare i kext originali, nel caso in cui tutto funzioni, ripristinerei quest'ultimi e userei di conseguenza gli injector; gli injector vanno in /Extra/Extensions non in /Extra.

Per l'smbus non devi usare nessun injector, l'id del tuo device e' gia' contenuto nel kext AppleSMBusPCI.

A volte e' necessario, in particolar modo sulle p5q series aggiungere un'ulteriore parte di codice al dsdt per caricare il device di cui sopra, indipendentemente dall'id in questione;

 

per l' LPC e' tutto giusto, controlla sempre con lo ioreg che venga caricato;)

 

 Device (SBUS)
		{
			Name (_ADR, 0x001F0003)
			Device (BUS0)						  // da qui, spesso e' necessaria questa parte di codice
			{
				Name (_CID, "smbus")
				Name (_ADR, Zero)
				Device (DVL0)
				{
					Name (_ADR, 0x57)
					Name (_CID, "diagsvault")
					Method (_DSM, 4, NotSerialized)
					{
						Store (Package (0x03)
							{
								"address", 
								0x57, 
								Buffer (One)
								{
									0x00
								}
							}, Local0)
						MCDP (Arg2, RefOf (Local0))
						Return (Local0)
					}
				}
			}					  // a qui
		}

 

Non uso il metodo DTGP per l'iniezione di altro codice ma l'MCDP. Sostituite con la chiusura del DTGP ;)

 

Stavo tentando di inserire il codice che mi hai consigliato:

 

Device (BUS1)

{

Name (_CID, "smbus")

Name (_ADR, One)

Device (DVL0)

{

Name (_ADR, 0x57)

Name (_CID, "diagsvault")

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x03)

{

"address",

0x57,

Buffer (One)

{

0x00

}

}, Local0)

MCDP (Arg2, RefOf (Local0))

Return (Local0)

}

}

}

 

Questo qua, però come leggo dovrei cancellare il DTGP ?

Se cancello il DTGP poi le modifiche che ho fatto al dsdt che richiedono DTGP , non funzioneranno ?

E cosa più importante, nel DSDTSE non vedo MCDP.

 

ma ho trovato questa discussione.

http://www.insanelymac.com/forum/index.php?showtopic=206232

 

quindi se io inserisco questa riga a regola penso che funzioni la tua aggiunta, se ho capito bene ?

Però resta il dubbio sul DTGP da togliere a quello che ho capito e quindi perdere le altre modifiche fatte.

 

Insomma in parole povere avrei questi dubbi :P

Veramente grazie mille per la disponibilità e la gentilezza.

Ciau.

Link to comment
Share on other sites

Utilizzo un altro metodo di iniezione, ma sono equivalenti ai fini pratici. Lascia il DTGP e sostituisci con questo:

 

 

Device (BUS0)
               {
                   Name (_CID, "smbus")
                   Name (_ADR, Zero)
                   Device (DVL0)
                   {
                       Name (_ADR, 0x57)
                       Name (_CID, "diagsvault")
                       Method (_DSM, 4, NotSerialized)
                       {
                           Store (Package (0x03)
                               {
                                   "address", 
                                   0x57, 
                                   Buffer (One)
                                   {
                                       0x00
                                   }
                               }, Local0)
                           DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                           Return (Local0)                        }
                   }
                }
            }

Link to comment
Share on other sites

Utilizzo un altro metodo di iniezione, ma sono equivalenti ai fini pratici. Lascia il DTGP e sostituisci con questo:

 

 

Device (BUS0)
               {
                   Name (_CID, "smbus")
                   Name (_ADR, Zero)
                   Device (DVL0)
                   {
                       Name (_ADR, 0x57)
                       Name (_CID, "diagsvault")
                       Method (_DSM, 4, NotSerialized)
                       {
                           Store (Package (0x03)
                               {
                                   "address", 
                                   0x57, 
                                   Buffer (One)
                                   {
                                       0x00
                                   }
                               }, Local0)
                           DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                           Return (Local0)                        }
                   }
                }
            }

 

 

Ok, allora lo inserisco subito.

quindi mi par di capire che volendo potrei anche sostituire il DTGP inserendo MCDP.

L'unica cosa che cambia, è la chiusura ?

 

MCDP = MCDP (Arg2, RefOf (Local0))

DTGP= DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

 

Chiaramente poi a inizio DSDT dovrei inserire MCDP e cancellare il dtgp.

Cmq sarebbe tutto qua ?

 

Però ormai dato che sei stato così gentile da darmi il codice anche per DTGP , allora mantengo il DTGP.

Grazie per tutte queste info.

 

Ah, ultima cosa. E' off-topic, però semmai se c'hai il tempo e la voglia di aiutarmi puoi risp in PM.

Se lascio il PC fermo , cioè che non lo tocco per tipo 8-10 ore. Quelle notturne praticamente, e resta acceso però, al mattino accendo il monitor e mi ritrovo con lo screen saver bloccato come il pc. E quindi devo tener premuto il power per spegnere o reset per riavviare.

Qualche idea ?

Grazie ancora di nuovo.

Ciao.

Link to comment
Share on other sites

Ok, allora lo inserisco subito.

quindi mi par di capire che volendo potrei anche sostituire il DTGP inserendo MCDP.

L'unica cosa che cambia, è la chiusura ?

 

MCDP = MCDP (Arg2, RefOf (Local0))

DTGP= DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

 

Chiaramente poi a inizio DSDT dovrei inserire MCDP e cancellare il dtgp.

Cmq sarebbe tutto qua ?

 

Però ormai dato che sei stato così gentile da darmi il codice anche per DTGP , allora mantengo il DTGP.

Grazie per tutte queste info.

 

Ah, ultima cosa. E' off-topic, però semmai se c'hai il tempo e la voglia di aiutarmi puoi risp in PM.

Se lascio il PC fermo , cioè che non lo tocco per tipo 8-10 ore. Quelle notturne praticamente, e resta acceso però, al mattino accendo il monitor e mi ritrovo con lo screen saver bloccato come il pc. E quindi devo tener premuto il power per spegnere o reset per riavviare.

Qualche idea ?

Grazie ancora di nuovo.

Ciao.

 

Lascia il dtgp, non fare modifiche inutili.

 

Per il secondo, non ne ho idea. Ram fallate? Processore? E' un problema che puo' avere tante cause. PRova a giocare un po' con le ram;)

Link to comment
Share on other sites

 Share

×
×
  • Create New...