Cambiar de OpenCore 0.7.9 a 0.8.0

OpenCore 0.8.0 ya está aquí. Puedes descargarlo junto con las nuevas versiones de las extensiones desde Acidanthera. El lanzamiento de OpenCore 0.8.0 se ha retrasado para solucionar algunos problemas relacionados con la depuración desde puerto serie.

Además de ello, los cambios principales son:

  • Explicación mejorada respecto a SetApfsTrimTimeout. A partir de macOS 12 ya no es posible ajustar el tiempo de espera de trim para sistemas APFS. Sin embargo, la opción SetApfsTrimTimeout puede ser deshabilitada ajustando su valor a 0. Cuando el tiempo de espera de trim en un sistema APFS es cero, trim se desactiva incluso cuando Información del Sistema dice que está activado.
  • Soporte para tarjetas de red Aquantia AQtion 10 Gb.
  • Soporte para preservar logs en etapas tempranas del arranque.
  • Se ha cambiado a Python 3 en los scripts de compilación.

config.plist

Kernel >> Quirks:

  • se ha añadido la opción ForceAquantiaEthernet (Boolean): habilita el soporte para tarjetas de red de 10 Gb basadas en Aquantia AQtion, que generalmente funcionaban bien antes de macOS 10.15.4. Cuando ForceAquantiaEthernet está seleccionada, DisableIoMapper ha de estar desactivada y VT-d ha de estar activada en BIOS. El valor predeterminado es False.
  • se ha añadido CustomPciSerialDevice (Boolean): para que macOS detecte correctamente dispositivos serie PCI externos. Por defecto, la depuración por puerto serie está desactivada. Para que la opción CustomPciSerialDevice esté bien aplicada, Misc >> Serial >> Override ha de estar activada con todas las claves adecuadamente configuradas en la sección opcional Misc >> Serial >> Custom. El valor predeterminado es False.

Misc >> Debug >> se ha quitado la clave SerialInit (Boolean).

Misc >> se ha añadido la clave Serial (Dictionary): lleva a cabo la inicialización del puerto serie. Contiene 2 subclaves:

  • Init (valor predeterminado es False): inicializa el puerto serie desde OpenCore antes de que tenga lugar cualquier depuración hacia logs.
  • Override (valor predeterminado es False): sobreescribe las propiedades del puerto serie.

Cuando Override es True, hay que añadir y configurar correctamente la sección Misc >> Serial >> Custom (para ver su formato, consulta el archivo Sample.plist).
La mayoría de nosotros no vamos a utilizar estas opciones por lo que podemos olvidar Misc >> Serial >> Custom y dejar Misc >> Init y Misc >> Override como False.

Kexts

  • AppleALC 1.7.1 (solución de problemas, nuevos diseños)
  • CPUFriend 1.2.5 (solución de problemas)
  • CpuTscSync 1.0.8 (arreglado el argumento de arranque -cputsclock)
  • DebugEnhancer 1.0.7 (código redundante eliminado)
  • FeatureUnlock 1.0.8 (soporte para Macmini8,1 añadido)
  • Lilu 1.6.1 (reparada la compilación en Xcode 12.3.1).

