Obsah

Řešení problémů/USB

Zde najdete obecné rady pro případ, kdy nemůžete zprovoznit zařízení připojené přes USB.

Diagnostika

Detekci připojení a obousměrnou komunikaci mezi operačním systémem a zařízením má na starosti kernel (jádro systému). Pokud chceme o zařízení zjistit více, podíváme se na informace, které máme od kernelu k dispozici.

Co budete potřebovat

Systémové záznamy (logy)

Všechny důležité informace najdete v souboru /var/log/syslog, nebo v terminálu použijte příkaz dmesg. Pokud chcete grafickou aplikaci, spusťte Prohlížeč systémových protokolů.

Další informace o záznamech najdete na Sledování systému.

Výpis všech zařízení pomocí lsusb

Příkaz lsusb zadaný v terminálu vypíše všechny USB porty a připojená zařízení.

Jak na to

Pokud je USB zařízení zasunuto v USB portu, vytáhněte ho.
Po chvíli znovu zasuňte.
Počkejte několik sekund, aby mohl kernel zařízení zaregistrovat.
Otevřete Terminál a podívejte se na výstup příkazů lsusb a dmesg | tail.

Podívejte se na výstup příkazu lsusb: je tam zařízení vidět?

$ lsusb
Bus 005 Device 002: ID 03f0:2f11 Hewlett-Packard PSC 1200
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 045e:00dd Microsoft Corp. Comfort Curve Keyboard 2000 V1.0
...
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Např. zde ve výpise jsou vidět 2 připojená zařízení

Zkontrolujte posledních 10-20 řádků systémového záznamu: co k připojení říká kernel?

$ dmesg | tail
...
[ 9816.125887] EXT4-fs (sda1): bad geometry: block count 66264100 exceeds size of device (66263852 blocks)

Řešení

Zařízení není vidět ani v lsusb, ani v logu

Je zařízení podporováno?

Z výstupu lsusb zkopírujte identifikační čísla (např. 03f0:2f11) nebo název (Hewlett-Packard PSC 1200). Zadejte je do fóra nebo do vyhledávače (Google) a podívejte se, jestli je zařízení podporováno, nebo jestli měl někdo podobný problém.

Jsou v logu zaznamenány chyby?

Vyhledejte znění chybového hlášení na internetu: možná se už problém podařilo někomu vyřešit.

Příklad: do Googlu text

ubuntu "bad geometry: block count"

Zeptejte se na fóru Ubuntu

Snažte se uvést co nejvíce informací, hlavně

Technické detaily

lsusb

Příkaz lsusb prohlédne všechny soubory zařízení (device/special file) vytvořené kernelem v adresáři /dev/bus/usb. Pak stáhne základní informace ze zařízení. Nemusí se jednat jen o identifikační čísla, všechny informace je možné zobrazit pomocí

lsusb -v

Popis zařízení (výrobce + název) si najde podle identifikačních čísel v tabulce v souboru /var/lib/usbutils/usb.ids. Pokud v tabulce nějaký údaj chybí, ve výpise lsusb se objeví jen identifikační čísla.

dmesg | tail

Příkaz dmesg zobrazuje hlášení kernelu, příkazem tail vyfiltrujeme posledních 10 řádků. Pokud jich chceme více, připojíme za tail počet řádků (zde 20):

dmesg | tail -20