Artigo: 250635 - Última revisão: segunda-feira, 12 de Fevereiro de 2007 - Revisão: 1.3

Windows 98: Problemas de computador com suporte de legacy do USB

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Num computador baseado no Windows 98, quando o suporte legacy do USB (Universal Serial Bus) está activado no basic input/output system (BIOS), o computador poderá não detectar dispositivos USB ou poderá deixar de responder (não reagir) quando iniciar ou encerrar o computador.

Causa

Este problema pode ocorrer se existir um conflito entre o Windows e o BIOS que envolve o controlador anfitrião USB. BIOS utiliza SMI # para ler periodicamente o estado do controlador para fornecer o suporte USB legado. Durante o arranque, depois de enumeração de PCI (Peripheral Component Interconnect), controlo do USB é alterado de BIOS para o Windows. Por vezes, durante a enumeração do barramento PCI do Windows, o BIOS poderá não obter um valor correcto para o anfitrião controlador endereço base, que resulta na incapacidade transfere o controlo do controlador de USB para Windows.

Esta condição pode resultar em dispositivos de USB não funcionar, o computador poderá deixar de responder durante o arranque ou encerramento ou uma mensagem do Windows que indica que o teclado PS/2 ou o rato não é possível localizar (se o teclado ou rato USB não for encontrado, software pode procurar um teclado PS/2 ou o rato).

Resolução

Para resolver este comportamento, fornecedores de BIOS podem desactivar o suporte para USB legacy ou incluir uma correcção solução.

Mais Informação

O comportamento é causado por falta de sincronização entre o Windows 98 e o BIOS durante a enumeração do barramento PCI. A especificação de OpenHCI descreve um mecanismo de sincronização no qual o sistema operativo limpa o bit de acesso à memória (bit 1) no registo de comandos PCI antes de aceder ao registo de endereço base (barra). O BIOS deve verificar este bit; se estiver desmarcada, o código de BIOS SMM não deve aceder os registos operacionais do controlador anfitrião. Infelizmente, alguns chipsets computador deixar de funcionar correctamente quando este bit estiver desmarcada. Para evitar estes comportamentos de chipset, o Windows 98 não limpa este bit durante enumeração de PCI, o que significa que o BIOS poderá obter um endereço de controlador incorrecto porque não detecta a enumeração. Enquanto o Windows 98 está a executar esta enumeração PCI, Windows 98 escreve um padrão de teste de FFFF_FFFFh para o endereço base registe do controlador de USB e lê-la novamente como FFFF_F000h para indicar que o tamanho do intervalo é 1000h bytes.

Se SMI # é gerado pelo controlador de USB neste momento, o processador do BIOS SMI não consegue aceder ao controlador USB porque o registo de endereço base não é válido. Este evento assíncrono pode resultar num sinal SMI # ser declarado indefinidamente; por conseguinte, que a subsequente OpenHCI USB disponível-através do BIOS para o Windows não funciona. Windows tenta detectar o teclado PS/2 e o rato e o utilizador poderá receber uma mensagem de erro que indica que o teclado PS/2 ou o rato não foi detectado.

O BIOS pode contornar este comportamento por ler o controlador USB endereço base no processador de SMI e guardar uma cópia de endereços válidos na memória SMM. Se o endereço base tem um padrão FFFF_F000h, que é o padrão de teste escrito pelo Windows durante a enumeração de PCI, o BIOS pode escrever o valor válido anterior para o endereço base registe e continuar o processamento de SMI; por este motivo, o controlador USB permanece acessível e SMI # é limpo correctamente. No fim do processador de SMI, o BIOS pode restaurar o padrão de teste FFFF_F000h para o registo de endereço base para que Windows possa continuar a enumeração de PCI.

Referências

Ver o Windows 98 DDK para obter mais informações sobre suporte de dispositivo USB.

A informação contida neste artigo aplica-se a:
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 98 Segunda Edição
  • Microsoft Windows 98 Driver Development Kit (DDK)
Palavras-chave: 
kbmt kberrmsg kbhardware kbprb kbusb KB250635 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 250635  (http://support.microsoft.com/kb/250635/en-us/ )