25 comentarios en «Cambiar de OpenCore 0.7.9 a 0.8.0»

  1. Hola de nuevo, conseguí hacer funcionar Aquantia 107 y Fenvi wifi con SSDT DMAR (tabla editada) y patch en DELETE, he actualizado varias veces el sistema sin problemas de Monterey a Ventura y varias actualizaciones hasta que en 13.3.1 me ha vuelto a pasar lo mismo, ha dejado de funcionar wifi Fenvi, sin tocar nada. Estoy buscando info y no encuentro nada. Un saludo.

    Responder
    • No sé si puede ser tu caso porque no sé qué placa base utilizas pero en Ventura 13.3 hubo un cambio que puede afectar a placas base cuya tabla DMAR original tiene una o varias Reserved Memory Region como supongo que te pasa a ti ya que has podido trabajar con la tabla DMAR modificada (sin Reserved Memory Region). El caso es que wifi y ethernet pueden dejar de funcionar a partir de esa actualización de Ventura.

      El usuario CaseySJ creó un parche que OpenCore ha incluido en versiones beta recientes, es un quirk llamado DisableIoMapperMapping, que va junto al ya conocido DisableIoMapper. Prueba con alguna versión reciente de OpenCore 0.9.2 posterior a la compilación 4bd9343 (OcAppleKernelLib: Add DisableIoMapperMapping quirk) para ver si también es la solución a tu problema (habilitando el quirk).

      Puedes leer más a fondo sobre este asunto en el Pull Request que CaseySJ publicó para que en OpenCore integraran su propuesta: Add kernel quirk ‘FixAppleVTD’.

      Si no deseas cambiar a OpenCore 0.9.2, CaseySJ ofrece la opción de aplicar esta solución en forma de parche independiente, lo tienes en su sitio GitHub: Ventura-AppleVTD-Patch.

      Si pruebas una de estas 2 propuestas y se arregla tu problema, coméntalo aquí para saber el resultado.

      Responder
      • Gracias por responder, efectivamente he leído que esta actualización afecta las z390 y z490 ,cómo aplico el patch a mi OC91? No sé cómo se hace. Voy a buscar información. GRACIAS!!!!

        Responder
        • Pero no a todas las Z390 o 490 les afecta, por lo que ha publicado CaseySJ, que fue el primero en detallar este problema, han de coincidir varias condiciones para que se produzca:

          1. más de 16 GB de memoria RAM
          2. iGPU habilitada en BIOS
          3. tabla nativa DMAR con una o más secciones Reserved Memory Region
          4. VT-d habilitado en BIOS

          No estoy seguro de si han de darse las 4 condiciones juntas o sólo algunas de ellas. Por ejemplo en mi caso cumplo 1, 3 y 4 pero no la 2 (mi SMBIOS es iMacPro1,1 y la iGPU está deshabilitada en BIOS), tal vez por eso no he tenido este problema a pesar de que la placa es Z390.

        • Me alegro. Cuando actualices en el futuro a OpenCore 0.9.2 o posterior recuerda que puedes borrar el parche y activar el nuevo quirk DisableIoMapperMapping que realiza la misma función.
          Supongo que has hecho algo como esto en config.plist y así no necesitas actualizar OpenCore todavía:

          <key>Patch</key>
          <array>
          	<dict>
          		<key>Arch</key>
          		<string>Any</string>
          		<key>Base</key>
          		<string>__ZN11IOPCIBridge20addBridgeMemoryRangeEyyb</string>
          		<key>Comment</key>
          		<string>CaseySJ - Fix AppleVTD issue in 13.3+</string>
          		<key>Count</key>
          		<integer>1</integer>
          		<key>Enabled</key>
          		<true/>
          		<key>Find</key>
          		<data>TIn26Jr/AAA=</data>
          		<key>Identifier</key>
          		<string>com.apple.iokit.IOPCIFamily</string>
          		<key>Limit</key>
          		<integer>0</integer>
          		<key>Mask</key>
          		<data></data>
          		<key>MaxKernel</key>
          		<string></string>
          		<key>MinKernel</key>
          		<string>22.4.0</string>
          		<key>Replace</key>
          		<data>TIn2kJCQkJA=</data>
          		<key>ReplaceMask</key>
          		<data></data>
          		<key>Skip</key>
          		<integer>0</integer>
          	</dict>
          </array>
          

          Ahora, a seguir disfrutando del hackintosh. Saludos.

        • Seguí el tutorial para cargar el parche desde OpenCore, cargué el config.plist patch y listo, gracias por la ayuda, estaba en los foros alemanes que hace ya tiempo me ayudaron pero esta vez han pasado de mi. Muchas gracias.

  2. Buenas noches, si pongo SetApfsTrimTimeout=-1 y se desactiva Trim ¿qué impacto negativo puede tener en el sistema? ¿el disco SSD irá más lento? ¿durará menos?

    Responder
    • Yo creo que impacto negativo no existe. La prueba es en el momento del arranque que es el único momento en el que Trim sucede significativamente. Si tu macOS arranca más rápido con el valor -1, ese es el que debes usar. Si arranca igual con 0 o con -1, no hay ningún inconveniente en seguir funcionando con 0 como hasta ahora.
      Hay discusiones sobre si la activación de Trim mejora el rendimiento de los discos SATA, yo he leído artículos con opiniones contrarias. Por un lado, Trim en teoría hace más eficiente la organización del espacio en los SATA. Por otro lado, cuando se lleva a cabo aplica una carga de trabajo al disco que lo desgasta.

      Responder
  3. Lo que tengo puesto en ACPI/Delete para mi SSDT-DMAR y la placa GB Vision D Z490:

    All
    Comment DMAR
    Enabled
    OemTableId
    TableLength 0
    TableSignature RE1BUg==

    Responder
    • Espera que estoy preparando la respuesta a tu mensaje.
      Por algún motivo WordPress estropea el texto de ACPI/Delete que escribes, antes no salió y ahora sale descolocado. Pero te hago unos comentarios antes de seguir con lo que estaba escribiendo.

      El texto de SSDT-DMAR es de la tabla ya modificada para ti, no la original de tu sistema, ¿es correcto?, porque no veo en ella el bloque Reserved Memory Region que suele estar en la tabla original, sin retocar.

      ACPI/Delete: en el texto que me llega faltan algunas cosas pero no sé si es por fallo de WordPress o porque lo tienes así en tu config.plist:
      – ALL debería estar marcado Yes (o True)
      – Enabled debería estar marcado Yes (o True)
      – OemTableId sale en blanco pero debería tener el identificador de la tabla DMAR
      – TableLength pone cero pero está claro que la longitud real no es cero.

      Si no lo entiendes bien, y es cierto que lo que uno quiere es ayuda pero también aprender a hacer las cosas, como bien dices, espera que estoy redactando unas instrucciones sobre este asunto para publicarlas y después me planteas las dudas que tengas. Ten paciencia. Es un poco complejo pero cuando lo entiendas no te parecerá tan difícil.

      Responder
    • ¿Quieres pasar al email eaperez arroba me punto com?

      ¿Sabes cómo obtener tu tabla DMAR.aml original, sin modificar? Si sabes cómo hacerlo, adjúntala (o escribe su texto en el mensaje de correo) para que yo la vea. Saludos.

      Responder
    • DJDM: aquí van las instrucciones.

      Cómo modificar la tabla DMAR.aml para que las interfaces Ethernet Aquantia AQtion AQC-107s funcionen en macOS Monterey sin que la interfaz Wifi deje de funcionar.

      Para conseguir que ambas interfaces de red funcionen correctamente es necesario:

      1. editar la tabla ACPI DMAR borrando parte de su contenido
      2. que OpenCore cargue la tabla DMAR modificada
      3. que OpenCore no cargue la tabla DMAR original del sistema
      4. VT-d habilitado en BIOS
      5. Kernel >> Quirks >> DisableIoMapper desactivado en config.plist.

      1. Editar la tabla DMAR

      Descarga Xiasl desde su sitio.

      Al abrir Xiasl, se crea automáticamente una carpeta «ACPI Tables» en el Escritorio con todas las tablas ACPI del sistema.

      Abre la tabla DMAR.aml con Xiasl.

      Borra la sección Reserved Memory Region + PCI Endpoint Device (PCI Path 14).

      Reserved Memory Region

      Nota: Si hay varios bloques «Reserved Memory Region», se recomienda borrarlos todos.

      Guarda la tabla DMAR con las modificaciones (Xiasl >> Edit >> Compile).

      Cambia el nombre a la tabla modificada >> SSDT-DMAR.aml.

      2. Cargar SSDT-DMAR al arrancar

      Copia SSDT-DMAR.aml a la carpeta ACPI de OpenCore y a la sección ACPI/Add de config.plist.

      3. Borrar la tabla DMAR del sistema al arrancar

      Borra la tabla DMAR original desde la sección ACPI/Delete de config.plist para que no se cargue al arrancar y que, en su lugar, se cargue SSDT-DMAR. Consulta en GitHub el sitio OC-Little-Translated (ve a 00_ACPI >> ACPI_Dropping_Tables) cómo borrar una tabla ACPI en OpenCore, está en inglés pero es el sitio que mejor explica cómo hacerlo.

      En resumen, en las claves de ACPI/Delete hay que escribir estos valores:

      • All – Yes
      • Comment – Borrar la tabla DMAR (puedes cambiarlo a tu gusto)
      • Enabled – Yes
      • OemTableId (el valor de Oem Table ID en la tabla DMAR original, en hexadecimal)
      • TableLength (Table Length en la tabla DMAR original, en decimal)
      • TableSignature (Signature en la tabla DMAR original, en hexadecimal).

      Nota: si abres config.plist con editor de texto plano, los valores de OemTableId y TableSignature van en Base64 pero, si lo abres con un editor de archivos plist (PlistEdit Pro, etc.), esos mismos valores se muestran en hexadecimal.

      El resultado final es algo así visto con un editor de archivos plist (tus valores pueden ser diferentes):

      Drop DMAR table

      Consulta las dudas que tengas, para que al final seas capaz de hacerlo tú mismo en tu PC.

      Responder
  4. Sí pero en mi caso he borrado mas cosas del SSDT-DMAR de mi placa y luego ACPI/Delete lo tengo así, mi placa es una Gigabyte Z490 vision D y el patch de ACPI/Delete por lo que veo no es igual para todo el mundo porque miré Google entero y probé lo de ACPI/Delete del foro de tonymac uno que tenía mi misma placa y no era igual, me ayudaron pero no he comprendido como lo han hecho y lo que me gusta es que me ayuden y aprender lo que han hecho para poder ayudar a más gente, lo tengo todo funcionando pero en realidad no sé lo que han modificado y por qué. Un saludo.

    Mi ACPI/Delete:

    Mi SSDT-DMAR:

    [000h 0000 4] Signature : «DMAR» [DMA Remapping table]
    [004h 0004 4] Table Length : 00000068
    [008h 0008 1] Revision : 01
    [009h 0009 1] Checksum : 39
    [00Ah 0010 6] Oem ID : «INTEL »
    [010h 0016 8] Oem Table ID : «EDK2 »
    [018h 0024 4] Oem Revision : 00000002
    [01Ch 0028 4] Asl Compiler ID : «INTL»
    [020h 0032 4] Asl Compiler Revision : 20190215

    [024h 0036 1] Host Address Width : 26
    [025h 0037 1] Flags : 05
    [026h 0038 10] Reserved : 00 00 00 00 00 00 00 00 00 00

    [030h 0048 2] Subtable Type : 0000 [Hardware Unit Definition]
    [032h 0050 2] Length : 0018

    [034h 0052 1] Flags : 00
    [035h 0053 1] Reserved : 00
    [036h 0054 2] PCI Segment Number : 0000
    [038h 0056 8] Register Base Address : 00000000FED90000

    [040h 0064 1] Device Scope Type : 01 [PCI Endpoint Device]
    [041h 0065 1] Entry Length : 08
    [042h 0066 2] Reserved : 0000
    [044h 0068 1] Enumeration ID : 00
    [045h 0069 1] PCI Bus Number : 00

    [046h 0070 2] PCI Path : 02,00

    [048h 0072 2] Subtable Type : 0000 [Hardware Unit Definition]
    [04Ah 0074 2] Length : 0020

    [04Ch 0076 1] Flags : 01
    [04Dh 0077 1] Reserved : 00
    [04Eh 0078 2] PCI Segment Number : 0000
    [050h 0080 8] Register Base Address : 00000000FED91000

    [058h 0088 1] Device Scope Type : 03 [IOAPIC Device]
    [059h 0089 1] Entry Length : 08
    [05Ah 0090 2] Reserved : 0000
    [05Ch 0092 1] Enumeration ID : 02
    [05Dh 0093 1] PCI Bus Number : 00

    [05Eh 0094 2] PCI Path : 1E,07

    [060h 0096 1] Device Scope Type : 04 [Message-capable HPET Device]
    [061h 0097 1] Entry Length : 08
    [062h 0098 2] Reserved : 0000
    [064h 0100 1] Enumeration ID : 00
    [065h 0101 1] PCI Bus Number : 00

    [066h 0102 2] PCI Path : 1E,06

    Raw Table Data: Length 104 (0x68)

    0000: 44 4D 41 52 68 00 00 00 01 39 49 4E 54 45 4C 20
    0010: 45 44 4B 32 20 20 20 20 02 00 00 00 49 4E 54 4C
    0020: 15 02 19 20 26 05 00 00 00 00 00 00 00 00 00 00
    0030: 00 00 18 00 00 00 00 00 00 00 D9 FE 00 00 00 00
    0040: 01 08 00 00 00 00 02 00 00 00 20 00 01 00 00 00
    0050: 00 10 D9 FE 00 00 00 00 03 08 00 00 02 00 1E 07
    0060: 04 08 00 00 00 00 1E 06

    Responder
  5. Hola, ya está solucionado Aquantia y wifi Fenvi PCI funcionando, extraer tabla SSDT DMAR de la placa, borrar parte de ella y luego en ACPI/Delete aplicar un parche y solucionado.

    Responder
    • Hola, me alegro de que esté solucionado.

      Supongo que te refieres a la tabla ACPI llamada DMAR, que ha de ser modificada según la propuesta de kokowsky en este hilo borrando una parte del código. Después añadir la tabla modificada DMAR.aml a la carpeta ACPI de OpenCore y a config.plist y borrar la tabla DMAR original en la sección ACPI/Delete de config.plist.

      Ya veo por lo que dices que esta solución funciona y permite tener Aquantia y wifi a la vez con DisableIoMapper desactivada y VT-d activada, ahora falta ver si los autores de OpenCore sacan algún parche que haga esto de una forma más sencilla para el usuario poco avanzado al que le puede costar mucho todo esto de la tabla DMAR.

      Responder
  6. Después de las pruebas realizadas sobre el soporte de las tarjetas Aquantia tengo que decir que, si desactivo «DisableIoMapper», sí funciona la tarjeta Ethernet 10, pero deja de funcionar el wifi de la Fenvi, que no sería molestia pero como Airdrop funciona con el wifi es un poco *utada, si habilito DisableIoMapper me reconoce la tarjeta Aquantia pero no hay internet y luego cuando intenta yo creo tener una IP se congela el hack, he probado buscando en google con las tablas DMAR y un SSDT de mi placa Z490 vision D y su SSDT-DMAR.aml y nada, no hay manera, no puedo hacer que funcione todo a la vez, si quiero wifi/airdrop la Aquantia no funciona, he buscado por internet y no encuentro solución.

    Responder
    • Es un problema detectado con las últimas versiones de Monterey. Dependiendo de la placa base, hay usuarios que no pueden tener a la vez Aquantia y wifi, o una u otra. Esto por ahora no tiene solución clara. Has probado a quitar la tabla DMAR? (drop DMAR table). Sin editarla o modificarla.
      Aunque esto contradice los comentarios de los autores de OpenCore:
      In order for Aquantia cards to properly function, DisableIoMapper must be disabled, DMAR ACPI table must not be dropped and VT-d must be enabled in BIOS.

      Responder
    • Mi PC no tiene Aquantia, la Ethernet integrada es Intel I219V7 y la wifi es Fenvi T919 como tú. Si habilito VT-d en BIOS y desmarco DisableIoMapper en config.plist, pierdo ambas interfaces, wifi y Ethernet. Si deshabilito VT-d o selecciono DisableIoMapper, ambas funcionan bien.

      Responder
    • Otra opción que puedes probar es aplicar el parche directamente en config.plist. Sin utilizar el quirk ForceAquantiaEthernet. Se añade en la sección Kernel >> Patch. Dejando DisableIoMapper desmarcada.

      <dict>
      <key>Arch</key>
      <string>Any</string>
      <key>Base</key>
      <string></string>
      <key>Comment</key>
      <string>AQC 107 10 GbE v3 for Monterey 12.3 – DisableIoMapper=False</string>
      <key>Count</key>
      <integer>1</integer>
      <key>Enabled</key>
      <true/>
      <key>Find</key>
      <data>D4RFAwAA</data>
      <key>Identifier</key>
      <string>com.apple.driver.AppleEthernetAquantiaAqtion</string>
      <key>Limit</key>
      <integer>0</integer>
      <key>Mask</key>
      <data></data>
      <key>MaxKernel</key>
      <string></string>
      <key>MinKernel</key>
      <string>21.4.0</string>
      <key>Replace</key>
      <data>Zg8fRAAA</data>
      <key>ReplaceMask</key>
      <data></data>
      <key>Skip</key>
      <integer>0</integer>
      </dict>

      Responder
  7. Sobre «Soporte para tarjetas de red Aquantia AQtion 10 Gb» me detecta la tarjeta y pone «conectado» pero no tengo Internet. Alguna configuración aparte??

    Responder
    • Sólo las que comentan los autores de OpenCore:
      – DisableIoMapper ha de estar desactivada en config.plist
      – VT-d ha de estar activada en BIOS.
      Lo tienes así ya?

      Responder
    • Sí, creo que me adelanté al notificar la versión 1.6.1. Durante el mes de abril hubo pequeños cambios en Lilu, sólo para solucionar la compatibilidad con Xcode 12.3.1 al compilar, y yo pensé que iba a salir una versión nueva pero Acidanthera ha dejado por ahora la versión 1.6.0 como oficial y 1.6.1 como beta.

      Responder

Responder a DJDM Cancelar la respuesta