Jump to content

ALC660-VD (10ec0660) Asus M51sn Leo 10.6 + 10.5.6


rob3r7o
 Share

11 posts in this topic

Recommended Posts

Salve,

ho fatto notevoli miglioramenti per la scheda in questione.

 

Snow Leopard

 

Internal Audio

Cuffie (cambio automatico inserendo il jack)

Microfono (finalmente funzionante bene, con controllo volume e riduzione rumore ambientale)

Spdif non testato

 

Inoltre compare tutto correttamente in system Profile

 

Direi che siamo ad un ottimo punto.

Manca ancora LineIN. Qui ho problemi in quanto levando il mic interno funziona bene. Insieme invece non riesco a farli coesistere.

Se avrò tempo farò altre prove.

 

Snow Leopard 10.6.1

29/09/2009 AppleHDA.10ec660vd_SL.zip

 

Per Leopard 10.5.6 Audio/cuffie/Mic

20/09/2009 ALC660VD_10.5.6_out_mic_headphone.zip

Link to comment
Share on other sites

Salve,

per fortuna sono riuscito a trovare un post che è la fine del mondo!

Lo si può leggere Qui

Un grande grazie a Master Chief per il suo ottimo lavoro.

 

Seguendo la sua guida e partendo dal dump della scheda audio fatto da linux, sono riuscito ad ottenere questi valori

 

01471c10 01471d01 01471e13 01471f99

01571cf0 01571d11 01571e11 01571f41

01671cf0 01671d11 01671e11 01671f41

01771cf0 01771d11 01771e11 01771f41

01871c30 01871d18 01871ea1 01871f01

01971c30 01971d01 01971ea3 01971f99

01a71cf0 01a71d11 01a71e11 01a71f41

01b71c10 01b71d10 01b71e21 01b71f01

01c71cf0 01c71d11 01c71e11 01c71f41

01d71cf0 01d71d01 01d71e83 01d71f59

01e71c20 01e71d01 01e71e43 01e71f99

 

Leggermente differenti da quelli presi dal registro di windows 7:

 

01471c10 01471d01 01471e13 01471f99

01571cf0 01571d11 01571e11 01571f41

01671cf0 01671d11 01671e11 01671f41

01771cf0 01771d11 01771e11 01771f41

01871c3f 01871d18 01871ea1 01871f01

01971c30 01971d01 01971ea3 01971f99

01a71cf0 01a71d11 01a71e11 01a71f41

01b71c1f 01b71d10 01b71e21 01b71f01

01c71cf0 01c71d11 01c71e11 01c71f41

01d71cf0 01d71d01 01d71e83 01d71f59

01e71c20 01e71d01 01e71e43 01e71f99

 

La scelta dei nodi non è stata poi cos“ difficile. Ho provato tanto di quelle volte che son più che sicuro di aver fatto bene

audio 20 12 2

cuffie 27 12 2

spdif out 30 6

 

mic interno 9 34 25

line in 9 34 24

 

e tanti altri che ho trovato ma non provato.

 

Con tutti questi dati e seguendo la sua guida ho potuto fare molte prove.

Ma nessuna è stata positiva.

Avevo il controllo volume, cuffie, spidf, mic e line out ma non funzionava nulla.

 

Ho fatto quindi le stesse prove però modificando i pinconfig che ho riportato sopra.

Questa volta ho preso quellic he avevo da parte. Rimediati l anno scorso da un kext per la ALC861VD (che è mlto simile alla mia scheda)

Sono questi

0023B000 00237000 00237100 0033B000 00337000 00337100 00E37000 00E37100 00E3B000 00E70100 00F37000 01037000 01470740 015707C0 01670740 01870724 01970724 01A70720 01C70720 01D70720 0143B080 0153B080 0163B080 0183B080 0193B080 01A3B080 01C3B080 01D37000 02337000 02337100 02337200 02337300 02437000 02437100 02437200 02437300 01470C02 01570C02 014707C0 01570740 01470884

 

Decisamente diversi, anomali oserei dire.

