Cadena EFi para ALC889a sin ALCinject.kext

miliuco

Activo
(Para PCs con EFi y Leopard)

Para aquellos poseedores de placas como la mía (y cualquier otra que lleve este chip de audio ALC889a) y quieran probar a usar el método de cadena EFi en
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
pueden usar esta cadena que en mi caso funciona bien (archivo de texto al final).

El truco está en editar el archivo com.apple.Boot.plist

sudo pico /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

y añadir 2 líneas de esta forma:

Busca las 2 últimas líneas:


</dict>
</plist>



Justo encima de ellas, añade este texto:


<key>device-properties</key>
<string>PEGA AQUÍ LA CADENA DE TEXTO DEL ARCHIVO ADJUNTO</string>

El archivo com.apple.Boot.plist quedaría así:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string></string>
<key>device-properties</key>
<string>CADENA DE TEXTO DEL ARCHIVO ADJUNTO</string>
</dict>
</plist>

Y borra o mejor renombra la extensión ALCinject.kext (pero no AppleHDA.kext que ha de ser conservada). Repara permisos y reinicia.

Si no tienes sonido al arrancar, has de borrar las líneas añadidas a com.apple.Boot.plist y recuperar ALCinject.kext.

No hay una ventaja clara sobre la instalación habitual de drivers, es una forma diferente de hacer las cosas. Pero da la impresión de que el PC apaga más rápido de esta forma.

NOTA: lo que hace ALCinject es precisamente éso, inyectar la cadena EFi para que Leopard reconozca el dispositivo, pero también es posible inyectarla directamente desde com.apple.Boot.plist.
 

jrangels

New member
Muy bueno Miliuco...

En cuanto a ventajas, sólo te puedo decir que cuando actualicé a 10.5.3 y no hubo problemas con la gráfica que a los que tenían el nvinjet se les desactivó la aceleración gráfica.

En otro post, coloqué un archivo para hacer todo esto en forma gráfica, incluida la ethernet pero de esto último... no se.
 

miliuco

Activo
Veo que hubiera sido más lógico seguir en el otro hilo que empezaste en tutoriales. Respecto a la 8800gt, me pasó lo mismo que a otros, se desactivó la aceleración al pasar a 10.5.3 pero al instalar cadena EFi la recuperé aún usando las extensiones de 10.5.3.

Mi problema es que no sé cómo inyectar 2 dispositivos diferentes en com.apple.Boot.plist.
La duda que tengo: si se escriben a mano las cadenas de más de 1 dispositivo en com.apple.Boot.plist, por ejemplo vídeo y audio, ¿han de ir seguidas o en varios device-properties? Me explico, han de ir así:

<key>device-properties</key>
<string>...cadenas de ambos dispositivos una tras la otra...</string>

o así:

<key>device-properties</key>
<string>...cadena del vídeo...</string>
<key>device-properties</key>
<string>...cadena del audio...</string>.

NOTA: la cadena que he posteado del audio está hecha con EFi Studio, la utilidad de que hablabas en el tutorial. EFi Studio para el audio me va bien pero no para el vídeo pues la 8800gt no está entre las tarjetas soportadas.
 

grizly

New member
pues si Miliuco parece que los problemas de apagado son consecuencia de los kext de sonido. pues como te comente por privado la instalación de leo4 all apagaba y reiniciaba bien,
saludos desde Cantabria. Por cierto el pos lo pongo desde Safari, tengo sonido pero sin la calidad esperada.
por cierto la grafica la tengo a 1024 x 768 para un monitor de 1680 x 1050 todavia tengo trabajo para hacer.
Saludos

PD, Saludos a todo el foro
 

jrangels

New member
Bueno, yo seguí haciendo pruebas y le incorporé el ethernet, aunque no noté ninguna diferencia ya que el sistema la reconoce nativa (gigabyte p35-ds3).

Las cadenas se hacen una tras la otra, te anexo las lineas finales del video y las del audio tal cual aparecen en mi template.plist, antes de generar el out.hex:

<key>name</key>
<string>NVDA,Parent</string>
<key>rom-revision</key>
<string>0xa1000000</string>
</dict>

---aquí termina el video y comienza la cadena de audio----------------
<key>PciRoot(0x1)/Pci(0x1b,0x0)</key>
<dict>
<key>PinConfigurations</key>
<string></string>
<key>built-in</key>
<string>0x00</string>
<key>layout-id</key>
<string>0x0000000c</string>
<key>revision-id</key>
<string>0x00000002</string>
<key>subsystem-id</key>
<string>0x0000a002</string>
<key>subsystem-vendor-id</key>
<string>0x00001458</string>
<key>vendor-id</key>
<string>0x00008086</string>
</dict>
</dict>
</plist>

