Micky1979 Posted November 29, 2012 Share Posted November 29, 2012 Download Perchè modificare AppleHDA Semplice, perchè il PC non è un Mac, ed anche di fronte a codec audio che portano lo stesso nome, il suono non uscirà dai vostri altoparlanti semplicemente perchè il codec è stato modificato con le specifiche di Apple per i veri Mac. Però quasi tutti i Controller dei PC sono gli stessi e la compatibilità strettamente Hardware è massima, quindi il lavoro da effettuare si sposta quasi sempre solo sul codec audio: quest'ultimo è l'oggetto di questo Topic, in quanto sarà proprio questo che dovrà essere ricostruito per far uscire l'audio dai Vostri altoparlati! Codec Audio Il codec Audio è un programma che contiene un algoritmo di compressione o decompressione del flusso dei dati audio, che permette di usare un numero minore di bit, ma con qualità, all'interno della banda passante dentro al Controller. AppleHDA è meglio di VoodooHDA? Onestamente, si! VoodooHDA è una soluzione fantastica perchè permette a tutti, o quasi, di avere l'audio sui propri Hackintosh, il che di per se è già un grande successo, e va considerato il gran lavoro fatto dal Voodoo lab e gli sviluppatori che vi partecipano. Ovviamente AppleHDA è un estensione che nasce per OSx e quindi gode sicuramente della grande stabilità che c'è sui veri Mac! Purtoppo non si può dire la stessa cosa per VoodooHDA, che in molte occasioni causa Kernel Panic durante l'avvio, e qualche volta anche durante il funzionamento, e questo è realmente seccante! Altro punto a vantaggio di AppleHDA è sicuramente la qualità del suono, che gode di tutti i miglioramenti software di Osx, mentre VoodooHDA rilascia un suono un pò più "povero" perchè non dispone di tutti i controlli e filtri digitali che ci sono con il kext originale di Apple. E' ancora ovvio, che il Vostro AppleHDA.kext, deve essere aggiustato con le procedure di cui discuteremo in questo Topic, e questo è l'unico punto debole, rispetto al VoodooHDA.kext. Come ci riusciamo? Il primo grande aiuto ce lo danno i driver ALSA di Linux, grazie ai quali siamo in grado di creare il dump (discarica) del codec audio utilizzato sulle nostre macchine, e di conseguenza sapere e risalire alla configurazione del codec, anche se brandizzato dal produttore della scheda madre o del Notebook. Quindi un grazie meritato va a tutta la comunità di Linux. ALSA ALSA è l'acronimo di Advanced Linux Sound Architecture, ed è di solito un componente del kernel Linux (può essere anche un driver), che praticamente permette di avere il suono su tutti i PC dove si istallano le varie distribuzioni. High Definition Audio A partire dal 2004 Intel (e non solo) ha introdotto un nuovo sistema per i suoi controller, che è in grado di riprodurre più canali ad alta qualità rispetto ai precedenti codec audio integrati come AC'97, dove sono diverse le specifiche per molti aspetti, come i canali multipli e i jack da 3,5 mm etc. Proprio questi ultimi hanno grazie alle nuove specifiche i "sense signal", vale a dire la capacità di scambiare il flusso audio tra cuffie/altoparlati, microfono/microfono esterno ecc. con l'ausilio di un segnale che viene dato dal device audio e ricevuto dal software, al contrario della vecchia tecnologia abbastanza "meccanica" e con molti limiti. Qui il manuale: high-definition-audio-specification.pdf.zip 2 Link to comment Share on other sites More sharing options...
Micky1979 Posted November 29, 2012 Author Share Posted November 29, 2012 Download AppleHDA.kext, vari codec ADI1988B.zip layout-id 0x01, 0x00, 0x00, 0x00 AD2000B.zip layout-id 0x63, 0x00, 0x00, 0x00 by ErmaC ALC268.zip No dsdt, contiene Enabler by Taruga (perfect Sound) ALC269.zip No dsdt, contiene Enabler + IOAudioFamily.kext ALC270.zip layout-id 0x01, 0x00, 0x00, 0x00 ALC272.zip layout-id 0x0C, 0x00, 0x00, 0x00 ALC662.zip No dsdt, contiene Enabler By: @KemalALKIN ALC670.zip layout-id 0x41, 0x00, 0x00, 0x00 ALC883.zip layout-id 0x01, 0x00, 0x00, 0x00 by @mirone ALC887.zip layout-id 0x63, 0x00, 0x00, 0x00 ALC888.zip layout-id 0x0C, 0x00, 0x00, 0x00 ALC892 GENERICO.zip layout-id 0x20, 0x00, 0x00, 0x00 ALC892 MIRONE.zip layout-id 0x01, 0x00, 0x00, 0x00 by @mirone ALC898.zip No dsdt, contiene Enabler ALC1200.zip layout-id 0x63, 0x00, 0x00, 0x00 ALC1200 layout-id 0x0C, 0x00, 0x00, 0x00 by marionez Conexant CX20561.zip layout-id 0x63, 0x00, 0x00, 0x00 IDT 92HD87B1.zip layout-id 0x0C, 0x00, 0x00, 0x00 Questi kext non sono stati creati da me, ma sono kext presi da altri utenti, qui o sul altri Forum come osx86.com, e olaria.com, a scopo di creare un Database. Dowload Utenti Spazio riservato ai "successi" degli utenti che hanno creato un AppleHDA.kext funzionante I migliori AppleHDA.kext modificati per i vari codec, saranno appesi in questo post, con tanto di credito all'utente che ha creato il kext. Dovranno essere specificate tutte le uscite/entrate Audio funzionanti ed il tipo di scheda madre o il modello del Laptop. Laptop Desktop 2 Link to comment Share on other sites More sharing options...
Micky1979 Posted December 3, 2012 Author Share Posted December 3, 2012 (edited) Materiale Necessario: - Ubuntu live cd - Codec_Dump (che farete con Linux ) - patch_hda (grazie a bcc9) - graphviz (scaricate la versione compatible con quell di OSx) - codecgraph-20120114.tar (rinominate la cartel come "codecgraph" per semplicità di utilizzo, controllate eventuali aggiornamenti qui) - convert_hex_to_dec.rb.zip - verbit.zip - Plist Editor (cercate su Google un editor gratuito) - zlib.pl.zip by Samantha - layout12.xml.zlib e Platforms.xml.zlib (da prendere dentro ad AppleHDA.kext, per editarli) - Minime conoscenze e intuito Optional: - HDA Wizard versione 10.8 by janek202 (per sostituire i file già pronti, o quelli che editerete da soli) - AnalyseVerbs by Andy Vandijck (utile per "debuggare" il nostro pinconfig e vedere subito le modifiche) tutti i diritti ai rispettivi creatori. ############################################################################################################ Trovare il codec id: Semplice, quando avrete fatto il dump da Ubuntu, lo troverete scritto in Hex (esadecimale) alla prima riga del file. In Windows, andante in gestione dispositivi cercando "Controller Audio, video e giochi", Cliccando su una dell tab, (scegliendo il "codec", non il controller) cercate il Vendor ed il Produduct ID, qualche cosa come da figura: ID Venditore/111d (IDT) ID Prodotto/76e0 completo=111d76e0 ora conoscete il vostro codec audio! Come viene usato in AppleHDA: il codec id è usato in più posti in AppleHDA.kext, ma in differenti modi come stringa Hex, a byte invertiti e in decimale Hex__________________11 1d 76 e0 decimale______________287143648 Hex byte invertiti_______e0 76 1d 11 facile fare la conversione con la Calcolatrice inclusa in OSx con vista impostata come "programmatore" ############################################################################################################ Riepilogo file da editare/sostituire con quelli disponibili e pronti al I° post di questo Topic: 1) AppleHDA.kext/Contents/MacOS/AppleHDA * (nota per chi utilizza Clover bootloader) 2) AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist 3) AppleHDA.kext/Contents/Resources/layoutxx.xml.zlib 4) AppleHDA.kext/Contents/Resources/Platforms.xml.zlib 1) usare lo script di bcc9 "patch_hda", e invocare il proprio codec audio 2) aprire il il file come da percorso, ed espandere l'insieme di IOKItPersonalities=>HDAConfigDefault e settare le seguenti chiavi: - CodecID - ConfigData - FuncGroup - LayoutID come da foto qui sotto: sostituire manualmente il file editato, o utilizzare HDA Wizard.app 3) sostituire/aggiungere manualmente il file scaricato e pronto (o quello da voi editato), oppure utilizzare HDA Wizard.app versione 10.8 4) sostituire/aggiungere manualmente il file scaricato e pronto (o quello da voi editato), oppure utilizzare HDA Wizard.app versione 10.8 * Nota x Clover bootloader Se avete intenzione di utilizzare Clover v2 bootloader, potete provare il "Kext to patch": infatti compilando questo array nel config.plist dentro alla cartella EFI potete fare in modo che sia Clover a patchare "al volo" il binario di AppleHDA. Fare questo, consiste nell' istruire Clover a cercare la stringa di numeri esadecimali (con cui vogliamo sostituire il nostro codec id), in pratica gli diciamo cerca "questa" sequenza esadecimale e sostituiscila con il mio codec id! esempio: <key>KextsToPatch</key> <dict> <key>0</key> <dict> <key>Name</key> <string>AppleHDA</string> <key>Find</key> <data>84 19 4d 11=</data> <key>Replace</key> <data>05 76 1d 11</data> </dict> </dict> Ovviamente questo deve essere fatto con un Editor di file plist, in grado di convertire le stringhe esadecimali in BASE64, tipo così: <key>KextsToPatch</key> <dict> <key>0</key> <dict> <key>Name</key> <string>AppleHDA</string> <key>Find</key> <data>hBlNEQ==</data> <key>Replace</key> <data>BXYdEQ==</data> </dict> </dict> oppure puo essere utilizzata questa pagina ===> web per convertire da esadecimale a BASE64, se volete lavorare con TextEdit. ############################################################################################################ Come procurarsi il proprio pinconfig Fare il boot con il disco o la chiavetta di Ubuntu, aprire il Terminale e dare questi comandi: Comandi sudo -s poi cat /proc/asound/card0/codec#1 > ~/Desktop/codec_dump.txt se questo non lavora, provate tipo così: cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt (questo accade se il vostro codec non è 1 ma è 0, fate attenzione perché se non trovate l'indirizzo giusto verrà generato un codec_dump vuoto). La stessa cosa potrebbe accadere se il device preso in considerazione non è quello ("card0") Sul Desktop di Ubuntu troverete ora il file codec_dump.txt, salvatelo dentro una chiavetta, oppure speditelo per email. Tornate in Osx e mettete la cartella "codecgraph" sul Desktop e copiateci dentro i seguenti file: - codec_dump.txt - convert_hex_to_dec.rb - verbit Ora istallate graphviz.pkg (che avrete scaricato compatibilmente con la vostra attuale versione di Osx) Aprite il Terminale, e prendete possesso della cartella "codecgraph", che avete in precedenza copiato e rinominato sulla scrivania: (potete copiare le righe blu direttamente sul Terminale) cd ~/Desktop/codecgraph poi ./codecgraph codec_dump.txt poi chmod +x ./convert_hex_to_dec.rb poi ./convert_hex_to_dec.rb codec_dump.txt > ~/Desktop/codecgraph/codec_dump_dec.txt poi ./convert_hex_to_dec.rb codec_dump.txt.svg > ~/Desktop/codecgraph/codec_dump_dec.txt.svg infine*(aspettate, ci può essere un problema…verificate prima...) ./verbit codec_dump.txt > verbs.txt Nota * aprite il codec_dump.txt , e se trovate nelle prime tre righe qualche cosa simile a "AFG Function Id: 0x1 (unsol 1)", cancellatela, altrimenti verbit fallisce!! bene, ora abbiamo tutto il necessario, quindi mettetelo da parte: - codec_dump.txt //codec dump originale da Ubuntu in Hex - codec_dump_dec.txt //codec dump da Ubuntu convertito in decimal, questo tornerà utile in Platforms.xml - codec_dump.txt.svg //rappresentazione grafica in Hex - codec_dump_dec.txt.svg //rappresentazione grafica in decimale, tornerà utile in Platforms.xml - verbitdebug.txt //in questo file troverete cosa verbit ha modificato e perchè - verbs.txt //verbi aggiustati, qui troverete il vostro pinconfig aggiustato file di testo e grafici, sono ora umanamente comprensibili , in Hex ed in decimale, questo ci aiuterà a compilare il layoutXX.xml, ed il Platforms.xml Credit a @THe KiNG, Signal64 and Munky ############################################################################################################ verb? cosa sono? guardate la spiegazione qui http://www.projectosx.com/forum/index.php?showtopic=465 I "Verb Data" sono parte del pinconfig: il pinconfig è colui che dice al nostro controller audio, dove sono le nostre periferiche audio in uscita o in entrata come Altoparlanti, Cuffie, microfoni o i loro Jack. Se desiderate, il pinconfig, può essere estratto da Windows in questo modo: aprite regedit.exe e dal menù Apri/Trova digitate "pinconfig": ok, trovato "PinConfigOverrideVerbs", e procediamo con l'esportazione dal menù File/Esporta, esportare in un file che chiameremo "pinconfig.reg" aprendo il file .reg in Osx , sarà simile a questo: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\PinConfigOverrideVerbs] "0000"=hex:20,1c,a7,00 "0001"=hex:10,1d,a7,00 "0002"=hex:a1,1e,a7,00 "0003"=hex:04,1f,a7,00 "0004"=hex:1f,1c,b7,00 "0005"=hex:10,1d,b7,00 "0006"=hex:21,1e,b7,00 "0007"=hex:04,1f,b7,00 "0008"=hex:f0,1c,c7,00 "0009"=hex:00,1d,c7,00 "0010"=hex:f0,1e,c7,00 "0011"=hex:40,1f,c7,00 "0012"=hex:10,1c,d7,00 "0013"=hex:01,1d,d7,00 "0014"=hex:17,1e,d7,00 "0015"=hex:92,1f,d7,00 "0016"=hex:f0,1c,e7,00 "0017"=hex:00,1d,e7,00 "0018"=hex:f0,1e,e7,00 "0019"=hex:40,1f,e7,00 "0020"=hex:f0,1c,f7,00 "0021"=hex:00,1d,f7,00 "0022"=hex:f0,1e,f7,00 "0023"=hex:40,1f,f7,00 "0024"=hex:f0,1c,07,01 "0025"=hex:00,1d,07,01 "0026"=hex:f0,1e,07,01 "0027"=hex:40,1f,07,01 "0028"=hex:30,1c,17,01 "0029"=hex:01,1d,17,01 "0030"=hex:a3,1e,17,01 "0031"=hex:d5,1f,17,01 "0032"=hex:f0,1c,f7,01 "0033"=hex:00,1d,f7,01 "0034"=hex:f0,1e,f7,01 "0035"=hex:40,1f,f7,01 "0036"=hex:f0,1c,07,02 "0037"=hex:00,1d,07,02 "0038"=hex:f0,1e,07,02 "0039"=hex:40,1f,07,02 "NumVerbs"=hex:28,00,00,00 In pratica in Windows ci sono i verb con i numeri invertiti, quindi voi ora dovrete "raddrizzarli": esempio:[/font][/color] [color=#232323][font=Helvetica Neue]20,1c,a7,00 deve diventare 00a71c20 questo per tutti i verb. Per salvare tempo, seleziona tutti i verbi e copiali qui: http://www.ipwn.me/HDA/ il risultato sara questo: 00A71C20 00A71D10 00A71EA1 00A71F04 00B71C1F 00B71D10 00B71E21 00B71F04 00C71CF0 00C71D00 00C71EF0 00C71F40 00D71C10 00D71D01 00D71E17 00D71F92 00E71CF0 00E71D00 00E71EF0 00E71F40 00F71CF0 00F71D00 00F71EF0 00F71F40 01071CF0 01071D00 01071EF0 01071F40 01171C30 01171D01 01171EA3 01171FD5 01F71CF0 01F71D00 01F71EF0 01F71F40 02071CF0 02071D00 02071EF0 02071F40 Ma il pinconfig generato è lo stesso che troveremo in "verbit.txt" nella sua originale condizione, con la differenza che ora bisognerà interpretarlo e modificarlo: pinconfig personalizzato Praticamente, in verb.txt trovere il lavoro già pronto e corretto (a meno che non vogliamo farlo a mano se qualche cosa non funziona) Guardate la differenza tra originale e corretto: Verbs from Linux Codec Dump File: codec_dump.txt Codec: IDT 92HD91BXX Address: 0 DevID: 287143648 (0x111d76e0) Jack Color Description Node PinDefault Original Verbs -------------------------------------------------------------------------------------------------------- Mic at Ext Right 0x0a 0x0a 77664288 00a71c20 00a71d10 00a71ea1 00a71f04 1/8 Black HP Out at Ext Right 11 0x0b 0x0421101f 00b71c1f 00b71d10 00b71e21 00b71f04 Unknown Unknown Other at Ext N/A 12 0x0c 0x40f000f0 00c71cf0 00c71d00 00c71ef0 00c71f40 Analog Unknown Speaker at Int Front 13 0x0d 0x92170110 00d71c10 00d71d01 00d71e17 00d71f92 Unknown Unknown Other at Ext N/A 14 0x0e 0x40f000f0 00e71cf0 00e71d00 00e71ef0 00e71f40 Unknown Unknown Other at Ext N/A 15 0x0f 0x40f000f0 00f71cf0 00f71d00 00f71ef0 00f71f40 Unknown Unknown Other at Ext N/A 16 0x10 0x40f000f0 01071cf0 01071d00 01071ef0 01071f40 ATAPI Unknown Mic at Int Top 17 0x11 0xd5a30130 01171c30 01171d01 01171ea3 01171fd5 Unknown Unknown Other at Ext N/A 31 0x1f 0x40f000f0 01f71cf0 01f71d00 01f71ef0 01f71f40 Unknown Unknown Other at Ext N/A 32 0x20 0x40f000f0 02071cf0 02071d00 02071ef0 02071f40 -------------------------------------------------------------------------------------------------------- Jack Color Description Node PinDefault Modified Verbs -------------------------------------------------------------------------------------------------------- Mic at Ext Right 0x0a 0x0a 77664288 00a71c20 00a71d10 00a71ea1 00a71f00 1/8 Black HP Out at Ext Right 11 0x0b 0x0421101f 00b71c10 00b71d10 00b71e21 00b71f00 Unknown Unknown Other at Ext N/A 12 0x0c 0x40f000f0 00c71cf0 00c71d00 00c71ef0 00c71f40 Analog Unknown Speaker at Int Front 13 0x0d 0x92170110 00d71c40 00d71d00 00d71e17 00d71f91 Unknown Unknown Other at Ext N/A 14 0x0e 0x40f000f0 00e71c50 00e71d00 00e71ef0 00e71f40 Unknown Unknown Other at Ext N/A 15 0x0f 0x40f000f0 00f71c60 00f71d00 00f71ef0 00f71f40 Unknown Unknown Other at Ext N/A 16 0x10 0x40f000f0 01071c70 01071d00 01071ef0 01071f40 ATAPI Unknown Mic at Int Top 17 0x11 0xd5a30130 01171c30 01171d00 01171ea3 01171fd0 Unknown Unknown Other at Ext N/A 31 0x1f 0x40f000f0 01f71c80 01f71d00 01f71ef0 01f71f40 Unknown Unknown Other at Ext N/A 32 0x20 0x40f000f0 02071c90 02071d00 02071ef0 02071f40 Forse meglio usare verbit! qui la rappresentazione di come è composto un verb: 00a71c20 0 = Connection Port 0 = Address a = Default Device 7 = Connection type 1 = Port Color (unknown in my laptop, because no color exist) c = other function 2 = Default Association 0 = Sequence Color indica al software il jack usato fisicamente (nel codec_dump), qua i byte da impostare x i colori dei jack: Unknown 0 Black 1 Grey 2 Blue 3 Green 4 Red 5 Orange 6 Yellow 7 Purple 8 Pink 9 Reserved A-D White E Other F Crediti a @THe KiNG, Signal64, Munky e Master Chief Guardate per esempio gli Altoparlanti interni al Nodo 13 esempio per il codec 111d76e0 ############################################################################################################ Legenda dei simboli: ############################################################################################################ Modifica del kext: binario di AppleHDA AppleHDA.kext/Contents/MacOS/AppleHDA Questa è la parte iniziale nel modificare AppleHDA, e per vari codec le cose possono cambiare su come avveniva in Lion Semplicisticamente, se volete fare il lavoro in manuale, si tratta di trovare un sequenza esadecimale, che rappresenta un codec vero ed usato da Apple, e quindi trovarlo e sostituirlo con il nostro. Per cercarlo nel binario serve un programma come HexEdit.app (ma ce ne sono altri e gratis come quest'ultimo),con l'ausilio della casella "trova e sostituisci"; Ovviamente questo può essere fatto anche da Terminale. Purtroppo questo è troppo riduttivo, e vi invito a leggere questi Topic aperti rispettivamente da @nyolc8 e @bcc9: http://www.insanelym...-mountain-lion/ http://www.insanelym...-for-osx107108/ I Topic sono entrambi in Inglese, ma credo che nessuno vi fermerà nell'usare Google Translator, per capire che alcuni codec utilizzano e si attivano modificando istanze e codec diversi, all'interno del binario. Nello script di bcc9, patch-hda, sono presenti già un bel numero di codec pronti per modificare il Vs kext Audio, ed è quello che useremo. Modifica del binario di AppleHDA con lo script di @bcc9 Aprite la cartella "patch-hda" e cliccate ancora su "patch-hda" il Terminale si aprirà e vi notificherà che deve essere inserito il nome del codec, o il codec in Hex, inseritelo e poi vi verrà chiesta la password del vostro account.. non esitate a farlo! Last login: Tue Oct 30 14:08:36 on ttys000 localhost:~ micky1979$ /Users/micky1979/Desktop/patch-hda/patch-hda ; exit; Codec-id or codec-name to patch (eg 111d7675 or IDT 7675)? Credito a @bcc9 info.plist AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist Ok, trovate un array (insieme), e cancellate gli altri (questo non è realmente necessario, solo per non fare confusione), ed editate con i vostri dati che sono:: - codec ID in decimale - pinconfig modificato (da inserire in ConfigData) - FuncGrup settato su 1 (se desiderate che sia così, alcuni sostengono che non deve essere >5) - LayoutID settato su 12 (se desiderate che sia così, oppure potete assegnarne uno diverso, purchè venga ripetuto dove necessario): esempio con il codec ITD 111d7605 = 287143429, cambiatelo per il vostro Layoutxx.xml and Platforms.xlm (zlib) AppleHDA.kext/Contents/Resources/layoutxx.xml.zlib In Snow Leopard, i due file di cui parliamo, erano raggruppati in un solo plist, mentre da OSx Lion in poi, sono stati divisi in due file distinti! AppleHDA.kext/Contents/Resources La differenza principale, su come si modifica AppleHDA tra Lion e Mountain Lion, è che in ML i due file plist sono compressi in zlib, altrimenti il metodo sarebbe davvero molto simile (ovviamente è differente il modo di modificare il binario, ma per questo leggete il Topic di bcc9). Quindi se avete un AppleHDA versione 10.7.x, molto probabilmente vi basterà recuperare tali file e comprimerli con lo script di Samantha. Ora vediamo come decomprimere/comprimere i file xml interessati Decompressione/Compressione queste le istruzioni per lo script zlib.pl: piazzate per comodità lo script dentro AppleHDA.kext/Contents/Resources (potete lasciarlo qui per tutta la durata dei vostri test) Ora, aprite il Terminale e scrivete cd seguito da uno spazio e poi trascinate sul terminale la cartella Resources che contiene lo script: Last login: Fri Oct 26 17:18:47 on ttys000 localhost:~ micky1979$ cd /Users/micky1979/Desktop/AppleHDA.kext/Contents/Resources localhost:Resources micky1979$ layoutxx: decompressione perl zlib.pl inflate layout12.xml.zlib > layout12.xml compressione perl zlib.pl deflate layout12.xml > layout12.xml.zlib Platforms: decompressione perl zlib.pl inflate Platforms.xml.zlib > Platforms.xml compressione perl zlib.pl deflate Platforms.xml > Platforms.xml.zlib Credito a Samantha aka Revogirl Layoutxx.xml Il file LayoutXX,xml, sembra funzionare come un "inventario" dei dispositivi in uscita e in entrata del nostro pc, bisogna dichiarare quali e quante uscite o ingressi si ha e come devono essere disposti, ricordandosi di "gruppare" gli ingressi e le uscite, come accadrà nel Platforms.xml Esempi di nomi: Mic=Microfono interno ExtMic=Microfono esterno (Jack) IntSpeaker=Altoparlanti Interni Headphone=Cuffie LineIn= Linea in ingresso etc... Potete usare i nomi che vi pare? Onestamente No! Questo ha sicuramente a che fare su come sono stati creati i verb del pinconfig, e se volete usare un Microfono esterno come "LineIn", molto probabilmente dovrà essere modificato il pinconfig intorno ai Nodi interessati da questa modifica, secondo questa rappresentazione: 00a71c20 0 = Connection Port 0 = Address a = Default Device 7 = Connection type 1 = Port Colour c = other function 2 = Default Association 0 = Sequence In aiuto, nel fare questo, @Andy Vandijck ha creato un tool per vedere facilmente come vengono modificati i vostri Uscite/Ingressi Audio e vederlo immediatamente (basta mettere il pinconfig in un file con testo in piano): AnalyseVerbs Platforms.xml AppleHDA.kext/Contents/Resources/Platforms.xml.zlib Mentre il Layout è come abbiamo detto un "inventario" dei nostri ingressi, il Platforms.xml contiene di fatto le informazione e gli indirizzi, su dove sono i nostri Altoparlanti, microfoni e quant'altro, ma sopratutto qui devono essere rispettati i percorsi dei Nodi come nella rappresentazione grafica di graphviz: il PathMaps Questo è quello che troverete appena avrete decompresso il Platforms.xlm.xlib. Ci sono due chiavi, CommonPeripheralsDSP, dove sembrano essere "dichiarati" alcuni dispositivi comuni. Questo non è preso in considerazione da questa guida, semplicemente lo lasciamo stare. PathMaps, come appena accennato, qui c'è il lavoro più duro, perchè qui vanno definiti i Nodi che portano alla pubblicazione dell'audio da parte del codec al Controller. AppleHDA.kext contiene le informazioni per tutti i codec supportati da Apple sui vari modelli che sono in produzione più sicuramente quelli che sono stati dichiarati aggiornabili da Apple stessa, quindi è chiaro che trovere molte opzioni sotto l'array di PathMaps che fanno appunto riferimento a tutte le configurazioni audio che sono supportate. Se volete, potete cancellare tutti gli array e lasciarne solo uno, facendo attenzione dicorreggere il PathMapID,in modo che combaci con quello dichiarato nel LayoutXX.xml. Personalmente, ho cercato di scegliere quello che veniva utilizzato, avendo un portatile Ivy Bridge, dal MBP 10,1(avendo uno ioreg da un Mac originale, ho controllato quale layout veniva utilizzato), ma questo non è realmente necessario, ma solo molto interessante. Qui invece potete notare, inanzitutto, che c'è una certa coerenza su come sono disposti le linee in ingresso, e quelle in uscita: sono su due array ben distinti. L'esempio riportato ha solo il Microfono interno, ma li vanno inserite, se si posseggono, gli input come ExtMic, LineIn ecc. Stessa cosa per le linee in uscita, infatti fanno parte dello stesso insieme, poi ci sono altri sottoinsiemi dove vengono defiti separatamente i percorsi dei Nodi per gli Altoparlati (in questo caso interni), e il jack delle cuffie. Guardando la foto, il percorso dei Nodi per arrivare alla pubblicazione dell'audio, seguono lo stesso percorso che trovate sul grafico (quello convertito in decimale), quindi per ogni dispositivo "attivo" che si possiede, va definito il percorso per ogni uscita o ingresso che il vostro pc possiede. Fatto? ....No E' chiaro che questa non è una cosa facile, perchè anche il minimo errore può invalidare il lavoro di tutti gli altri Nodi, per cui può venire comodo iniziare solo con gli Altoparlanti per vedere se funzionano, e successivamente provare con gli altri. Come già detto, una volta editati i file .xml, potete utilizzarli anche in Lion lasciandoli così come sono, comprimeteli in zlib per usarli in Mountain Lion. Utilizzate HDA Wizard versione per 10.8 per sostituire i file che avete editato. ############################################################################################################ DSDT Editing*: E' richiesto in un Hackintosh, per attivare l'AppleHDA, l'inserimento del layout-id nel dsdt.aml In pratica lo stesso numero di Layout usato in AppleHDA (es. Layout12.xml), deve combaciare con quello nel dsdt convertito in Hex: 12 in decimale = C in Hex nel DSDT deve essere 0x0C 0x00 0x00 0x00 se volete per es. chiamare il vostro file layout885.xml: 885 in decimal = 375 nel DSDT deve essere 0x75 0x03 0x00 0x00 in Hex bytes invertiti "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, esempio di una sezione completa: Device (HDEF) { Name (_ADR, 0x001B0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x0A) { "built-in", Buffer (One) { 0x01 }, "hda-gfx", Buffer (0x0A) { "onboard-1" }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Ovviamente è richiesto per funzionare, l'inserimento del "metodo DTGP" (che molto probabilmente avrete già inserito nel vostro dsdt per altre patch). *Nota: Grazie a .:Ermac:. il layout nel dsdt diventerà un bel ricordo, infatti sarà disponibile (appena lo caricherà sul forum), l'Injector HDAEnabler in Enoch Bootloader, che manderà in pensione l'attivazione di AppleHDA.kext da dsdt negli hackintosh! Enoch è in grado di iniettare il layout-id e l'HDMI dal org.chameleon.boot.plist , il Topic sarà aggornato a breve! ############################################################################################################ Edited January 20, 2013 by Micky1979 Novit� : Enoch inietta layout-id e HDMI senza modificare il dsdt 4 Link to comment Share on other sites More sharing options...
Micky1979 Posted December 4, 2012 Author Share Posted December 4, 2012 Approfondimenti Verranno appese qui, con tanto di link al post, le soluzioni discusse nel Topic! - VREF Voltage Reference - MuteGPIO Guardando nel codec dump.. Node 10 [Pin Complex] wcaps 4195715: Stereo Amp-In Control: name="Mic Jack Mode", index=0, device=0 ControlAmp: chs=0, dir=In, idx=0, ofs=0 Control: name="Mic Capture Volume", index=0, device=0 ControlAmp: chs=3, dir=In, idx=0, ofs=0 Control: name="Mic Jack", index=0, device=0 Amp-In caps: N/A Amp-In vals: [0 0] Pincap 71484: IN OUT HP EAPD Detect Vref caps: HIZ 50 GRD 80 EAPD 2: EAPD Pin Default 77664288: [Jack] Mic at Ext Right Conn = 1/8, Color = Black DefAssociation = 2, Sequence = 0 Pin-ctls: 36: IN VREF_80 Unsolicited: tag=02, enabled=1 Power: setting=D0, actual=D0 Connection: 3 19* 20 28 VREF (50/80/100) -> Hex (32,50,64) + 0100 + Nodo ID (hex) -> Convertire in decimale esempio: Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Pin-ctls: 0x24: IN VREF_80 -> 0x50010018 -> 1342242840 Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Pin-ctls: 0x24: IN VREF_80 -> 0x50010019 -> 1342242841 Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Pin-ctls: 0x20: IN VREF_HIZ -> 0 Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Pin-ctls: 0x40: OUT VREF_HIZ -> 0 Quando è presente VREF _HIZ, al Nodo interessato (il pincomplex), MuteGPIO è uguale a 0 Altro esempio, se state usando nel Platforms.xlm: 22 24 10 Pin complex ExtMic ed il IN VREF_80 è presente in decimale: 80 + 0100 + Nodo ID 10 convertire in Hex: 50 + 0100 + 0a = 5001000a in decimale MuteGPIO=1342242826 Credito a @neXus, su Project OS X Forums 2 Link to comment Share on other sites More sharing options...
ErmaC Posted December 17, 2012 Share Posted December 17, 2012 Ottimo Michele. Appena riesco ti uppo AppleHDA per AD2000b. Fabio 1 Link to comment Share on other sites More sharing options...
Fabio1971 Posted December 19, 2012 Share Posted December 19, 2012 Benissimo Micky Ottima guida e postata al posto giusto. Fabio 1 Link to comment Share on other sites More sharing options...
Mirone Posted December 24, 2012 Share Posted December 24, 2012 great work. congratulations! 1 Link to comment Share on other sites More sharing options...
ErmaC Posted December 27, 2012 Share Posted December 27, 2012 Ciao Michele come promesso eccoti l'AppleHDA modificato per Mountain Lion (12D44) Ha bisogno di supporto via DSDT e lavora su layout id 99 (63 in esadecimale). I passaggi per ottenerlo sono gli stessi che usai in questo #post# A tale post trovi anche i singoli file per il "KIT" AppleHDA.AD2000B.12D44.zip Fabio Hardware info da win: HDAUDIO\FUNC_01&VEN_11D4&DEV_989B&SUBSYS_10438372&REV_1003 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted December 27, 2012 Author Share Posted December 27, 2012 Grazie, appena ho due minuti riuppo il tutto! :wink2: Micky Link to comment Share on other sites More sharing options...
Fiox89 Posted December 30, 2012 Share Posted December 30, 2012 Grande lavoro Micky, molti ringrazieranno 1 Link to comment Share on other sites More sharing options...
miki4789 Posted December 30, 2012 Share Posted December 30, 2012 Ciao fiox89, spero di non aver sbagliato sezione, ho installato ML su una gigabyte z77x Up4 con i codec audio ALC892, prima avevo provato con i voodoohda e adesso con quelli postati qui, ma nulla, non vede alcun dispositivo..saresti cosi gentile da darmi una mano? Link to comment Share on other sites More sharing options...
Micky1979 Posted December 30, 2012 Author Share Posted December 30, 2012 Ciao fiox89, spero di non aver sbagliato sezione, ho installato ML su una gigabyte z77x Up4 con i codec audio ALC892, prima avevo provato con i voodoohda e adesso con quelli postati qui, ma nulla, non vede alcun dispositivo..saresti cosi gentile da darmi una mano? Ragazzi scusate se nel periodo festivo sono un pò assente...ma sapete..bè.. ..feste... fabiolino, riesci almeno a vedere l'icona del suono?...mettendo un paio di cufffie esce il suono?...hai messo il layout consigliato nel dsdt...se ce l'hai? Sarebbe utile che mettessi l'hardware in firma, così è più facile aiutarti, senza che nessuno te lo chieda.. Micky Link to comment Share on other sites More sharing options...
iakughan Posted January 8, 2013 Share Posted January 8, 2013 Io ho provato a mettere i kext per alc269 ma appena ho riavviato mac non partiva più. Arrivati alla schermata di chameleon e appena selezionavo mac OS, questo ritornava alla schermata di BIOS (dove c'è il logo Samsung non appena accendi il PC) Link to comment Share on other sites More sharing options...
Micky1979 Posted January 10, 2013 Author Share Posted January 10, 2013 Io ho provato a mettere i kext per alc269 ma appena ho riavviato mac non partiva più. Arrivati alla schermata di chameleon e appena selezionavo mac OS, questo ritornava alla schermata di BIOS (dove c'è il logo Samsung non appena accendi il PC) Salve ragazzi, scusate il ritardo... iakughan hai tolto la patch HDEF dal tuo dsdt/controllato se c'è? Te lo domando perchè mi pare che c'ho messo le mani proprio io al tuo dsdt, senza sapere quale codec avevi.. ma il kext ALC269 nel post dei download non richiede questa cosa perchè al suo interno c'è l'Enabler che la sostituisce...appunto. Le due cose insieme non andrebbero d'accordo! Ovviamente prima di istallare un AppleHDA va rimosso VoodooHDA se presente, altrimenti KP assicurato!! Micky Link to comment Share on other sites More sharing options...
iakughan Posted January 11, 2013 Share Posted January 11, 2013 Salve ragazzi, scusate il ritardo... iakughan hai tolto la patch HDEF dal tuo dsdt/controllato se c'è? Te lo domando perchè mi pare che c'ho messo le mani proprio io al tuo dsdt, senza sapere quale codec avevi.. ma il kext ALC269 nel post dei download non richiede questa cosa perchè al suo interno c'è l'Enabler che la sostituisce...appunto. Le due cose insieme non andrebbero d'accordo! Ovviamente prima di istallare un AppleHDA va rimosso VoodooHDA se presente, altrimenti KP assicurato!! Micky Cosa dovrei eliminare? Io momentaneamente non ho installato nulla, sono con AppleHDA originale, se vado nel dsdt che mi hai modificato in device hdef mi da: Device (HDEF) { Name (_ADR, 0x001B0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x0A) { "built-in", Buffer (One) { 0x01 }, "device-type", Buffer (0x0F) { "IDT 92HD91BXX" }, "hda-gfx", Buffer (0x0A) { "onboard-1" }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) Field (HDAR, WordAcc, NoLock, Preserve) { DCKA, 1, Offset (0x01), DCKM, 1, , 6, DCKS, 1, Offset (0x08), , 15, PMES, 1 } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Link to comment Share on other sites More sharing options...
Micky1979 Posted January 11, 2013 Author Share Posted January 11, 2013 Cosa dovrei eliminare? Io momentaneamente non ho installato nulla, sono con AppleHDA originale, se vado nel dsdt che mi hai modificato in device hdef mi da: se non ho le traveggole , tu hai detto questo: Io ho provato a mettere i kext per alc269 ma appena ho riavviato mac non partiva più. Arrivati alla schermata di chameleon e appena selezionavo mac OS, questo ritornava alla schermata di BIOS (dove c'è il logo Samsung non appena accendi il PC) per cui dovresti eliminare questo dal tuo DSDT: Method (_DSM, 4, NotSerialized) { Store (Package (0x0A) { "built-in", Buffer (One) { 0x01 }, "device-type", Buffer (0x0F) { "IDT 92HD91BXX" }, "hda-gfx", Buffer (0x0A) { "onboard-1" }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } ....ricompilare ed re-installare la tabella modificata .......per affidarti al AppleHDA.kext x ALC269 che non richiede l'iniezione dal dsdt. Micky Link to comment Share on other sites More sharing options...
iakughan Posted January 11, 2013 Share Posted January 11, 2013 Eliminata la stringa, ricompilato, 0 errori, riavvio e non succede nulla. Audio non funziona Link to comment Share on other sites More sharing options...
iakughan Posted January 13, 2013 Share Posted January 13, 2013 Ho notato solo ora che in sistem profiler mi da questa immagine. Buon segno? Link to comment Share on other sites More sharing options...
Micky1979 Posted January 13, 2013 Author Share Posted January 13, 2013 direi di si, ma l'icona del volume invece com'è? appare? Forse potresti provare ad editare il kext seguendo la guida, adattandolo al tuo laptop... Micky Link to comment Share on other sites More sharing options...
iakughan Posted January 13, 2013 Share Posted January 13, 2013 Compare ma é oscurata. La guida sarebbe il terzo post? Link to comment Share on other sites More sharing options...
Micky1979 Posted January 14, 2013 Author Share Posted January 14, 2013 Compare ma é oscurata. La guida sarebbe il terzo post? Si, il 3° e il quarto.. Micky Link to comment Share on other sites More sharing options...
Theparsec Posted January 17, 2013 Share Posted January 17, 2013 Salve ragazzi, chiedo lumi a riguardo: pochi giorni fa ho installato Niresh12495 10.8 con successo sul mio pc. Funziona tutto alla grande tranne che per la webcam (poco male) e per l'audio. La motherboard è una Asus P5G41T-M LE con chip audio Realtek ALC887 High Definition Audio. Vi chiedo: seguendo questa guida dovrei risolvere il problema audio? O funziona solo su schede più moderne? Grazie! Link to comment Share on other sites More sharing options...
pianman Posted January 17, 2013 Share Posted January 17, 2013 Buongiorno ragazzi, chiedo aiuto per creare un applehda per la scheda audio via vt1708s, purtroppo mi sono bloccato alla modifica del layoutxx e platform xml. Vi allego i miei codec dump sperando che qualcuno possa darmi una mano nella modifica, inoltre allego anche il data sheet del vt1708s. VT1708s.zip DS_VT1708S_100_CCPL.pdf Link to comment Share on other sites More sharing options...
Micky1979 Posted January 17, 2013 Author Share Posted January 17, 2013 Salve ragazzi, chiedo lumi a riguardo: pochi giorni fa ho installato Niresh12495 10.8 con successo sul mio pc. Funziona tutto alla grande tranne che per la webcam (poco male) e per l'audio. La motherboard è una Asus P5G41T-M LE con chip audio Realtek ALC887 High Definition Audio. Vi chiedo: seguendo questa guida dovrei risolvere il problema audio? O funziona solo su schede più moderne? Grazie! Ciao Theparsec, l'ALC887 è presente nella sezione Dowload di questo Topic, e mi viene spontanea la domanda se hai provato ad istallarlo....e con quale esito..Comunque alla riga dell'ALC887 è presente anche l'ipostazione del "layout-id" che devi inserire nel dsdt per attivare l'AppleHDA da te scelto in questo caso "layout-id 0x63, 0x00, 0x00, 0x00" . Se non possiedi un dsdt, puoi istallare Enoch bootloader e settare/abilitare l'audio aggiungendo le chiavi giuste nell'org.chameleon.boot.plist (lo puoi fai direttamente dall'istaller di Enoch)..così eviti di mettere mano al dsdt. Qui il link al Topic di Enoch by Ermac: #508 questa cosa dell'Enabler audio da bootloader è una novità e le versioni vengono continuamente aggiornate. Ovviamente, quando si istalla una distro (come credo che sia la Niresh12495), dovresti fare attenzione perchè hanno istaller patchati che istallano l'audio in automatico in base ad uno script che rileva il tuo codec audio, quindi si potrebbe verificare che siano presenti kext in System/Library/Extensions tipo HDAEnabler.kext o HDEFEnabler.kext. Se invece hai selezionato in precedenza un voodooHDA.kext l'istaller potrebbe aver istallato anche l'HDADisabler.kext (perchè se si istalla il VoodooHDA si deve cancellare o disabilitare AppleHDA.kext per evitare che il sistema dia un kernel panic), per cui sii sicuro di rimuovere i kext appena menzionati se presenti. Micky 1 Link to comment Share on other sites More sharing options...
Theparsec Posted January 17, 2013 Share Posted January 17, 2013 Grazie per la risposta Micky, i kext che sono presenti in System/Library/Extensions sono AppleHDA.kext, HDAEnabler1.kext e credo sia sospetto anche un certo LegacyHDA_ALC888.kext sicuramente installato con qualche mio vano tentativo con ######. I VoodooHDA li installai senza successo ottenendo solo dei Kernel Panic, ma potrei ritentare alla luce di quanto descritto da te. Ora cancello LegacyHDA_ALC888.kext e HDAEnabler1.kext lascio solo AppleHDA pulito e provo ad installare il kext ALC887 da te descritto. Vediamo cosa succede. Ti farò sapere! Una sola domanda: per cancellare un kext basta semplicemente cancellarlo da System/Library/Extensions o bisogna fare altro dopo? Grazie! EDIT: Ho notato che scaricando il file all'interno c'è AppleHDA.kext, allora cancello anche quel kext insieme agli altri 2 sostituendolo con questo! Link to comment Share on other sites More sharing options...
Recommended Posts