Ciò nonostante in questo modo sono riuscito a far funzionare l'audio

Il kext non è perfetto, ci sto ancora lavorando sopra.

Per adesso ho audio e cuffie. Le cuffie non appaiono nelle preferenze ma, inserito il jack, si attivano automaticamente disattivando le casse.

Il microfono mi sta dando molti problemi.

In questo kext funziona ma ho dovuto eliminare l'ingresso audio in quanto bloccava il funzionamento del mic.

Ancora manca il volume del microfono.

 

Dalle prove che ho fatto mi restano ancora molti dubbi sul funzionamento di MUTEGPIO e da tutti i valori AMP

Questi ultimi in modo particolare a seconda se messi su SI o NO alterano di molto il funzionamento del kext.

Cercherò di documentarmi a riguardo.

 

In ultimo, il kext per funzionare ha bisogno dell EFI string opportunamente inserita in com.apple.boot.plist

eccola

 

2f0100000100000001000000230100000700000002010c00d041030a0000000001010600001b7fff

040028000000500069006e0043006f006e00660069006700750072006100740069006f006e007300

0

000040000001c0000007200650076006900730069006f006e002d006900640000000800000003000

0

0018000000760065006e0064006f0072002d006900640000000800000086800000180000006c0061

0

079006f00750074002d00690064000000080000000c0000002c00000073007500620073007900730

0

740065006d002d00760065006e0064006f0072002d0069006400000008000000431000001e000000

7

30075006200730079007300740065006d002d0069006400000008000000378100001600000062007

5

0069006c0074002d0069006e0000000500000000

(Senza spazi)

 

Devo dire che è stato un lavoro lungo ma assai soddisfacente.

 

Il kext Snow 10.6 è SCARICABILE QUI

 

Un sito utilissimo per convertire tra BIN HEX Base64 QUI

Buone prove!

Link to comment
Share on other sites

Dici che funzionerebbe su una 662?

 

Intendo su Snow Leopard, e l'attivazione dell'audio nel DSDT, quindi non userei HDAEnabler.kext

 

Jad

 

Non credo in quanto è presente come <key>IOPCIPrimaryMatch</key> il valore <string>0x284b8086</string

inoltre altri valori specifici per la 660vd

 

Però se hai voglia e tempo (specialmente tempo) puoi provare a editare tutto da te partendo dal kexthda di snow leopard.

 

Il mio lavoro non e' ancora perfetto

 

Ma la cosa è sfiziosa e ci sto lavorando ancora sopra

Link to comment
Share on other sites

Mi sa che sono arrivato a un punto morto.

Non facendo progressi sul kext per 10.6 ho rimesso mano al vecchio alc660vd.

 

Ne avevo diversi, ognuno faceva funzionare qualcosa, ma nessuno faceva funzionare tutto insieme.

Non è stato difficile lavorarci sopra.

 

In questa versione abbiamo:

 

ALC660VD 10ec0660 (ASUS M51SN)

Leopard 10.5.6

 

System Profiler:

Internal speaker

Internal mic

External mic (non funzionante)

Headphones

S/P-DIF (non testato)

 

 

System Preferences

Internal Speakers/Headphones (si passa automaticamente dall uno all altro inserendo le cuffie)

Digital Out (non testato)

Internal Microphone (with Volume control)

 

Install S/L/E AppleHDA.Kext & HDAEnabler

 

Use EFI string (com.apple.boot.plist) OR HDAEnabler.

 

My EFI String:

 

2f0100000100000001000000230100000700000002010c00d041030a0000000001010600001b7fff

04001c0000007200650076006900730069006f006e002d00690064000000080000000300000028000

000500069006e0043006f006e00660069006700750072006100740069006f006e0073000000040000

0018000000760065006e0064006f0072002d0069006400000008000000868000002c0000007300750

06200730079007300740065006d002d00760065006e0064006f0072002d0069006400000008000000

431000001e000000730075006200730079007300740065006d002d006900640000000800000000000