Si se le incorpora la cadena de ethernet, es después de:
<key>vendor-id</key>
<string>0x00008086</string>
</dict>

La cadena de video le edité el NVCAP para tener salida DVI con el "Property List editor"
 

jrangels

New member
Por cierto...

Grizly hace un comentario "los problemas de apagado son consecuencia de los kext de sonido" y de verdad que nunca he tenido esos problemas de apagado y encendido desde que tengo la cadena efi
 

miliuco

Activo
Encontré un texto de Macgirl (en Netkas) con las instrucciones. El truco es, como tú bien dices, que se van añadiendo los dispositivos en el archivo XML que más tarde se va a convertir en la cadena hexadecimal con lo que la cadena ya lleva incorporados todos los dispositivos.

Lo he probado y:

- cadena para 8800gt y ALC889a funciona (borrando NVinject y ALCinject)
- cadena para Radeon 2600xt y ALC889a no funciona aunque borre los kexts
- cadena para ALC889a funciona bien (borrando ALCinject)
- la red no me he metido con ella pues la reconoce Leopard (Realtek Rtl8111b) y funciona muy bien así.

Se ha comentado bastante la relación entre los kext de nuestro sonido (ALCinject y ApleHDA) y el apagado erróneo, hasta el punto que el driver de nuestro chip de audio en Kalyway 10.5.2 se llama alc889a_shutdown_fix pero yo no lo tengo tan claro. En mi caso el PC se apaga bien con el kernel speedstep 9.2.0 de ToH y he comprobado que se apaga aún mejor si pongo la gráfica Radeon 2600xt 256mb en lugar de la Geforce 8800gt 512mb.
Ahora que tengo el audio con cadena EFi comprobaré si el apagado es siempre correcto.
Gracias, Jrangels.

Para Grizly:

Saludos, montañés, ¿qué gráfica usas? Hay que ponerla en marcha con ese monitor.
 

miliuco

Activo
Jrangels: pon datos del PC en tu firma y así al leerte se recibr más información. Por cierto, ¿qué cadena NVCAP has usado? ¿en qué tarjeta gráfica?.
 

jrangels

New member
Ok, ya coloque los datos de mi PC en la firma...

Creo que la cadena efi, no funciona con los kexts de Ati.

Mi tarjeta gráfica es una 8400 GS de 250 mg y no cargaba el video por estar conectada en el conector DVI, por lo que con el "property List editor" edité y modifiqué el valor del NVCAP de mi tarjeta en el "template.plist" antes de generar el out.hex y le coloqué el valor:

NVCAP = 04000000 00000300 04000000 00000007 00000000

El valor del NVCAP lo conseguí en el foro deNvinjet

Anexo el programa que es útil para editar cualquier "Info.plist"
 

miliuco

Activo
Gracias por el programa, será útil si no tienes instaladas las XCode.

A mí me funciona bien el monitor por DVI (es una 8800gt) por lo que no he editado NVCAP. Incluso he probado dos monitores y va bastante bien, funciona todo menos la extensión de un escritorio al otro como si fuesen ambos el mismo que se extiende.

Y es posible que tengas razón y con las ATI no funcione. Ahora tengo la 8800gt y el audio en cadena EFi. La red no. Y es cierto que apaga muy bien.
 

juker12

Activo
"los problemas de apagado son consecuencia de los kext de sonido"


Asi es jrangels, hace algun tiempo adverti esto. Basicamente es el mismo problema que si usamos un driver de Windows XP en Windows Vista.
Casca en apagado, suspension o el algun momento que se haga una llamada al standby.

En esta placa concreta el principal escollo es la tarjeta de red integrada. A parte de ser mala de por si, es compleja de desarrollar un drivers en condiciones.

Yo lo intente consiguiendo Full-duplex con control de flujo pero no la suspension

Por tanto mi solucion para usar el kernel oficial paso por inyectar en audio, usar kext oficiales para el video ( en mi caso sin actualizacion graficos 1.0) y como red mi airport N D-link con driver nativo.
No uso nada que no sea kext oficial en curso con kernel en curso.
 

miliuco

Activo
Pues si tú lo dices seguro que es cierto. Como yo sí deseo usar la Rtl8111b de la placa he añadido también la Ethernet como cadena EFI, así que ahora tengo vídeo + Eth + audio en cadena EFi, he quitado el driver Realtek R1000 de Sourceforge (lo usaba pues con el nativo no funciona la impresora compartida con Bonjour) así como NVinject y ALCinject y es cierto que el PC apaga bien. Conservando los kext de NVidia que vienen en 10.5.3.

