Como remover drivers de dispositivos USB antigos do Windows? Como desabilitar ou habilitar portas USB no Windows. Como redefinir as portas USB.

Boa tarde, queridos leitores do blog do site, hoje quero falar para vocês como deletar dados sobre Unidades flash USB no registro do Windows. Este artigo é uma continuação do artigo. Todas as informações sobre qualquer Mídia de armazenamento USB sempre conectado a um computador é armazenado em registro do sistema... Se muitos flash drives estiverem conectados ao computador modelos diferentes e fabricantes, com o tempo, muito lixo se acumula no registro. Como resultado, o processo de identificação e conexão de um novo dispositivo começa a levar um tempo significativo e torna o sistema mais lento.

Só existe uma saída. Você precisa limpar periodicamente as chaves de registro que armazenam dados sobre unidades flash plug-in e outras unidades USB. Limpar essas seções irá acelerar a conexão de novos Dispositivos USB e a operação do sistema como um todo.

A limpeza deve ser feita com programa do sistema Regedit. Começa assim.
Iniciar - Executar - Regedit

Seções de registro que armazenam dados sobre qualquer unidade USB já conectada a um PC - pen drives, discos rígidos externos, bem como câmeras, telefones, flash players e outros dispositivos que, quando conectados a um PC, foram reconhecidos como externos Stick USB... Todas as subseções com o prefixo Disco podem ser excluídas aqui.

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ USBSTOR
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Enum \ USBSTOR
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet002 \ Enum \ USBSTOR

As imagens mostram que os hubs e HDDs também foram conectados por meio do hub

Se você não quiser limpá-lo manualmente, existe um software gratuito, por exemplo, USB Oblivion. Execute o utilitário

Marque a caixa Realizar limpeza real

Vemos que tudo está completo e muitas entradas foram excluídas do registro. Vamos verificar o registro. Observe que não há pasta USBSTOR.

Bem, vamos dar uma olhada na seqüência com o programa USBDeview, tudo também está limpo.

Aqui estão, queridos leitores, onde os dados sobre seus drives flash são armazenados, então, se algo precisar ser excluído, comece.

Eu uso 3G para reservar conexão de internet modem Huawei E173 conectado a porta USB roteador. A conexão por meio dele está sempre ativa no modo hot standby (para mudar para o modem, basta redefinir a rota padrão da conexão principal). Mas há um problema - o modem "congela" periodicamente e a conexão é perdida.

Reiniciar o pppd normalmente é suficiente, mas ontem o modem parou de responder completamente. Mensagens apareciam no log relacionadas a problemas de hardware.

Xhci_hcd 0000: 02: 00.0: WARN Event TRB para slot 1 ep 4 sem TDs na fila? xhci_hcd 0000: 02: 00.0: WARN Event TRB para slot 1 ep 4 sem TDs na fila? xhci_hcd 0000: 02: 00.0: WARN Event TRB para slot 1 ep 4 sem TDs na fila? xhci_hcd 0000: 02: 00.0: ERROR Transferir evento TRB DMA ptr não faz parte do TD atual xhci_hcd 0000: 02: 00.0: ERROR Transferir evento TRB DMA ptr não faz parte do atual TD xhci_hcd 0000: 02: 00.0: ERROR Transferir evento TRB DMA ptr not parte do atual TD
Reiniciar o pppd não deu nada, parece que o modem não está respondendo a nenhum comando.

24 de abril 10:02:11 chat inet: abortar em (\ nBUSY \ r) 24 de abril 10:02:11 chat inet: abortar em (\ nERROR \ r) 24 de abril 10:02:11 chat inet: abortar em (\ nNÃO RESPOSTA \ r) 24 de abril 10:02:11 chat inet: abortar (\ n SEM OPERADORA \ r) 24 de abril 10:02:11 chat inet: abortar em (\ n SEM DIALTONE \ r) 24 de abril 10:02:11 chat inet: cancelar em (\ nRINGING \ r \ n \ r \ nRINGING \ r) 24 de abril 10:02:11 chat inet: enviar (^ MAT ^ M) 24 de abril 10:02:11 chat inet: tempo limite definido para 12 segundos 24 de abril 10:02:11 chat inet: esperar (OK) 24 de abril 10:02:23 chat inet: alarme 24 de abril 10:02:23 chat inet: falhou
As tentativas de reinicializar o modem programaticamente falharam porque seu dispositivo (/ dev / ttyUSB0) não responde aos comandos AT. Resta apenas desconectar e reconectar o modem à porta. Mas primeiro decidi tentar um método que encontrei recentemente na Internet.

Para redefinir o desejado Barramento USB precisamos compilar o binário. Para não compilá-lo novamente todas as vezes e usá-lo em quase todas as máquinas, vou compilá-lo estaticamente.

