WeBeRiO Posted October 3, 2015 Share Posted October 3, 2015 Muy buenas, no consigo reparar para que funcionen correctamente los puertos USB en El Capitan. He mirado en tuto-fix para corregirlos pero no me queda claro y lo que hago no me funciona.Algun amable puede explicar como poder hacerlo, se lo agradezco mucho, saludo.- Link to comment Share on other sites More sharing options...
franmglp Posted October 3, 2015 Share Posted October 3, 2015 Yo tuve que cambiar de iMac13,2 a Macmini6,2 porque los USB 2.0 no funcionaban. Como dicen en ese post que mencionás, ahora el kext IOUSBHostFamily gestiona el USB de manera diferente a como lo venía haciendo. Parece que ahora Apple define los puertos para cada modelo en el archivo Info.plist de ese kext por eso creo que hay que usar la SMBIOS que coincida con los puertos de tu PC o asignar los puertos de la misma manera a como están en el archivo Info.plist que supongo que se hace por DSDT pero como simplemente cambiando a Macmini6,2 pude solucionar mi problema no profundicé más en el tema pero seguro le voy a dar un repaso más adelante y si tengo información que pueda servir te aviso. 2 Link to comment Share on other sites More sharing options...
Derty Posted October 3, 2015 Share Posted October 3, 2015 es correcto lo que explica Fran. prueba diferentes smbios dentro de la compatibilidad de tu micro, o has todas las correcciones del DSDT que indicas en el post. yo por ejemplo debería usar imac 13.2, pero me va mejor macpro 5.1, comienza por macpro 3.1. puedes probar si quieres este kext que te dejo. Archivo comprimido.zip Link to comment Share on other sites More sharing options...
Maniac10 Posted October 3, 2015 Share Posted October 3, 2015 (edited) El fix mas fácil es cambiar de nombre los dispositivos USB en el DSDT para que no coincidan con los de la Mac que emulas y así evitar la restricción de puertos. Lo único que debes hacer es cambiar los nombres EHC1, EHC2 y XHC1. En mi caso los renombre a EH01, EH02 y XHC. Y ten en cuenta que puedes necesitar renombrarlos en varios lugares, no solo en el dispositivo en sí. Aquí esta el parche que se aplica con MaciASL: into device label EHC1 set_label begin EH01 end; into device label EHC2 set_label begin EH02 end; into device label XHC1 set_label begin XHC end; into_all all code_regex EHC1 replaceall_matched begin EH01 end; into_all all code_regex EHC2 replaceall_matched begin EH02 end; into_all all code_regex XHC1 replaceall_matched begin XHC end; Lo extraje de este post que explica de manera mas sencilla los parches necesarios para activar los USB apropiadamente. Edited October 4, 2015 by Maniac10 3 Link to comment Share on other sites More sharing options...
franmglp Posted October 3, 2015 Share Posted October 3, 2015 Entonces hay que hacer que en el DSDT los dispositivos USB no coincidan con los del modelo de Mac que estamos emulando? Pensé que era lo contrario pero pensándolo bien claro... en el archivo Info.plist Apple define para cada modelo la cantidad de puertos que tiene dicho modelo por eso si un iMac tiene solamente dos puertos nuestro hackintosh va a estar limitado a usar solo esos dos puertos no? Espero haber entendido bien. Igual en mi caso sucede lo siguiente. Usando iMac13,2 funcionan mis 2 puertos USB 3.0 pero no mis 2 puertos 2.0 que funcionan solo al cambiar a Macmini6,2. Es raro porque en el Info.plist iMac13,2 y Macmini6,2 están de la misma manera: No entiendo por qué mis USB 2.0 solo funcionan con Macmini6,2 y no con iMac13,2 si en los dos modelos la estructura es EHC1 > PRT1 + EHC2 > PRT1 y en mi DSDT los dispositivos están como EHC1 y EHC2... Link to comment Share on other sites More sharing options...
Maniac10 Posted October 3, 2015 Share Posted October 3, 2015 Ahi actualice el link, no tengo idea porque estaba vacío… No entiendo completamente la lógica del nuevo sistema USB, pero parece que hay 2 formas para habilitar todos los puertos en un hack: Usar el nuevo sistema restricción de puertos de 10.11. Para esto debes modificar en el DSDT los nombres de tus puertos para que coincidan con los del modelo Mac emulado. En la mayoría de los casos la cantidad y dirección de los puertos no serán iguales a los de la Mac, así que deberás modificar el info.plist de AppleUSBEHCIPCI y AppleUSBXHCIPCI para que los puertos coincidan con los de tu hardware. Alternativamente se puede usar un inyector para sobre-escribir dicha info sin tocar los kexts originales. Evitar el sistema de restricción de USB. Esto se consigue solo cambiando los nombres de los puertos desde el DSDT, lo que hace que se use un perfil "genérico" para los USB. La única diferencia que he notado hasta ahora en mis pruebas es que por el sistema genérico no carga mi iPad. El resto parece funcionar igual. Esta guía explica en detalle como funciona cada mecanismo. 1 Link to comment Share on other sites More sharing options...
franmglp Posted October 3, 2015 Share Posted October 3, 2015 Estuve haciendo unas pruebas. A pesar de que el Info.plist del AppleUSBEHCIPCI tiene los mismos puertos para iMac13,2 y Macmini6,2 a mí usando iMac13,2 me deja uno de los tres cabezales USB 2.0 de mi mother sin funcionar. Por lo que la solución es usar Macmini6,2 en SMBIOS o cambiar EHC1 y EHC2 a EH01 y EH02 en el DSDT para que los tres cabezales funcionen con iMac13,2. Los dos puertos USB 3.0 de mi mother funcionan sin tocar nada (en el DSDT el dispositivo lo tengo como XHC1). No tengo un bracket conectado al cabezal 3.0 pero supongo que tiene que funcionar. En mi caso no creo que sea necesario cambiar XCH1 a XHC porque en el Info.plist del AppleUSBXHCIPCI tanto iMac13,2 como Macmini6,2 tienen ocho puertos asignados y mi compu puede tener como máximo 4 puertos 3.0. WeBeRiO, pudiste solucionarlo? Qué SMBIOS usás? Link to comment Share on other sites More sharing options...
WeBeRiO Posted October 4, 2015 Author Share Posted October 4, 2015 No he podido mirar demasiado la verdad. Ahora mismo uso iMac15,1, por mi procesador.No existe remedio para aplicarlo 'al vuelo' mediante clover? Tampoco uso DSDT. Link to comment Share on other sites More sharing options...
Maniac10 Posted October 4, 2015 Share Posted October 4, 2015 Si es posible hacerlo al vuelo con el parchador manual de DSDT. No estoy seguro si es correcto pero debería ser algo así: <key>DSDT</key> <dict> <key>Patches</key> <array> <dict> <key>Comment</key> <string>EHC1 a EH01</string> <key>Find</key> <data> RUhDMQ== </data> <key>Replace</key> <data> RUgwMQ== </data> </dict> <dict> <key>Comment</key> <string>EHC2 a EH02</string> <key>Find</key> <data> RUhDMg== </data> <key>Replace</key> <data> RUgwMg== </data> </dict> <dict> <key>Comment</key> <string>XHC1 a XH01</string> <key>Find</key> <data> WEhDMQ== </data> <key>Replace</key> <data> WEgwMQ== </data> </dict> </array> </dict> </dict> 2 Link to comment Share on other sites More sharing options...
WeBeRiO Posted October 5, 2015 Author Share Posted October 5, 2015 Gracias Maniac10 por tu ajuste para Clover, funciona perfecto los EHC a EH0, pero si quiero cambiar de XHC como figura en tabla DSDT a XHC1 como pongo en la imagen, directamente no arranca :/Lo ideal para q sea vanilla es dejarlo como esta dentro del Kext, en XHC1, pero no se deja. Link to comment Share on other sites More sharing options...
Maniac10 Posted October 5, 2015 Share Posted October 5, 2015 El problema con las funciones de find & replace es que ambos campos deben ser de la misma longitud, por lo que no podrías cambiar XHC a XHC1. De cualquier manera la idea es evitar XHC1, así que si el dispositivo ya se llama XHC no haría falta renombrarlo. Y si quieres usar el sistema vanilla recuerda que debes editar la restricción de puertos. 1 Link to comment Share on other sites More sharing options...
WeBeRiO Posted October 6, 2015 Author Share Posted October 6, 2015 Dentro del kext figura como XHC1, entonces con dejarlo en XHC bastaría? Link to comment Share on other sites More sharing options...
Maniac10 Posted October 6, 2015 Share Posted October 6, 2015 Si el dispositivo en tu DSDT se llama XHC debería funcionar OOB. Sino tendrías que probar con un kext inyector para que use el sistema de restricciones pero eso ya es todo un trabajito. No tengo gran experiencia con eso pero dime si necesitas ayuda y probamos. 1 Link to comment Share on other sites More sharing options...
WeBeRiO Posted October 7, 2015 Author Share Posted October 7, 2015 (edited) Por partes, en el DSDT que carga MaciASL figura como XHC, tal cual. Lo dejo así entonces según entiendo.No así los EHCX, pero por suerte tengo el Renombrado a EH0X que pusiste para hacerlo al vuelo en Clover.Siempre he tenido problemas con los USBs en El Capi, el funcionamiento es normal aunque lo muestra mal, me explico:Mi placa z97-d3h tiene 2x3.0 delanteros, 4x3.0 traseros y 2x2.0 traseros. Si no cuento mal sería 6(3.0)+6(2.0)+2(2.0)=¿14 USBs?Actualmente uso el inyector para 9 series, pero cambiando el SMBIOS del interior a iMac15,1 que es el que yo uso en mi caso.Si miro en Información del Sistema > USB aparece 3 apartados: 2.0, 3.0 y 3.0. A pesar de tener conectado teclado Apple con Hubs en el 2.0, sale como conectado en uno de los 3.0.Intentaré subir captura a la tarde si no queda claro.EDITO:Como podeis ver hay bastante lío, tanto en Yosemite como en El Capi no va fino del todo.El que figura como USB3.0 Media Reader es un lector de tarjetas conectado en 3.0 y sale conectado en 2.0 Edited October 7, 2015 by WeBeRiO Link to comment Share on other sites More sharing options...
Maniac10 Posted October 7, 2015 Share Posted October 7, 2015 Podrías subir un ioreg de cada caso? La data de "Información del Sistema" dice poco y nada. Link to comment Share on other sites More sharing options...
WeBeRiO Posted October 8, 2015 Author Share Posted October 8, 2015 Aqui los tienes Maniac10, mil gracias por tu ayuda. Lo pongo sin inyector, con el arreglo del EH0X en Clover.Edito:No estoy seguro, pero aquí veo algo raro. Esa ID en el XHC corresponde a USB 2.0 USB2.0 8cb1 - 0x0aUSB3.0 8cad - 0x1a USB3.0 8ca6 - 0x1d ioreg.zip 1 Link to comment Share on other sites More sharing options...
Maniac10 Posted October 9, 2015 Share Posted October 9, 2015 Los ioreg que subiste no se pueden abrir. Usa el IORegistryExplorer version 2.1 para guardar los dump, las versiones mas nuevas suelen fallar por algún motivo. Sino puedes usar IOJones o DarwinDumper que hace un html. Link to comment Share on other sites More sharing options...
WeBeRiO Posted October 9, 2015 Author Share Posted October 9, 2015 Por logica debo usar iMac15,1 por mi hard y no MP5,1/MP6,1 ?He visto pruebas da mejor rendimiento, no se si USBs cambia ? Reporte de Darwin en Yosemite.Reporte de Darwin en El Capitan. En el capitan DD me reporta: Mil gracias Adjuntos van los ioreg de IOJones: yosemite.zip ElCapitan.zip Link to comment Share on other sites More sharing options...
Maniac10 Posted October 12, 2015 Share Posted October 12, 2015 (edited) El trabajo de los USB puede cambiar si usas los perfiles predefinidos para el modelo de Mac, pero si renombras los dispositivos no debería afectar a los USB. Solo escoge el modelo que mas se parezca a tu CPU, el resto se puede trabajar. No estoy seguro, pero aquí veo algo raro. Esa ID en el XHC corresponde a USB 2.0 USB2.0 8cb1 - 0x0aUSB3.0 8cad - 0x1a USB3.0 8ca6 - 0x1d Si te fijas en el reporte de DD en la sección LSPCI: 00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB xHCI Controller [8086:8cb1] (prog-if 30 [XHCI]) 00:1d.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 [8086:8ca6] (prog-if 20 [EHCI]) 00:1a.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 [8086:8cad] (prog-if 20 [EHCI]) Los id son correctos, pero según veo en tu ioreg falta que se adjunten los kexts correspondientes al dispositivo XHC como en esta imagen de mi sistema (sin inyector): Podrías probar habilitando el sistema de restricción de puertos para los XHCI solamente usando el inyector de wegface que mencionas antes. Para eso debes editar el info.plist y eliminar las entradas EH0x. Recuerda también cambiar el modelo de iMac en todos lados. Después quedaría descifrar el nombre de puerto y ADR de los XHC que usa tu sistema para luego rellenar la sección de IOProviderMergeProperties correctamente. Para esto debes seguir la guía de wegface. Es bastante gráfica pero si no la entiendes puedo intentar traducirla. Veo también que Rehabman tiene una suerte de inyector para tu id de XHC (FakePCIID_XHCIMux.kext). Lo que hace es forzar que todo dispositivo USB2 conectado en un puerto XHCI sea manejado por los drivers USB2, lo que podría solucionar parcialmente tu problema. Edited October 12, 2015 by Maniac10 1 Link to comment Share on other sites More sharing options...
camaleon33 Posted October 18, 2015 Share Posted October 18, 2015 Pues a mi los USB me funcionan normalmente y es una cosa extraña pues no le tuve que cambiar nada. Link to comment Share on other sites More sharing options...
juanerson Posted October 18, 2015 Share Posted October 18, 2015 @camaleon33. Según entiendo (puedo estar equivocado), el tema es una combinación de cosas para que funcionen bien los USB (2.0 y 3.0) integrados en la placa base. En sintesis, 1) una selección de perfil SMBios que sea acorde con tu configuración siempre es recomendable para la gestión de energía, 2) que la Bios o configuración ACPI (DSDT) sea compatible en el apartado de los puertos USB (de fábrica = sin renombrar), que no requiera ningún parche, es decir lo más cercano al hardware genuido de Apple. Y por supuesto, 3) que los IDs de dichos dispositivos sean reconocidos por los .kexts nativos del sistema, o en su defecto cubiertos y/o detectados por inyectores legacy (fake). Por lo tanto, debes tener un equipo que cumple con esas tres condiciones al menos. Es un tema complejo pero interesante, y lo más importante que tiene solución. Saludos. Link to comment Share on other sites More sharing options...
camaleon33 Posted October 19, 2015 Share Posted October 19, 2015 ya, bueno quizás tuve suerte en que me funcionaran sin tener que hacer nada extra, o como bien dices, mi equipo que cumple esas 3 condiciones. Link to comment Share on other sites More sharing options...
anibalin Posted October 29, 2015 Share Posted October 29, 2015 Tengo entendido que el 10.11.1 cambió algunas cosas, ¿como sería el procedimiento entonces? Vi también que hay un USBinjectAll.kext que sirve para determinar que puertos están en uso. Estoy un poco confundido de como comenzar. Agradeceria un poco ver que pasos seguir con un 10.11.1 instalado y sin inyectors ni renames en el clover, algo limpio. Gracias desde ya. Link to comment Share on other sites More sharing options...
davicon Posted March 11, 2017 Share Posted March 11, 2017 Saludos yo he estado intentando instalar El Capitan ( tengo instalado Lion 10.7.5 y Yosemite 10.10.5 sin problemas de USB ( claro en Yosemite no tengo ni audio ni red todavia) pero ese es otro tema, el asunto es que instalar desde un pendrive, no pasaba de Bluetooth....... y ponia el signo prohibido y se borroneaba la pantalla, leyendo vi que El Capitan maneja diferente los USB, asi que decidi crear en mi disco duro 2 particiones una para UB y la otra para EL Capitan y por fin arrancó, pero al llegar al logo de El Capitan no logro pasar ya que los puertos USB estan muertos, no los reconoce ni mouse ni teclado he puesto en efi algunos kext de USB sugeridos y por clover he cambiado de nombre los EHC a EH0 y la SMBIOS (originalmente reconoce como iMac 11.1) a iMac 13.1 u otros y nada que reconoce no puedo avanzar a instalar El Capitan Alguna sugerencia Gracias Link to comment Share on other sites More sharing options...
Recommended Posts