Pero sigo usando kernel 9.2.0 speedstep de ToH. Ahora tengo que comprobar el apagado con el Vanilla 9.3.0.
 

jrangels

New member
Ahora hice la siguiente prueba...

De la cadena efi, quité lo referente a sonido, saqué el sonido por un conector usb que lo reconoció perfectamente en forma nativa e instalé el kernel 9.3 vanilla original apple... todo perfecto ahora... reinicio y apagado perfecto.

... Tenía mucha razón el maestro Juker12

... De paso, con el sonido por usb, tengo 7.1
 

miliuco

Activo
Pues en mi caso el kernel 9.3.0 no ha funcionado incluso sin ALCinject, mejor dicho, funciona estupendamente hasta que apago o reinicio en que queda el PC parcialmente encendido, así que vuelvo al 9.2.0 speedstep de ToH.

Lo que sí puedo decir es con el audio en cadena EFi (ahora tengo las 3, vídeo, audio y ethernet) y el kernel speedstep el PC apaga perfectamente.
Hay una prueba "de fuego": hacer una reparación de permisos e inmediatamente después apagar el PC. Antes siempre tardaba en apagar y ahora lo hace rápidamente.
 

jrangels

New member
Una pregunta Miliuco, al margen de todo esto, porqué quedé intrigado con la salida dvi de tu tarjeta de video... que drivers estás utilizando que no modificastes el NVCAp
 

miliuco

Activo
Antes tenía kalyway 10.5.2 + Scottdangel nvinstaller 4.1. Ahora tengo actualizado a Kalyway 10.5.3 con las extensiones gráficas que instala + cadena EFi.
Date cuenta que tengo una 8800gt que no tiene salida VGA, sólo DVI (2 salidas). La salida primaria se considera la que está más cerca de la placa base con la tarjeta colocada y es ahí en la que enchufo el monitor (DVI a DVI).
Nunca he modificado NVCAP. Cuando probé 2 monitores (20" 16x9 + 15" 4x3) parecía funcionar bien, me dejaba elegir por dónde saltaba el ratón de uno a otro, podía tener diferentes programas en cada uno, incluso rotaciones, lo que nunca conseguí fue la extensión del escritorio del monitor 1 al monitor 2.
 

ddr234

New member
gracias!

Yo voy a probar la cadena para alc889 que me trae de cabeza.... PERO NO CONSIGO BAJAR EL ARCHIVO DE MILU QUE PONE ARRIBA, COMO VES SOY NUEVO, ES CLICAR Y LISTO NO?... un saludo para todos!

(Para PCs con EFi y Leopard)

Para aquellos poseedores de placas como la mía (y cualquier otra que lleve este chip de audio ALC889a) y quieran probar a usar el método de cadena EFi en
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
pueden usar esta cadena que en mi caso funciona bien (archivo de texto al final).

El truco está en editar el archivo com.apple.Boot.plist

sudo pico /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

y añadir 2 líneas de esta forma:

Busca las 2 últimas líneas:


</dict>
</plist>



Justo encima de ellas, añade este texto:


<key>device-properties</key>
<string>PEGA AQUÍ LA CADENA DE TEXTO DEL ARCHIVO ADJUNTO</string>

El archivo com.apple.Boot.plist quedaría así:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string></string>
<key>device-properties</key>
<string>CADENA DE TEXTO DEL ARCHIVO ADJUNTO</string>
</dict>
</plist>

Y borra o mejor renombra la extensión ALCinject.kext (pero no AppleHDA.kext que ha de ser conservada). Repara permisos y reinicia.

Si no tienes sonido al arrancar, has de borrar las líneas añadidas a com.apple.Boot.plist y recuperar ALCinject.kext.

No hay una ventaja clara sobre la instalación habitual de drivers, es una forma diferente de hacer las cosas. Pero da la impresión de que el PC apaga más rápido de esta forma.

NOTA: lo que hace ALCinject es precisamente éso, inyectar la cadena EFi para que Leopard reconozca el dispositivo, pero también es posible inyectarla directamente desde com.apple.Boot.plist.
 

miliuco

Activo
Efectivamente da error el archivo adjunto, no sé por qué, prueba con EFiStudio que te hace el trabajo automáticamente (mira en este hilo) eligiendo en Add Device el audio.
 
Arriba