Leaderboard
Popular Content
Showing content with the highest reputation on 02/27/2020 in all areas
-
0.2.1 trulyspinach Fixes temperature sensor value offset on Zen 1 processors. Add support for macOS 10.13 Fixes a problem that cause AMD Power Gadget to crash on system with 32 or more than 32 cores.2 points
-
2 points
-
Lo scopo di questa guida è quello di configurare il nostro hack in un modo ancora migliore, senza usare UsbInjectall (escluso per metodo Rehabman) e nessuna patch per port limit attenendoci a ciò che Apple fa e vuole…. Ossia un massimo di 15 porte disponibili e utilizzabili Decisamente molto più qualitativo. …. 😉 Occorrente: IORegistryExplorer.app MaciAsl (lo trovate in download) Procuriamoci una usb sia 2.0 che 3.0 Aggiungiamo la patch per aumentare il port limit sul config Aggiungiamo usbinjectall.kext nella EFI Riavviamo.... Iniziamo con la mappatura… Apriamo IOReg, scorriamo fino a trovare XHC o nel caso XHCI Nota:Nel caso le nostre usb fossero nominate XHC1 vanno rinominate tramite una patch sul config Adesso inseriamo ed espelliamo prima una pendrive usb 2.0 e poi una pendrive 3.0 Nota: Questo procedimento dovrà essere eseguito senza chiudere IOReg e ripetuto su ogni singola porta usb del nostro hack…mobo e case.. Una volta terminato ci ritroveremo ad un esempio di questo tipo Le usb verranno mostrate in rosso dopo averle scollegate Adesso ipotizziamo di aver terminato e basiamoci sulla foto precedente Annotiamoci le porte non usate..per esempio HS02-HS04 Ovviamente questo è un esempio…potreste averne molte di più…con porte SSPx La differenza tra le due nominazioni è: HSxx = USB 2.0 SSPx = USB 3.0 A questo punto è necessario un ssdt per disabilitare le porte non usate Metodo Basato su SSDT generico fatto da Rehabman Apriamo ssdt con MaciASL Adesso dobbiamo eliminare le porte che non usiamo, questo perché ssdt comprende tutte le porte possibili e utilizzabili della scheda madre Per rimuovere le vostre porte non in uso vi basterà rimuovere la parte che vi ho evidenziato…ovviamente è solo un esempio e non è detto che quella specifica porta non sia usata nel vostro hack. Una volta aver rimosso le porte, all’inizio del ssdt definiamo i l numero di porte in uso "port-count", Buffer() { 26, 0, 0, 0 }, 26 è il numero di porte totali disponibili su schede madri Skylake e successivi… ma su osx il limite imposto è per 15 porte al massimo Noi dobbiamo cambiare 26 con il numero delle porte che usiamo e deve essere inferiore o uguale a 15…ma non superiore. Adesso passiamo alla parte "UsbConnector" In questa parte dobbiamo definire il “tipo di porta” .. quindi se è 2.0, 3.0 e se è una usb interna Guardate questo esempio Quindi le usb 2.0 avrà "UsbConnector", 0, la usb 3.0 avrà "UsbConnector", 3, Mentre le usb interne dovranno avere "UsbConnector", 255, ( 0xFF) CREDITS: @ Apple @ ACPICA @ Pokenguyen (primo che all’inizio di El Capitan ha fatto presente l’aggiunta da parte di Apple del limite di porte in uso) @ PJalm @ Piker @ Rehabman Metodo Alternativo Basato sulle proprie ACPI compatibile da Skylake e successivi Questo è il metodo che preferisco e che uso da anni nei miei hack o di amici stretti… Lo ritengo migliore, per il mio modesto parere, perché andiamo a usare e lavorare sul nostro proprio ssdt, senza usarne di aggiuntivi Estrazione ACPI Clover Estraiamo le nostre acpi tramite clover (il dump richiede che sia installato nella ESP) Premiamo F4 quando siamo nella GUI,per sicurezza che il dump sia corretto aspettiamo una trentina di secondi prima di avviare. Montiamo la partizione EFI del dispositivo usato per il boot Rechiamoci in EFI/Clover/acpi/origin Troveremo varie tabelle, noi dobbiamo andare a cercare ed esaminare SSDT in special modo quello che gestisce le usb Nella stragrande maggioranza dei casi sarà la tabella nominata xh_rvp08, xh_rvp10 etc... ma può essere anche semplicemente per esempio SSDT-3.aml oppure SSDT-AMI.aml OpenCore: Per estrarre le proprie acpi con questo bootloader abbiamo bisogno dei bianri in versione Debug Quindi se per esempio avessimo la versione 0.6.1, andremo a scaricare la stessa versione con dicitura DEBUG. Prendiamo poi il file bootx64.efi che troviamo in EFI/BOOT e OpenCore.efi che troviamo in EFI/OC. Sostituiamoli nelle stesse posizioni nella nostra EFI. Modifichiamo il config in Misc/Debug/SysReport mettendo YES. Salviamo e riavviamo. Troveremo le nostre acpi dentro una cartella nella root della partizione EFI. Troveremo varie tabelle, noi dobbiamo andare a cercare ed esaminare SSDT in special modo quello che gestisce le usb Nella stragrande maggioranza dei casi sarà la tabella nominata xh_rvp08, xh_rvp10 etc... ma può essere anche semplicemente per esempio SSDT-3.aml oppure SSDT-AMI.aml Nota: il Nome del relativo ssdt contenente le usb può cambiare da mobo a mobo, quindi dovrete voi controllare le vostre acpi e trovare quello contenente XHC Apriamola con MaciASL Adesso visualizzeremo le porte usb disponibili per la mobo Soffermiamoci su questa parte di codice…ovviamente partiamo dalla prima usb HS01 Scope (\_SB.PCI0.XHC.RHUB.HS01) { Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities { Return (GUPC (One)). } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { Return (GPLD (One, 0x02)) } } Bene adesso l’operazione è molto semplice One in questo caso vuol dire Vero/Abilitato La parte di codice da modificare per ogni singola usb è: Return (GUPC (One)) Quindi porta abilitata lasceremo One Porta disabilitata cambieremo sostituendo One con Zero Tornando all’esempio sopra… Il codice rispettivamente per ogni porta disabilitata sarà: Scope (\_SB.PCI0.XHC.RHUB.HS01) { Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities { Return (GUPC (Zero)) } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { Return (GPLD (One, 0x02)) } } Nota: Anche il codice relativo può essere diverso, quindi potresti anche avere una cosa di questo tipo: Scope (\_SB.PCI0.XHC.RHUB.HS01) { Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities { If (LEqual (H1TC, Zero)) { Return (GUPC (H1CN)) } Else { Return (\_SB.UBTC.RUCC (H1CR, One)) } } in questo caso la parte interessata sarà contenuta all'interno della prima condizione, quindi avremo la solita sostituzione Scope (\_SB.PCI0.XHC.RHUB.HS01) { Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities { If (LEqual (H1TC, Zero)) { Return (GUPC (One)) // << ----- } Else { Return (\_SB.UBTC.RUCC (H1CR, One)) } } Finito di cambiare il valore per ogni porta basandoci sulla nostra mappatura non ci resta che compilare e salvare Parte finale Collochiamo il nostro SSDT in EFI/Clover/acpi/patched Questo però non sarà sufficiente perché la tabella originale (OEM) verrà sempre caricata e quindi il nostro ssdt non avrà alcun effetto Quindi dobbiamo “Droppare” la relativa tabella OEM Cosa vuol dire? Significa bloccare il caricamento della stessa per permettere al nostro ssdt di lavorare Apriamo il config.plist, rechiamoci nella parte ACPI/Drop Tables Clicchiamo sul simbolo + Selezioniamo SSDT —> TableId ed accanto scriviamo il nome esatto della tabella da bloccare…esempio xh_rvp08 Il risultato sarà questo Come possiamo essere sicuri del corretto TableId? Ecco spiegato nell'imagine sottostante: Nota: Qualora trovassimo per esempio " AMI " questo non dovrà essere usato perchè nel caso del drop usando appunto il TableID, questo deve essere unico per tale ssdt e non uguale su più ssdt. In questo caso dovrete usare Lenght per droppare la tabella. Quindi seguite la relativa spiegazione nella parte della guida inerente a X299. Rimuoviamo o disabilitiamo la patch per port limit e salviamo Rimuoviamo usbinjectall.kext dalla relativa cartella kext in EFI Riavviamo Aprendo ioreg, cercando XHC noteremo che verrano visualizzate solo le porte in uso Questo è l’esempio del mio hack Perfezionamento: Definizione dei connettori. In download, nella sezione ACPI troverete una mia patch. Scaricatela, aprite il file txt copiate e incollate il contenuto nella finestra patch di MaciAsl. Applicate la patch sul relativo ssdt. Adesso possiamo Abilitare/Disabilitare la porta modificando il primo valore mentre con il secondo valore andremo a definire la tipologia del connettore usb. Quindi andiamo nella relativa porta e scriviamo/sostituiamo il contenuto del metodo _UPC con: Return (GENG (One, 0x03)) Esempio: One ovviamente renderà la porta attiva, qualora volessimo disattivarla e vogliamo usare questo metodo, basterà mettere Zero al suo posto. Nota: Per la disattivazione va ugualmente bene il metodo elencato sopra. Seconda parte: 0x03 va a definire la relativa porta come semplice Usb 3.0 Nella mia patch sono elencati i vari connettori che possono essere usati, in primo luogo troviamo diciamo quelli più "comuni" e successivamente quelli diciamo opzionali. Quindi con questa unica patch potete fare di tutto, abilitare/disabilitare e definire... Spero che vi possa aiutare e spero anche che venga apprezzato e non solo copiato senza un credits come già è accaduto! Vii invito a leggere, anche giusto per informazione, questo topic che ha vari riferimenti Buon Hack !1 point
-
Ciao a tutti. Sono veramente un novizio e nuovo in questa comunità, nel senso che ho provato a realizzare un hack con hardware di qualche anno fa e con mia meraviglia, ci sono riuscito. Sembra funzionare bene. Un grazie a tutti coloro che hanno contribuito e stanno sviluppando il software e le guide per procedere in questo. Ciao a tutti.1 point
-
1 point
-
comincio a prendere le misure a OC, comincia anche a piacermi Sleep ok Avvio win 10 ok per aggiornare gli OS vado tranquillo come Clover?1 point
-
1 point
-
mi fermo perche non mi fa prendere il suddetto file...(ora son riuscito.....come mi avevi accennato tu ieri 😉 ) immaginavo per il discorso del hd2000.... avevo letto googlando un po ....per quello mi stavo guardando in giro per un ati low budget. consigli per una vga compatibile?1 point
-
Grazie ragazzi! appena mi arriva la scheda wireless bluetooth faccio il mapping delle usb e dovrei essere a posto. ci sono altri test da provare per capire che sia tutto ok?1 point
-
Bene! Buonasera a tutti, ottime notizie. Siccome per questo PC ancora non ho potuto comprare una GPU moderna che sia UEFI al 100%, ahimè la GT710 che utilizzo attualmente con Clover non lo è. La buona notizia è che sono riuscito a partire con la CSM disabilitata, l'altra sera ho dato una botta su una mensola (e non mi è venuta l'idea del flusso canalizzatore 😆) ma mi è saltato in mente che quando disabilitavo la CSM non mi ricordavo di cambiare l'uscita primaria del BIOS da Primary Express for Graphics a Internal Graphics. Quindi salvate le impostazioni, mi sono collegato alla integrata della motherboard via cavo DisplayPort (ricordavo infatti che DVI-D non andava in output video/forse è legacy o qualcosa a me sconosciuto) e ho avviato l'installer di mojave dalla EFI che allegherò qui sotto di seguito, tutto questo con OpenCore 0.5.4 (poi magari in futuro rimaneggierò config.plist/kext piu aggiornate e 0.5.6 in maniera ottimale per un upgrade generale) Leggendo in giro infatti (spulciando un documento che raccoglie la documentazione di acidanthera e altri siti terzi, tempo fa ho trovato alcune informazioni in merito alle relazioni tra bootloader (clover e opencore) e questo caspita di firmware CSM. Putroppo i siti sono in russo, quindi la traduzione in inglese/italiano è quella che è ma bisogna accontentarsi. Tuttavia questa frase pare molto chiara di certo: (vedi link 1, se clicchi su link 2 approfondisce la questione) Link 1 e Link 2 Quindi bene a sapersi, il problema era la CSM abilitata, Slice a quanto pare è riuscito ad integrare delle patch/workaround anche per firmware con CSM abilitato, ma a è meglio (come avete visto) avviare senza CSM (iGPU/GPU - settaggi bios corretti - sezione properties della iGPU e framebuffer) corretti permettendo. Evidentemente OpenCore richiede avvii UEFI puri, ed è più esigente sotto questo aspetto rispetto a Clover, che ora mi permette di utilizzare doppio display, uno su DVI-D e uno su HDMI [entrambe porte appartenenti alla GT710, qui è cruciale l'aiuto di WeG e lo spoof del device-id della iGPU altrimenti il controller H110 (chipset skylake che fa si che macos si aspetti una HD530 skylake) non mi fa andare la integrata KabyLake (HD630)]1 point
-
1 point
-
FUNZIONAAAAAAAAAAAAAA!T’s iMac.zip Allego IOreg per conferma. Posso usare il post per risolvere eventuali problemi di post installazione?1 point
-
1 point
-
Ho invertito l'ordine di caricamento nel config di OC, mettendo prima l'injector e poi il kext con il firmware ed ora pare che non sbagli più un colpo✌️1 point
-
1 point
-
hai provato a mettere il solo pluginType sul config? per monitorare ti servono app tipo iStat, HWmonitor etc ma ti serve anche i relativi sensor di FakeSMC o di VirtualSMC1 point
-
Stavo dando un'occhiata all'encomiabile lavoro che state facendo. Volevo segnalare che nella sezione 4.5, nel punto "Aggiornamento dell’intestazione del metodo HPET" ci sono un paio di punti nel testo che non e' molto comprensibile.............1 point
-
1 point
-
1 point
-
0 points