$ wget https://gist.githubusercontent.com/x2q/5124616/raw -O usbreset.c $ gcc -Wall -static -o usbreset usbreset.c $ sudo install -o root -g root -m 0755 usbreset / usr / local / sbin $ lsusb | grep Huawei Bus 001 Dispositivo 002: ID 12d1: 1001 Huawei Technologies Co., Ltd. Modem HSDPA E169 / E620 / E800 $ sudo usbreset / dev / bus / usb / 001/002 Erro no ioctl: dispositivo não encontrado
Apesar do erro no log, existem entradas que indicam a "reinicialização" do modem.

$ dmesg | tail usb 1-6: Novo dispositivo USB strings: Mfr = 3, Product = 2, SerialNumber = 0 usb 1-6: Produto: HUAWEI Mobile usb 1-6: Fabricante: HUAWEI Tecnologia usb 1-6: configuração # 1 escolhida de uma opção 1-6: 1.0: Conversor de modem GSM (1 porta) detectado usb 1-6: conversor de modem GSM (1 porta) agora conectado à opção ttyUSB0 1-6: 1.1: conversor de modem GSM (1 porta) detectado usb 1-6: Modem GSM ( Conversor de 1 porta) agora conectado a ttyUSB1 opção 1-6: 1.2: Conversor de modem GSM (1 porta) detectado usb 1-6: conversor de modem GSM (1 porta) agora conectado a ttyUSB2
Vamos tentar conectar a ele e executar vários comandos AT.

O programa pode redefinir o canal usando o registro de redefinição de canal. A configuração do canal e o marcador de dados permanecem inalterados. Apenas os bancos e bits de status são retornados ao seu estado original.

Para reinicialização completa o programa deve desabilitar o canal e então habilitar o canal.

23,11. Acesso aos dados do canal

Para escrever ou ler de um canal FIFO, a CPU deve selecionar o número do canal usando o registrador UPNUM e escrever ou ler os dados do registrador UPDATX.

23,12. Organização do canal de controle

O reator consiste em três fases:

  • CONFIGURAR,
  • dados (IN ou OUT),
  • status (OUT ou IN).

O software deve alterar o marcador após cada fase. Inicialmente, os marcadores de dados são definidos da seguinte forma (apenas para canais de controle):

  • CONFIGURAÇÃO: Dados0,
  • OUT: Data1,
  • IN: Data1 (aguardando a mudança do marcador de dados).

23,13. Controle de canais OUT

Inicialmente, o canal deve ser configurado e não interrompido. Nota: se Programas muda para o modo de suspensão (reset de SOFEN) mesmo se o banco estiver pronto para ser enviado, o controlador USB sairá automaticamente da suspensão e o banco será enviado.

O bit TXOUT é definido no hardware quando o banco atual é liberado. Isso resulta em uma interrupção se o bit TXOUTE estiver definido. O bit FIFOCON é definido ao mesmo tempo. A CPU grava dados no FIFO e limpa o bit FIFOCON para permitir que o controlador USB envie dados. Se o canal OUT consistir em vários bancos, ele também muda para o próximo banco de dados. Os bits TXOUT e FIFOCON mudam de acordo com o estado do novo banco.


23,14. Controlando canais IN

Inicialmente, o canal deve ser configurado. Antes que o host solicite dados do dispositivo, o programa deve definir o modo de transferência IN usando o bit INMODE:

  • INMODE = 0. O registro INRQX é levado em consideração. O controlador host faz uma solicitação de dados (INRQX + 1) vezes no canal selecionado antes de interromper o canal. Este modo evita solicitações de dados desnecessárias por meio do canal.
  • INMODE = 1. O controlador USB envia continuamente uma solicitação IN para dados até que o programa pare o canal.

A solicitação de dados começa depois que o bit PFREEZE é apagado. Cada vez que o banco atual está cheio, os bits RXIN e FIFOCON são definidos. O programa pode confirmar o recebimento da interrupção apagando o bit RXIN. O programa lê os dados e limpa o bit FIFOCON para liberar o banco atual. Se um canal IN consiste em vários canais, limpar o FIFOCON mudará para o próximo banco. Os bits RXIN e FIFOCON mudam de acordo com o estado do novo banco.

23.14.1. Erro CRC(apenas para canais isócronos)

Um erro CRC pode ocorrer ao receber dados se o controlador USB receber um pacote corrompido. Nessa situação, ocorre uma interrupção STALLEDI / CRCERRI. Isso não impede que ocorra a interrupção RXINI.

