Jump to content
30 posts in this topic

Recommended Posts

stasera cercherò di fare quanto in oggetto..

 

l'idea è di usare questa guida e adattarla alla ns 9600gt 512mb

mi pare molto attendibile e contiene i dati che cercavo.

 

http://www.insanelymac.com/forum/index.php...=173112&hl=

Link to comment
https://www.insanelymac.com/forum/topic/173915-acer5930g-dsdt/
Share on other sites

dunque se qualcuno ha voglia di testare..

lascio il dsdt senza injector vga.. e con

e relativi sorgenti

entrambi hanno le principali features che un dsdt dovrebbe avere ovvero

-uso dell'hpet e quindi non serve il voodoopower e non serve il disabler

-uso dell'smc

-

 

 

 

maxpaine: sei ancora con l'acer?

 

sto leggendo circa i possibili motivi del randomico hang al boot..

 

noto che spesso l'hdaenabler viene ativato e letto dopo il waiting for boot device.. e certe volte invece prima.

e solo nel primo caso si ha un hang.. e quando non avevo l'hdaenabler vedevo la stessa cosa con il appleacpips2nub.

 

nonostante tutto facendo una ricerca ho scoperto che molti possessori di acer di varia natura e anche eventuale vaio vg21n hanno problemi di hang allo still waiting for boot device se è presente un hdaenabler

 

ma sono solo.. supposte!

 

ora siccome questo dsdt patchato gira male.. (ho la video ma non qe/ci) e comunque è già qualcosa.. ma fa schifo..

ho deciso di stare per metà settimana (tanti boots) così e vedere se migliora qualcosa e l'altra metà con l'hdaenabler for 10.5.7 trovato qui

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

 

poi:

 

 

siccome volevo fare un compare tra il dsdt così come naque dalle tabelle di base.. e quello ultimo grido.. non sapevo proprio cosa usare

 

allora sto tirando giù un tool chiamato deltawalker. ma ne approfitto.. voi cosa usate?

 

--

le modifiche sono:

1)aggiunto questo device prima di PCI0 riga 1417

		Device (PNLF)
			{
				Name (_HID, EisaId ("APP0002"))
				Name (_CID, "backlight")
				Name (_UID, 0x0A)
				Name (_STA, 0x0B)
			}

 

motivazione: è presente nei macbook e gestisce meglio il backlight

 

2)modifica sul metodo _DOD del device vga (secondo spiegazioni varie.. forse dovuto a un errore di compilazione)

3)device rtc riga 8353: aggiunto

						IRQNoFlags ()
						{8}

secondo spiegazioni varie..

4) riga 9239 aggiunto

				If (\_OSI ("Darwin"))
			{
				Store (0x07D6, OSYS)
			}

per attivare hpet

 

 

rimangono appunto la vga con la seguente modifica (qui allegata in file separato) in cui si sostituisce in toto la gfx0

