řešení_problémů:usb

Ř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.

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.

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

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í

  • sběrnice 5, zař. 2: tiskárna Hewlett-Packard PSC 1200 (identifikační číslo výrobce: 03f0, id. číslo přístroje: 2f11)
  • sběrnice 4, zař. 2: klávesnice Microsoft Corp. Comfort Curve (identifikační číslo výrobce: 045e, id. číslo přístroje: 00dd)

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í

  • Zkuste výše uvedený postup znovu :)
  • Vyzkoušejte jiný USB port. Nepoužívejte rozbočovač apod.
  • Zkontrolujte funkčnost zařízení na jiném počítači/systému.

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.

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"

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

  • podrobný popis problému a přesný přepis chybového hlášení (případně snímek obrazovky, třeba i z foťáku)
  • co jste všechno už zkoušeli při řešení problému
  • informace k systému (hardware, distribuce, vydání)
  • co jste dělali předtím, než k problému došlo
  • přidejte výstup z příkazů lsusb a dmesg | tail
  • případně připojte další relevantní logy (pokud jsou dlouhé, tak radši jako přílohu, nebo je nahrajte na Ubuntu pastebin)
  • … a pokud se vám podaří problém nakonec vyřešit, nezapomeňte se pak na fóru pochlubit jak…

Technické detaily

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.

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
  • Poslední úprava: 2019/02/25 18:21
  • (upraveno mimo DokuWiki)