000180000006c00610079006f00750074002d00690064000000080000000c00000016000000620075

0069006c0074002d0069006e0000000500000000

 

Sto cercando di far andare la LINE IN, ma per adesso non ci sono riuscito.

 

E' tutto quì ALC0660VD Out/Headphones Mic 10.5.6

 

Aggiornerò se faccio miglioramenti

Link to comment
Share on other sites

  • 2 weeks later...

Allora

serve il file iaslME iaslMe.zip

Mettilo sulla scrivania

 

Prendi una copia del tuo dsdt.aml e trascinala sopra

Ti creerà dsdt.dsl

Lo apri con textedit e cerchi 0x001B0000

Sopra dovrebbe esserci scritto Device (HDEF)

Trovato??? Bene

 

A qesto punto sostitisci qello che trovi fino al prossimo device con questo

 

   Device (HDEF)
           {
               Name (_ADR, 0x001B0000)
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x04)
                       {
                           "layout-id", 
                           Buffer (0x04)
                           {
                               0x0C, 0x00, 0x00, 0x00
                           }, 

                           "PinConfigurations", 
                           Buffer (Zero) {}

                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

 

Come puoi vedere mancano i dati PinConfigrations. Andrebbero messi ma per ora io ne ho fatto a meno.

 

Adesso bisogna vedere se hai il DTGP Method.

 

cerca DTGP

Proprio all inizio del file dovresti avere queste righe

 

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

               If (LEqual (Arg2, One))
               {
                   Return (One)
               }
           }
       }

       Store (Buffer (One)
           {
               0x00
           }, Arg4)
       Return (Zero)
   }

 

Se non ci fossero copiale tu, prima o dopo il primo Method che dovrebbe essere all inizio del tuo dsdt

Finito di editare

Ora trascina il file dsdt.dsl sopra iasl e dovrebbe ricompilartelo senza errori o con i soliti che abitualmente ricevi.

Rimetti il file dove stava ripara i permessi e con questo non dovresti più aver bisogno di efi ecc per l'HDA.

 

La guida non è mia ma di theKing, su un forum esterno

Link to comment
Share on other sites

Allora

serve il file iaslME iaslMe.zip

Mettilo sulla scrivania

 

Prendi una copia del tuo dsdt.aml e trascinala sopra

Ti creerà dsdt.dsl

Lo apri con textedit e cerchi 0x001B0000

Sopra dovrebbe esserci scritto Device (HDEF)

Trovato??? Bene

 

A qesto punto sostitisci qello che trovi fino al prossimo device con questo

 

   Device (HDEF)
           {
               Name (_ADR, 0x001B0000)
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x04)
                       {
                           "layout-id", 
                           Buffer (0x04)
                           {
                               0x0C, 0x00, 0x00, 0x00
                           }, 

                           "PinConfigurations", 
                           Buffer (Zero) {}

                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

 

Come puoi vedere mancano i dati PinConfigrations. Andrebbero messi ma per ora io ne ho fatto a meno.

 

Adesso bisogna vedere se hai il DTGP Method.

 

cerca DTGP

Proprio all inizio del file dovresti avere queste righe

 

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

               If (LEqual (Arg2, One))
               {
                   Return (One)
               }
           }
       }

       Store (Buffer (One)
           {
               0x00
           }, Arg4)
       Return (Zero)
   }

 

Se non ci fossero copiale tu, prima o dopo il primo Method che dovrebbe essere all inizio del tuo dsdt

Finito di editare

Ora trascina il file dsdt.dsl sopra iasl e dovrebbe ricompilartelo senza errori o con i soliti che abitualmente ricevi.

Rimetti il file dove stava ripara i permessi e con questo non dovresti più aver bisogno di efi ecc per l'HDA.

 

La guida non è mia ma di theKing, su un forum esterno

 

grazie tante per averlo postato appena ho tempo proverò intanto sto cercando di capire un pò quali referenze ha bisogno il kext di leopard ed adattarle poi a snow

Link to comment
Share on other sites

 Share

×
×
  • Create New...