Device (GFX0)
		{
			Name (_ADR, 0x00020000)
			Method (_DSM, 4, NotSerialized)
			{
			Store (Package (0x16)
			{
			"@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, 0x09, 0x00,
			/* 0008 */ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			/* 0010 */ 0x00, 0x00, 0x00, 0x00
			},

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

			"device_type",
			Buffer (0x0D)
			{
			"NVDA,GeForce"
			},

			"model",
			Buffer (0x18)
			{
			"nVidia GeForce 9600M GT"
			},

			"rom-revision",
			Buffer (0x26)
			{
			"nVidia GeForce 9600M GT OpenGL Engine"
			}
			}, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
			}

			Method (_DOS, 1, NotSerialized)
			{
				Store (And (Arg0, 0x03), DSEN)
			}

			Method (_DOD, 0, NotSerialized)
			{
				If (SCIP ())
				{
					Store (NDID, Local0)
					Store (0x00, NDID)
					If (LNotEqual (DIDL, Zero))
					{
						Store (SDDL (DID1), DID1)
					}

					If (LNotEqual (DDL2, Zero))
					{
						Store (SDDL (DID2), DID2)
					}

					If (LNotEqual (DDL3, Zero))
					{
						Store (SDDL (DID3), DID3)
					}

					If (LNotEqual (DDL4, Zero))
					{
						Store (SDDL (DID4), DID4)
					}

					If (LNotEqual (DDL5, Zero))
					{
						Store (SDDL (DID5), DID5)
					}

					If (LEqual (NDID, 0x00))
					{
						Store (Local0, NDID)
					}
				}

				If (LEqual (NDID, 0x01))
				{
					Name (TMP1, Package (0x01)
					{
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP1, 0x00))
					Return (TMP1)
				}

				If (LEqual (NDID, 0x02))
				{
					Name (TMP2, Package (0x02)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP2, 0x00))
					Store (Or (0x00010000, DID2), Index (TMP2, 0x01))
					Return (TMP2)
				}

				If (LEqual (NDID, 0x03))
				{
					Name (TMP3, Package (0x03)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP3, 0x00))
					Store (Or (0x00010000, DID2), Index (TMP3, 0x01))
					Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
					Return (TMP3)
				}

				If (LEqual (NDID, 0x04))
				{
					Name (TMP4, Package (0x04)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP4, 0x00))
					Store (Or (0x00010000, DID2), Index (TMP4, 0x01))
					Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
					Return (TMP4)
				}

				If (LGreater (NDID, 0x04))
				{
					Name (TMP5, Package (0x05)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP5, 0x00))
					Store (Or (0x00010000, DID2), Index (TMP5, 0x01))
					Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
					Store (Or (0x00010000, DID4), Index (TMP5, 0x04))
					Return (TMP5)
				}

				Return (Package (0x01)
				{
					0x0400
				})
			}

 

e la modifica audio in passato testata da noob1x mi pare.. che qui non ho allegato sostituento l'attuale HDEF con questo

 

Device (HDEF)
		{
			Name (_ADR, 0x001B0000)
			Method (_PRW, 0, NotSerialized)
			{
				Return (Package (0x02)
				{
					0x0D, 
					0x05
				})
			}

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x08)
					{
						"codec-id", 
						Buffer (0x04)
						{
							0x88, 0x08, 0xEC, 0x10
						}, 

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

						"device-type", 
						Buffer (0x11)
						{
							"ALC888"
						}, 

						"PinConfigurations", 
						Buffer (0x18)
						{
							/* 0000 */	0x40, 0x10, 0x21, 0x01, 0x20, 0x11, 0x10, 0x90, 
							/* 0008 */	0x60, 0x11, 0x45, 0x01, 0x50, 0x90, 0x81, 0x01, 
							/* 0010 */	0x10, 0x01, 0xA0, 0x90, 0x30, 0x10, 0x81, 0x01
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

			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, 0x01))
					{
						If (LEqual (Arg2, 0x00))
						{
							Store (Buffer (0x01)
								{
									0x03
								}, Arg4)
							Return (0x01)
						}

						If (LEqual (Arg2, 0x01))
						{
							Return (0x01)
						}
					}
				}

				Store (Buffer (0x01)
					{
						0x00
					}, Arg4)
				Return (0x00)
			}
		}

Ottimo ugo!! Da stasera ci lavoro anke io seriamente, è da un po che sto lavoricchiando svogliatamente su pegp.

 

Comunque ti cosiglio di provare con questi NVCAP:

0x05 0x01 0x00 0x00 0x00 0x00 0x01 0x00
0x06 0x00 0x00 0x00 0x00 0x00 0x01 0x0b
0x00 0x00 0x00 0x00

grazie perchè quelli che sto testando non vanno bene

credo che il tuo rispetto al vademecum su questo forum per me sia illeggibile

 

0x05 0x01 0x00 0x00 0x00 0x00 0x01 0x00

0x06 0x00 0x00 0x00 0x00 0x00 0x01 0x0b

0x00 0x00 0x00 0x00

 

dicicamo che il penultimo 0x01 della prima riga ha senso.. ma il resto lo ignoro sopratutto lo 0x0b

 

lo provo a presto

dunque tolto il fatto che stamattina non riesco più a boostrappare.. cioè lo fa solo più una volta ogn 7 o 8..

la modifica non ha sortito nessun miglioramento.

ora mi chiedo.. la tua stringa va messa as is o devo adattarla alla formula

/* 0000 */ hex1,hex2,etc..

 

