Jak odebrat staré ovladače zařízení USB z Windows? Jak zakázat nebo povolit porty USB v systému Windows Jak resetovat porty USB.

Dobré odpoledne, milí čtenáři blogu, dnes vám chci říci, jak odstranit data o USB flash disky v registru Windows. Tento článek je pokračováním článku. Všechny informace o jakékoli USB paměťové médium uloženo v systémový registr... Pokud je k počítači připojeno mnoho flash disků různé modely a výrobci, pak se v registru časem hromadí spousta odpadků. Výsledkem je, že proces identifikace a připojení nového zařízení začíná trvat značné množství času a zpomaluje systém.

Existuje pouze jedna cesta ven. Klíče registru, které ukládají data o zásuvných jednotkách flash a dalších jednotkách USB, musíte pravidelně čistit. Vymazání těchto sekcí urychlí připojení nových USB zařízení a fungování systému jako celku.

Čištění je třeba provést pomocí systémový program Regedit. Začíná to takto.
Start - Spustit - Regedit

Sekce registru, které ukládají data o jakémkoli disku USB, který byl kdy připojen k počítači - USB flash disky, externí pevné disky, fotoaparáty, telefony, flash přehrávače a další zařízení, která byla po připojení k počítači rozpoznána jako externí USB klíčenka... Zde lze odstranit všechny podsekce s předponou Disc.

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

Snímky obrazovky ukazují, že rozbočovače a pevné disky byly také připojeny prostřednictvím rozbočovače

Pokud to nechcete čistit ručně, pak existuje bezplatný software, například USB Oblivion. Spusťte obslužný program

Zaškrtněte políčko Proveďte skutečné čištění

Vidíme, že je vše dokončeno a mnoho záznamů bylo z registru odstraněno. Pojďme zkontrolovat registr. Pamatujte, že neexistuje žádná složka USBSTOR.

Podívejme se na sekvenci s programem USBDeview, vše je také čisté.

Zde jsou milí čtenáři, kde jsou uložena data o vašich flash discích, takže pokud je potřeba něco odstranit, začněte.

K rezervaci připojení k internetu používám 3G modem Huawei E173 připojeno k USB port router. Připojení přes něj je vždy v horkém pohotovostním režimu (k přepnutí na modem stačí resetovat výchozí trasu z hlavního připojení). Existuje však jeden problém - modem pravidelně „zamrzá“ a připojení se ztratí.

Restartování pppd obvykle stačí, ale včera modem přestal reagovat úplně. V protokolu se objevily zprávy, které se týkají problémů s hardwarem.

Xhci_hcd 0000: 02: 00.0: WARN Událost TRB pro slot 1 ep 4 bez fronty TD? xhci_hcd 0000: 02: 00.0: WARN Událost TRB pro slot 1 ep 4 bez fronty TD? xhci_hcd 0000: 02: 00.0: WARN Událost TRB pro slot 1 ep 4 bez fronty TD? xhci_hcd 0000: 02: 00.0: ERROR Přenosová událost TRB DMA ptr není součástí aktuálního TD xhci_hcd 0000: 02: 00.0: ERROR Přenosová událost TRB DMA ptr není součástí aktuálního TD xhci_hcd 0000: 02: 00.0: ERROR Přenosová událost TRB DMA ptr není část aktuálního TD
Restartování pppd nic nedalo, zdá se, že modem nereaguje na žádný příkaz.

