Leaderboard
Popular Content
Showing content with the highest reputation on 09/22/2020 in all areas
-
3 points
-
That was quick, so soon after Beta 7, they must be getting ready to go Golden Master soon.2 points
-
Tue, 22 Sep 2020 10:00:00 PDT macOS Big Sur 11 beta 8 (20A5374i) https://developer.apple.com/news/releases/?id=09222020a2 points
-
1 point
-
1 point
-
Salve a tutti, premesso che l'autore originale di questa guida è @Gengik84, ho deciso di riscrivere la stessa per evitare confusioni o altro. La seguente guida si applica solo a piattaforme con processore Intel e con bootloader OpenCore (odio Clover xD). In seguito vedrò di pubblicare una guida per piattaforme AMD. La prima domanda che sorgerà spontanea a tutti: "perchè mai mappare le porte USB?" Cito testuali parole di Aleksandar Vacić, prese da un articolo sul suo blog: "When you choose some Mac model to emulate – say iMacPro1,1 – macOS will load USB hardware map for that particular machine. Apple knows exactly what their models use as hardware configuration so they don’t really need to scan for available ports or other hardware (like Windows or Linux must do). Everything is known before-hand. One thing they know is that none of their machines have more than dozen ports per USB controller thus in 10.11 (El Capitan) they introduced hard limit of 15 ports per controller." Per coloro che hanno difficoltà a tradurre, banalmente questo trafiletto dice: "Quando decidi un SMBIOS da emulare - diciamo iMacPro1,1 - macOS caricherà la mappatura USB per quella particolare macchina. Apple sa a memoria le configurazioni hardware delle sue macchine perciò non ha bisogno di scansionare le porte di altri hardware (come invece è fatto per Windows e Linux). Tutto è noto in anticipo. Una cosa che loro sanno bene è che nessuna delle loro macchine ha più di una dozzina di porte USB per singolo controller, così a partire da macOS 10.11 El Capitan, hanno introdotto un limite fisso di 15 porte massimo per controller". Q: Ok e quindi? Cosa me ne potrebbe importare? A: Se hai più di 15 porte USB (contando le porte USB 2.0 e 3.0), potresti avere addirittura qualche porta disattiva, qualora queste superino il limite prestabilito. Nel corso della guida verrà spiegato come calcolare il numero di porte USB presenti sulla propria macchina ed eventualmente come aggirare il limite delle 15 porte USB. Requisiti Sito e manuale della scheda madre/laptop Dispositivo USB 2.0 (un mouse, una tastiera et similia) Dispositivo USB 3.0 (una chiavetta USB 3.0, un HDD esterno et similia) Chiavetta USB su cui mettere OpenCore Tabelle ACPI estratte tramite SysReport MaciASL Hackintool Saper montare una partizione EFI Modificare il config.plist di OpenCore Iniziamo Come prima cosa è bene contare le porte USB presenti sulla propria macchina seguendo il seguente criterio: le porte USB 2.0 vengono contate come porte singole le porte USB 3.0 vengono contate come se fossero due porte USB, per via della retrocompatibilità eventuali periferiche collegate agli header interni della scheda madre vengono contate come porte singole (esempio: porte del front panel del case o Fenvi T919) non rientrano nella mappatura eventuali porte del controller ASMedia non rientrano nella mappatura eventuali HUB USB collegati alla macchina: questi sono pur sempre collegati ad una singola porta USB Esempio Scheda madre: Asus Z370 Prime A II (link sito) Secondo la pagina ufficiale della scheda madre abbiamo fino a 12 porte USB (inclusi gli header USB della motherboard): La seguente è una foto del back panel della scheda madre stessa: Procedendo da sinistra verso destra e dall'alto verso il basso, possiamo contare ben: 1 porta USB 3.1 Gen 2 Type-A, appartenente al controller ASMedia (la porta color verde acqua) 1 porta USB 3.1 Gen 2 Type-C, appartenente al controller ASMedia (la porta Type-C) 2 porte USB 2.0 Type-A 2 porte USB 3.1 Gen 1 Type-A Q: Dunque quante porte della scheda madre dobbiamo mappare? A: Escludendo le porte appartenenti al controller ASMedia, dobbiamo mappare le 2 porte USB 2.0 Type-A e le due porte USB 3.1 Gen 1 Type-A, per un totale di 6 porte USB: 2 porte USB 2.0 4 porte USB (2 USB 3.0 e le due porte USB 2.0 retrocompatibili con le USB 3.0) N.B. Qualora il numero di porte USB calcolate sia superiore a 15, bisogna abilitare il quirk config.plist/Kernel/Quirks/XhciPortLimit 1. Estraiamo le tabelle ACPI Prima di spiegare come estrarre le tabelle ACPI ci terrei a ringraziare @A23SS4NDRO per il testing di questa procedura. Per prima cosa, scaricare la EFI di Debug di OpenCore e dopo averla messa nella partizione EFI della chiavetta USB, avviare il PC dalla stessa. Compariranno diverse scritte: non c'è motivo di temere. Una volta arrivati al boot-menu spegnere il PC, riavviare su macOS e montare la partizione EFI della USB. Oltre alla cartella EFI precedentemente posizionata, troverete due nuovi elementi: cartella SysReport opencore-DATA_DI_OGGI.txt Il risultato è simile alla seguente foto: Arrivati a questo punto, aprire la cartella SysReport/ACPI e identificare la tabella ACPI contenente la mappatura delle porte USB. Q: Come diamine identifico questa tabella? A: Generalmente la tabella ACPI che definisce il comportamento delle porte USB si chiama SSDT-xxxxxx.aml: aprire ogni singolo file che si chiama così e cercare "HS01". Iterare questo procedimento finchè non viene identificata la tabella giusta. Qualora non sia stato possibile identificare la tabella ACPI, ripetere il procedimento appena spiegato con il file chiamato DSDT.aml Esempio: nel mio caso la tabella ACPI che definisce il comportamento delle porte USB si chiama "SSDT-2-xh_OEMBD.aml". So per certo che è la tabella ACPI giusta dal momento che fra le external references ci sono le varie porte USB disponibili sulla mia scheda madre Q: Ok. e adesso cosa faccio? A: Adesso occorre identificare il nome delle porte USB tramite Hackintool. E' bene iniziare dalle porte del back panel per poi procedere con le porte del front panel 2. Identificazione delle porte USB tramite Hackintool Aprire Hackintool e recarsi nella sezione USB: Cliccare sull'icona della scopa ed in seguito cliccare sull'icona del refresh button. Il risultato è simile alla foto di cui sopra. Arrivati a ciò, staccare ogni periferica USB esterna collegata al PC (mouse, tastiera ecc...). Prendere una periferica USB 2.0, come da requisiti, e collegarla ad una porta USB del back panel. Iterare questo procedimento per ogni porta USB. Il risultato dovrebbe essere simile al seguente: Nel mio caso, le seguenti porte USB2.0 sono state testate: HS01 (è la porta retrocompatibile USB3.0) HS03 HS04 (è la porta retrocompatibile USB3.0) HS06 (lettore schede microSD) N.B. non tutti i lettori di schede (micro)SD sono mappabili via USB. Dipende dalla motherboard in questione. Fanno eccezione le seguenti porte, che sono interne alla motherboard (nel mio caso un laptop): HS05 HS07 Ripetere la procedura per le porte USB 3.0 e segnarsi le porte. Nel mio caso: Le porte USB 3.0 sono: SS01 SS03 SS04 3. Mappare le USB modificando il metodo _UPC Prima di mappare le porte USB è bene segnare da qualche parte il valore della "Table Length", che trovate in cima al file, come da foto: Nel mio caso, la Table Length ha un valore di 1879. E' bene ricordare questo valore perchè servirà in seguito per caricare la mappatura patchata. Iniziamo la mappatura aggiungendo il metodo GENG tramite il menù patch. Trovate in allegato la patch: patch.txt.zip Applicate la patch e cercate la prima porta USB 2.0 della lista che avete appuntato prima. Esempio: "HS01" Nel mio caso, le porte USB sono definite come segue: Secondo l'Advanced Configuration and Power Interface (ACPI) Specification, version 6.3, pagina 673, il metodo _UPC ha come valore di ritorno il seguente Package: Return Value Information: Package { Connectable // Integer (BYTE) Type // Integer (BYTE) Reserved0 // Integer Reserved1 // Integer) } Dove: Connectable è un valore booleano che disattiva/attiva la porta USB (rispettivamente 0/1) Type specifica la tipologia di connettore USB Per semplificarvi la vita ho creato un elenco di valori di Type N.B. lo "switch" presente nella porta USB identificata dal tipo 0x09, sta ad indicare che la porta assume il comportamento di una USB3.0 in funzione del verso in cui viene inserita la periferica Q: Dunque come mappo? A: Devi cambiare il valore di ritorno del metodo "_UPC" come segue: le porte USB 2.0 sono identificate dal nome "HSxx" e come valore di Type "0x00" se sono porte USB 2.0 appartenenti al back panel, altrimenti "0xFF" (esempio: la Fenvi T919 ha come Type 0xFF) le porte USB 3.0 sono identificate dal nome "SSxx" e come valore di Type "0x03" o addirittura 0x07 qualora sia presente l'icona di una batteria di fianco alla porta stessa (che sta ad indicare "powered") non occorre modificare il metodo "_UPC" per eventuali porte USB Type-C Dunque nel caso di una porta USB 2.0 presente sul back panel, avrò un risultato simile a quanto segue: dove il primo parametro - "One" - sta ad indicare che la porta è attiva, mentre "Zero" indica la tipologia di connettore. Iterare questo procedimento per ogni porta USB 2.0 del back panel. N.B. Per le porte USB 2.0 del front panel il valore di Type deve essere "0xFF": Per le porte USB 3.0 invece, il valore di Type è "0x03" (o in casi estremi "0x07"): Per tutte le altre porte USB non rilevate dalla mappatura (ossia quelle non evidenziate in verde su Hackintool) assicurarsi che il metodo "_UPC" ritorni il valore "GUPC(Zero)". Esempio: Una volta conclusa la mappatura delle porte USB, salvare il file e posizionarlo nella cartella "OC/ACPI" della EFI. Infine, aprire il config.plist e, dopo aver aggiunto l'SSDT della mappatura USB (consiglio l'utilizzo di OC-Snapshot) recarsi nella sezione ACPI/Block e aggiungere quanto segue: Sostituire il valore del campo "OemTableId" con il "Table Id",che è possibile ricavare dallo step 3 alla voce "OEM Table Id", convertito in esadecimale. N.B. per evitare il drop di tabelle ACPI indesiderate, consiglio vivamente di lasciare vuoto il campo "OemTableId" ed utilizzare il campo "TableLength" Salvare il config.plist e riavviare. Per assicurarsi che la mappatura delle porte USB sia andata a buon fine, ripetere lo step 2 ed assicurarsi che siano presenti ed evidenziate in verde solo le porte USB mappate. Credits Ci tengo a ringraziare particolarmente: @Gengik84 per il suo thread originale (link) e la patch GENG che ho convertito in patch MaciASL @A23SS4NDRO per avermi aiutato con OpenCore e la creazione della EFI di Debug Il progetto ACPICA Apple Acidanthera per lo sviluppo di OpenCore e MaciASL Headkaze per lo sviluppo di Hackintool EFI OC 0.6.0 Debug.zip1 point
-
@fabiosun,you don't nerd to download and install the macOSDeveloperBetaAccessUtility.dmg. A quick Terminal command is all that is needed. sudo /System/Library/PrivateFrameworks/Seeding.framework/Resources/seedutil enroll DeveloperSeed1 point
-
But dare you try it yet to see if it breaks our new patches by algrey again? 🙂 EDIT Just seen your update to previous post. 😞1 point
-
1 point
-
la patch che vanno messe nel config in kernel and kext patches/kext to patch trovi la lista delle patch su FAQ https://www.macos86.it/topic/890-raccolta-lista-usb-xhci-patch-port-limit/1 point
-
ma questo quando selezioni l'installazione nella usb? è un po strano, la usb come l'hai formattata?1 point
-
Ciao, per questa richiesta, qui, sei completamente off-topic. Comunque no... crea la usb e vediamo poi passo passo..1 point
-
ok poi apri un topic nella sezione corretta per trattare il post installazione 🙂1 point
-
1 point
-
1 point
-
sostituisci l'intero contenuto del method _upc con Return (GENG (Zero, Zero)) o a secondo della porta disattivata o meno1 point
-
disabilita anche Generate C&P states se non l'hai già messo, aggiungi ssdt basic in acpi/patched i kext li hai messi?1 point
-
Ciao, nella sezione Opencore c'è un topic specifico dove spiega come estrarre le acpi. oppure, se vuoi, per semplicità prendi una usb, ci installi clover in uefi avvii la usb e quando sei nella GUI premi F4, attendi 30 secondi e poi riavvii troverai poi le acpi in acpi/origin1 point
-
@Fedewar segui bene la guida, cosa che non hai fatto e modifica il config. inoltre come smbios metti imac 19.2, rimuovi inject ATI (hai una video AMD?), disattiva la patch in kernel and kext patches, rimuovi AppleIntelCPUPM. Cancella i driver Uefi e lascia solo i base: VBoxHfs.efi, AptioMemoryFix.efi, ApfsDriverLoader.efi Dalla cartella patched rimuovi ssdt-uiac e metti ssdt-basic che trovi in download.1 point
-
1 point
-
mi alleghi la cartella clover e il log fatto con KEAX che trovi in download? domani ti ci guardo1 point
-
un installer è composto diciamo da vari "pacchetti", che vengono scaricati singolarmente finito il processo, salvo problematiche, viene creato l'installer1 point
-
ssdt senza una giusta configurazione del config etc, è come non ci fossero1 point
-
1 point
-
Cerca la tua EFI configurata nell'altri tuoi topic e usala1 point
-
no, devi usare create install media oggi non c'è bisogno di usare alternativi, quindi rifai poi che AMD hai? con questo si intendeva mobo e cpu ma non una video 😄1 point
-
probabile che non entri in quella condizione esempio HS11 Scope (\_SB.PCI0.XHC.RHUB.HS11) { Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities { If (LEqual (HBTC, Zero)) { If (LEqual (And (UMAP, 0x0400), 0x0400)) { Return (GUPC (One)) } Else { Return (GUPC (Zero)) } } fai la prova mettendo One anche dove ora vedi Return (GUPC(Zero)) salva e riavvia controlla se la HS11 è presente su ioreg.1 point
-
prima ti funzionavano con la sola patch? intendo prima della mappatura, se non vanno c'è un bel problema a monte1 point
-
1 point
-
come scritto nella guida devi cercare quello che contiene XHC oppure scarichi SystemSearch in download, vai su acpi e selezioni USB map...1 point
-
bene adesso con ioreg aperto prendi una usb 2.0, la colleghi su una porta e poi la espelli, ripeti per ogni porta del case e della mobo. passo 2: ripeti l'operazione descritta sopra con una usb 3.0 salvi ioreg poi ti basi su questo e vai a disattivare le usb non in uso nel tuo relativo ssdt che trovi in origin di clover1 point
-
@alboz per seguire la guida ti servono le tua acpi estratte pulite e la mappatura stessa. dopo ti basi su ioreg per disabilitare le porte non in uso @Rosarioxx devi mettere le patch per port limit, trovi l'elenco su un topic nella sezione FAQ1 point
-
1 point
-
1 point
-
a regola si andrebbero definite interne perchè di fatto collegate dirette sulla mobo, come può essere per esempio un bluetooth1 point
-
1 point
-
applichi la patch, poi vai nelle tue porte, ovviamente quelle attive, modifichi definendo il tutto, quando hai fatto salvi1 point
-
1 point
-
1 point
-
Ciao, si certo va benissimo riguardo alla sezione download sono richiesti un minimo di post, poi verrà sbloccata automaticamente quindi poi riguardaci 🙂1 point
-
1 point
-
ah scusa avevo frainteso pensavo che con la efi dell'altro utente tu fossi riuscito ad installare1 point
-
se hai installato Catalina con quella EFI, ormai non reinstallare dovrai in caso rimuovere le tabelle acpi se presenti in efi/clover/acpi/patched Cambiare il seriale del smbios, quindi ricrealo uno nuovo per stesso modello1 point
-
Ciao, non usare il metodo alternativo ma selezione create install media1 point
-
mm in download scarica ahciportinjector.kext aggiungilo in efi e riprova1 point
-
Ciao, scusa ma non avevi già una efi funzionante con la quale avviavi l'installer?1 point
-
1 point
-
Ciao, si è giusto in questo modo, essendo un pannello di selezione devi scegliere appunto confermando1 point
-
metti in firma il tuo hardware non so quale video hai etc... prova a avviare in vesa1 point
-
non hai capito intendo dire che usa la stessa efi con cui avvi il disco questa deve avviare anche l'installer1 point