Driver do Windows 7 conectando-se a um dispositivo através de ethernet bloqueando o gerenciador de dispositivos

1
Primeiro de tudo, eu sei que não posso obter uma resposta adequada para o meu problema, mas estou procurando maneiras de começar a depuração e / ou talvez verificar algum processo do Windows em ficar preso ou com defeito.

Estou desenvolvendo um aplicativo que se conecta a uma impressora de cartão inteligente pela ethernet. O problema é: estou usando um SDK do fabricante das impressoras e elas parecem se recusar a ajudar a resolver meu problema ou simplesmente não o conhecem melhor. (Impressora: Zebra ZXP Series 3) A impressora possui codificadores Smartcard embutidos (para cartões de contato e sem contato). Depois de tentar se conectar a esses codificadores, o meu programa (uma chamada simples para uma função do SDK) lança toda a vez após a reinicialização da minha máquina após a instalação inicial dos drivers uma exceção System.AccessViolation.

Eu sei que esse problema é muito específico no driver e obter uma solução para isso pode ser impossível, mas estou tentando reunir informações sobre como analisar os problemas que essa exceção cria.

A conexão, obviamente, falhou. Mas depois o Windows começa a agir estranhamente, ou seja, o Gerenciador de Dispositivos fica meio corrompido: Tentar conectar qualquer dispositivo por USB falhará e o Gerenciador de dispositivos não se contorcerá um único bit. Se eu tentar desativar qualquer outro driver no Gerenciador de dispositivos, ele irá congelar e o mmc.exe consumirá todos os recursos da minha CPU. (Excluí mmc.exe para ter algo em comum ao meu problema)

Minha suposição é que o SDK chama uma função / serviço do Windows para se conectar ao dispositivo, mas o Windows não retorna desta função / serviço em uma conexão com falha. Eu acho que sim, desde que eu não posso matar corretamente o meu programa depois que isso acontece e tem que matá-lo através do Gerenciador de Tarefas (O programa continua a funcionar de outra forma).

Além disso, se eu reiniciar o PC - o Windows fica preso na tela de desligamento. Isso também acarreta minha suposição de que um processo do Windows não terminará corretamente.

Agora à minha pergunta: Existe algum serviço / processo do Windows que envolva o gerenciamento de conexões de drivers / dispositivos? Você talvez conhece alguma ferramenta do Windows que possa ajudar na obtenção de informações sobre os dispositivos atualmente conectados e os logs de erros? Ou simplesmente alguém sabe algumas maneiras de depurar problemas de driver.

Os drivers mais recentes genéricos não ajudaram.

    
por Dennis K 08.08.2014 / 16:56

1 resposta

1

Após algumas fases bastante iniciais da inicialização do sistema, tanto o processo do gerenciador de serviços (services.exe) quanto o serviço plug-and-play (que reside em um dos processos svchost) estão envolvidos na inicialização e interrupção de drivers. Isso se aplica a drivers com um valor "Iniciar" de 2 ou 3 em suas entradas de registro.

O problema "não conecta USB" soa como se o driver suspeito não tivesse completado uma sequência plug-and-play ou de gerenciamento de energia com o gerenciador plug-and-play, impedindo assim que ele reconhecesse qualquer outra nova dispositivos.

Você pode revisar os eventos plug-and-play consultando% windir% \ inf \ setupaup.dev.log.

    
por 04.10.2014 / 21:34