Jump to content

Touchpad non pienamente funzionante


adamantinum

Recommended Posts

Salve a tutti,

Ricreando la mia EFI per Open Core 0.5.9 (in firma) sto avendo problemi a far funzionare correttamente il touchpad: nelle impostazioni non è rilevato ma provando a usarlo il cursore si muove (e continua a muoversi anche dopo aver lasciato). Seguendo la guida su Dortania ho provato ad effettuare il GPIO pinning, patchando il DSDT a partire da quello vanilla, tuttavia al riavvio il boot si ferma su VoodooGPI per poi mostrare lo schermo del divieto. È un problema noto? Si sa come risolvere?
Grazie mille per l'aiuto.

PS. Ho provato anche a fare tutto da SSDT: viene caricato correttamente, tuttavia non posso rinominare SBFI in SBFB ed eliminare l'interruppe, quindi ho optato per patchare il DSDT.


DPCI: https://hastebin.com/jenojiximi.makefile

IoReg: https://ibb.co/LYbWjD4

 

Edited by adamantinum
Link to comment
Share on other sites

OK, a quanto pare è un problema del kext VoodooI2C. Bug noto: VoodooGPIO causa panic, devo provare l'ultima versione.

 

 

Aggiornamento: ora non va più in panic, ma se booto col DSDT modificato dà il segno di divieto...

 

Edited by adamantinum
Link to comment
Share on other sites

Resta un po' su ApplePS2 e poi dà il simbolo di divieto, ma di errori specifici non ne vedo...

Non è che per correggere gli errori di compilazione del DSDT (parseop_zero con il fix ed eliminando poi un paio di scope) io abbia sbagliato qualcosa?

Link to comment
Share on other sites

Senza boota normalemente.

L'ordine dei miei kext è il seguente:

 

Lilu

VoodooTSCSync
VoodooInput
VoodooI2CServices
VoodooGPIO
VoodooI2C
VoodooI2CELAN
VoodooI2CHID
VoodooPS2Controller
VoodooPS2Keyboard
VirtualSMC.kext
SMCBatteryManager
SMCSuperIO
WhateverGreen
AppleALC
USBInjectAll

 

Edited by adamantinum
Link to comment
Share on other sites

Parte, grazie mille! Ora ho applicato le patch e devo solo trovare l'ordine corretto dei kext per evitare vada in panic ahah.

Ma a cosa serieve la patch per la batteria che hai messo? Dovrebbe influire sulla durata? Perché ho notato che il PC si scarica in fretta.

Edited by adamantinum
Link to comment
Share on other sites

Purtroppo sono ancora qui 🙁
Dopo aver patchato il DSDT (allego se qualcuno vuole controllare), al remoto va in Kernel Panic a VoodooGPIO, eppure mi pare di aver seguito correttamente l'ordine dei plugin suggerito dalla documentazione VoodooI2C (Services, GPIO, I2C) e la guida per il GPIO pinning: dispositivo ETPD, pinning eseguito manualmente. Codice apice 0x6d, quindi il pin decimale è 85 e quello hey 0x0055.

 

Qui una foto del Panic, se può servire: https://ibb.co/9WjVwk5

 

Grazie per la pazienza 😅

DSDT.aml.zip

Edited by adamantinum
Link to comment
Share on other sites

L'avevo già fatto con SSDT, ora ho provato anche direttamente in DSDT ma va comunque in panic...

Mi è stato consigliato di chiedere direttamente sul supporto di VoodooI2C, magari sanno se il panic è colpa del kext (credo proprio di sì dato che riporta VoodooGPIO nel backtrace).

Al limite rifaccio la EFI da capo quando esce OC 0.6 😄

Link to comment
Share on other sites

OK, il problema era proprio Return (0x0f). Seguendo la guida su dortania avevo aggiunto un if (_OSI("Darwin")) che rendeva alcuni oggetti col valore giusto LER far ritornare 0x0f a _STA. Non perché ma dava panic. Sostituendo tutto con solo Return (0x04) boota senza problemi. Il touchpad però non va 😂

Link to comment
Share on other sites

No, il Darwin adesso non c'è.

Il Kernel Panic avveniva con 
 

Method (_STA, 0, NotSerialized)  // _STA: Status
            {
            	If (_OSI ("Darwin"))
                {
                    GPEN = One
                    SBRG = One
        	    }
                
                If ((SBRG == Zero))
                {
                    Return (Zero)
                }

                If ((GPEN == Zero))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

Invece boota riducendo il tutto a 

Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0F)
            }

Ioreg è il seguente... All'avvio il touchpad dovrebbe essere riconosciuto e pinnato senza problemi, se sapessi come controllare i blog di boot verificherei.

ioreg.zip

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • There are no registered users currently online
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.