Jump to content

Efi string creator


chinasky
 Share

15 posts in this topic

Recommended Posts

En el foro de la página de Netkas, Inside se ha currado una utilidad para crear los strings de la gráfica, red (time machine fix, aunque no lo he probado) y el audio para luego incluirla en el com.apple.boot.plist.

 

Aquí el programa

 

http://forum.netkas.org/index.php/topic,64...64.html#msg1864

 

 

y aquí un poco de información de qué va la cosa

 

 

http://forum.netkas.org/index.php/topic,104.0.html

 

Gracias de nuevo a ls8

 

saludos

Link to comment
Share on other sites

que hace esto perdido por el foro????

 

esta de diez..... :D

 

si tienes unos minutos harías un pequeño explicativo???

 

soporta apple azalia genericos

red genericos

 

video

geforce 7300gt/7600gt/8600gt 512-256

geforce 8800 gts 512 (g92)

geforce 8800 gts 320-640 (g80)

geforce 8800 gtx 768 (g80)

Link to comment
Share on other sites

Una vez descargada la aplicación, la ejecutamos y en la opción Device vamos seleccionando cada uno (en la gráfica según la gráfica que tengamos, a mí me ha valido la 7300 GT para mi GS) y pinchando en add device cada vez, tiene que quedar algo así

 

64338138cy4.png

 

y en la ventana del string resultante...

 

44019368hy7.png

 

Pinchamos sobre Hex string ot clipboard y abrimos en el com.apple.Boot.plist que está Library/Preferences/SystemConfiguration/ y pegamos la cadena en el fichero quedando así

 

---------------------------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple Computer//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>ce03000001000000030000................................0000500000001</string>

</dict>

</plist>

 

Recordar añadir la línea <key>device-properties</key> primero

hacer copia de seguridad y luego borrar injectores si los tenemos usando (nvinject, ALCinject,natit,) y reiniciar

 

 

saludos

Link to comment
Share on other sites

Pero le veo algunas pegas:

 

- limitado número de tarjetas gráficas (con mi 8800gt 512 no ha funcionado)

- me ha funcionado bien con el audio

- no queda claro que para escribir en com.apple.Boot.plist primero hay que pulsar en el botón Boot plist editor y después en Write to com.apple.Boot.plist

- no escribe bien en el archivo com.apple.Boot.plist (a veces hay que escribir las cadenas a mano).

 

Una 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>.

 

Gracias.

Link to comment
Share on other sites

Para aquellos que tengan Geforce 8800gt 512mb o audio ALC889a (el de mi placa base) pongo aquí las cadenas EFi que me funcionan con esos dispositivos por si alguno lo quiere probar:

 

8800GT

 

Este sería el archivo com.apple.Boot.plist:

 

