Todas as mensagens de erro de DMA e o que cada uma significa
Um índice dos erros que uma montagem de DMA imprime, com a causa e a solução de cada um. As linhas estão agrupadas por camada: placa e caminho USB, inicialização, dispositivo de entrada e caminho de vídeo.
Resposta curta
Compare o texto exato do erro de DMA com a camada de onde ele veio: é assim que você acha a causa real e a solução mais barata. A maioria tem uma de quatro causas: a porta USB errada, um driver que não foi instalado, um mapa de memória que não existe ou a virtualização ligada na BIOS do PC de jogo.
Nesta página10
- Como encontrar o seu erro
- As quatro camadas de uma montagem de DMA, em ordem
- Camada 1: erros da placa e do caminho USB
- Camada 2: erros de DTB, base address, MMAP e processo
- Camada 3: erros do dispositivo de entrada
- Camada 4: problemas de fuser, captura e overlay
- O que os números de um erro te dizem
- Antes de concluir que a placa está com defeito
- Perguntas frequentes sobre erros de DMA
- Fontes
Como encontrar o seu erro
Copie o texto do erro da janela do console em vez de tirar de um print e procure por ele nas linhas abaixo. As linhas estão agrupadas por camada, e a camada importa mais que a redação, porque dois produtos podem escrever frases diferentes para o mesmo cabo com defeito. Se o seu texto exato não estiver na lista, procure a linha cujo sintoma descreve o mesmo ponto da sequência. Foi ali que o software parou, então comece por ali.
As quatro camadas de uma montagem de DMA, em ordem
Um erro só pode vir de uma camada que o software já alcançou. Se a inicialização imprimiu qualquer coisa, a camada da placa e do USB já funcionou, e nada da primeira tabela se aplica a você.
- 1. Placa e USB
- Existe placa, ela tem energia, ela foi reconhecida, o driver certo está associado a ela
- 2. Inicialização
- O leitor consegue conectar, achar o layout da memória, localizar o DTB e encontrar o processo do jogo
- 3. Dispositivo de entrada
- A caixinha responde na porta dela e o PC de jogo a enxerga como mouse
- 4. Caminho de vídeo
- O fuser ou o caminho de captura leva imagem, e o overlay cai em cima dela
Camada 1: erros da placa e do caminho USB
Esses erros aparecem antes de o software saber qualquer coisa sobre o Windows do PC de jogo. Nessa camada a causa quase nunca é a placa em si, e sim a porta, o cabo, o driver ou um PC de jogo desligado.
| Sintoma | Causa provável | Solução |
|---|---|---|
| DEVICE: FPGA: ERROR: Unable to connect to USB/FT601 device [0,v0.0,0000] | Não existe link USB funcionando com a ponte de dados, e os zeros mostram isso: nada mesmo voltou da placa. Os motivos de sempre são cabo na porta de gravação, cabo só de carga, PC de jogo desligado ou driver FTDI que falta. | Passe o cabo para a porta DATA da placa e use um cabo USB 3 de dados numa porta USB 3 traseira. Ligue o PC de jogo primeiro, depois instale o driver FTDI D3XX e confirme que o dispositivo aparece no Gerenciador de Dispositivos. |
| DEVICE: FPGA: ERROR: Unable to load 'FTD3XX.dll' or 'leechcore_driver.dll' [0,v0.0,0000] | A biblioteca da FTDI não está na mesma pasta do executável, ou seja, é arquivo faltando, não defeito de hardware. | Coloque a FTD3XX.dll na mesma pasta do software, usando a versão que veio com o seu pedido. Se o seu pedido não inclui o arquivo, reinstale o pacote do driver D3XX. |
| DEVICE: FPGA: ERROR: Unable to connect to FPGA device | É a mesma falha, só que numa versão do software que imprime a forma curta: ou não existe conexão USB com a placa, ou a placa nunca foi gravada com sucesso. | Verifique a porta, o cabo e o driver primeiro. Se a placa nunca funcionou desde que foi gravada, volte para a etapa de gravação e leia o DNA ID de novo antes de culpar o leitor. |
| DEVICE: FPGA: ERROR: Unable to retrieve required Device PCIe ID [4,v4.12,0000] | O lado USB está bem, porque voltou um número de versão, mas o lado PCIe nunca subiu. Ou a placa não está encaixada, ou o PC de jogo está desligado ou em suspensão, ou o slot está morto, ou o firmware não está apresentando um dispositivo. | Desligue o PC de jogo, reencaixe a placa até a trava fechar, parafuse o espelho e teste outro slot. Depois faça um boot a frio no PC de jogo primeiro e ligue o segundo PC depois dele. |
| Device not found | Essa é a mensagem genérica que embrulha o mesmo problema: o software não reconheceu placa nenhuma, e no segundo PC não há nada associado à ponte FT601. | Abra o Gerenciador de Dispositivos e procure a ponte FT601 em Controladores USB (Universal Serial Bus controllers). Se ela não estiver lá, a causa é a porta ou o cabo; se aparecer com um triângulo de aviso, a causa é o driver. |
| Failed to connect to memory acquisition device | Aqui é o loader relatando uma falha de camada 1 no lugar do leechcore. As causas são as mesmas, só que a redação está um passo mais longe do erro real. | Desligue as duas máquinas por completo, reencaixe a placa e reconecte as duas pontas do cabo USB. Ligue o PC de jogo primeiro, depois confira a porta, o cabo e o driver, nessa ordem. |
| Unknown USB Device (Device Descriptor Request Failed) | O Windows do segundo PC não conseguiu ler os descritores da ponte, o que aponta para um link no limite, um cabo ruim ou um hub no caminho. | Tire todo hub, dock e extensão e conecte direto numa porta USB 3 traseira com um cabo de dados curto. Se a mensagem continuar em duas portas e dois cabos, desconfie do conector USB da placa. |
| A placa funciona por alguns minutos e depois o dispositivo some | As causas de sempre são a suspensão seletiva do USB, um controlador compartilhado, um cabo no limite ou a placa esquentando dentro de um gabinete fechado. | Não regrave nada. Leia o guia de diagnóstico de quedas, porque é o momento da queda que separa essas quatro causas. |
Camada 2: erros de DTB, base address, MMAP e processo
Se você chegou nessa camada, a placa está viva e o caminho USB funciona. Todo erro desta tabela quer dizer que o leitor não consegue dar sentido a uma memória que ele já lê. A solução é quase sempre um mapa de memória ou uma configuração da BIOS do PC de jogo.
| Sintoma | Causa provável | Solução |
|---|---|---|
| vmmWinInit_TryInitialize: Initialization Failed. Unable to locate valid DTB. #2 | O leitor leu a memória mas não achou nela o Directory Table Base do kernel do Windows. Em geral não há mapa de memória, ou VT-d/VT-x ou SVM/IOMMU continuam ligados no PC de jogo, e aí o leitor recebe uma visão traduzida da memória. | Gere um mapa de memória e passe para o software, desligue a virtualização na BIOS do PC de jogo e depois faça um boot a frio nas duas máquinas. A lista completa em ordem está no guia do erro de DTB. |
| VmmProc: Unable to auto-identify operating system for PROC file system mount. Specify PageDirectoryBase (DTB/CR3) in -dtb option if value is known. | É a mesma falha impressa uma linha depois, quando a ferramenta avisa que parou de tentar adivinhar e te oferece o caminho manual. | Resolva primeiro a causa de base, conferindo o mapa de memória, a virtualização e o boot a frio. Informar o -dtb na mão é diagnóstico, não conserto, porque o valor muda a cada boot. |
| MOUNT: INFO: PROC file system not mounted. | Isso é consequência, não causa: a inicialização falhou acima dessa linha, então não havia nada para montar. | Suba o log, porque o erro de verdade é a linha de DTB ou de dispositivo impressa antes dessa. |
| Failed to initialize DMA | O loader não conseguiu sequer iniciar o leitor. Ou a camada 1 nunca se completou, ou o mapa de memória que ele deveria carregar não existe ou está malformado. | Confirme primeiro que a placa está visível e depois que o arquivo de mapa existe no caminho que o software espera. O mapa precisa ter sido gerado nesta máquina, com este firmware, depois da última mudança de hardware. |
| Failed to find base address | O leitor conectou e achou o kernel, mas não conseguiu resolver a base do módulo do processo alvo. As causas típicas são mapa de memória ausente ou desatualizado, um handle de processo velho depois de um alt-tab ou de uma atualização do jogo, ou um caminho de leitura instável. | Desligue as duas máquinas por completo, ligue de novo e gere um novo mapa de memória. Se o erro só acontece depois de uma atualização do jogo, espere o software ser atualizado para aquela versão do jogo. |
| Process not running / Failed to find process | O processo do jogo não estava lá quando o software procurou. Ou o jogo não está rodando, ou ainda está na tela de abertura do launcher, ou roda em outra sessão, ou o leitor está lendo um retrato velho da memória. | Abra o jogo e chegue até o menu principal, depois inicie o software na ordem que o seu produto documenta. Se o jogo está claramente rodando, trate isso como falha do caminho de leitura e gere o mapa de novo. |
| invalid memory map | O software rejeitou o arquivo de mapa porque ele foi editado à mão, veio truncado, foi feito para outro hardware ou foi gerado quando o caminho de leitura já estava instável. | Apague o arquivo e gere um novo no hardware atual. Nunca copie um mapa de memória da máquina de outra pessoa, porque ele descreve o layout de RAM dela, não o seu. |
| Initialization Failed. Unable to walk EPROCESS | As estruturas do kernel foram encontradas mas não puderam ser percorridas, o que aponta para memória parcialmente legível e não para um endereço errado. | Gere um mapa de memória para o leitor nunca encostar em faixas ilegíveis e faça um boot a frio nas duas máquinas. Confirme que a taxa de leitura está estável antes de tentar de novo. |
Camada 3: erros do dispositivo de entrada
A caixinha que move o cursor é um dispositivo USB separado, com falhas próprias. Os erros dessa camada são sobre uma porta serial ou um endereço de rede e não têm nada a ver com a placa.
| Sintoma | Causa provável | Solução |
|---|---|---|
| Device not found quando o software procura a caixinha de entrada | A caixinha não está na lista de portas do segundo PC, porque está desconectada, está ligada só no PC de jogo ou não tem driver associado. | Confirme que a caixinha aparece no Gerenciador de Dispositivos do SEGUNDO PC como porta COM ou dispositivo serial. O cabo de dados vai no segundo PC e o cabo HID vai no PC de jogo. |
| Access to the port 'COM3' is denied | Outro programa já está com a porta, como uma segunda cópia do software, um terminal serial ou uma ferramenta de gravação que ficou aberta. | Feche todos os outros programas que possam segurar a porta e abra o software de novo. Se o erro continuar, desconecte e reconecte a caixinha para a porta ser reconhecida outra vez. |
| The port 'COM3' does not exist | O número de porta configurado não é o que o Windows atribuiu, e os números mudam quando você troca de conector USB. | Veja o número de porta atual no Gerenciador de Dispositivos e configure ele no software. Use sempre o mesmo conector físico para o número não mudar. |
| A caixinha aparece com um nome de dispositivo serial inesperado | Essas placas usam pontes USB-serial genéricas, então o Windows dá a elas o nome do chip da ponte, não o do produto. | Identifique a caixinha pelo número da porta, não pelo nome amigável. Desconecte a caixinha, veja qual entrada some, reconecte e use essa porta. |
| A caixinha de rede nunca responde no IP dela, ou a conexão expira | A caixinha de rede não recebeu endereço, ou o endereço, a porta ou o UUID foram digitados errado. Se o switch ou o roteador não tem DHCP, ela sobe inalcançável. | Confirme que o DHCP está ligado e que o endereço da caixinha está na mesma sub-rede do segundo PC. Depois digite de novo o endereço, a porta e o UUID exatamente como vieram impressos para a sua unidade. |
| O cursor se move num teste no segundo PC mas nada se move no jogo | O PC de jogo não está recebendo entrada HID da caixinha, porque o cabo HID está no conector errado ou o lado HID da caixinha não foi reconhecido lá. | Procure no Gerenciador de Dispositivos do PC de jogo um mouse que aparece e some conforme você conecta e desconecta o cabo HID da caixinha. Teste na área de trabalho antes de testar num jogo. |
| O movimento fica dobrado, tremido ou briga consigo mesmo | O mouse físico e a caixinha estão mandando movimento para o PC de jogo ao mesmo tempo, ou dois recursos do software estão movendo o mesmo eixo. | Passe o mouse físico pela caixinha como o seu produto documenta e deixe só uma fonte de movimento ativa por vez. |
| Unknown USB Device (Device Descriptor Request Failed) na caixinha de entrada | A caixinha está com um link USB no limite, por causa de um cabo só de carga, um hub ou um conector danificado. | Troque o cabo e conecte direto numa porta traseira. Depois teste a caixinha em outra máquina, o que mostra se o problema é a caixinha ou a porta. |
Camada 4: problemas de fuser, captura e overlay
A camada de vídeo só passa a importar quando tudo acima dela funciona. A essa altura o software costuma estar bem, e o problema é sinal de vídeo, EDID ou resolução que não bate.
| Sintoma | Causa provável | Solução |
|---|---|---|
| Sem sinal no monitor principal depois que o fuser entra | Há uma quebra na cadeia de vídeo, a entrada do fuser não está selecionada ou algum cabo não dá conta da resolução e da taxa de atualização que você usava. | Remonte a cadeia um cabo por vez, começando com o PC de jogo ligado direto no monitor. Só acrescente o fuser quando o caminho direto funcionar, e use cabos certificados para a sua resolução e taxa de atualização. |
| O PC de jogo cai para uma resolução baixa ou 60 Hz depois que o fuser entra | O EDID do monitor não está chegando ao PC de jogo, e ele volta para um modo seguro. | Use a passagem de EDID do fuser, ou copie o EDID do monitor para dentro do fuser como o fabricante documenta. Depois disso, reconecte o cabo na ponta da fonte para o PC de jogo ler o EDID de novo. |
| Tela preta ou um piscar a cada poucos segundos | Um handshake de HDMI falhando, um cabo no limite ou longo demais, ou proteção de conteúdo renegociando no link. | Encurte o trajeto, use um cabo certificado e tire todo adaptador e splitter. Teste numa taxa de atualização menor para ver se o link simplesmente não tem mais folga. |
| O programa de captura mostra imagem preta enquanto o monitor mostra o jogo | A fonte daquela entrada está protegida, a entrada selecionada é a errada ou o dispositivo de captura nunca recebeu um formato de sinal que ele aceita. | Selecione a entrada certa e feche qualquer outra coisa que esteja usando o dispositivo de captura. Confira se a resolução e a taxa de atualização da fonte estão na lista suportada do dispositivo. |
| O overlay desenha no segundo PC mas não passa pelo fuser | O overlay está sendo renderizado na tela errada, ou o fuser está recebendo uma saída diferente daquela em que o overlay está. | Alimente o fuser pela saída de vídeo que o overlay usa e confirme que o segundo PC está mesmo mandando sinal naquela porta. |
| O overlay aparece mas fica deslocado, redimensionado ou cortado | A resolução do overlay não bate com a resolução do jogo, ou o fuser está escalando um dos dois sinais. | Coloque as duas máquinas na mesma resolução e taxa de atualização e desligue o escalonamento no fuser e no painel de controle da GPU. |
| A posição do overlay sai do lugar assim que o jogo muda de resolução | O overlay foi alinhado para o modo de vídeo anterior, e ninguém avisou a ele que o modo mudou. | Trave o jogo numa resolução só, alinhe o overlay uma vez e evite alternar entre janela sem borda e tela cheia durante a sessão. |
Info
O que os números de um erro te dizem
Os valores no fim dessas mensagens carregam informação. Nas linhas de FPGA, um ID de dispositivo e uma versão zerados querem dizer que nada mesmo voltou pelo USB. Um número de versão real com o ID de PCIe zerado quer dizer o contrário: o USB funcionou e o PCIe não, o que é outro problema com outra solução. O número depois de uma falha de DTB identifica qual tentativa falhou. Se você encurtar tudo isso para “deu erro de DTB”, perde justamente a parte que restringe a causa.
Antes de concluir que a placa está com defeito
Placas realmente falham, mas bem menos que as causas desta lista. Cada item abaixo já foi a resposta de verdade em um chamado que começou com “minha placa morreu”.
- O cabo está na porta de dados da placa, não na porta de gravação
- O cabo é de dados e está ligado direto numa porta USB 3 traseira, sem hub, dock ou extensão
- O PC de jogo foi ligado primeiro e chegou à área de trabalho antes de o segundo PC ser ligado
- O driver FTDI D3XX está instalado no segundo PC e a ponte não mostra triângulo de aviso
- A virtualização está desligada na BIOS do PC de jogo: VT-d e VT-x na Intel, SVM e IOMMU na AMD
- Existe um mapa de memória, ele foi gerado neste hardware e está no caminho que o software espera
- As duas máquinas passaram por um boot a frio com desligamento total, não por um reinício
Perguntas frequentes sobre erros de DMA
Aparecem dois erros ao mesmo tempo. Qual eu resolvo primeiro?
Comece pelo da camada mais baixa. Uma falha de DTB impressa depois de um erro de dispositivo é consequência dele e costuma sumir assim que a linha do dispositivo é resolvida.
O erro mudou depois que eu mexi em alguma coisa. Isso é progresso?
É, se o erro novo vier de uma camada mais alta. Sair de um erro de USB para um erro de DTB quer dizer que a placa e o caminho USB agora funcionam e você avançou uma camada.
Preciso reinstalar o Windows para resolver algum desses?
Quase nunca. É o passo mais caro da lista, e todo erro deste índice tem uma solução mais barata. Uma instalação limpa que não ataca a causa real reproduz o mesmo erro num sistema novo.
O meu erro exato não está na lista. O que eu faço?
Encaixe ele pela camada: descubra qual foi a última coisa que deu certo. Depois mande o texto completo num chamado, com a linha anterior e a seguinte, para ele poder ser acrescentado.
Algum desses erros quer dizer que fui detectado?
Não. São todas falhas de inicialização ou do caminho de hardware, e são os mesmos erros que você veria numa máquina que nunca abriu um jogo.
Fontes
A causa e a solução ao lado de cada texto vêm de trabalho de bancada: é o que a equipe encontrou quando clientes mandaram esses erros.
- 01LeechCore (Ulf Frisk)
a camada que imprime os erros de dispositivo do FPGA e do FT601, e de onde vem a leechcore_driver.dll citada neles
github.com
- 02MemProcFS (Ulf Frisk)
a ferramenta que imprime as linhas vmmWinInit, VmmProc e MOUNT citadas aqui
github.com
- 03
Leia em seguida
Ainda travado? Abra um ticket no Discord
Todos os guias