Cum se elimină driverele de dispozitiv USB vechi din Windows? Cum se dezactivează sau se activează porturile USB în Windows Cum se resetează porturile USB.

Bună ziua, dragi cititori ai site-ului blogului, astăzi vreau să vă spun cum să ștergeți date despre Unități flash USBîn registrul Windows. Acest articol este o continuare a articolului. Toate informațiile despre orice Suport de stocare USB conectat vreodată la un computer este stocat în registru de sistem... Dacă o mulțime de unități flash sunt conectate la computer diferite modeleși producători, apoi în timp o mulțime de gunoi se acumulează în registru. Ca urmare, procesul de identificare și conectare a unui nou dispozitiv începe să ia o cantitate semnificativă de timp și încetinește sistemul.

Există o singură cale de ieșire. Trebuie să curățați periodic cheile de registry care stochează date despre unitățile flash plug-in și alte unități USB. Ștergerea acestor secțiuni va accelera conexiunea noilor Dispozitive USBși funcționarea sistemului în ansamblu.

Curățarea trebuie făcută cu program de sistem Regedit. Începe așa.
Start - Run - Regedit

Chei de registru care stochează date despre orice unitate USB conectată vreodată la un computer - Unități flash, hard diskuri externe, precum și camere, telefoane, playere flash și alte dispozitive care, atunci când sunt conectate la un PC, au fost recunoscute ca externe Stick USB... Toate subsecțiunile cu prefixul Discului pot fi șterse aici.

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

Capturile de ecran arată că hub-urile și HDD-urile au fost conectate și prin hub

Dacă nu doriți să îl curățați manual, există software gratuit, de exemplu USB Oblivion. Rulați utilitarul

Bifați caseta Efectuați o curățare reală

Vedem că totul este complet și multe intrări au fost șterse din registru. Să verificăm registrul. Vă rugăm să rețineți că nu există un folder USBSTOR.

Ei bine, să ne uităm la secvența cu programul USBDeview, totul este, de asemenea, curat.

Iată dragi cititori în care sunt stocate datele despre unitățile flash, așa că, dacă trebuie șters ceva, începeți.

Folosesc 3G pentru a rezerva conexiunea la internet modem Huawei E173 conectat la port USB router. Conexiunea prin acesta este întotdeauna activată în modul standby fierbinte (pentru a comuta la modem, este suficient să resetați ruta implicită de la conexiunea principală). Dar există o problemă - modemul „îngheață” periodic și conexiunea se pierde.

Repornirea pppd este de obicei suficientă, dar ieri modemul a încetat să răspundă complet. Au apărut în jurnal mesaje care se referă la probleme hardware.

Xhci_hcd 0000: 02: 00.0: WARN Event TRB pentru slotul 1 ep 4 fără TD-uri la coadă? xhci_hcd 0000: 02: 00.0: WARN Event TRB pentru slotul 1 ep 4 fără TD-uri la coadă? xhci_hcd 0000: 02: 00.0: WARN Event TRB pentru slotul 1 ep 4 fără TD-uri la coadă? xhci_hcd 0000: 02: 00.0: EROARE Transfer eveniment TRB DMA ptr nu face parte din TD curent xhci_hcd 0000: 02: 00.0: EROARE Transfer eveniment TRB DMA ptr nu face parte din TD curent xhci_hcd 0000: 02: 00.0: ERROR Transfer eveniment TRB DMA ptr nu parte din TD curent
Repornirea pppd nu a dat nimic, se pare că modemul nu răspunde la nicio comandă.

24 apr 10:02:11 inet chat: avort pe (\ nBUSY \ r) 24 apr 10:02:11 inet chat: avort pe (\ nERROR \ r) 24 apr 10:02:11 inet chat: avort pe (\ nNO RĂSPUNS \ r) 24 apr 10:02:11 chat inet: anulați pe (\ nNO CARRIER \ r) 24 apr 10:02:11 inet chat: anulați (\ nNO DIALTONE \ r) 24 apr 10:02:11 chat inet: anulați pe (\ nRINGING \ r \ n \ r \ nRINGING \ r) 24 apr 10:02:11 inet chat: trimiteți (^ MAT ^ M) 24 apr 10:02:11 inet chat: timeout setat la 12 secunde 24 apr 10:02:11 chat inet: așteptați (OK) 24 apr 10:02:23 chat inet: alarmă 24 apr 10:02:23 chat inet: Eșuat
Încercările de reinitializare a modemului au eșuat programatic, deoarece dispozitivul său (/ dev / ttyUSB0) nu răspunde la comenzile AT. Rămâne doar să deconectați și să reconectați modemul la port. Dar mai întâi am decis să încerc o metodă pe care am întâlnit-o recent pe internet.

