Pokud USB disk, externí pevný disk nebo sériový adaptér přestane v systému Linux reagovat, první věc, kterou musíte udělat, je nerestartovat počítač. Nejprve byste měli zkontrolovat, zda je zařízení rozpoznáno jádrem, sběrnicí USB a poté systémem.
K tomu stačí jen pár příkazů: lsusb, lsusb -t, dmesg A journalctl -kNe všechny vyprávějí stejný příběh. Pokud je použijete ve správném pořadí, můžete rychle ušetřit čas na neznámém zařízení.
Začněte tím, že si vypíšete USB zařízení
Nejjednodušší příkaz je lsusbZobrazuje zařízení detekovaná na sběrnicích USB:
lsusb
Dostanete řádky jako je tento:
Sběrnice 002 Zařízení 003: ID 0781:5581 SanDisk Corp. Ultra
Sběrnice 001 Zařízení 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Důležitou součástí je často identifikátor. prodejce: produkt, Například 0781:5581I když Linux nenačetl správný ovladač nebo nepřipojil disk, tento identifikátor již dokazuje, že zařízení reaguje na sběrnici USB.
Pokud příkaz neexistuje, nainstalujte balíček usbutils :
aktualizace sudo apt
sudo apt install usbutils
Na jiných distribucích název balíčku často zůstává usbutilsManuálovou stránku lsusb(8) podrobně popisuje užitečné možnosti.
Zobrazení stromu adresářů pomocí lsusb -t
lsusb vám řekne, co bylo detekováno. lsusb -t ukazuje, jak je to trendy:
lsusb -t
Toto zobrazení je velmi užitečné u USB rozbočovačů, dokovacích stanic a portů na předním panelu. Příklad:
/: Sběrnice 02. Port 1: Vývoj 1, Třída=root_hub, Ovladač=xhci_hcd/4p, 5000M
|__ Port 2: Vývoj 3, Pokud 0, Třída=Velkokapacitní úložiště, Ovladač=USB-úložiště, 5000M
Zde vidíme paměťové zařízení USB v 5000 milionů, proto používáte USB 3.x. Pokud se v seznamu zobrazí rychlý disk 480 milionůMůže být připojen k portu USB 2.0, pomocí omezeného kabelu nebo za rozbočovačem, který omezuje rychlost.
Podívejte se také na sloupek ŘidičPokud je prázdný nebo neočekávaný, zařízení je viditelné, ale ovladač nemusí být nutně načten podle očekávání.
Sledujte, co se děje v bodě připojení
Pro správnou diagnostiku problému otevřete terminál, spusťte monitorování jádra a poté připojte zařízení:
sudo dmesg -w
Můžete také použít journalctl Pokud vaše distribuce centralizuje logy pomocí systemd:
sudo journalctl -k -f
V bodě spojení byste měli vidět čáry, které odkazují na usb, nové vysokorychlostní USB zařízení, USB úložiště, ttyUSB Nebo sdX v závislosti na vybavení. Často je to vypovídající víc než lsusb sám, protože chyby se objevují přesně v okamžiku připojení.
Chcete-li si znovu přečíst nejnovější zprávy, aniž byste museli sledovat aktuální informace:
sudo dmesg | ocas -80
sudo journalctl -k -n 80 --no-pager
Pokud se chcete hlouběji ponořit do čtení protokolů při spuštění nebo po incidentu, podrobně jsem tuto metodu popsal v průvodci na… journalctl a protokoly posledního spuštění Linuxu.
Identifikace USB disku, který se nepřipojuje
USB disk může být detekován, ale nemusí být automaticky připojen. V takovém případě zkontrolujte úložné bloky:
lsblk -o NÁZEV,VELIKOST,TYPFS,ŠTÍTEK,PŘIPOJOVACÍBODY,MODEL
sudo blkid
Pokud se disk objeví v lsblkProblém není v USB portu. Musíte zkontrolovat souborový systém, oprávnění, automatické připojení nebo chyby oddílů. Pokud se v lsblk, vraťte se do protokolů jádra.
Na podezřelém USB disku se nepokoušejte o okamžitou opravu. Nejprve si přečtěte zprávy:
Řádky s resetování vysokorychlostního USB zařízení, Chyba I/O Nebo čtení deskriptoru zařízení Poukazují spíše na nestabilní kabel, krabici, napájecí zdroj nebo periferní zařízení.
Identifikace sériového, síťového nebo Bluetooth adaptéru
V případě adaptéru USB na sériový port hledejte periferní zařízení ttyUSB Nebo ttyACM :
ls -l /dev/ttyUSB* /dev/ttyACM* 2>/dev/null
sudo dmesg | grep -Ei 'ttyUSB|ttyACM|ch341|cp210|ftdi'
Pro síťový adaptér USB zkombinujte lsusb se síťovým rozhraním:
ip odkaz
Stav zařízení nmcli 2>/dev/null
Pokud adaptér vidí lsusb ale ne dovnitř ip odkazPravděpodobně se jedná o problém s ovladačem nebo firmwarem. V tomto případě si před hledáním řešení poznamenejte přesný identifikátor USB. 0bda:8153 Linux je mnohem efektivnější než pouhé hledání „USB ethernetový adaptér“.
Rychlá oprava, když USB zařízení nereaguje
Když potřebuji rychle stanovit diagnózu, používám tuto sekvenci:
lsusb
lsusb -t
sudo journalctl -k -f
Dále zařízení odpojím a znovu připojím. Pokud se v protokolech nic nezmění, otestuji jiný port, kabel nebo napájecí zdroj. Pokud protokoly ukazují aktivitu, ale zařízení je stále nepoužitelné, zkontroluji ovladač a úložiště. lsblknebo rozhraní vytvořené v /dev.
Není to zázračné řešení, ale vyhne se tak všem směrům. Nejdříve USB sběrnice, pak protokoly jádra a teprve potom připojení, ovladač nebo aplikace, která potřebuje hardware používat.
Toto je třeba ověřit před závěrem, že port je nefunkční.
Než začnete vinit USB port, proveďte alespoň test:
- další kabel, zejména pro externí disky a chytré telefony;
- port přímo na počítači, bez rozbočovače;
- další zařízení na stejném portu;
- zprávy
dmesgNebojournalctl -kv době připojení; - napájecí zdroj zařízení, pokud se jedná o 2,5palcový disk, pouzdro nebo dokovací stanici.
Li lsusb Pokud je zařízení detekováno na jednom portu, ale na jiném ne, máte již hardwarový signál. Pokud jej žádný port nedetekuje, otestujte ho na jiném počítači před úpravou konfigurace Linuxu.
Pro příkazy související s protokoly, odkazy dmesg(1) A journalctl(1) zůstávají užitečné, když chcete zkontrolovat konkrétní možnost.