<?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>6d0500000100000001000000610500001a00000002010c00d041030a01000000010106000001
101060000007fff040024000000400030002c00630061006e002d0068006f0074002d0070006c007
0067000000040000001c0000006400650076006900630065005f00740079007000650000000f0000
04e5644412c506172656e7422000000400031002c006400650076006900630065005f00740079007
00650000000b000000646973706c617922000000400030002c0064006900730070006c0061007900
d006300660067000000080000000301000020000000400031002c0063006f006d007000610074006
0062006c00650000000e0000004e5644412c4e564d616314000000400030002c006e0061006d0065
00000120000004e5644412c446973706c61792d412e000000400030002c004100410050004c002c0
62006f006f0074002d0064006900730070006c006100790000000400000014000000400031002c00
e0061006d0065000000120000004e5644412c446973706c61792d421e00000072006f006d002d007
00650076006900730069006f006e000000080000003332333320000000400030002c0063006f006d
0700061007400690062006c00650000000e0000004e5644412c4e564d6163200000004e005600440
41002c0046006500610074007500720065007300000008000000ff024f05100000004e0056004300
100500000001800000005000000000003000c0000000000000b00000000300000004100410050004
002c0045004d0043002d0044006900730070006c00610079002d004c006900730074000000440000
003000000000000000000000000000000061000001b9200000000000000000000061000001c92000
000000000000000006100000219200000000000000000000260000004100410050004c0030003000
c0043006f0068006500720065006e0063007900000008000000020000001c000000400030002c006
0062006f006600660073006500740000000800000000000600360000004100410050004c002c0061
0750078002d0070006f007700650072002d0063006f006e006e00650063007400650064000000080
000001000000220000005600520041004d002c0074006f00740061006c00730069007a0065000000
800000000000020320000004100410050004c002c006200610063006b006c0069006700680074002
0063006f006e00740072006f006c0000000800000000000000420000004100410050004c00300030
02c0062006c00610063006b00730063007200650065006e002d00700072006500660065007200650
6e006300650073000000080000000000000822000000400031002c0064006900730070006c006100
9002d00630066006700000008000000ffff0001420000004100410050004c00300031002c0062006
00610063006b00730063007200650065006e002d0070007200650066006500720065006e00630065
073000000080000000000000822000000400030002c006400650076006900630065005f007400790
7000650000000b000000646973706c6179100000006d006f00640065006c0000001a0000004e5649
44941204765466f726365203838303020475414000000400030002c004e0056004d0054000000640
00000b037f2022f0cf268007b0042008b007d0070000d304b304b904000080da2d09000000010000
00100000000000000000000000000000000000000000000000000000000ffff00000000000040b3d
09010000000000000000080000000000001e000000730075006200730079007300740065006d002d
0690064000000080000004f05000024000000400031002c00630061006e002d0068006f0074002d0
70006c0075006700000004000000</string>
</dict>
</plist>

Y habría que eliminar el inyector NVinject o NVKush.

 

ALC889a

 

Este sería el archivo com.apple.Boot.plist:

 

<?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>2f0100000100000001000000230100000700000002010c00d041030a0100000001010600001b
fff04001c0000007200650076006900730069006f006e002d0069006400000008000000010000002
000000500069006e0043006f006e00660069006700750072006100740069006f006e007300000004
0000018000000760065006e0064006f0072002d0069006400000008000000868000002c000000730
75006200730079007300740065006d002d00760065006e0064006f0072002d006900640000000800
000581400001e000000730075006200730079007300740065006d002d00690064000000080000000
a00000180000006c00610079006f00750074002d00690064000000080000000c0000001600000062
0750069006c0074002d0069006e0000000500000000</string>
</dict>
</plist>

 

Y habría que eliminar el inyector ALCinject (pero conservando AppleHDA.kext).

 

NOTA: ahora falta que alguien me enseñe a fusionar los 2 dispositivos en com.apple.Boot.plist.

 

NOTA: las cadenas entre <string> y </string> van en una única línea de texto.

Link to comment
Share on other sites

NOTA: ahora falta que alguien me enseñe a fusionar los 2 dispositivos en com.apple.Boot.plist.
Lo explican aquí donde pone "I already have a GFX string", yo ahora no puedo probarlo, te hará falta el ioregistryexplorer.

 

saludos

Link to comment
Share on other sites

Chinasky: justo mientas escribías este último post lo estaba probando, encontré un texto de Macgirl (ahora no recuerdo si aquí o en Netkas) con las instrucciones. El truco es 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 (ella dice que tiene vídeo, audio y red simultáneamete).

 

Lo he probado y:

 

- cadena para 8800gt y ALC889a funciona (borrando NVinject y ALCinject)

- cadena para Radeon 2600xt y ALC889a no funciona

- cadena para ALC889a funciona (borrando ALCinject)

- la red no me he metido con ella pues la reconoce Leopard (Realtek Rtl8111b) y funciona muy bien así.

 

Así que gracias a los 2.

Link to comment
Share on other sites

Les paso mis "layouts" con el que hice mis gfx string para mi desktop y mi Laptop:

 

AMD Desktop con tarjeta Nvidia Geforce 6600 (dual display, VGA+TV)