24. dubna 10:02:11 inet chat: přerušení na (\ nBUSY \ r) 24. dubna 10:02:11 inet chat: abort on (\ nERROR \ r) 24. dubna 10:02:11 inet chat: abort on (\ nNO ODPOVĚĎ 24.04. inet chat: přerušení na (\ nRINGING \ r \ n \ r \ nRINGING \ r) 24. dubna 10:02:11 inet chat: odeslat ( ^ MAT ^ M) 24. dubna 10:02:11 chat inet: časový limit nastaven na 12 sekundy 24. dubna 10:02:11 inet chat: očekávat (OK) 24. dubna 10:02:23 inet chat: alarm 24. dubna 10:02:23 inet chat: Selhalo
Pokusy o reinicializaci modemu programově selhaly, protože jeho zařízení ( / dev / ttyUSB0) nereaguje na AT příkazy. Zbývá pouze odpojit a znovu připojit modem k portu. Nejprve jsem se ale rozhodl vyzkoušet metodu, se kterou jsem se nedávno setkal na internetu.

Chcete -li resetovat požadované USB sběrnice potřebujeme kompilovat binární soubor. Abych to neskládal znovu pokaždé a používal to téměř na jakémkoli stroji, budu to kompilovat staticky.

$ 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/ místní / sbin $ lsusb | grep Huawei Bus 001 Zařízení 002: ID 12d1: 1001 Huawei Technologies Co., Ltd. E169 / E620 / E800 HSDPA modem $ sudo usbreset / dev / bus / usb / 001/002 Chyba v ioctl: Žádné takové zařízení
Navzdory chybě v protokolu existují položky označující „restart“ modemu.

$ dmesg | ocas usb 1-6: Nový USB zařízenířetězce: Výrobci = 3, Výrobek = 2, Sériové číslo = 0 usb 1-6: Produkt: HUAWEI Mobile usb 1-6: Výrobce: HUAWEI Technology usb 1-6: konfigurace # 1 vybrána z 1 možnosti volby 1-6: 1,0: Převodník GSM modemu (1 port) detekován USB 1-6: Převodník GSM modemu (1 port) nyní připojen k ttyUSB0 možnost 1-6: 1,1: Převodník GSM modemu (1 port) detekován usb 1-6: GSM modem ( 1-portový převodník nyní připojen k ttyUSB1 možnost 1-6: 1.2: Převodník GSM modemu (1-portový) detekován usb 1-6: převodník GSM modemu (1-portový) nyní připojen k ttyUSB2
Zkusme se k němu připojit a spustit několik AT příkazů.

Program může resetovat kanál pomocí registru pro reset kanálu. Konfigurace kanálu a značka dat zůstávají beze změny. Do původního stavu se vrátí pouze banky a stavové bity.

Pro plný reset program by měl kanál zakázat a poté kanál povolit.

23.11. Přístup k datům kanálu

Pro zápis nebo čtení z kanálu FIFO musí CPU vybrat číslo kanálu pomocí registru UPNUM a zapsat nebo přečíst data z registru UPDATX.

23.12. Organizace řídicího kanálu

Předřadník se skládá ze tří fází:

  • ZALOŽIT,
  • data (IN nebo OUT),
  • stav (OUT nebo IN).

Software musí po každé fázi změnit značku. Zpočátku jsou datové značky nastaveny následovně (pouze pro řídicí kanály):

  • NASTAVENÍ: Data0,
  • OUT: Data1,
  • IN: Data1 (čeká na změnu značky dat).

23,13. Ovládání výstupních kanálů

Zpočátku musí být kanál nakonfigurován a nesmí být zastaven. Poznámka: pokud software přepne do režimu pozastavení (reset SOFEN), i když je banka připravena k odeslání, USB ovladač automaticky ukončí pozastavení a banka bude odeslána.

Bit TXOUT je hardwarově nastaven při uvolnění aktuální banky. Pokud je nastaven bit TXOUTE, dojde k přerušení. Bit FIFOCON se nastavuje současně. CPU zapisuje data do FIFO a vymaže bit FIFOCON, aby mohl řadič USB odesílat data. Pokud se kanál OUT skládá z několika bank, přepne se také na další banku dat. Bity TXOUT a FIFOCON se mění podle stavu nové banky.


23,14. Ovládání IN kanálů

Zpočátku musí být kanál nakonfigurován. Předtím, než hostitel požaduje data ze zařízení, musí program nastavit přenosový režim IN pomocí bitu INMODE:

  • INMODE = 0. Bere se v úvahu registr INRQX. Před zastavením kanálu hostitelský řadič provede žádost o data (INRQX + 1) krát na vybraný kanál. Tento režim se vyhýbá zbytečným požadavkům na data prostřednictvím kanálu.
  • INMODE = 1. USB řadič nepřetržitě odesílá IN požadavek na data, dokud program kanál nezastaví.

Požadavek na data začíná po vymazání bitu PFREEZE. Pokaždé, když je aktuální banka plná, nastaví se bity RXIN a FIFOCON. Program může potvrdit přijetí přerušení vymazáním bitu RXIN. Program načte data a vymaže bit FIFOCON, aby uvolnil aktuální banku. Pokud se IN kanál skládá z více kanálů, vymazáním FIFOCON se přepnete na další banku. Bity RXIN a FIFOCON se mění podle stavu nové banky.

23.14.1. Chyba CRC(pouze pro isochronní kanály)

Při přijímání dat může dojít k chybě CRC, pokud řadič USB obdrží poškozený paket. V této situaci dojde k přerušení STALLEDI / CRCERRI. To nezabrání tomu, aby došlo k přerušení RXINI.

Zařízení (modem), které opravdu zhaslo. Někdy to funguje dobře, ale jindy se odmítá připojit. Jediné řešení, které jsem našel, jak jej opravit, když se dostane do špatného stavu, je fyzicky odpojit zařízení a znovu jej zapojit. Ne vždy to však mám fyzický přístup k počítači, ke kterému je připojen, M hledá způsob, jak to provést prostřednictvím příkazového řádku.

Tento článek předpokládá spuštění:

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

Zobrazuje se mi však „neznámá volba -w“. Tento mírně upravený příkaz:

$ sudo modprobe -r usb_storage

Chyba se zprávou FATAL: modul usb_storage se používá. Pokud se pokusím zabít -9 procesů označených před spuštěním, odmítnou zemřít (myslím, protože jsou silně vázány na jádro).

Ví někdo, jak to udělat?

POZNÁMKA. Zveřejnil jsem to na serveru, protože jsem nevěděl, co by bylo vhodnější. Kdokoli dostane odpověď, odstraním a / nebo kontaktuji.

5 řešení shromažďuje web pro „USB Hard Reset v Ubuntu 10.04“

Mám Ubuntu 14.04.4. Nemám tušení, zda to funguje v 10.04. Testoval jsem to na Cyborg Rumble Pad (a generickém USB flash disku).

Ihned po připojení zařízení:

Dmesg | grep usb | ocas -n 20

Chápu (možná mimochodem):

[2875.790610] usb 2-1.2: nové zařízení USB s vysokou rychlostí číslo 7 pomocí ehci-pci [2875.887485] usb 2-1.2: Bylo nalezeno nové zařízení USB, idVendor = 0738, idProduct = cb02 [2875.887489] usb 2-1.2: Nové USB řetězce zařízení: Výrobci = 1, Produkt = 2, Sériové číslo = 3 [2875.887490] usb 2-1.2: Produkt: Cyborg Rumble Pad-PC / Xbox 360 [2875.887492] usb 2-1.2: Výrobce: Saitek [2875.887493] usb 2-1.2 : Sériové číslo: 0CFE6B97

2-1.2 část-řádek 2-1.2. Identifikuje port USB. Dobrou zprávou je, že by se to nemělo měnit, pokud nepřipojím zařízení k jinému portu, takže řetězec potřebuji získat pouze jednou.

Pak jdu na správné místo:

CD / sys / bus / usb / ovladače / usb

A zavolej jako root(například sudo bash):

Echo 2-1.2> zrušit vazbu; spát 3; echo 2-1.2> svázat

Výsledkem je, že se můj Rumble Pad znovu inicializuje, jako by byl znovu zapnutý a vypnutý. Také jsem otestoval svůj USB klíč. Chová se, jako by se nic nestalo, ale moje KDE reaguje a ptá se, jestli se chci připojit.

Napájení zařízení po celou dobu. Tato metoda nebude fungovat, pokud je váš modem resetován z důvodu výpadku napájení.

Právě hledáte zařízení, které chcete vypsat (lsusb):

# lsusb Bus 005 Zařízení 004: ID 0951: 1642 Kingston Technology DT101 G2

A pak:

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

Proč se pokoušíte uvolnit modul usb_storage, když je vaším zařízením USB modem?

Sudo lshw a najděte položku pro vaše tethering přes USB. Měla by existovat takováto konfigurace: řádek (váš ovladač se samozřejmě bude lišit):

Konfigurace: ... driver = iwlagn ...

Ujistěte se, že je modul načten (nahrazením správného názvu ovladače):

Lsmod | grep iwlagn

Pak stačí udělat:

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

Rád tam spím pro případ, že by zařízení chvíli trvalo vypnout napájení.

Toto je řešení „východiska“, ale může fungovat.

  • Pořiďte si druhý, starý, nepříliš výkonný počítač. Nainstalujte na něj Debian. Nainstalujte na něj usbip.
  • Poté nainstalujte usbip na svůj server.
  • Připojte modem k druhému počítači. Konfigurujte usbip na obou počítačích tak, aby modem připojený k druhému počítači byl přístupný přes VHCI ze serveru.
  • Nastavte ssh na druhém počítači nebo jiným způsobem, který můžete odebrat a zadávat příkazy.
  • Když zařízení selže, přihlaste se a restartujte druhý počítač pomocí příkazu restartovat, a pak, když se vrátí, znovu připojte jakýmkoli způsobem, usbip poskytuje usbip (nikdy jsem nepoužíval usbip). Tím by se mělo zařízení resetovat. Tohle bys asi mohl napsat.

Nejjednodušší způsob, jak odpojit libovolná zařízení USB od příkazový řádek(tj. s reálným cyklem napájení na USB):

  1. Koupit 4-portový rozbočovač USB DELOCK 87445 (Google pro )
  2. Tento hardware je kompatibilní s hub-ctrl.c (google for ). Libovolné porty lze proto povolit / zakázat. Dodatečné informace viz také na :.