Pentru a reseta valoarea dorită Magistrală USB trebuie să compilăm binarul. Pentru a nu-l compila din nou de fiecare dată și a-l folosi pe aproape orice mașină, îl voi compila static.

$ 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 Dispozitiv 002: ID 12d1: 1001 Huawei Technologies Co., Ltd. E169 / E620 / E800 Modem HSDPA $ sudo usbreset / dev / bus / usb / 001/002 Eroare în ioctl: nu există un astfel de dispozitiv
În ciuda erorii din jurnal, au apărut unele intrări care indică faptul că modemul a fost „repornit”.

$ dmesg | tail USB 1-6: Nou dispozitiv USBșiruri: Mfr = 3, Produs = 2, SerialNumber = 0 usb 1-6: Produs: HUAWEI Mobile USB 1-6: Producător: HUAWEI Technology usb 1-6: configurația # 1 aleasă dintr-o opțiune de alegere 1-6: 1.0: Convertor GSM modem (1-port) detectat USB 1-6: convertor GSM modem (1-port) atașat acum la opțiunea ttyUSB0 1-6: 1.1: convertor GSM modem (1-port) detectat USB 1-6: modem GSM ( Convertor cu 1 port) atașat acum la opțiunea ttyUSB1 1-6: 1.2: Convertor GSM modem (1 port) detectat USB 1-6: Convertor GSM modem (1 port) atașat acum la ttyUSB2
Să încercăm să ne conectăm la acesta și să executăm mai multe comenzi AT.

Programul poate reseta canalul utilizând registrul de resetare a canalului. Configurarea canalului și markerul de date rămân neschimbate. Doar băncile și biții de stare sunt readuși la starea lor inițială.

Pentru resetare completă programul trebuie să dezactiveze canalul și apoi să activeze canalul.

23.11. Acces la datele canalului

Pentru a scrie sau a citi de pe un canal FIFO, CPU trebuie să selecteze numărul canalului utilizând registrul UPNUM și să scrie sau să citească date din registrul UPDATX.

23.12. Organizarea canalului de control

Mecanismul de comandă constă din trei faze:

  • ÎNFIINȚAT,
  • date (IN sau OUT),
  • starea (OUT sau IN).

Software-ul trebuie să schimbe markerul după fiecare fază. Inițial, markerii de date sunt setați după cum urmează (numai pentru canalele de control):

  • SETUP: Data0,
  • OUT: Date1,
  • IN: Data1 (așteaptă schimbarea markerului de date).

23.13. Controlul canalelor OUT

Inițial, canalul trebuie configurat și nu oprit. Notă: dacă software trece în modul suspendare (resetare SOFEN) chiar dacă banca este gata să fie trimisă, controlerul USB va ieși automat din suspendare și banca va fi trimisă.

Bitul TXOUT este setat în hardware atunci când banca actuală este eliberată. Acest lucru duce la o întrerupere dacă bitul TXOUTE este setat. Bitul FIFOCON este setat în același timp. CPU scrie date pe FIFO și șterge bitul FIFOCON pentru a permite controlerului USB să trimită date. Dacă canalul OUT constă din mai multe bănci, atunci trece și la următoarea bancă de date. Biții TXOUT și FIFOCON se modifică în funcție de starea noii bănci.


23.14. Controlul canalelor IN

Inițial, canalul trebuie configurat. Înainte ca gazda să solicite date de pe dispozitiv, programul trebuie să seteze modul de transfer IN folosind bitul INMODE:

  • INMODE = 0. Se ia în considerare registrul INRQX. Controlerul gazdă face o cerere de date (INRQX + 1) ori pe canalul selectat înainte de a opri canalul. Acest mod evită solicitările de date inutile prin canal.
  • INMODE = 1. Controlerul USB trimite continuu o cerere IN pentru date până când programul oprește canalul.

Cererea de date începe după ce bitul PFREEZE este șters. De fiecare dată când banca curentă este plină, sunt setați biții RXIN și FIFOCON. Programul poate confirma primirea întreruperii prin ștergerea bitului RXIN. Programul citește datele și șterge bitul FIFOCON pentru a elibera banca curentă. Dacă un canal IN constă din mai multe canale, ștergerea FIFOCON va trece la următoarea bancă. Biții RXIN și FIFOCON se modifică în funcție de starea noii bănci.

23.14.1. Eroare CRC(numai pentru canalele izocrone)

O eroare CRC poate apărea la primirea datelor dacă controlerul USB primește un pachet deteriorat. În această situație, apare o întrerupere STALLEDI / CRCERRI. Acest lucru nu împiedică apariția întreruperii RXINI.