<?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>PciRoot(0x1)/Pci(0xe,0x0)/Pci(0x0,0x0)</key>
<dict>
	<key>@0,NVMT</key>
	<data>
	CgN/IEwtHAJ4BRoESAfQBWAGAABBBB0EIQQAAPDBQQcAAAEAAAAA/wAAAAAA
	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAABAAAAAAAAAA==
	</data>
	<key>@0,compatible</key>
	<string>NVDA,NVMac</string>
	<key>@0,device_type</key>
	<string>display</string>
	<key>@0,fboffset</key>
	<integer>131072</integer>
	<key>@0,name</key>
	<string>NVDA,Display-A</string>
	<key>@1,compatible</key>
	<string>NVDA,NVMac</string>
	<key>@1,device_type</key>
	<string>display</string>
	<key>@1,name</key>
	<string>NVDA,Display-B</string>
	<key>NVCAP</key>
	<data>
	BAAAAAAAAQAMAAAAAAAABwAAAAA=
	</data>
	<key>device_type</key>
	<string>NVDA,Parent</string>
	<key>model</key>
	<string>GeForce 6600 tv</string>
	<key>name</key>
	<string>display</string>
	<key>rom-revision</key>
	<string>Natit EFI</string>
</dict>
</dict>
</plist>

 

Laptop Dell XPS M1330 Nvidia 8400M GS (dual display, LCD+VGA) + Ethernet (Time Machine fix) + Audio (Remplazo al ALCinject)

<?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>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
<dict>
	<key>@0,compatible</key>
	<string>NVDA,NVMac</string>
	<key>@0,device_type</key>
	<string>display</string>
	<key>@0,name</key>
	<string>NVDA,Display-A</string>
	<key>@1,compatible</key>
	<string>NVDA,NVMac</string>
	<key>@1,device_type</key>
	<string>display</string>
	<key>@1,name</key>
	<string>NVDA,Display-B</string>
	<key>NVCAP</key>
	<data>
	BAAAAAAAAwAMAAAAAAAABwAAAAA=
	</data>
	<key>NVPM</key>
	<data>
	AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
	</data>
	<key>device_type</key>
	<string>NVDA,GeForce</string>
	<key>model</key>
	<string>NVIDIA GeForce 8400M GS EFI</string>
	<key>name</key>
	<string>NVDA,Parent</string>
	<key>rom-revision</key>
	<string>0x32323033</string>
</dict>
<key>PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)</key>
<dict>
	<key>built-in</key>
	<string>0x01</string>
</dict>
<key>PciRoot(0x0)/Pci(0x1b,0x0)</key>
<dict>
	<key>PinConfigurations</key>
	<data>
	</data>
	<key>built-in</key>
	<string>0x00</string>
	<key>layout-id</key>
	<string>0x0000000c</string>
</dict>
</dict>
</plist>

Link to comment
Share on other sites

Gracias, Macgirl, veo que pones Time Machine fixed, ¿con cadena EFi para Ethernet se arreglan los problemas de TM? ¿Y Bonjour, lo has probado también?

 

Con el driver nativo de Leopard para mi Ethernet RTL8111b funciona bien menos Bonjour (al conectar desde ordenadores Windows a la impresora compartida de Leopard) y con el driver opensource para las RTL1000 de Sourceforge sí que funciona Bonjour pero aparecen algunos mensajes al cargar el kext en la consola, pero con ambos falla TM, así que tal vez me convenga probar a poner también la red en cadena EFi.

Link to comment
Share on other sites

Aunque tu ethernet funcione 'out of the box' tenes el problema de que no es reconocida como 'built in'. Lo que hace la cadena para ethernet es injectar el valor 'built in' en el controlador. Esto soluciona los problemas con TimeMachine, UUID errors y probablemente tambien Bonjour. Otra manera de arreglarlo es installar IOneworkingFamily.kext patcheado (lo descargas en el IRC)....

Link to comment
Share on other sites