ovvero il commento e le stringhe separate da virgola?

 

perchè nel secondo caso (come il file che ho allegato) è così e la compilazione non da errori

se invece cancello le 3 righe e metto il tuo così com'è la compilazione mi da errore su 55 punti del dsdt!

ciccia!

io come guida ho questa.. http://nvinject.free.fr/forums/viewtopic.php?t=214

ma secondo me il problema è che non la attiva a monte.. altrimenti non capisco perchè nelle info di sistema non vedo la scritta geforce blablabla ma vedo una pci generica invidia e come ram 32mega!

e forse il tuo config è anche giusto.. ma non attivandolo non lo legge.

 

eppure ho sottomano altri dsdt e sembrano identici nella struttura!

ugo, ma a te funzia la 9600 con le efistring? perchè potresti partire a lavorare da là intanto.

Poi, son d'accordo sul fatto che il problema sta a monte per il "GFX0", nel mio dsdt (HP) il grafica è affidata al device (PEGP) che sta per "Pci Express Graphic Adapter", tu invece crei direttamente il device; perchè non metti direttamente le stringhe dentro il device pegp (o il corrispndente in caso di acer)? Per scoprire a che device è affidata la grafica puoi farlo con IOregistryExplorer (XCODE), ma solo una volta che hai injectato con le efistring.

si qui ammetto una grande lacuna!

prima cosa.. io usando l'universal ati e invidia ho il driver migliore (inteso come risposta, attivazione, e informazione nell'ioreg).. e vorrei ribaltare questo li. estraendo con il vecchio metodo la stringa hex.. ho un dato. ma questo dato come lo traduco in un dsdt?

anche per l'audio.. io ho le vecchio stringhe efi di noob1x.. ma da li ad avere un pinconfig nel dsdt .. è dura.. ho cercato .. sono mesi che cerco. anche il koalala usa la gui di windows.. quella che fa uso di rom bios da patchare.. a che a me non va.

devo fare tutto a mano

altro problema: continuo a non capire perchè su windows e mac il bluetooth non esiste se non pigi il bottone.. mentre ubuntu 9.0.4 (unica .. le release precedenti non lo fanno) fa la magia. accende lui il BT!!

vorrei davvero capire come e dove lavora! sarebbe bello visto che ho il mighty mouse bt!

 

ora ho un dsdt quasi perfetto.. ma l'injection video non quaglia mentre sull'asus e zotac si!

:censored2: quando sono assorto..

mi rendo conto .. ma solo rileggendomi.. che scrivo da cani. e dire che mi piace scrivere.

sarà che è la 3 sera che mi scasso fuori a cena. che mal di testaaaa!!

merci-ful

 

ma da solo (perle di saggezza) posso fare ben poco

cmq devo dire che un bel corsicino.. lo farei davvero.

prima devo trovarmi un lavoro nuovo nel settore.. ed è veramente dura.. specie oggi

ok

è mia intenzione ricreare un nuovo topic con i link a tutti i topic acer da gennaio ad oggi.. così da non perdere nulla

questo perchè di recente mi scrivono decine di PM con richieste di allegati e dati comunque già scritti ma difficilmente raggiungibili.. anche con un volgarissimo cerca

  • 3 weeks later...

Sii!!!! Ce l'ho fatta Ugo!!! Injecting video e audio tramite dsdt!!!

 

:(:happymac: :happymac:

 

Domenica o lunedi, passo di qui e ti spiego come ho fatto.

Ora sono euforico e stanco morto, è dalle 01:00 che lavoro senza staccare gli occhi dal pc, vado a letto..vedo solo stringhe, e son le 3:30.

beh.. sei mitico!

io sono alle prese con vodafone.. con vista riesco malapena a connettermi.. il programma option global connect su mac fa le bizze

in realtà vorrei fare quello che qui so fare bene.. ovvero connettermi alle com virtuali e usare i comandi at..

su mac non so come fare a parlare con quelle porte..

comunque mentre aspetterò sto rifacendo per l'ennesima volta il dsdt base.. e stavolta anche senza injection ve meglio il boot.

diciamo più buoni boot di prima.

  • 2 weeks later...
×
×
  • Create New...