Dispozitivul (modemul) care s-a stins cu adevărat. Uneori funcționează excelent, dar alteori refuză să se conecteze. Singura soluție pe care am găsit-o pentru a o remedia atunci când intră într-o stare proastă este să deconectați fizic dispozitivul și să îl conectați din nou. Cu toate acestea, nu am întotdeauna acces fizic la computerul la care este conectat, M caută o modalitate de a face acest lucru prin linia de comandă.

Acest articol presupune că rulează:

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

Cu toate acestea, primesc „opțiunea necunoscută -w”. Această comandă ușor modificată:

$ sudo modprobe -r usb_storage

Eroare la mesajul FATAL: modulul usb_storage utilizat. Dacă încerc să ucid -9 procese marcate înainte de a începe, acestea refuză să moară (cred că sunt puternic legate de nucleu).

Stie cineva cum sa faca asta?

NOTĂ. Am postat încrucișat acest lucru pe server deoarece nu știam care ar fi mai potrivit. Voi șterge și / sau voi contacta pe oricine va primi primul răspuns.

5 soluții colectează formularul web pentru „USB Hard Reset în Ubuntu 10.04”

Am Ubuntu 14.04.4. Nu am idee dacă acest lucru funcționează în 10.04. L-am testat pe Cyborg Rumble Pad (și un stick USB generic).

Imediat după conectarea dispozitivului:

Dmesg | grep usb | coada -n 20

Am (probabil apropo):

[2875.790610] usb 2-1.2: noul dispozitiv USB de mare viteză numărul 7 folosind ehci-pci [2875.887485] usb 2-1.2: nou dispozitiv USB găsit, idVendor = 0738, idProduct = cb02 [2875.887489] usb 2-1.2: nou USB șiruri de dispozitive: Mfr = 1, Product = 2, SerialNumber = 3 [2875.887490] usb 2-1.2: Produs: Cyborg Rumble Pad - PC / Xbox 360 [2875.887492] usb 2-1.2: Producător: Saitek [2875.887493] usb 2-1.2 : SerialNumber: 0CFE6B97

2-1.2 partea - linia 2-1.2. Identifică portul USB. Vestea bună este că nu ar trebui să se schimbe decât dacă conectez dispozitivul la un alt port, așa că trebuie să obțin șirul o singură dată.

Apoi mă duc la locul potrivit:

Cd / sys / bus / usb / drivers / usb

Și sună ca rădăcină(de exemplu sudo bash):

Ecoul 2-1.2> dezlegare; dormi 3; ecou 2-1.2> legare

Drept urmare, Rumble Pad-ul meu se reinitializează ca și cum ar fi pornit și oprit din nou. De asemenea, mi-am testat stick-ul USB. (LED-ul său) se comportă de parcă nu s-ar fi întâmplat nimic, dar KDE-ul meu reacționează și mă întreabă dacă vreau să montez.

Alimentarea dispozitivului tot timpul. Această metodă nu va funcționa dacă modemul dvs. este resetat din cauza întreruperii alimentării.

Căutați doar dispozitivul pe care doriți să îl aruncați (lsusb):

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

Și apoi:

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

De ce încercați să descărcați modulul usb_storage când dispozitivul dvs. este un modem USB?

Sudo lshw și găsiți intrarea pentru tethering-ul USB. Ar trebui să existe o configurație: linie de acest gen (driverul dvs. va fi diferit, evident):

Configurare: ... driver = iwlagn ...

Asigurați-vă că modulul este încărcat (înlocuind numele corect al driverului):

Lsmod | grep iwlagn

Apoi, faceți:

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

Îmi place să dorm acolo doar în cazul în care dispozitivul durează ceva timp să oprească alimentarea.

Aceasta este o soluție de „ieșire”, dar ar putea funcționa.

  • Obțineți un al doilea computer vechi, nu foarte puternic. Instalați Debian pe el. Instalați usbip pe ea.
  • Apoi instalați usbip pe serverul dvs.
  • Conectați modemul la al doilea computer. Configurați usbip pe ambele mașini astfel încât modemul conectat la al doilea computer să fie accesibil prin VHCI de pe server.
  • Configurați ssh pe al doilea computer sau alt mijloc înseamnă că puteți elimina și emite comenzi.
  • Când dispozitivul eșuează, conectați-vă și reporniți al doilea computer cu comanda de repornire și apoi când reveniți, reconectați-vă prin orice mijloace, usbip oferă usbip (nu am folosit niciodată usbip). Aceasta ar trebui să reseteze dispozitivul. Probabil ai putea scrie asta.

Cel mai simplu mod de a deconecta dispozitivele USB arbitrare de la Linie de comanda(adică cu ciclu de alimentare real la USB):

  1. Cumpărați hub USB 4 porturi DELOCK 87445 (google pentru )
  2. Acest hardware este compatibil cu hub-ctrl.c (google for ). Prin urmare, porturile arbitrare pot fi activate / dezactivate. Informații suplimentare vezi și la:.