O dispositivo (modem) que realmente disparou. Às vezes funciona muito bem, mas outras vezes se recusa a conectar. A única solução que encontrei para consertar quando ele fica em um estado ruim é desconectar fisicamente o dispositivo e conectá-lo novamente. No entanto, nem sempre tenho acesso físico ao computador ao qual está conectado, M está procurando uma maneira de fazer isso por meio da linha de comando.

Este artigo pressupõe a execução de:

$ sudo modprobe -w -r usb_storage; sudo modprobe usb_storage

No entanto, recebo "opção desconhecida -w". Este comando ligeiramente modificado:

$ sudo modprobe -r usb_storage

Erro com mensagem FATAL: o módulo usb_storage está sendo usado. Se eu tentar matar -9 processos marcados antes de iniciar, eles se recusam a morrer (acho que porque estão fortemente ligados ao kernel).

Alguém sabe como fazer isso?

NOTA. Postei isso no servidor porque não sabia o que seria mais apropriado. Eu irei deletar e / ou contatar quem quer que seja atendido primeiro.

5 soluções coletam formulário web para “USB Hard Reset in Ubuntu 10.04”

Eu tenho o Ubuntu 14.04.4. Não tenho ideia se isso funciona em 10.04. Eu testei no Cyborg Rumble Pad (e um stick USB genérico).

Imediatamente após conectar o dispositivo:

Dmesg | grep usb | cauda -n 20

Eu recebo (talvez por falar nisso):

[2875.790610] usb 2-1.2: novo dispositivo USB de velocidade total número 7 usando ehci-pci [2875.887485] usb 2-1.2: Novo dispositivo USB encontrado, idVendor = 0738, idProduct = cb02 [2875.887489] usb 2-1.2: Novo USB strings de dispositivo: Mfr = 1, Product = 2, SerialNumber = 3 [2875.887490] usb 2-1.2: Produto: Cyborg Rumble Pad - PC / Xbox 360 [2875.887492] usb 2-1.2: Fabricante: Saitek [2875.887493] usb 2-1.2 : SerialNumber: 0CFE6B97

2-1.2 parte - linha 2-1.2. Ele identifica a porta USB. A boa notícia é que ele não deve mudar a menos que eu conecte o dispositivo a uma porta diferente, portanto, só preciso obter a string uma vez.

Então eu vou para o lugar certo:

Cd / sys / bus / usb / drivers / usb

E ligar como root(por exemplo sudo bash):

Echo 2-1.2> desvincular; dormir 3; echo 2-1.2> vincular

Como resultado, meu Rumble Pad se reinicializa como se estivesse ligado e desligado novamente. Eu também testei meu stick USB. Ele (seu LED) se comporta como se nada tivesse acontecido, mas meu KDE reage e pergunta se eu quero montar.

Ligando o dispositivo o tempo todo. Este método não funcionará se o seu modem for reiniciado devido a uma queda de energia.

Você está apenas procurando o dispositivo que deseja descartar (lsusb):

# lsusb Bus 005 Dispositivo 004: ID 0951: 1642 Kingston Technology DT101 G2

E então:

# usbreset / dev / bus / usb / 005/004

Por que você está tentando descarregar o módulo usb_storage quando seu dispositivo é um modem USB?

Sudo lshw e encontre a entrada para o tethering USB. Deve haver uma configuração: linha como esta (seu driver será diferente, obviamente):

Configuração: ... driver = iwlagn ...

Certifique-se de que o módulo esteja carregado (substituindo o nome do driver correto):

Lsmod | grep iwlagn

Depois é só fazer:

Sudo modprobe -r iwlagn && sleep 2 && sudo modprobe iwlagn

Gosto de dormir aí, caso o aparelho demore um pouco para desligar.

Esta é uma solução "alternativa", mas pode funcionar.

  • Obtenha um segundo PC, antigo e não muito poderoso. Instale o Debian nele. Instale o usbip nele.
  • Em seguida, instale o usbip em seu servidor.
  • Conecte o modem ao segundo PC. Configure o usbip em ambas as máquinas para que o modem conectado ao segundo PC seja acessível via VHCI do servidor.
  • Configure o ssh no segundo PC ou outro meio que você possa remover e enviar comandos para.
  • Quando o dispositivo falhar, faça o login e reinicie o segundo computador com o comando reboot, e então quando ele voltar, reconecte por qualquer meio, usbip fornece usbip (eu nunca usei usbip). Isso deve reiniciar o dispositivo. Você provavelmente poderia escrever isso.

A maneira mais fácil de desconectar dispositivos USB arbitrários de linha de comando(ou seja, com ciclo de alimentação real para USB):

  1. Compre DELOCK 87445 hub USB de 4 portas (google para )
  2. Este hardware é compatível com hub-ctrl.c (google para ). Portanto, portas arbitrárias podem ser ativadas / desativadas. Informações adicionais veja também em :.