řešení_problémů:usb

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

řešení_problémů:usb [2012/07/28 07:42] – vytvořeno ubuntuřešení_problémů:usb [2019/02/25 17:21] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== Řešení problémů/USB ======
 +{{:usbpendrive.png}} {{:printer.png}} {{:disk.png}} {{:camera.png}}
  
 +Zde najdete **obecné** rady pro případ, kdy nemůžete zprovoznit zařízení připojené přes USB.
 +
 +====== Diagnostika ======
 +{{:info.png}}
 +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ál|terminálu]] použijte příkaz ''dmesg''. Pokud chcete grafickou aplikaci, spusťte **Prohlížeč systémových protokolů**.
 +
 +{{ .:logs_gui.png?500 }}
 +
 +{{:info.png}} 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ál|terminálu]] vypíše všechny USB porty a připojená zařízení.
 +
 +{{ .:lsusb_gnome-terminal.png?500 }}
 +
 +===== 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**.|
 +
 +{{:example.png}}
 +
 +Podívejte se na výstup příkazu ''lsusb'': je tam zařízení vidět?
 +<code>
 +$ 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
 +</code>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'')
 +
 +{{:example.png}}
 +
 +Zkontrolujte posledních 10-20 řádků systémového záznamu: co k připojení říká kernel?
 +<code>
 +$ dmesg | tail
 +...
 +[ 9816.125887] EXT4-fs (sda1): bad geometry: block count 66264100 exceeds size of device (66263852 blocks)
 +</code>
 +====== Řešení ======
 +===== Zařízení není vidět ani v lsusb, ani v logu =====
 +  * 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.
 +
 +===== 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
 +<code>
 +ubuntu "bad geometry: block count"
 +</code>
 +===== Zeptejte se na fóru Ubuntu =====
 +{{:ubuntu-logo.png}}
 +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 [[http://paste.ubuntu.com/|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 ======
 +
 +===== 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í
 +<code>
 +lsusb -v
 +</code>
 +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):
 +<code>
 +dmesg | tail -20
 +</code>