Gracias por la info, acabo de añadir la cadena EFi de la Ethernet y lo voy a probar así (por ahora parece funcionar muy bien). Ahora tengo los 3 dispositivos: vídeo, audio y red.

Link to comment
Share on other sites

  • 2 weeks later...

Hola, una duda

¿Es posible averiguar con ese programa una cadena de una grafica que no figure en la lista? Estoy averiguando como extraer la cadena de mi Shapphire x1600, y me da cosa tocar sin saber lo que estoy haciendo... Saludos

Link to comment
Share on other sites

Hola, una duda

¿Es posible averiguar con ese programa una cadena de una grafica que no figure en la lista? Estoy averiguando como extraer la cadena de mi Shapphire x1600, y me da cosa tocar sin saber lo que estoy haciendo... Saludos

 

No está fácil,pero tampoco imposible de hacer o intentar.Si el EFI string creator no trae una para tu tarjeta ATI,por lo que he entendido (poco aún) puedes hacerla utilizando el mismo programa.Resumen:

 

1.- Averiguar el device path de tu tarjeta ATI con gfxutil

2.- Colocar este devide path en el formulario con el formato para ATI.Guardar los cambios en este 'formulario'

3.- Utilizar el formulario para generar la cadena con gfxutil

4.- Colocar la cadena en tu apple.com.Boot.plist

 

Todo esto es muy fácil para las Nvidia porque el 'formulario' ya está hecho (alguien lo hizo).Pero para las ATI,no lo he visto.Según time ed tal vez puedes crear un formulario xml y hacer el intento.Para esto,puedes buscar que parámetros usa tu tarjeta ATI en el system.log (Aplicaciones>Utilidades>Mostrar Log Sys>system.log).Debe aparecer algo así para ATI (aquí funcionando con ATIinject):

 

ATIinject: Setting @0,display-link-component-bits=0x00000006
ATIinject:  Setting DFP1,EDID=<data not shown>
ATIinject: Setting  ATY,Copyright=Copyright ATI Technologies Inc. 2005
ATIinject: Setting  @0,display-connect-flags=0000000000
ATIinject: Setting  @0,display-dual-link=0x00000002
ATIinject: Setting  @0,ATY,EFIDisplay=LVDS
ATIinject: Setting model=ATY,RadeonX1600
ATIinject:  Setting AAPL00,DualLink=0x00000001
ATIinject: Setting  @0,device_type=display
ATIinject: Setting LVDS,EDID=<data not  shown>
ATIinject: Setting  @1,display-connect-flags=0000000000
ATIinject: Setting  AAPL,backlight-control=0x00000001
ATIinject: Setting ATY,DeviceID=<data  not shown>
ATIinject: Setting name=ATY,WormyParent
ATIinject: Setting  AAPL00,Coherency=0x00000002
ATIinject: Setting  @1,connector-type=0x00000004
ATIinject: Setting  @0,compatible=ATY,Wormy
ATIinject: Setting @1,name=ATY,Wormy
ATIinject:  Setting @0,AAPL,boot-display=0x00000001
ATIinject: Setting  @0,name=ATY,Wormy
ATIinject: Setting @1,compatible=ATY,Wormy
ATIinject:  Setting @0,display-dither-support=0000000000
ATIinject: Setting  @0,connector-type=0x00000002
ATIinject: Setting  @0,inverter-current=0000000000
ATIinject: Setting  @1,device_type=display
ATIinject: Setting  @0,display-link-type=0000000000
ATIinject: Setting device-id=<data not  shown>
ATIinject: Setting ATY,EFIVersion=01.00.068
ATIinject: Setting  device_type=ATY,WormyParent
ATIinject: Setting  AAPL00,LinkType=0000000000
ATIinject: Setting ATY,VendorID=0x00001002

 

Teniéndo estos parámetros y llevarlos a xml,ya lo demás es sencillo...¿Alguién con una ATI tiene un formulario hecho o quiere experimentar? ;)

Link to comment
Share on other sites

 Share

×
×
  • Create New...