Reconhecendo Controladoras USB UHCI / EHCI como Integradas (Built-in) via Patch de DSDT para Repouso e Despertar Perfeitos
Solução em código ASL/DSDT para placas-mãe Gigabyte ICH9 e ICH10 onde as portas USB 1.1 (UHCI) e USB 2.0 (EHCI) aparecem como slots de expansão PCI no Perfil do Sistema, causando ejeção indevida de discos USB no repouso e impedindo o despertar pelo mouse.
- Autor Principal
- @wwbsox Publicado em 2009-08-30
- Coleção
- Arquitetura Base OSx86 10.X e Bootloaders
- Histórico no Arquivo
- 496,156 leituras históricas · 106 notas técnicas selecionadas (de 160 postagens) · 2009-08-30 – 2011-09-26
- Colaboradores Creditados (33)
- @wwbsox (44)@Snow (23)@EnzoFX (13)@kDawg (12)@Ianxxx (8)@xwin78 (6)@osxfr33k (6)@twr (5)@Jedric (5)@sk1nhd33t (4)@stayupforever90 (4)@CyCLoBoT (3)@mormegil (2)@kramer2k (2)@ohwhyme (2)@sylvester328 (2)+17 more
- Referência de Hardware
- USB 3.2 Boot Flash Drives ↗ Workstation Coolers & Thermal Gear ↗ Gigabyte Motherboards ↗
Primeiro os problemas; depois as soluções.
Minhas portas USB 1.1 (UHCI) e USB 2.0 (EHCI) apareciam no Perfil do Sistema (System Profiler) como "slots de expansão" (Expansion Slots). Isso me causava 2 problemas principais: primeiro, eu era obrigado a apertar o botão físico de energia do gabinete para despertar o computador do repouso (Sleep); segundo, se houvesse um pendrive ou HD USB conectado quando o computador entrava em repouso, aparecia o aviso de "remoção inadequada de dispositivo" assim que o sistema despertava.
Combinei dois patches de DSDT diferentes que encontrei: um corrigia as controladoras UHCI mas não a EHCI, enquanto o outro fazia exatamente o oposto.
Combinei o patch de DSDT para UHCI encontrado aqui: http://www.insanelymac.com/forum/index.php?showtopic=16… ↗
com o patch para EHCI encontrado aqui:
http://www.insanelymac.com/forum/index.php?showtopic=15… ↗
Agora consigo despertar o computador do repouso com um simples clique no meu mouse USB e não preciso mais ejetar unidades USB antes de colocar o computador para dormir. Além disso, a mensagem de erro "controller will be unloaded across sleep" desapareceu completamente ao inicializar em modo verbose.
Funciona perfeitamente na GA-EP35-DS3P e deve funcionar na maioria das placas-mãe Gigabyte com ponte sul ICH9 e ICH10, já que os Device IDs foram ajustados para corresponder aos do ICH10.
Atenção também ao dispositivo USB com endereço 0x001D0003: na minha placa ele se chama US31 — não edite esse dispositivo.
Atualizações do Autor e Revisões Técnicas
Atualizações posteriores por @wwbsox
O crédito pelo fix do EHCI vai para o Apex.
Aproveitando o gancho: a correção de SATA do primeiro link funciona maravilhosamente bem mesmo em placas ICH9 como a minha. A controladora AHCI agora aparece como ICH10 no Perfil do Sistema em vez de "Unknown AHCI Controller". Não tenho uma seção SATA com esse nome no meu DSDT, mas o dispositivo IDE1 tinha exatamente o mesmo endereço, então adicionei o método _DSM lá dentro e funcionou de primeira.
DSDT para a EP35-DS3P
@snow
Esse último erro é apenas um erro de sintaxe. É só questão de conferir os detalhes linha por linha — provavelmente faltou alguma vírgula, chave ou espaço.
Compare com o meu arquivo em anexo.
@snow. Eu não tenho mais essas chaves no meu com.apple.Boot.plist e está tudo funcionando perfeitamente.
@mormegil
Você está usando a SleepEnabler.kext para o Snow Leopard? Também é necessário usar a NullCPUPowerManagement.kext junto, pois a SleepEnabler dá conflito com o gerenciamento de energia nativo. Não tenho essa mesma placa-mãe que você usa, mas já li vários relatos de quem tem e parece ser uma ótima placa para OSx86.
Eu usei o ACPI Patcher no Windows porque ele já permite aplicar várias correções de uma vez. Os nomes dos dispositivos — (USB3), (US31) — são arbitrários; o que realmente importa é o endereço (_ADR).
Como avisei no post principal: "preste atenção no dispositivo USB com endereço 0x001D0003; no meu caso ele se chamava US31 — não edite esse dispositivo".
Mudando de assunto, alguém já viu alguma kext IOATA que funcione em 64 bits? Eu queria muito poder desativar o modo AHCI na BIOS.
Atualização: anexei o meu DSDT.aml no post principal. Ele já está com a seção USB editada e com a seção IDE1 injetando os Device IDs do ICH10.
Vídeo (GFX) no DSDT
@snow Claro que você sabe que isso é específico para cada modelo de placa de vídeo, mas estou postando o meu DSDT com a injeção de vídeo incluída. Procure pela seção PEGP dentro do PCI0 — vai servir como uma boa base de comparação.
E pelo visto o último post do kDawg já traz exatamente o bloco para a mesma placa de vídeo que você tem.
Enfim, usei o ACPI Patcher no Windows: na aba Graphics, selecionei o modelo da placa e a quantidade de VRAM; para o NVCAP escolhi Dual DVI (não marque mais nada); e para a localização PCI0 marquei as caixas "Use DSDT GFX" e "PEGP".
Funcionou redondo aqui, embora eu só consiga usar os arquivos .aml compilados diretamente pelo ACPI Patcher. O iASLMe consegue descompilar e recompilar esses .aml sem problemas, mas se eu pedir para o ACPI Patcher exportar apenas o código-fonte .dsl, o iASLMe não consegue compilá-lo por dar erros demais... Vai entender!
Boa sorte!
GFX
@snow
Eu também não queria começar o meu DSDT todo do zero. Então gerei um DSDT separado no ACPI Patcher apenas com a parte de vídeo e copiei a seção PEGP inteira para dentro do meu DSDT atual, onde já estavam todas as outras correções.
Aliás, tenho quase certeza de que minha placa de vídeo aparecia no IOReg no endereço PCI 1, mas quando selecionei PCI 1 no ACPI Patcher ele simplesmente não adicionou nada ao DSDT — tive que escolher PCI 0 mesmo.
@Voyn1xObrigado por postar essa correção! (Y) Passei semanas mexendo no meu DSDT tentando resolver esse problema. Até agora eu vinha usando a IOUSBFamily modificada do Slice como paliativo.
Que bom que funcionou pra você! Os créditos vão para os autores originais das soluções; tudo o que fiz foi juntar os 2 patches em um lugar só para que ninguém precisasse garimpar dezenas de páginas de tópicos para encontrá-los.
@EnzoFX
Mandei mensagem para alguns outros usuários que têm a mesma placa-mãe que você e eles não estão enfrentando esses problemas. Se quiser, poste o seu DSDT aqui que eu dou uma olhada para ver se descubro o que há de errado.
SpeedStep via DSDT
@Todos com placas-mãe Gigabyte
Alguém já está com P-States e C-States funcionando via DSDT?
Estou pensando em abrir um tópico dedicado a SpeedStep via DSDT para placas Gigabyte… a menos que alguém já conheça um bom tópico específico sobre isso.
Ainda não modifiquei o meu DSDT para o SpeedStep, mas o utilitário CPU-i mostra que ele já está funcionando parcialmente: o multiplicador e a frequência sobem e descem conforme a carga, porém a voltagem (Vcore) permanece travada no valor do P-State mais alto (o que acaba anulando metade da vantagem).
O CPU-i é um utilitário que baixei do fórum russo applelife.ru. Tenho usado ele em conjunto com o CPUTest rodando 4 instâncias simultâneas (estilo Prime95 para Mac) para comparar as leituras da CPU em repouso (idle) contra carga máxima (full load). Outro recurso muito bacana do CPU-i é que ele lista todos os P-States disponíveis no seu processador, junto com as combinações de multiplicador e voltagem de cada um — o meu tem seis estágios.
Com essas informações em mãos, consigo adicionar todos os seis P-States diretamente no meu DSDT. Os dados dos C-States também podem ser extraídos das tabelas SSDT e incorporados direto no DSDT. Já encontrei ótimo material sobre isso, inclusive arquivos DSDT.aml prontos para o meu processador (Q9550), mas como foram compilados para placas-mãe Asus, a estrutura do DSDT é bem diferente.
Pretendo subir o aplicativo e algumas capturas de tela neste fim de semana.
Encontrei ótimos tópicos de referência aqui: http://www.insanelymac.com/forum/index.php?showtopic=17… ↗ e http://www.insanelymac.com/forum/index.php?showtopic=14… ↗ (embora eu ache que não seja mais necessário carregar arquivos SSDT separados no boot, pois essas tabelas já podem ser incluídas diretamente dentro do próprio DSDT, creio eu…).
Quando você olha no Perfil do Sistema, todas as suas portas USB aparecem como integradas (Built-in)? A impressora e o teclado aparecem listados em Barramento USB (USB 1.1) ou Barramento USB de Alta Velocidade (USB 2.0)? Acho que você comentou que já tentou desativar o "Legacy USB" na BIOS, né? Já li relatos em que isso ajudou em outras placas-mãe, mas nunca vi esse sintoma acontecer nas Gigabyte P35. Vou dar uma olhada no seu DSDT mais tarde hoje à noite.
Quanto a desativar periféricos na BIOS... isso não altera o conteúdo do arquivo DSDT. O DSDT é construído a partir da imagem completa da ROM da BIOS, que descreve todas as portas e controladoras da placa independentemente de estarem ativadas ou desativadas no menu da BIOS. Porém, certifique-se de estar com a BIOS atualizada para a versão mais recente disponível para a sua placa — já vi isso corrigir inúmeros bugs para outros usuários.
Se você desconfia que o seu DSDT atual possa estar causando o problema, tente gerar um novo no ACPI Patcher a partir do arquivo ROM da BIOS baixado do site da Gigabyte e compile-o limpo, sem adicionar todos os patches de dispositivos. Se o problema persistir com o DSDT limpo, você já sabe que a causa é outra.
@Snow
O meu teclado da Apple aparece no Perfil do Sistema dentro do Barramento USB de Alta Velocidade (High-Speed USB), enquanto o meu mouse aparece no barramento USB normal. Aliás, encontrei uma página que traz a tabela exata de DSDT para o seu Q6600 habilitar o SpeedStep com todos os P-States ativos! Só preciso reencontrar o link e te mando mais tarde. Agora só falta achar os valores exatos pro meu Q9550.
Segue em anexo o CPU-i.
Estou com exatamente o mesmo comportamento aqui: o multiplicador e a frequência caem em repouso, mas a voltagem fica sempre travada no P-State mais alto.
Mas existe uma forma de declarar manualmente no DSDT a tabela de P-States e C-States do processador. Ainda estou estudando a fundo, mas vou testar em breve.
O hardware ICH9/R (não suportado nativamente pela Apple) continua sendo o mesmo; eu apenas injetei os Device IDs do ICH10 (que tem suporte nativo). Basicamente estamos enganando o Mac OS X para que ele ache que está rodando sobre uma controladora oficial de um Mac real.
Deixei a controladora SATA JMicron desativada na BIOS enquanto aguardo alguém compilar a kext necessária com suporte a 64 bits — não deve demorar muito agora que a Apple liberou o código-fonte do SL.
Quanto aos avisos de "sound assertion" durante o boot: ainda não comecei a mexer neles, mas acredito que ocorram porque o layout-id e o PinConfigurations do DSDT não batem exatamente com o que está dentro da kext de áudio (a kext acaba sobrescrevendo os valores de qualquer jeito, se não me engano).
Assim que eu terminar de acertar o SpeedStep nativo (P-States e C-States) no meu DSDT, vou atacar essa parte do áudio.
EnzoFX, você chegou a testar algum dos outros DSDTs postados aqui no tópico? O Ianxxx e mais alguns colegas têm exatamente a mesma placa-mãe que você. Eu não desativei nenhuma opção de USB na BIOS, apenas a controladora SATA/IDE extra onboard (JMicron).
Não tive nenhum problema gráfico injetando minha 8800GTS pelo DSDT. Vale lembrar que no Snow Leopard as linhas QE/CI não aparecem mais escritas no Perfil do Sistema. As placas EP35 e P35 são quase idênticas (mesmo chipset, só mudando os recursos de economia de energia Dynamic Energy Saver na série EP).
Quanto ao repouso automático por inatividade (sleep on idle): o meu funciona, mas… leva exatos cinco minutos após o monitor apagar para o computador de fato entrar em repouso. Ou seja, se eu configurar para dormir após 1 hora, a tela apaga em 1 hora, a máquina continua ligada por mais cinco minutos e só então entra em repouso. Pra mim não chega a incomodar.
Não, também não consigo acordar o PC pelo meu teclado Apple de alumínio. Uso um mouse que acorda o sistema normalmente pelo clique. Encontrei uma configuração diferente de DSDT para as portas EHCI que quero testar (assim que achar o link de novo); se resolver o despertar pelo teclado da Apple, adiciono lá no primeiro post.
Muita gente consegue acordar o computador normalmente pelo teclado USB... desde que não seja o teclado de alumínio da Apple.
Bom, testei mais algumas configurações diferentes de USB no DSDT e ainda nada de acordar o sistema pelo teclado da Apple. Na minha outra placa, uma EP45-DS3L, isso funcionou de cara (OOB), sem precisar de nenhuma modificação no DSDT — deve ser porque aquela placa já usa o southbridge ICH10.
@kDawg
Na sua DS4… você está usando o teclado de alumínio da Apple?
Se puder, poste o seu arquivo dsdt.dsl inteiro original, antes de qualquer alteração. Assim tento aplicar o patch e recompilar por aqui. As mensagens de erro apontam números de linha específicos, mas sem o DSDT completo não tenho como rastreá-los.
Aproveite e informe também qual é a configuração do seu hardware, pois quem tiver a mesma placa poderá ajudar mais fácil.
@xwin78
O meu DSDT já está anexado lá no primeiro post.
Aliás, alguém aí tem um hub USB 1.1 antigo guardado na gaveta? Estou tentando descobrir um jeito de fazer o teclado de alumínio da Apple acordar o computador do repouso.
Meu mouse acorda o computador normalmente porque é detectado como USB 1.1 (UHCI), enquanto o teclado da Apple é detectado no barramento USB de Alta Velocidade (EHCI) por conta do hub USB 2.0 integrado nele. Minha teoria é que, se o teclado for conectado através de um hub USB 1.1 antigo, ele será forçado a operar na controladora UHCI e talvez passe a acordar a máquina. Infelizmente não tenho nenhum hub 1.1 antigo aqui para testar.
@osxfr33k se você puder postar o seu DSDT inteiro, ficará muito mais fácil corrigir.
@sk1nhd33t Eu uso o teclado estendido com fio (aquele com teclado numérico).
Certo… continuo investigando a questão de acordar o sistema pelo teclado da Apple, e acho que estamos no caminho certo com a teoria do USB 1.1: o motivo de ele não acordar a máquina na ICH9 é justamente por ser alocado na controladora USB 2.0 (EHCI).
Na minha BIOS, dentro de Integrated Peripherals, existe uma opção para desativar a controladora USB 2.0. Quando desativo o USB 2.0 lá, o teclado de alumínio da Apple acorda o sistema do repouso todas as vezes, sem falhar uma!
Claro que isso não é uma solução prática de verdade, principalmente para quem usa HDs externos USB (os meus são eSATA). Outro efeito colateral é que apenas 2 das 8 portas USB traseiras da placa-mãe continuam funcionando quando a controladora USB 2.0 é desativada na BIOS.
Mas isso comprova que, se alguém ligar o teclado da Apple em um hub USB 1.1, ele provavelmente vai acordar o sistema sem precisar desativar o USB 2.0 no resto do PC.
Tudo isso me leva a crer que existe algum ajuste na seção EHCI do DSDT capaz de resolver esse comportamento de vez. Já testei umas 4 ou 5 variações de "fixes" para EHCI e nenhuma resolveu o despertar pelo teclado de alumínio na ICH9, mas a resposta deve estar por aí em algum lugar... vou continuar procurando.
@osxfr33k
Nem toda placa-mãe precisa do fix de reset de CMOS (RTC) no Snow Leopard (as Gigabyte geralmente precisam).
Dei uma olhada rápida no seu arquivo: o método DTGP já está no seu DSDT, mas a posição onde o bloco de vídeo foi inserido não parece correta. Vamos acertar isso primeiro para que você possa remover a EFI string do seu boot.plist.
Baixei a ROM da BIOS mais recente para a sua placa lá no site da Asus e vou gerar um DSDT de referência no ACPI Patcher do Windows com todas as correções e a injeção de vídeo ativadas.
Com isso em mãos, consigo comparar a posição exata da seção de vídeo e corrigir o seu DSDT. Também vou subir o DSDT recém-gerado para você testar (assim que eu chegar do trabalho).
@ohwhyme
Não… infelizmente, na minha placa-mãe, quando desativo o USB 2.0 Controller na BIOS, apenas 2 das portas USB traseiras continuam funcionando (em modo USB 1.1) e o USB 2.0 some por completo. Não testei a fundo todas as conexões internas, só fui mudando o mouse de porta em porta no painel traseiro e ele só funcionou nas 2 portas inferiores (não testei as 2 frontais do gabinete, mas claro que as 2 portas laterais do próprio teclado da Apple continuam funcionando em 1.1).
O protocolo USB 2.0 ou 1.1 não é fixo por porta física (o que seria ótimo neste caso), e sim roteado dinamicamente conforme o dispositivo conectado: não importa em qual porta você espete um dispositivo USB 2.0, a controladora faz o roteamento dele para o barramento EHCI; se for 1.1, vai para o UHCI.
O desafio é justamente forçar o teclado a ser registrado no barramento USB 1.1 (UHCI) ou corrigir o evento de wake no EHCI.
@Jedric
Adicionei as correções para os dispositivos USB0 a USB6 no seu arquivo. Não mexi na seção EHCI, já que você mencionou que ela já estava funcionando bem aí. Compilou com zero erros! Apareceram apenas alguns warnings referentes a um trecho original do seu DSDT que lida com leituras de voltagem Vcore, mas nada que impeça a compilação. Seguem em anexo o .dsl editado e o .aml compilado. Faça um teste aí — se comparar as seções USB, verá exatamente o que mudou. Boa sorte!
@osxfr33k
Gerei um DSDT a partir da ROM da BIOS mais recente da sua placa. Deu um pequeno erro de overflow durante a compilação direta (talvez alguma particularidade das tabelas da Asus), mas a seção de vídeo foi gerada direitinho.
Estou anexando o trecho de vídeo do DSDT em um arquivo de texto separado e também o arquivo .dsl completo gerado pelo ACPI Patcher no Windows (apenas para referência), para que você veja exatamente em que ponto dentro do bloco PCI0 essa seção deve ficar. Espero que funcione!
@sylvester328
Sim, ligar o teclado em um hub 1.1 limitaria as duas portas laterais do teclado a USB 1.1 também. Não tenho certeza absoluta, mas acho que na prática as portas laterais dele já operam quase como USB 1.1 por limitação de corrente: sempre que espeto um pendrive USB 2.0 direto no teclado, o OS X exibe um aviso dizendo que o dispositivo consome mais energia do que a porta pode fornecer e o ejeta automaticamente.
De qualquer forma, tenho recebido muitos pedidos de pessoas que fazem questão de acordar o PC pelo teclado de alumínio da Apple, e o hub 1.1 é apenas um paliativo.
Como comentei antes, acredito que exista uma forma de ajustar a seção EHCI no DSDT para habilitar o despertar diretamente em portas USB de alta velocidade nas placas ICH9 — só não descobri o código exato ainda.
Curiosamente, meu teclado da Apple acorda o sistema perfeitamente na minha EP45-DS3L sem nenhum patch, mas não na EP35-DS3P.
@osxfr33k
Primeiro: mantenha a seção de áudio exatamente como já estava no seu DSDT funcional. O ACPI Patcher só sabe injetar áudio para os codecs ALC888 e ALC889a, que não são o caso da sua placa Asus — só usei o programa para gerar a estrutura de vídeo como referência.
Segundo: quanto à posição exata do bloco de vídeo, foi ali que o ACPI Patcher o colocou. Não sei se a ordem dentro do PCI0 faz diferença na sua placa, pois não tenho esse modelo aqui para testar.
Terceiro: sobre o valor 8 ou 3, também não sei dizer ao certo. Extraí esse DSDT diretamente do arquivo ROM oficial da sua placa-mãe (versão 1302). Conferi outros DSDTs que tenho aqui (tanto Asus quanto Gigabyte) e todos eles trazem Name (_HID, EisaId ("PNP0A03")) nesse dispositivo.
Por fim, eu tinha anexado o .dsl porque esqueci de um detalhe: por algum motivo, quando exporto um arquivo .dsl pelo ACPI Patcher no Windows, o iasl no Mac OS X se recusa a compilá-lo; porém, se eu pedir para o ACPI Patcher gerar diretamente o binário .aml no Windows, consigo descompilar e recompilar esse .aml no Mac sem nenhum erro! Então neste novo anexo coloquei o .aml (apenas para consulta).
O melhor caminho para você é pegar o seu DSDT que já funciona e ir adicionando os patches nele aos poucos, em vez de tentar subir direto com este .aml bruto que não tenho como testar sem a placa física.
Boa sorte!
@cyclobot
Continuo pesquisando esse detalhe. Se você usar um teclado ou mouse USB 1.1 comum, eles já devem acordar o sistema normalmente.
Adicionei o patch da seção USB ao seu DSDT; teste o arquivo em anexo.
@cyclobot
Esse arquivo foi gerado em cima do DSDT que você mesmo me mandou; só editei a seção USB. Mas uma dúvida: a sua placa é uma EP45-DQ6, certo? Ela já não usa o southbridge ICH10R? Sei que a minha EP45-DS3L é ICH10 e nela não preciso de nenhum patch de USB no DSDT — entra em repouso e acorda pelo teclado nativamente.
@EnzoFX
Acredito que esteja certinho sim. Já vi outras placas que também não possuem o dispositivo no endereço D3. Os dispositivos cujos Device IDs devem ser modificados são os de final D0, D1, D2, A0, A1 e A2.
E sim, o truque do hub USB 1.1 deve resolver para quem faz questão absoluta de acordar a máquina pelo teclado de alumínio da Apple, embora eu mesmo não tenha um hub antigo aqui para confirmar.
O Master Chief lá no InsanelyMac desenvolveu um patch de DSDT para as placas da série Asus P5K que habilita o despertar do repouso por teclados USB 2.0, incluindo o teclado de alumínio da Apple! Passei alguns dias tentando adaptar a lógica dele para as placas Gigabyte, mas ainda sem sucesso. Continuo tentando.
Para quem tiver uma Asus P5K, recomendo muito procurar os tópicos dele — o cara fez tantos patches avançados de DSDT para aquela placa que chega a dar nó na cabeça. Sério mesmo.
@sk1nhd33t
http://www.insanelymac.com/forum/index.php?showtopic=18… ↗
O terceiro post do Master Chief nesse tópico reúne todas as versões do DSDT dele.
Como eu disse, é perfeito pra quem tem uma P5K Pro, mas ainda estou quebrando a cabeça para fazer o despertar pelo teclado de alumínio da Apple funcionar nas Gigabyte ICH9.
@Pandar
Se você estiver se referindo à correção das portas USB, tudo o que precisa fazer é substituir a seção USB do seu DSDT pelo código que está no primeiro post.
Se precisar de instruções mais detalhadas, pode me mandar uma MP.
Você já está injetando sua placa de vídeo pelo DSDT? Se sim, editar a parte de USB não vai afetar em nada a seção de vídeo. E caso queira adicionar o vídeo ao DSDT depois, basta inserir o bloco Device (PEGP) dentro de Device (PCI0) (eu usei o ACPI Patcher para gerar a estrutura base dessa seção).
@stayupforever90
Eu tenho exatamente a mesma placa de vídeo que você, e o DSDT que anexei lá no post #32 já contém a seção PEGP prontinha que você está procurando.
Não sei opinar sobre a IOAHCIBlockStorageInjector.kext porque não a utilizo — existe um patch simples de DSDT (feito pelo THe KiNG lá no ProjectOSX) que injeta o ID da controladora SATA e elimina a necessidade dessa kext.
E sim, quando injetada via DSDT, a placa de vídeo também passa a aparecer listada na seção "Placas PCI" (PCI Cards) do Perfil do Sistema.
@atomiX_X
Como a sua placa-mãe é uma Asus, você não pode simplesmente copiar e colar a seção USB inteira de uma Gigabyte por cima da sua — foi por isso que deu aquele monte de erros de compilação. Mas, olhando o seu segundo arquivo, vejo que você adicionou corretamente o Method (_DSM, 4...) dentro de cada um dos seus dispositivos USB mantendo a estrutura original da sua placa. Os nomes dos dispositivos EHCI nas Asus são diferentes dos meus (EUSB e USBE em vez de EHC1 e EHC2), mas a lógica da injeção é a mesma.
Se o único problema que restou for não conseguir acordar o sistema do repouso pelos periféricos USB, verifique no Perfil do Sistema se o seu mouse e teclado aparecem pendurados no barramento USB comum (UHCI) ou no Barramento USB de Alta Velocidade (EHCI). Se estiverem no barramento de alta velocidade, é por isso que não acordam o PC: aqui o meu mouse (USB 1.1) acorda o sistema perfeitamente, mas o teclado da Apple (USB 2.0) não.
Como a sua placa é Asus, vale muito a pena conferir o DSDT do Master Chief no tópico da P5K Pro lá no InsanelyMac — ele conseguiu fazer o despertar pelo teclado da Apple funcionar na placa dele puramente via edição de DSDT. Boa sorte!
Imagina, disponha! Fazia taaaanto tempo que eu não entrava neste fórum... Fico muito feliz em ver que o pessoal continua aproveitando as informações deste tópico. Acabei de montar uma máquina para um amigo que estava exatamente com esse mesmo problema de USB no repouso, e espero que resolva lá também.
Notas de Campo e Relatos da Comunidade
106 respostas técnicas selecionadas a partir de 160 postagens originais
Show de bola essas correções via DSDT — nunca mais precisar patchear kexts a cada atualização do sistema!
Estou com o mesmo problema aqui. Às vezes meu teclado e mouse simplesmente paravam de responder (digo "paravam" porque aquelas flags de USB do Chameleon parecem ter contornado isso).
Porém, minhas portas continuam aparecendo como "Expansion Slot" e sou obrigado a acordar o PC do repouso apertando o botão Power do gabinete.
Adicionei o código no meu arquivo .dsl, mas recebo estes erros na hora de compilar (sendo que já tenho o método DTGP adicionado no meu DSDT):
/Users/Snow/Desktop/dsdt.dsl 4032: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
/Users/Snow/Desktop/dsdt.dsl 4066: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
/Users/Snow/Desktop/dsdt.dsl 4100: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
/Users/Snow/Desktop/dsdt.dsl 4134: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
/Users/Snow/Desktop/dsdt.dsl 4188: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
/Users/Snow/Desktop/dsdt.dsl 4222: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
/Users/Snow/Desktop/dsdt.dsl 4267: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
/Users/Snow/Desktop/dsdt.dsl 4306: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
Alguma ideia? Valeu!
@SnowEstou com o mesmo problema aqui. Às vezes meu teclado e mouse simplesmente paravam de responder. Digo "paravam" porque aquelas flags de USB do Chameleon parecem ter contornado isso. Porém, minhas portas continuam aparecendo como "Expansion Slot" e sou obrigado a acordar o PC do repouso pelo botão Power do gabinete. Adicionei o código no .dsl, mas recebo estes erros ao tentar compilar (já tenho…
Oi! Anexei o meu DSDT aqui (é de uma GA-P35-DS3L); se você pesquisar por DTGP nele, verá exatamente em que escopo o método deve ficar posicionado.
Testei mudar o método DTGP de lugar (eu tinha colocado na seção errada mesmo), mas agora apareceu este outro erro:
Maldito DSDT!
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20090521 [Jun 22 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 3.0a
/Users/Snow/Desktop/dsdt.dsl 203: OSTP ()
Error 4063 - Object does not exist ^ (OSTP)
/Users/Snow/Desktop/dsdt.dsl 254: }Method Notify (\_SB.PWRB, 0x02)
Error 4095 - ^ syntax error, unexpected PARSEOP_METHOD, expecting $end
Elapsed time for major events
Miscellaneous compile statistics
456 : Parse nodes
82 : Namespace searches
47 : Named objects
4 : Control methods
10 : Memory Allocations
188850 : Total allocated memory
0 : Constant subtrees folded
ASL Input: /Users/Snow/Desktop/dsdt.dsl - 5646 lines, 189478 bytes, 96 keywords
Compilation complete. 2 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Beleza, achei o culpado! Eu tinha deixado uma chave "}" no lugar errado; já corrigi e compilou.
Valeu pela ajuda, pessoal! Vou testar o novo .aml no próximo reboot.
Ah, e com essa correção no DSDT eu ainda preciso manter estas chaves no meu com.apple.Boot.plist?
<key>EHCIacquire</key>
<string>Yes</string>
<key>UHCIreset</key>
<string>Yes</string>
<key>USBBusFix</key>
<string>Yes</string>
Muito obrigado! Funcionou que foi uma beleza (embora tenham aparecido 98 erros de sintaxe na primeira tentativa — depois acerto com calma).
Off-topic: uso um dongle USB Bluetooth para conectar meu Mighty Mouse sem fio. Nas preferências, a opção "Permitir que dispositivos Bluetooth acordem este computador" fica desabilitada (cinza) porque o adaptador Bluetooth é detectado como periférico externo e não integrado (Built-in). Alguém sabe se existe alguma forma de marcá-lo como Built-in via DSDT ou EFI string, assim como fazemos com a placa de rede Ethernet?
Bom, funcionou para o meu barramento de alta velocidade EHCI (agora aparece como Integrado / Built-in), mas não funcionou para o USB normal UHCI (que continua aparecendo como Slot de Expansão).
Atualização: Na verdade, apenas o barramento específico onde estão conectados meu teclado e mouse continua aparecendo como Slot de Expansão; todos os outros barramentos (incluindo os de alta velocidade) já aparecem como Integrados (Built-in).
Apenas 1 barramento USB continua aparecendo como Slot de Expansão, então imagino que esteja faltando o código para esse dispositivo no meu DSDT.
Pelo visto o Device ID dele termina em 37; devo simplesmente adicionar mais um bloco, tipo USB6, ou editar outro existente?
Barramento USB:
Localização do controlador host: Slot de expansão (Uitbreidingssleuf)
Driver do controlador host: AppleUSBUHCI
ID do dispositivo PCI: 0x2937
ID da revisão PCI: 0x0002
ID do fabricante PCI: 0x8086
Número do barramento: 0x1a
comparado a:
Barramento USB:
Localização do controlador host: Interface USB integrada (Ingebouwde USB-interface)
Driver do controlador host: AppleUSBUHCI
ID do dispositivo PCI: 0x3a36
ID da revisão PCI: 0x0002
ID do fabricante PCI: 0x8086
Número do barramento: 0x5d
Atualização: Resolvi! Os endereços Name (_ADR) estavam invertidos entre o USB3 e o US31 no meu arquivo. Tudo 100% agora! Vou remover aquelas flags do boot.plist.
Localização do controlador host: Interface USB integrada (Ingebouwde USB-interface)
Driver do controlador host: AppleUSBUHCI
ID do dispositivo PCI: 0x3a37
ID da revisão PCI: 0x0002
ID do fabricante PCI: 0x8086
Número do barramento: 0x1a
Finalmente consigo usar o botão de repouso do meu teclado para acordar a máquina (igualzinho no Windows)!
Valeu pelas dicas, galera!
Parabéns (Gelukwens)!
Eu já tentei de tudo por aqui e não consigo nem fazer meu sistema entrar em repouso, que dirá acordar depois.
Mormegil, confira se você está com todas as kexts certas carregadas (compatíveis com o SL):
fakesmc
IOAHCIBlockStorageInjector
NullCPUPowerManagement
OpenHaltRestart
PlatformUUID
SleepEnabler
além de um DSDT bem ajustado
e dos caches mkext devidamente reconstruídos pelo Kext Utility!
Atualização: Resolvi! Os endereços Name (_ADR) estavam invertidos entre o USB3 e o US31 no meu arquivo. Tudo 100% agora! Vou remover aquelas flags do boot.plist.
[/QUOTE]
Eu tinha esquecido desse detalhe — no meu arquivo os dois estavam invertidos também! Você usou o ACPI Patcher 0.2 Beta 5 do Windows para gerar o seu dsdt.aml?
@wwbsox@mormegil Você está usando a SleepEnabler.kext para o Snow Leopard? Também é necessário usar a NullCPUPowerManagement.kext junto, pois a SleepEnabler dá conflito com o gerenciamento de energia nativo. Não tenho essa mesma placa-mãe que você usa, mas já li vários relatos de quem tem e parece ser uma ótima placa para OSx86.
Finalmente matei a charada! Era a minha controladora JMicron que estava configurada como IDE em vez de AHCI na BIOS!
Sim, esta placa-mãe tem sido incrivelmente compatível com o OS X — acho que isso vale para quase todas as placas com chipset P45. SATA e Ethernet funcionam de cara (OOB), o som ficou perfeito patcheando a AppleHDA, e agora finalmente tenho repouso S3 (Suspend-to-RAM) funcionando!
@wwbsoxPrimeiro os problemas, depois as soluções. Minhas portas USB 1.1 (UHCI) e USB 2.0 (EHCI) apareciam no Perfil do Sistema como "slots de expansão". Isso me causava 2 problemas principais: primeiro, eu tinha que usar o botão de energia do gabinete para acordar o computador do repouso; segundo, se houvesse um pendrive conectado quando o computador dormia, aparecia um erro de remoção inadequada de dispositivo…
Você poderia postar o seu DSDT inteiro? Tenho muito interesse em ver como está estruturada a parte que permite acordar o computador pelo mouse USB.
@kDawgVocê poderia postar o seu DSDT inteiro? Tenho muito interesse em ver como está estruturada a parte que permite acordar o computador pelo mouse USB.
Você pode baixar o meu na página 1 deste tópico — repouso e despertar pelo teclado ou mouse funcionando 100%.
@IanxxxVocê pode baixar o meu na página 1 deste tópico — repouso e despertar pelo teclado ou mouse funcionando 100%.
Aquele trecho na página 1 parece conter apenas a parte das controladoras USB/EHCI. Eu tenho exatamente a mesma placa-mãe e não consigo acordar a máquina nem pelo mouse nem pelo teclado. Deve haver mais alguma diferença no resto do seu DSDT ou nas configurações da sua BIOS que está faltando aqui, e quero muito descobrir qual é.
Bom, eu também estou enfrentando o problema de não conseguir acordar o sistema pelo teclado ou mouse USB. Todas as minhas portas aparecem listadas como USB integradas, sendo 1 ou 2 como USB de Alta Velocidade.
Não sei bem o que falta ajustar para habilitar o despertar por USB...
Além disso, na seção Serial-ATA do Perfil do Sistema, meus discos aparecem normalmente, mas o nome do chipset fica em branco onde deveria aparecer ICH7/ICH9/ICH10... Isso é questão de DSDT ou de kext?
Vale notar que não sou marinheiro de primeira viagem (instalo OSx86 desde a época da imagem do deadmoo)... mas nesse ponto específico estou realmente perdido.
Deixo meu DSDT em anexo caso alguém possa conferir.
Especificações:
GA-P31-DS3L (ICH7)
ALC888
Core 2 Duo E7200 @ 3.42 GHz
Maravilha, wwbsox, muito obrigado pela dica sobre o dispositivo IDE1! Agora minha controladora SATA já aparece identificada como ICH10 no Perfil do Sistema.
Você poderia me mostrar onde fica a seção de vídeo (GFX) no seu DSDT ou me explicar como injetar o código da minha 8800GT manualmente?
Não sou muito fã daqueles patchers automáticos, prefiro fazer a edição manual no código.
Valeu, parceiro!
Antes / Depois da injeção do ICH10:
ANTES
DEPOIS
@SnowMaravilha, wwbsox, muito obrigado pela dica sobre o dispositivo IDE1! Agora minha controladora SATA já aparece identificada como ICH10 no Perfil do Sistema. Você poderia me mostrar onde fica a seção de vídeo (GFX) no seu DSDT ou me explicar como injetar o código da minha 8800GT manualmente? Não sou muito fã daqueles patchers automáticos, prefiro fazer a edição manual no código. Valeu, parceiro!
Isso varia bastante de placa para placa: depende de quanta memória de vídeo sua placa tem, de quais saídas de vídeo ela possui e, principalmente, em qual slot PCIe ela está espetada. Comentei no código abaixo as linhas que você precisa conferir. Procure pelo utilitário gfxutil no Google para descobrir o caminho exato do barramento PCI da sua placa.
Aqui está o bloco que você deve inserir dentro da seção Device (PCI0) (este exemplo é para uma GeForce 8800GT de 512 MB com duas saídas DVI):
Device (PEGP)
{
Name (_ADR, 0x00010000) //<-- This is the location on the PCI bus (important)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x09,
0x05
})
}
Device (GFX1)
{
Name (_ADR, Zero)
Name (_SUN, 0x0B)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0B,
0x04
})
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x16)
{
"@0,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@0,device_type",
Buffer (0x08)
{
"display"
},
"@0,name",
Buffer (0x0F)
{
"NVDA,Display-A"
},
"@1,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@1,device_type",
Buffer (0x08)
{
"display"
},
"@1,name",
Buffer (0x0F)
{
"NVDA,Display-B"
},
"NVCAP", //<-- This denotes the ports in the card (not as important)
Buffer (0x18)
{
/* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
/* 0008 */ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
},
"VRAM,totalsize", //<-- How much RAM you have (important)
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x20
},
"device_type",
Buffer (0x0D)
{
"NVDA,GeForce"
},
"model",
Buffer (0x17)
{
"NVIDIA Geforce 8800 GT"
},
"rom-revision",
Buffer (0x06)
{
"3173a"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
Beleza, galera! Vou testar primeiro o código do kDawg, já que minha placa é idêntica: 8800GT de 512 MB com duas saídas DVI espetada no primeiro slot PCIe.
Se não der certo de primeira, recorro ao ACPI Patcher para gerar o bloco; só evito usar o patcher direto porque ele recria o arquivo do zero e não quero bagunçar os patches que já deixei prontos.
Já volto com novidades!
Atualização: onde exatamente vejo o endereço PCI (_ADR) dentro do IORegistryExplorer?
Atualização 2: o comando gfxutil me retornou DevicePath = PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0). Isso significa que o meu _ADR deveria ser:
0x101000000
Feito!
Colei exatamente o código do kDawg como estava, pois o endereço _ADR do slot era mesmo 0x00010000 e não aquele número gigante que eu tinha pensado antes.
Mais uma vez, muito obrigado a todos pela ajuda!
Acho que agora só me resta 1 pequeno detalhe para resolver (até eu comprar um daqueles teclados originais da Apple):
Criei meu próprio layout de teclado personalizado com o Ukelele há bastante tempo, batendo perfeitamente com o meu teclado físico padrão belga (Belgian Point), mas vira e mexe o OS X resolve carregar do nada o layout padrão da Apple (que é belga, mas no formato de teclas de Mac).
Tentei remover o bundle original de /System/Library/Keyboard Layouts para impedir que o sistema o carregasse, mas deu ruim: não sei se foi consequência direta de ter removido o arquivo ou de algum teste de DSDT na mesma hora, mas meu teclado parou de funcionar por completo.
Depois que devolvi o bundle original para a pasta, voltou tudo ao normal.
Pelo visto vou ter que apelar pro QuicKeys.
Obrigado por postar essa correção! (Y)
Passei semanas mexendo no meu DSDT tentando resolver esse problema. Até agora eu vinha usando a IOUSBFamily modificada do Slice como paliativo.
Snow, eu também usei o ACPI Patcher para injetar minha 9800GT direto no DSDT e funciona perfeitamente — é só questão de marcar as opções certas lá.
Queria saber se alguém está usando este fix de USB em uma GA-P35-DS3L:
Minhas portas USB também aparecem como "Slot de Expansão" (Expansion Slot) e apenas 2 aparecem como "Alta Velocidade".
Não consigo acordar o PC do repouso pelo teclado ou mouse. Mas o pior de tudo é que, vira e mexe, meu teclado USB simplesmente não é detectado ao ligar o PC! Na BIOS deixei o USB Keyboard Support ativado (e o de mouse desativado), e sempre me perguntei se tinha relação.
EDIT: acabei de testar colocar em repouso com um pendrive espetado e, dito e feito, deu o aviso de "Remoção Inadequada de Dispositivo" ao acordar.
Quero muito aplicar esta correção (embora nunca tenha editado o DSDT manualmente). Por que aquele dispositivo específico no endereço 0x001D0003 deve ser deixado sem edição?
Anexei aqui o trecho referente às portas USB do meu arquivo dsdt.dsl, caso alguém queira dar uma força para agilizar o meu processo =P
Muito obrigado mesmo, wwbsox!
Edit:
Até aqui, tudo funcionando às mil maravilhas =D
Agora consigo acordar a máquina pelo teclado e pelo mouse, estou feliz demais! Agora... partiu resolver meu problema do repouso automático por inatividade (sleep on idle) hehe.
Bom, infelizmente isso não resolveu o problema de o meu teclado USB não ser detectado na inicialização a cada dois reboots =(
Se eu desativar o USB Keyboard Support na BIOS, não vou conseguir usar o teclado na tela de seleção do Chameleon, né? Haha, então nem adianta tentar isso =/
Sobre o meu problema com o repouso por inatividade (sleep on idle):
Antes era o gravador de DVD que impedia a máquina de dormir sozinha, como detalhado neste tópico: http://www.insanelymac.com/forum/index.php?showtopic=17… ↗ (o último post lá é meu, explicando em detalhes).
Da outra vez também havia um HD externo USB atrapalhando, mas agora fiz uma instalação limpa do zero e nem sequer conectei nenhum drive de DVD na placa-mãe (instalei direto de um HD para outro), e mesmo assim ele falha na hora programada para entrar em repouso. Chego a ouvir o HD fazendo um barulhinho exatamente no minuto em que deveria dormir, então o sistema tenta iniciar o repouso, mas algo o impede de concluir.
E mais um detalhe curioso: o protetor de tela não entra =P Não importa quais tempos eu configure para o protetor de tela, desligar monitor ou repouso do computador. Eu costumava usar o protetor de tela para contornar um bug de reinicialização de imagem da minha placa de vídeo. Explicando melhor: quando o monitor é desligado pela economia de energia mas eu ainda estou sentado na frente do PC e mexo o mouse imediatamente para reacender a tela antes de o monitor entrar totalmente em standby, a imagem volta toda embaralhada, parecendo chiado de TV fora do ar, levando alguns segundos até reinicializar o sinal e mostrar a área de trabalho novamente. Essa placa sempre fez isso comigo, tanto usando EFI string quanto via DSDT. Se alguém souber como corrigir isso de vez, agradeço muito; por enquanto uso o protetor de tela como um estágio intermediário para poder mexer o mouse antes de o monitor cortar o sinal de vídeo haha =P
@SnowAcho que agora só me resta 1 pequeno detalhe para resolver (até eu comprar um daqueles teclados originais da Apple): criei meu próprio layout de teclado personalizado com o Ukelele há bastante tempo, batendo perfeitamente com o meu teclado físico padrão belga, mas vira e mexe o OS X resolve carregar o layout padrão da Apple. Tentei remover o bundle de…
O único jeito que encontrei para fixar o layout personalizado de vez foi colocar o arquivo de layout na pasta do sistema antes do primeiro boot pós-instalação e já selecioná-lo direto no Assistente de Configuração inicial do Mac.
E fazendo assim ele fixou de vez? Caramba, solução inusitada, mas se funciona tá valendo! Só não vou reinstalar tudo do zero só por causa disso hehe.
Aliás, acabei de notar que minha 8800GT agora aparece listada na seção "Placas PCI" (PCI Cards) do Perfil do Sistema. Está tudo funcionando perfeitamente, mas eu colei o código do kDawg exatamente como estava lá no exemplo (dentro de PCI0), sem conferir se o barramento mudava.
Tudo bem ficar assim mesmo, né?
Você pode rodar o Assistente de Configuração de novo sem precisar reinstalar o sistema — tenho certeza de que há um comando para isso.
Barramento: PCIe é a única diferença que vejo aqui...
Alguém recomenda alguma solução para o meu teclado USB que deixa de ser detectado vira e mexe ao ligar o PC?
Estou numa GA-P35-DS3L com Chameleon 2, injetando vídeo, rede Ethernet, este fix de USB e áudio LegacyHDA tudo via DSDT.
Edit: acabei de notar que também precisei tirar e colocar o cabo USB da minha impressora para conseguir imprimir =/. O que será que está causando isso? Curiosamente, o meu mouse USB nunca é afetado...
Should I try this strings in Cham's boot.plist?
<key>EHCIacquire</key>
<string>Yes</string>
<key>UHCIreset</key>
<string>Yes</string>
<key>USBBusFix</key>
<string>Yes</string>
Só não sei se essas flags no boot.plist dariam conflito com o fix de DSDT deste tópico. Alguém sabe dizer?
Seria uma ajuda imensa se você pudesse dar uma olhada no meu DSDT, wwbsox! Eu já estava começando a me perguntar se esses sintomas estranhos começaram quando passei a usar DSDT patcheado (provavelmente não, mas a essa altura já não sei mais o que pensar).
Observei melhor e notei que tanto o teclado USB quanto a impressora USB falham juntos quando o bug acontece. Será que tem a ver com a versão da BIOS? Além disso, mais raramente, há vezes em que o meu perfil de cores do monitor não é carregado na inicialização — precisando abrir as Preferências do Sistema e clicar em Monitores para forçá-lo a aplicar o perfil. Será que a injeção da minha placa de vídeo no DSDT não ficou 100%? Posso tentar gerar com outras opções no ACPI Patcher.
Pode haver algum conflito se eu desativar vários dispositivos e portas legadas (paralela, serial, disquete etc.) na BIOS enquanto o arquivo DSDT continua com todos esses blocos declarados e ativos?
Minha configuração:
GA-P35-DS3L rev. 2.0
GeForce 9800GT, Ethernet e Áudio injetados via ACPI Patcher.
Aqui está o meu arquivo dsdt.dsl: kt tns.org/0zjbl
Vale acrescentar que todos esses periféricos funcionam sem qualquer falha no Windows 7 (que uso em dual boot de vez em quando).
Show 76 additional community field notes (#31–#106)
@IanxxxCan you re-run set up without installing I'm sure theres a way
Missed your post m8
I don't think setup assistant will even show my modded keyboard layout because it isnt included in the bundle.
I wish there was a way to extract the dat files in the bundle though so I could actualy mod the default belgian keyboard layout.
@wwbsox, your keyboard and mouse are listed as High Speed USB devices? because on my rig they are not but the printer is.
Thx for the above info btw and good luck with the dsdt patching
@SnowAnd that sticked? dang, odd solution but hey if it works. I'm not going to reinstall though hehe. btw, I just noticed I have my 8800GT listed in sys prof as PCI card. Everything works and I have input kDawgs code exactly as listed but without checking the proper PCI bus so at PCI0. This is still ok right?
I haven't changed anything except remove the dsdt.aml from my root dir and keep it in E/E and the GFX is now listed as PCI-e
I'm not complaining though, just an odd observation, has a mind on its own apparently.
Hmm, I really should get me one of those fancy apple keyboards. I guess the apple KB is USB2.0 and this Logitech Media KB is still at USB1.1.
Speedstep ey? I'm using VoodooPower in Leo, havent found a proper solution for Snow so that would be very welcome.
Thx a bunch for CPU-i m8, is that kext 64bit compatible btw?
Laters
ps. the above was a stupid mistake I made by checking PCI tab the first time and video tab on the second screenshot
Temps in Leo are low 30's, especially now with colder climate. I guess it doesn't drop the voltage properly.
Thanx for posting your dsdt wwbsox… not only did it fix my USB ports allowing me to sleep..
but it also fixed my built-in audio on SL as well…!
I noticed 2 things i wanted to ask about.
Y did my serial-ATA go from ich9 to JMicron AHCI...?
How do you get rid of sound assertion lines on boot?
Thanx again…
JMicron should be a diff path no? nothing to do with other ports. I still have 2 unknown devices which are prob the JMicron.
In Leo they were listed properly but I used a custom JMicron kext.
@wwbsoxWhen you look in system profiler. All your usb ports show as internal? Does the printer and keyboard show up under usb or high speed usb? I believe you stated you already tried disabling "Legacy usb" in the bios, maybe? I've read where that helped on other MB's but havent experienced your problem on the gigabyte p35 boards. I will…
Yeah, after applying the fix in this thread, my usb ports now show up as internal. Also, all my usb devices show up under a regular USB Bus, and not a "High-Speed" Bus, of which I have 2. There are 6 regular "USB Bus"
For BIOS settings, I have all legacy support disabled, except for KB support, because that'd render my usb keyboard useless at the Chameleon prompt, though I haven't tried since going to Cham 2.
I am also running the latest BIOS version, and built the dsdt from it.
I will try out a "clean" dsdt without fixes/patching, and see how that goes. In the meantime, any insight into my DSDT.dsl file would be greatly appreciated.
I see a dsdt for an EP35-DS3L, but not P35-DS3L, worth a shot?
The last few restarts have been good, but still no sleep on idle. Could it be because I have no DVD drive connected? I know some drives are causing issues, so what about having none, like I do? haha maybe I'm just hoping for a quick fix.
Edit:
In your guys' experience, if GFX is enabled through DSDT, is it simply a matter of it working or not working? I.e. QE/CI on or off. OR, can it be something where like it looks like QE/CI is on, but can still get graphical glitches that can mean something is wrong with dsdt implementation? I hope this makes sense.
Basically, my issue is that every now and then my display color profile isn't loaded @ login.
@VWbsox
Are you able to wake from your USB2.0 keyboard? I've got the newest apple kb, which is identified as Highspeed with EHCI, but I'm unable to wake from it. However, my logitech mouse, when plugged directly to a port (as opposed to the KB) will wake my machine.
Waking from my KB is important as I also have a BT mighty mouse, which can't wake it from sleep either.
GA-P31-DS3L - e7200 - BFG 8800GT - 10.6.1 retail
@EnzoFXAnyone recommend a fix for my usb-kb not being detected every now and then on startup? I'm on a GA-P35-DS3L, Cham2. GFX, Ether, this USB-fix, Legacy HDA, through DSDT.
Enzo if your still having this prob, I know it might sound stupid but make sure that your keyboard is plugged in to one of the usb sockets nearest the board, I sometimes have this glitch with my microsoft habu mouse but doesn't happen if I plug it in to one of those two ports "same board as you ga-p35-ds3l rev 2"
@kramer2k@VWbsox Are you able to wake from your USB2.0 keyboard? I've got the newest apple kb, which is identified as Highspeed with EHCI, but I'm unable to wake from it. However, my logitech mouse, when plugged directly to a port (as opposed to the KB) will wake my machine. Waking from my KB is important as I also have a BT mighty mouse,…
@wwbsoxNo I cant wake from my apple aluminum keyboard. I have a rocketfish apple mouse that wakes the system from sleep. I found a different dsdt setup for the ehci ports that I want to try (as soon as I find it again). If it works I will add it to the original post Many people have had sucess waking with usb keyboard... if its not an apple…
same here on my ES2L mobo, i have an aluminum wired KB w/o numpad and i cant wake my machine from sleep too, same goes to my wireless BT mighty mouse.. not an issue though since i barely use sleep but if anyone has a fix i would be the first one to try it :-d anyone tried the aluminum kb w/ numpad?
ow i also have an Apple wired KB (white one) and it wakes my machine fine, beats me why it works haha..
Thanks lanxxx,
The last several restarts have been good, no screw ups, so next time it happens I will definitely try it out. My mouse is always the one that's connected closest to the MB. Now that I think about it, the Printer is on the second set of USB ports, which ALSO is on the further end, away from the MB. But then, where do I move that one to? haha there are only 2 ports closest to the MB =P
Anyways, is it possible to force a device to run at High-Speed? My mouse, a Logitech G9, isn't supported under OS X. I have worked well around this, but it is supposed to run at high-speed, but just doesn't under OS X. If I could fix this, it might make it feel as smooth as it does on Windows.
@wwbsoxNo I cant wake from my apple aluminum keyboard. I have a rocketfish apple mouse that wakes the system from sleep. I found a different dsdt setup for the ehci ports that I want to try (as soon as I find it again). If it works I will add it to the original post Many people have had sucess waking with usb keyboard... if its not an apple…
Yeah no issues here whatsoever, both devices (Logitech Media Keyboard and Creative Mouse 5500) wake the PC. I can't even make this happen in Windows go figure.
Post DSDT
Have you posted your most current DSDT file somewhere? Let me take a look. Both my MOBOs woke on keyboard or mouse a GA-EP35-DS4 and GA-EP45-UD3P.
Update:
I grabbed your DSDT from an earlier post. Try the attached DSDT. I modified the EHCI devices. Also you should have your USB mouse and keyboard connected directly to the motherboard and not any kind of hub? If you're using Slice's IOUSBFamily.kext I would try reverting back to the vanilla. Let me know if this helps.
Update #2:
Retract the last post. It seems you might have tried the approach I detail above.
@wwbsox@kDawg On your DS4… Are you using an Apple Aluminum Keybaord?
It's an older extended Apple USB keyboard not an aluminum.
If you use the DSDT above do you get your EHCI devices showing up as ICH10 built-in?
@wwbsox--will you post your most current DSDT. I am having issues with the SATA/USB fix not compiling & I have the same hardware set up except 8800 GT 512 instead of GTS.
@xwin78@wwbsox--will you post your most current DSDT. I am having issues with the SATA/USB fix not compiling & I have the same hardware set up except 8800 GT 512 instead of GTS.
Take a look at this post:
UHCI/EHCI Built in with dsdt fix →
kDawg--thanks I saw this post & just wanted to be sure it was the MOST CURRENT DSDT file.
I read the entire thread...there have been so many hacks and revisions.
@xwin78kDawg--thanks I saw this post & just wanted to be sure it was the MOST CURRENT DSDT file. I read the entire thread...there have been so many hacks and revisions.
I created that DSDT so I know it compiles fine.
been working for a while on my dsdt using pieces of code taken here and there, and everything but keyboard/mouse (wired Apple alu. + Razer Diamondback plasma) wake-on-sleep and shutdown menu call from power button (even with the _CID trick ...)
for now, using retail 10.5.8 with boot-think 2.3.18 (modded AppleLPC, fakesmc v.2, CPUPMdisabler, R1000 & vanilla IONet + IOPCI and sleepenabler in D/L/E.mkext) ; EFI strings for TM / en0 builtin fix and video (GeForce 8800GS + 384 Mo DDR3 SDRAM, PEG) on a GA G31M-ES2L rev. 1.1.
I know it could look kind of rude, but kDawg, would you be kind enough to take a look at my .dsl (compiles fine, no error nor warning) and tell me what might be wrong ? :
thx by advance.
@twrbeen working for a while on my dsdt using pieces of code taken here and there, and everything but keyboard/mouse (wired Apple alu. + Razer Diamondback plasma) wake-on-sleep and shutdown menu call from power button (even with the _CID trick ...) for now, using retail 10.5.8 with boot-think 2.3.18 (modded AppleLPC, fakesmc v.2,…
I'm not sure what you're saying is the problem. Do you have a sleep/wake problem?
1°my usb keyboard & mouse aren't able to wake up OSX from S3 mode (whereas they do it in Windows) ;
2°I can put OSX into S3 mode with the power button if this option is activated in pref. sys., but when not, it does nothing ; it should make the shutdown menu show up.
I'm assuming it might be a DSDT issue.
edit: so sorry, I forgot some words ... I wanted to say : everything is working as it should, but USB wake-on-sleep & shutdown menu from power button.
wanna help me anyway ?
Dsdt--sweetness
@kDawgI created that DSDT so I know it compiles fine.
Sorry--it was not an issue of compiling ---I wanted to make sure I got all the hacks for ethernet/usb etc.
I added some stuff and after 17 revisions I now have a fully functional SL machine w/ only 1 modded kext (thanks SNOW) for 5.1 Surround Sound!
that is more vanilla than my MacBook Pro.
Thanks to kDawg----wwbsox---SNOW and all you others!
@xwin78Sorry--it was not an issue of compiling ---I wanted to make sure I got all the hacks for ethernet/usb etc. I added some stuff and after 17 revisions I now have a fully functional SL machine w/ only 1 modded kext (thanks SNOW) for 5.1 Surround Sound! that is more vanilla than my MacBook Pro. Thanks to kDawg----wwbsox---SNOW and all you…
That's great. Would you mind sharing your setup, i.e. what's in your extras folder?
I'd be glad to:
Gigabyte EP35-DS3P Rev.2.1 w/F6c BIOS
Xeon E3110 (e8400)
EVGA 8800 GT 512
Chameleon 2 RC3
Extras folder includes: com.apple.Boot.plist, dsdt.alm, SMBIOS.plist
fakesmc.kext
IOAHCIBlockStorageInjector.kext
NullCPUPowerManagement.kext
OpenHaltRestart.kext
PlatformUUID.kext
SleepEnabler.kext
I am still working to get sleep enabled & tryign to reduce boot time...LONG compared to Leo
Thanks for your help
Compile Error.
Need some help. EHCI is now working. I followed the guide to replace dsdt code for UHCI suddenly im getting this error on compile. I did this over and over and I always get the same error. I put the old code back and compiles ok. There was no reference on the original code that I replaced to this lines so I'm stummped.
Mac-Pro:Tools admin$ ./iasl dsdt.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20080926 [Oct 4 2008]
Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a
dsdt.dsl 9195: If (SS1)
Error 4095 - ^ syntax error, unexpected PARSEOP_IF
dsdt.dsl 9239: \_SB.PCI0.SBRG.SIOS (Arg0)
Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SIOS)
dsdt.dsl 9240: \_SB.PCI0.SBRG.SPTS (Arg0)
Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SPTS)
dsdt.dsl 9241: \_SB.PCI0.NPTS (Arg0)
Error 4063 - Object does not exist ^ (\_SB.PCI0.NPTS)
dsdt.dsl 9242: \_SB.PCI0.GFX0.OPTS (Arg0)
Error 4063 - Object does not exist ^ (\_SB.PCI0.GFX0.OPTS)
dsdt.dsl 9248: \_SB.PCI0.SBRG.SIOW (Arg0)
Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SIOW)
dsdt.dsl 9249: \_SB.PCI0.SBRG.SWAK (Arg0)
Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SWAK)
dsdt.dsl 9250: \_SB.PCI0.NWAK (Arg0)
Error 4063 - ^ Object does not exist (\_SB.PCI0.NWAK)
dsdt.dsl 9251: \_SB.PCI0.GFX0.OWAK (Arg0)
Error 4063 - Object does not exist ^ (\_SB.PCI0.GFX0.OWAK)
ASL Input: dsdt.dsl - 9256 lines, 295803 bytes, 4252 keywords
Compilation complete. 9 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Original DSDT code that is being replaced.
Device (USB0)
{
Name (_ADR, 0x001D0000)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
}
Device (USB1)
{
Name (_ADR, 0x001D0001)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x04, 0x04))
}
}
Device (USB2)
{
Name (_ADR, 0x001D0002)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0C, 0x04))
}
}
Device (USB3)
{
Name (_ADR, 0x001D0003)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0E, 0x04))
}
}
Device (USB4)
{
Name (_ADR, 0x001A0000)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0E, 0x04))
}
}
Device (USB5)
{
Name (_ADR, 0x001A0001)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x05, 0x04))
}
}
Device (USB6)
{
Name (_ADR, 0x001A0002)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x20, 0x04))
}
}
}
@ wwbsox
could you post your DSDT file---I would like to compare it to mine for order etc.
Apparently my EHCI was being detected built-in even without the DSDT. So its just the UHCI that im really having problems with being detected as Expansion slot.
AppleUSBUHCI[0x6e76000]::start unable to initialize UIM
I have a P35-DS3P and I just downloaded your dsdt.aml file and the ethernet works, sound, sata is displayed as ich10 but cant seem to wake up the computer with the keyboard or mouse. My old dsdt showed the removal device when I woke up from sleep and my pci network card worked so now I can just use the internal card I have the apple aluminum keyboard as well hehe. The Usb mouse works for waking up which is odd but the keyboard doesnt do anything. Does hibernate work for anyone? Does wake from bluetooth work for anything? I read the only way you can wake from bluetooth is via internal apple or a dlink 120 bluetooth adapter is this true?
@twr1°my usb keyboard & mouse aren't able to wake up OSX from S3 mode (whereas they do it in Windows) ; 2°I can put OSX into S3 mode with the power button if this option is activated in pref. sys., but when not, it does nothing ; it should make the shutdown menu show up. I'm assuming it might be a DSDT issue. edit: so sorry, I forgot some…
#1: You have a ICH7 motherboard? If you've tried the USB/EHCI pathces in the attached DSDT file → then you might have to try Slice's IOUSBFamily.kext ↗. The problem might be that your USB/EHCI port aren't being reported as "built-in". Other than that as long as your keyboard and mouse are attached directly to the back of your motherboard it should work. Try Slices' kext and see if that fixes it. If so there may be something else going on. Perhaps a BIOS setting.
I believe your #2 problem is normal behavior for a OSX86 machine. When I push my power button my sleep menu does not show up. It will however go to sleep.
This patch had at one point worked for me. It doesn't anymore.
Various DSDT mods. →
k
My DSDT Won't compile when I added the Graphics section
I have the Asus Maximus Formula and the GA-EP35-DS$ very similar to the posts here.
I used DSDTSE and all the fixes are in place. DTGP, HPET and RTC. I am trying to figure out exactly where the graphics section go. Here is the one I tried to fix, look in the section DEVICE (PCI0). Its very obvious where I started the the code. I could not move it over to the left and align everything.
Do I need to start the code right under DEVICE (PCI0)? I started the code right between DEVICE (PCI0) and Name (_HID, EisaId ("PNP0A08")). I have a feeling I have placed it incorrectly or something?
Is there an easy way in DSDTSE to insert the code generated into the main editor and have it automatically go to the correct section and insert correctly?
File Attached
Sorry the file did not attach the first time before I clicked Submit. I see there was a Submit below where the attached window was so I had to post this file in a reply. Sorry about that. Any help on formatting this correctly would be greatly appreciated!
@wwbsox
hopefully we can find a fix for our aluminum keyboard waking from sleep, on my ES2L mobo it's the only thing that's missing since automatic sleep is now working thanks to PleaseSleep
BTW are you using the one with num pad or without?
@kDawg#1: You have a ICH7 motherboard? If you've tried the USB/EHCI pathces in the attached DSDT file then you might have to try Slice's IOUSBFamily.kext (http://www.projectosx.com/forum/index.php?showtopic=337 ↗). The problem might be that your USB/EHCI port aren't being reported as "built-in". Other than that as long as your keyboard and…
gonna check my EHCI/UHCI DSDT.dsl editing ...
my mobo is a G31M-ES2L : it looks as if I'm not the only one facing its USB/sleep issues !
my BIOS settings are OK (S3 + USB wake from S3 in advanced options) : if the DSDT trick doesn't make it, I'm gonna try the Slices' .kext.
thx for your help !
@twrbeen working for a while on my dsdt using pieces of code taken here and there, and everything but keyboard/mouse (wired Apple alu. + Razer Diamondback plasma) wake-on-sleep and shutdown menu call from power button (even with the _CID trick ...) for now, using retail 10.5.8 with boot-think 2.3.18 (modded AppleLPC, fakesmc v.2,…
it wont work, tried a few dsdt patch on leo and snow and still the KB wont wake my machine from sleep.. we have the same mobo and kb except that for the mouse im using wireless mighty mouse. I can wake from sleep using a keyboard if i use my old wired apple keyboard (plastic w/ white clear keys).
for the PWRB dsdt hack, same goes here. my machine just sleeps but it's not showing the shutdown menu .. not a biggie though, im much more interested in waking from sleep using a Kb instead of my power button.
If your still using IOAHCIBlockStorageInjector and/or AHCIPortInjector, try the SATA Fix, then you can omit those 2 kexts.
I also want to add that with this fix, I can wake from sleep with usb kb+mouse. I am using an old MS Keyboard, and a Logitech G9.
My power button can only sleep the system with the setting ticked in sys prefs. This is after the pwrb dsdt fix. Otherwise, with the option disabled, it does nothing.
My snow leopard is running beautifully. I have but one issue, that is switching between spaces, it is laggy!. I don't think this is on my side, because every other thing is incredibly smooth, smoother than Leopard, and this animation in Leopard worked well. Am I correct in assuming this much?
I think a few real mac users are experiencing this, and there is one "fix" that involves messing with QE, and I'm not sure I'm ready to do that. Some reported it went away eventually, other say it's only when booting in 64bit, which alludes to the issue residing on apple's drivers? I dunno... Right now, I'm just trying to ignore it...
does that mean that I can turn off that option and 2 of the ports will be usb 1.1 and the rest will be 2.0? That would work fine for me .
wwbsox here ya go. The DSDT.dsl is the one that works I would say 100% except for the graphics not being inserted. I used DSDTSE to create the DSDT.dsl. The dropdown had separate fixes for DTGP, HPET and RTC etc and it seems that they must have gotten put into place or maybe not? I am not sure if powermanagement is working but I have sleep/awake/restart/shutdown is flawless. USB no problems.
Graphics is 7300GT 256mb, which I have changed a few things as you will see in the dsdt-graphics.dsl file. Also will be putting in a 9800 GT 512MB one day to
I would like to incorporate that into the DSDT.dsl and remove the EFI string from the com.apple.boot.plist if its possible. The Marvell Lan's work Great! I do see kexts for the marvel in my Extra/extensions so I would like to have that ready made in the DSDT so I don't have to load them unless its not being used and its already fixed in the DSDT file?
I am unsure if the CMOS fix was done but I don't suffer any changes in my Bios? I am in Snow 10.6.1 using an Asus Maximus Formula X38 chipset with the latest Bios. I also have the GA-EP35-DS4 gigabyte that I willbe working on next after I solve the remaining minor details on this ASus Board.
I am attaching now. Hope you can help and greatly appreciated to. dsdt.dsl's generated by DSDTSE.
CAn you let me know exactly where the Graphics-dsdt.dsl script should be placed or maybe place it for me so I can see. I think I shoul dhave maybe put it further down the Device (PCI0) script or not? I got scripting erros when I merged it between the Device (PCI0) and Name (_HID, EisaId ("PNP0A08")).
Should it be placed somewhere else?
EDITED a Few Minutes later.
It does not look like I have the RTC, CMOS nor PWRB fix? I assumed it was put into place with DSDTSE. Now I wonder if HPET and DTGP fixes are in place? If not its weird how well the DSDT is working so far except a major crash when I launch Chess is OSX. I verfied with other utils etc that acceleration is working fine.
@wwbsoxIf you could...post the entire dsdt.dsl before any changes. I will try to patch the dsdt and recompile. The errors list different line numbers to look at, but without a complete dsdt I cant track those down. Also, what hardware are you using, this info may help people with the same setup offer help.
wwbsox did you get a chance to look at my dsdt, pertaining to the errors I was getting when replacing the USB0-USB6?
wwbsox, If you do that I would feel more comfortable to donate. I am the kind of person that if someone can do you a favor you should return the favor as well. Please PM you paypal address. I have to check my bios make sure its the latest one. I am sure it is from december2008/jan 2009.
That seems to be a very compatible board with osx86.
Could you send me one with graphics and without. Reason is because it seems chameleon is handling my 7300GT well. Dunno about when I install my 9800 GT 512 mb card? Will the dsdt have to be extracted again with a different Graphics card as long as the code for it is not in the dsdt?
Could I have the source or .dsl file with it to so I can compare it to a couple I have already.
Not sure about the Dual Marvel Lan but most users have to have a kext for it in the extra/extensions.
The new version of DSDTSE seems to automatically put in the three fixes RTC, DTGP and HPET even though they are in the drop down hack menu?
I wish there aw a tutorial on where to actually place the hacks in DSDTSE?
I get a kernel panic when I launch Chess and only Chess. I have checked Acceleration with the usual ways with no panics.
I have BIOS Version 1302 back in December 2008 is when that was released. The DSDT.aml is the one extracted from the Linux Ubuntu Live CD. The DSDT.dsl-working_but-possibly-not-all-fixes.zip shoudl be the one I already attached for you. The log.txt.zip I think I already attached from my prior thread but here it is again just in case
Thanks again
EDITED a few hours later:
I did not think about this but let me also send to you the DSDT.aml created in Ubnuntu 9.04 Live CD because that DSDT.dsl I sent you was created on a nearly working Asus Maximus Formula in Snow. So I am not sure if it is extracting some of the exsiting DSDT already loaded from the /extra folder or not? I am also attaching my error log file again about the graphics and really important my ioreg dump from leopard. Just in case you need them.
If you get your 9800gt working perfectly in Snow LMK your method!
I got it enabled through DSDT and for some reason, switching between spaces is noticeably choppy.
I also have an initialization issue/display sleep issue. It only arises when: The display is about to sleep and before the monitor even finishes going into standby mode, quickly move the mouse to wake it up, and I get this grey static image for a few seconds or more.
So only in this instant does it happen, maybe with Chameleon's vga rom injection this could be fixed? I should look into that.
@wwbsox@Jedric I added the fixes for usb0-usb6. I did not change the EHCI area as you stated that was working for you. It compiled with no errors. There were a few warning... related to section in your DSDT that has something to do with vcore voltage settings, but this did not prevent it from compiling. Attached is the .dsl and compiled…
BIG THANKS wwbsox. Works great
@wwbsox@ohwhyme The problem is... trying to get the keyboard registered as USB1. This will fix wake from sleep issue.
I think even if you manage to do that, it is not really a solution. The Apple aluminium keyboard is a USB2 device because it is in fact a USB hub with two USB ports at both end. Will making it a USB1 device crapple the transfer speed of those ports? If so, I'll rather connect my mighty mouse (USB1 device) to a separate port on the motherboard and click on the mouse to wake up my hac.
wwbsox Thanks so much. Couple quick questions. I inserted the audio part where you have it but I get an error?
This stuff here was right after PCI0 but now I noticed its at the end of the graphics script and the number in "Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, Zero)
Method (^BN00, 0, NotSerialized)"
which was PNP0A08 is now PNP0A03. if I change it back to 8 I get an error so I left it alone. SO what happened to this section below? LIke I said I see it at the end of the graphics script now with a "3" instead of 8?
Name (_HID, EisaId ("PNP0A08"))
Name (_ADR, Zero)
Method (^BN00, 0, NotSerialized)
{
I even compiled your dsdt and OSX stops at the 4096 cluster and io something.
Here is the log.
Thanks will work on it some more. Is this extracting/patching etc similar to true hacking where one takes a compiled source code and dissasembles it, then uses a debuger to watch where the program lands it for example when the program asks for a serial then the hacker knows where ithat part of the code is being used? Then they do some trial and error changes and then assemble it and test it?
Are these DSDT.dsl files basically the same thing, starting out originally as source code that was compiled into a BIOS ROM and flashed to the MB.
We are dissasembling what was once source code but now machine code that is dissasembled?
Am I way off base with this analogy?
Because if this is kinda what we are doing no wonder it difficult to get things right.
I am having a problem with waking my computer up using USB keyboard/mouse. I tried to replace the USB fix code in my DSDT file but I started getting KP. Anyone know how I can fix the USB wake issue on a Gigabyte EP45-DQ6 board?
I have attached my current DSDT file that I'm using.
media fire.com/?mol3mzimzmz
after some new DSDT editings, still no luck on my G31M-ES2L with USB Alu. keyboard : sleeps very well, but won't wake without PWRB.
here is my .dsl ...
@wwbsox@cyclobot. Working on the issue. If you have a USB1 keyboard or mouse, they should wake the system. I added the usb section to your dsdt, give this a try.
Thanks wwbsox. It does wake up with the mouse without giving any errors.
Update:
Well after I started using your modified DSDT file, I started getting KP. Not sure what's causing it but I had to switch back to my original one.
@wwbsox@cyclobot That was the dsdt that I got from you. I just edited the usb section. But for the record... You have an EP45-DQ6, is this ICH10 south bridge? I know my EP45-DS3L is and I dont need any DSDT patching. Sleeps ok. Wakes from keyboard fine too.
Yes it is ICH10R. My computer goes to sleep just fine and it does wake up as well but only with the power button.
jmicron
1) tried gfx injection of the 8800gt (by dsdt) and i had no luck, maybe the bus location could be wrong? (where do i find it exactly for my card?)
also my pci0 device starts likes this:
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08"))
could that be a problem? (some users said it should be 03)
2) i was able via dsdt to make the uhci and ahci appear as internal and the sata now shown as intel esb2 AHCI, but my mobo has also Jmircron and the 2 Jmicron devices shown as "Unknown"
any fix for this?
removed a lot of kexts in /e folder , now i only got FakeSMC and, UUID.kext (+ionetworking for my net and openhaltrestart)
i'll try now to rebuild mkext without openhaltrestart.kext and see if i still need it
kp
i was testing sleep after the UHCI/EHCI modifications to the dsdt and after a lot of time i have sleeep WORKING!
wake up via mouse works, no keyboard but my keyboard is ps2 and loaded with hacked kexts (voodoops2+appleacpips2nub)
but i noticed a strange KP...
when pc wakes if i go again to control panel and mess with the power settings i get kernel panic (no debug but the "you neeed to restart your computer..."
how can i see what caused the kp?
anyone else with this issue?
EDIT: KP is because of my 2nd pci audio card M-AUDIO and hacked drivers of envy24HT (known kp)
i switched to the onboard soundcard after wake and there is no kp so everything ok
For those with an Apple keyboard, what about getting a strictly USB 1.1 hub? and plug it in through there =P
I have been trying hard to correct my dsdt.dsl, but to no avail. My USB devices do not mount at all in SnowLeo. In Leo I have been using the EHCI mods from orByte, Slice or AnV.
Sorry, but I have already spent useless hours and could really need some help with this. If somebody kind could look at my dsdt and correct it I would be forever grateful. I would even be willing to contribute something back.
The dsdt.dsl for my Toshiba Satellite P100 is attached.
Hoping .. ,
Bugs
I got a question about the fact that your supposed to leave device 0x001D0003 alone,
I'm doing this to another board now, and none of it's usb devices have that Name/ID, so then do I not worry about leaving one alone now?
@ wwbsox
thanks for all the help w/ my DSDT file--I just added my GFX info and all is well except I can not sleep, my system just powers down and when I strike the keyboard it boots back up (cold). I have the same setup as your sig---what is your BIOS rev and what are your BIOS settings (specifically your power related BIOS settings)?
@wwbsox@EnzoFX I believe that is correct. I have seen other boards without the D3 address. The actual addresses that get modified should be D0,D1,D2,A0,A1 and A2. Also, The USB1.1 hub should work for anybody that "MUST" wake from aluminum keyboard. But I dont have an old hub to test out.
I actually think this is a mistake on Gigabyte's behalf. The D3 device is a mystery. I have a GA-EP45-UD3P and it doesn't reference the D3 address. I also found an error in the USB device section in the DSDT for my other MOBO a GA-EP35-DS4.
Some companys do a better job generating their DSDT than others. I do happen to think Gigabyte does an OK job.
@kDawgI actually think this is a mistake on Gigabyte's behalf. The D3 device is a mystery. I have a GA-EP45-UD3P and it doesn't reference the D3 address. I also found an error in the USB device section in the DSDT for my other MOBO a GA-EP35-DS4. Some companys do a better job generating their DSDT than others. I do happen to think Gigabyte…
Just upgrading the BIOS for my EP45-DS3R. In the process of DSDT patching, I noticed that the new BIOS (F11e) no longer has this D3 device. They also fixed a couple of bugs which caused compilation warnings as well.
I really hope someone find a DSDT hack soon to enable the wake from sleep using USB2 keyboard.
@sylvester328Just upgrading the BIOS for my EP45-DS3R. In the process of DSDT patching, I noticed that the new BIOS (F11e) no longer has this D3 device. They also fixed a couple of bugs which caused compilation warnings as well. I really hope someone find a DSDT hack soon to enable the wake from sleep using USB2 keyboard.
Have you posted your DSDT somewhere? If not attach it here so I can take a quick look.
@BugsBThe dsdt.dsl for my Toshiba Satellite P100 is attached. Bugs
I don't think it is?
@wwbsoxMaster Chief over at insanelymac has a dsdt patch that on the p5k boards enables wake from usb2 keyboard, including apple keyboard. I have tried for a few days to get this to work on a gigabyte board to no avail. Still trying though. If you have a p5k, I suggest you look up him up. He has sooooo many dsdt patches for that board it…
i wanna take a look at this if you have a direct DL link and try? im also having issues waking from sleep using my aluminum keyboard... or maybe a dsdt.dsl will do if you dont mind :
I have an installation of 10.6.1 on the ds3p and would like to borrow your solution. I have an 8600gt however. How would I deal with that? I'm using Chameleon RC3 and Netkas's latest boot file. If you can clue me in a bit, I'd appreciate it.
Pandar
Works
Thanks wwbsox!
The combination of the methods works perfectly on my EP45-UD3P!
Wake-up issue by mouse and Keyboard has come!
Thanks to wwbsox to start with, also everyone else who has posted in this thread it has been a lot of help. I am having a problem adding graphics to my DSDT, have searched for PEGP but could not find it. I can find it in registry explorer but have to admit not very good at that bit. Also I think there may be a problem with my SATA fix as SATA shows up as ICH10 AHCI but I cant remove the IOAHCIBlockStorage.kext I am using, if anyone could take a look at my DSDT that would be great. I am using a GA-G33M-DS2R mother board with core2duo E6600 and 4GB ram Nvidia 8800 GTS 512mb graphics running 10.6.1 Retail . Also wondering does anyone's graphics card show up in the PCI cards section of system profiler, and to anyone who takes the time to look at my DSDT
I've had a working SL setup for months now but I'm still unable to make my Asus P5E wake from USB. Sleep works fine while waking from power button but not from USB. I got this to work in 10.5 using a modified IOUSBFamily.kext but I haven't been able to find one for SL. I realize that this can be fixed with DSDT edits.
I've tried to simply replace the USB section with the one displayed at the start of this thread as wwbsox and others have said but I get a ridiculous amount of compile errors. I get the same results using DSDTse and iASLMe. I'd really appreciate it if someone could take a look. Please see attached and let me know if more specific info is required.
FYI, DSDT is already patched to fake ICH9 as ICH10 and as a result, all my USB ports show as built in and any mass storage devices connected survive sleep/wake.
Thanks for the info wwbsox. I checked and my keyboard and mouse show up under regular USB and not high speed. I tried with another mouse and keyboard to make sure and same deal.
Now that you mention it though this isn't the only issue I've had but it has been the only one that bothers me. The machine also can't do a full hardware restart or shutdown on it's own. Not exactly sure why since I'm using OpenHaltRestart. I'm thinking these might be related.
Thanks wwbsox but have come across a very strange issue with adding the graphics fix to my dsdt.aml. I have added it with dsdt patcher and my typing it my self all with the same result. My dsdt compiles fine with only one warning as before but OpenGL stops working. By this I mean spinning squares test is not visiable in xbench and also OpenGL Extensions Viewer.app has only Apple software as the render and no choice for my graphics card. My xbench scores fall from around 170 to 110 and my OpenGL Extensions Viewer.app scores fall from in the 3400 range to 60-70 range. I have try'd all different ways of editing both my com.apple.Boot.plist the system one and the one in my extra folder all to no avail. I have try'd to enable OpenGL with the dev tools app Quartz Debug also, the app tells me it is enabled but has no effect. Two really strange things are that front row and chess work though, and I thought both these apps needed OpenGL to run. I have attached a copy of my dsdt with graphics if you could take a look and see if i have made a mistake thank you, just don't know where I am going wrong.
Ps My card did start showing up in PCI cards in system profiler, would really like to get this working any help would be great
I have done it GFX are now fully working through through DSDT it seems the main issue was EFI strings. Let me explain I run a lot of different partitions for different reasons I have 3 snow leopard partitions 1 leopard partition there is also Linux and Windows 7 in the mix as well (see attached pic). I know its not the best but is just how things have gone as times gone by. Now I was trying to install the DSDT GFX to my SNOWGUID partition. First of all I did not remove the EFI strings from this partition's extra com.apple.Boot.plist but did remove the graphics enabler string. No joy the card would be in system profiler but i just had no QE/OpenGL working as such. So i spent some time working with DSDTSE.app as my DSDT is a bit strange any way. I try'd to many different with not much luck of inserting the graphics code with this great app (a big thank you to EvOSX86 for the app). Then I all most gave up and went back to EFI strings I say all most. My next step was thinking I have to be vanilla as possible so I disconected all of my drives apart from one and reinstalled Snow Leopard on a GUID partition and then I try'd a fresh DSDT.aml with USB SATA and GFX fix it worked how happy was I. Then I reconected my other two drives and it stopped working:'(:'(:'(. So from there I applied the same fixes to my other Snow partitions, but it didn't work on my main MBR Snow partition why? It seems at some time I had written my GFX string to my Library/Preferences/SystemConfiguration/com.apple.Bootplist once deleted I had working QE/OpenGL on all my partitions. I have feel have learned a lot from from doing this and just wanted to share my experience with others may be it could be of some use. For me I have learned EFI and DSDT do not mix but maybe thats just me. Am going to finish with a question though, how does Chameleon reference Boot.plists files from other partitions it is not booting though. And before you think it yes Chameleon was separately installed on all partitions. Thank you to wwbosx and all who have posted in this thread on to my next project speedstepping and sleep thank you again to all OSX86 fans
I was actually wondering if anyone know how to do it the other way round.. i.e. make the USB from built-in to external. Cause i have my bluetooth in USB3 and its turned off every time the laptop goes to sleep and doesnt work on wak..
Thanks,
Xavier
Is there a guide somehwere of how to do this? I try using dsdt patcher but when adding the usb code I get compilation errors.
As my ehci usb are also listed as expansion slots I'm hoping this might also help with some other usb problems I'm having like bandwidth problems for my usb webcam...
What i would say is download an app called DSDTSE it is a very good place to start. I found it very helpful also look at threads about DSDT for your motherboard. All the best and respect to all here
So I just got a BT Apple KB, and can't wake from sleep with it. Also, doesn't even re-connect or stay connected (however it's supposed to work) after waking. I have to manually disconnect and re-connect it.
I have this UHCI/EHCI implemented, is there something else I can try? Or should I just try another BT adapter. This is the second one I've tried, the first one is an old BT v1.1, and this is a v2.1.
I believe Apple only officially supports a D-Link, and even that one has some revisions that don't allow this functionality. I have found a Kensington that's known to work for someone else, and they are using the UHCI/EHCI fix implemented in Chameleon2. I'd hate to just go out and buy it and it still not work for me.
Any ides are welcomed, thanks guys.
BT dongle & _WAK mod for wake
@EnzoFXI'd hate to just go out and buy it and it still not work for me. Any ides are welcomed, thanks guys.
Hey EnzoFX,
i've got a Targus ACB10US-B (the silver 4cm one)
bought it in the US for 7$...(shipping to europe was very expensive...)
wake from sleep works via mouse, wired apple alu KB and wireless BT apple KB.
i'm on a Gigabyte G33M-DS2R on 10.6.2 via DSDT mods.
to all who have problems with wake from sleep with a USB 2.0 device:
check your _WAK section in DSDT.
after various tests, i found the solution for me:
the section for "If (LEqual (Arg0, 0x04))" should look like this:
(maybe this works only on my board...)
…
If (LEqual (Arg0, 0x04))
{
If (LEqual (OSFL, Zero))
{
Store (0x58, SMIP)
}
If (LEqual (OSFL, One))
{
Store (0x56, SMIP)
}
If (LEqual (OSFL, 0x02))
{
Store (0x57, SMIP)
}
If (LEqual (OSFX, 0x03))
{
Store (0x59, SMIP)
}
}
...
Before patching, there were some nested if clauses... i deleted them and left only the code above. Maybe this helps someone
sorry for my english.
greets
xzeroGx
@wwbsoxFirst the issues, than the fixes. My usb1 (UHCI) and usb2 (EHCI) ports were showing up in system profiler as "expansion slots". This was causing 2 main problems for me. First, I had to use the power button to wake the computer from sleep. Second, if I had a usb drive plugged in when the computer went to sleep, I would get a "device…
You are the man. This fixed my issues on p35-DS3L and now i can wake my 10.6.4 hack using the keyboard !
Can this work on a netbook
Any idea if this fix can work on a hackintosh netbook? (It dismounts/crashes USB disks after sleep.) Any ideas? I realize this is an old thread.
thanks. Peace.
well good news, it fix a part of the issue.
Now i can wake from an usb mouse directly connected to the mobo.
But i cant from the apple alu keyboard, although it is detected during sleep !
16/08/10 08:10:28 kernel Wake reason =
16/08/10 08:10:28 kernel System Wake
16/08/10 08:10:28 kernel USB (EHCI):Port 3 on bus 0xfd has remote wakeup from some device
16/08/10 08:10:28 kernel The USB device Keyboard Hub (Port 3 of Hub at 0xfd000000) may have caused a wake by issuing a remote wakeup
16/08/10 08:10:28 kernel The USB device Apple Keyboard (Port 2 of Hub at 0xfd300000) may have caused a wake by issuing a remote wakeup
but i had to wake up using power button or mouse to do this, then in the console, i see the USB controller saw the tries to wake up from USB keyboard !
Help ! what can i do to fix this ?
I've got GA P35 DS3R
here"s my DSL
Thank you
Wow, 2 years later and @wwbsox's original post of the DSDT USB fix worked for me on a Gigabyte EP45-UD3P ... I believe it's ICH10R. Had success doing this method twice, once for the same board under 10.6.8 and one under 10.5.8.
I used these basic instructions http://tonymacx86.blogspot.com/2009/11/create-and-modif… ↗ to extract, modify, and compile my DSDT but had to add two fixes. Steps 1-4, 7, 8, 9.
Here's the general idea:
1) You get the DSDT tool, install it, and use it to extract your DSDT
2) You use Tonymac blog instructions about adding "Method DGTP" before the _WAK area... you only use part of the fix he mentions so don't copy/paste the whole thing...the important part of the "method" is at the beginning and then it has a sample area.
3) You find the USB section that starts with "Device (USB0)" and you'll replace the entire USB sections with the text from @wwbsox's fix in the first post here. You're basically swapping out the USB sections. I left a one-line space before and after my insertion.
4) If you just try to compile now, you'll probably get some warnings and errors so
5) One of the TonyMac comments tells you the first fix 'The gigabyte-included DSDT is flawed and will not compile. In the two error lines, change the first Local0 parameter to "Zero" (without the quotes).' What they mean is that there are two areas where you will see (Local0, Local0) and you want it to look like (Zero, Local0)
6) And add this at the end of the _WAK Method:
Return(Package(0x02){0x00, 0x00})
7) If you do it right, when you go to compile your DSDT you won't get any warnings.
8) I moved mine to /Extra, renamed it from dsdt.aml to DSDT.aml... and did a sudo chown 0:0 on the DSDT.aml file (or sudo chown root:wheel if you prefer) and sudo chmod 755 on it for good measure... and repaired permissions… then I restarted.
9) This enabled me to sleep/wake USB drives with no device removal errors! Wooohoooo! I have used some alternative IOUSBFamily.kexts before but believe I can remove them now... If your system hangs or something, you can probably boot into single user mode (-s) and remove the DSDT.aml file from there (rename it to DSDT.bak if you want)
Good luck everybody!
Fontes e Registro de Autoria (33 membros creditados · Tópico #3849)
| Usuário | Contribuição no Dossiê | Postagens | Período Ativo |
|---|---|---|---|
| @wwbsox | Autor Principal | 44 | 2009-08-30 → 2010-07-10 |
| @Snow | Colaborador Essencial | 23 | 2009-08-31 → 2009-09-15 |
| @EnzoFX | Colaborador Essencial | 13 | 2009-09-02 → 2010-02-20 |
| @kDawg | Colaborador Essencial | 12 | 2009-09-01 → 2009-10-09 |
| @Ianxxx | Colaborador Essencial | 8 | 2009-08-31 → 2009-10-09 |
| @xwin78 | Colaborador Essencial | 6 | 2009-09-17 → 2009-10-07 |
| @osxfr33k | Colaborador Essencial | 6 | 2009-09-21 → 2009-09-23 |
| @twr | Colaborador Essencial | 5 | 2009-09-18 → 2009-09-24 |
| @Jedric | Colaborador Essencial | 5 | 2009-09-19 → 2009-09-23 |
| @sk1nhd33t | Colaborador Essencial | 4 | 2009-09-14 → 2009-10-11 |
| @stayupforever90 | Colaborador Essencial | 4 | 2009-11-04 → 2010-01-19 |
| @CyCLoBoT | Colaborador Essencial | 3 | 2009-09-23 → 2009-09-25 |
| @mormegil | Colaborador | 2 | 2009-08-31 → 2009-09-01 |
| @kramer2k | Colaborador | 2 | 2009-09-02 → 2009-09-14 |
| @ohwhyme | Colaborador | 2 | 2009-09-20 → 2009-09-22 |
| @sylvester328 | Colaborador | 2 | 2009-09-23 → 2009-10-09 |
| @spanakorizo | Colaborador | 2 | 2009-09-25 |
| @atomiX_X | Colaborador | 2 | 2009-11-05 |
| @omargoa | Colaborador | 1 | 2009-08-31 |
| @aed0101@hotmail | Colaborador | 1 | 2009-08-31 |
| @Voyn1x | Colaborador | 1 | 2009-09-02 |
| @infinitek | Colaborador | 1 | 2009-09-06 |
| @BugsB | Colaborador | 1 | 2009-10-03 |
| @pandar | Colaborador | 1 | 2009-10-19 |
| @kantok | Colaborador | 1 | 2009-10-31 |
| @adityaxavier | Colaborador | 1 | 2010-01-08 |
| @twistoflemon | Colaborador | 1 | 2010-01-19 |
| @xzeroGx | Colaborador | 1 | 2010-03-07 |
| @Stone-D | Colaborador | 1 | 2010-04-03 |
| @thepiecesfit | Colaborador | 1 | 2010-07-03 |
| @Mack N Tosh | Colaborador | 1 | 2010-07-21 |
| @Epal | Colaborador | 1 | 2010-08-16 |
| @hackaroni | Colaborador | 1 | 2011-09-26 |