Mám asi dva roky starý skener, jehož zprovoznění jsem zhruba popsal na abclinuxu.cz. Člověk zapomíná, mění distribuce, čímž se startovní podmínky stále mění. Takže tedy znovu, pořádně a polopatě. Co dělat se skenerem, když ho připojíte, a ono nic?
(Poznámka: používám Kubuntu.)
Nechtěl jsem nejprve řešit něco v příkazové řádce, protože jsem chtěl zjistit, jak to bude fungovat uživateli, který neví, jak na to. (Přesto se nejprve podívejte na poznámku na konci textu.) Jako první logický krok mi připadlo spuštění aplikace pro skenování, což je v Kubuntu a KDE obecně Kooka. Podle mého názoru se jedná o jednu z nejvyzrálejších aplikací, která má ten klad, že je univerzální – funguje pro všechny skenery. Takže jsem ji tedy spustil.
Zobrazila se plocha okna, zapátral jsem po něčem, co by mě navedlo k tomu, že je skener funkční. Nebyl:
S tím se dá počítat, protože k zařízením, jako je právě skener, je třeba firmware. Firmware je software, bez nějž zařízení obvykle nefunguje, je to jakýsi šém, bez nějž to nejde. Takže aplikace v Linuxu bez něj obvykle nefungují, protože výrobci hardwaru nedodávají programy přímo pro Linux. Proto se firmware použije z programu pro Windows, nicméně je nutné, aby linuxový program s firmwarem pracoval. Ne vždy je to ideální. Ale vývoj jde kupředu, mnoho dobrovolníků věnuje hodně času „rozkódování“ firmwaru.
Program, který umí použít firmware, je SANE (Scanner access now easy, tedy něco jako „Snadný přístup ke skeneru“). Proto je nutné nainstalovat nejprve ten. Pokud byste chtěli zjistit, zda ho máte v systému a vyzkoušeli to jeho spuštěním, asi nepochodíte.
Jednak ho pravděpodobně nainstalovaný nemáte, jednak to není program, který by měl spouštět uživatel, je to knihovna. Tj. jakýsi soubor (soubory), který je načten do paměti programem, jako je třeba Kooka. Ten pak používá funkce, které jsou v něm uloženy. Nic pro uživatele, to je věc programátorů.
Takže jak jej nainstalovat? Přece normálně, jako každý jiný program. Přes hlavní nabídku zvolte Přidat/odstranit programy, zadejte heslo a v programu Adept si vyhledejte řetězec „sane“ ve všech repozitářích.
Jak vidíte, nalezeno bylo pouze XSane, žádné sane zde není. To ale neznamená, že jej není možné nainstalovat. Spusťte tedy přes hlavní nabídku Systém/Manage packages (Adept Manager) Adept v jiném režimu. Uvidíte seznam balíčků nainstalovaných i nenainstalovaných. Opět zadejte do vyhledávací řádky „sane“. Objeví se seznam, v něm vyberte balíček, v jehož názvu je „sane“ a „sane-utils“, zaškrtnou se i další nezbytnosti. Pak již jen stačí stisknout ikonu Apply changes, proběhne stažení balíčků a aplikace se nainstaluje.
Poznámka: na obrázku jsou balíčky SANE už nainstalované.
Alternativa: v příkazovém řádku zadejte:
sudo apt-get install sane sane-utils
Po nainstalování spusťte znovu program Kooka. Dočkáte se pravděpodobně stejného stavu a stejné informace jako prve. Asi zkusíte spustit program XSane, který najdete ve stejné nabídce, a budete doufat, že ten vám pomůže.
Nepomůže, ohlásí chybu. Čím to? Je to tím, že stále nemáme onen firmware. Proto je čas vydat se na stránky SANE, jak nám Kooka radila.
Zde klikněte na odkaz Supported devices, tedy Podporovaná zařízení.
První odkaz je Scanner Search Engine, tedy „vyhledání skeneru“. Klikněte na něj. Zobrazí se formulář.
Zadejte do políček název výrobce a model svého skeneru. Poté stiskněte Search. Zobrazí se rozsáhlá tabulka, ve které najděte svůj model. Dá to možná chvilku práce.
Tabulka je členěna tak, že více modelů (v pravé částí) je zastřešováno jedním typem firmwaru, který je zobrazen vlevo (modrý rámeček). Až najdete svůj model, klikněte na odkaz vedoucí k firmwaru, v mém případě gt68xx. Tam je opět tabulka s podporovanými modely. Je to tím, že se jedná o samostatný projekt, který není součástí SANE, ačkoliv pomocí něj pracuje a bez něj asi nemá smysl. SANE totiž pochopitelně používá i jiné takové externí moduly. Zde tedy opět hledejte svůj model; až jej naleznete, v pravé části výpisu je soubor s firmwarem pro skener.
Poznámka nám také leccos napoví, zde stojí, že „Pracuje, ale pomalu“. Je to sice pravda, nicméně na funkčnosti to programu nijak neubírá. Stáhněte tedy soubor s firmwarem, v mém případě to byl A2Nfw.usb
. Co s ním dál? Instrukce se skrývají pod tabulkou v sekci Getting the firmware. Ve zkratce řečeno: získaný soubor se musí nakopírovat do adresáře na vašem systému, kde jej najde knihovna SANE. Ten adresář je /usr/share/sane/gt68xx/
. Abyste jej tam mohli nakopírovat, musíte mít superuživatelská práva, tedy chvíli pracovat jako uživatel root.
To lze udělat více způsoby, například následovně. Spusťte si Konsoli a zadejte sudo mc
. Po zadání hesla se spustí Midnight Commander. Pokud jej v systému nemáte a dočkáte se hlášky command not found
, hledejte v hlavní nabídce položku, která vám umožní pracovat jako root v (nějakém) správci souborů např. Krusaderu. Nebo si nainstalujte Midnight Commander podle návodu výše. Pak už zbývá soubor nakopírovat do výše zmíněného adresáře.
Už se blížíme ke konci. 🙂 Poslední může být test přítomnosti skeneru – není nutný, ale je praktický. Ukončete v terminálu MC, nebo si jej spusťte, pokud jste jej dosud nepoužili. V Konsoli zadejte příkaz scanimage -L
, výsledek by měl být podobný tomuto:
device `gt68xx:libusb:001:008' is a Mustek BearPaw 2448 TA Plus flatbed scanner
Teoreticky nic už nebrání použití skeneru. Samozřejmě se ujistěte, že je v zásuvce a že je připojen k USB portu. Skener sám se aktivuje v okamžiku, kdy spustíme ovládací program (ano, je to činnost firmwaru). Takže spusťte opět Kooka, měli byste vidět něco podobného:
A můžeme skenovat. 🙂
Připomínám ještě alternativní program, na který jsme už narazili: XSane. Je propracovanější a nabízí více možností než Kooka. Na druhou stranu je potřeba při práci s ním více přemýšlet, nastavit kontrast, jas, gama a další věci. Například se mi moc nedařilo naskenovat smysluplně negativ snímku.
Poznámka. Pro zjištění, zda systém skener vůbec vidí, lze použít program lsusb
. Výstup z něj vypadá nějak takto:
Bus 005 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 008: ID 055f:021a Mustek Systems, Inc. BearPaw 2448 TA Plus Bus 001 Device 007: ID 046d:c016 Logitech, Inc. M-UV69a Optical Wheel Mouse Bus 001 Device 001: ID 0000:0000
Pokud by tam skener nebyl, je zrada někde jinde a celý zde popsaný postup asi nebude fungovat. Je nejprve nutné skener „zviditelnit“ knihovně libusb, která obhospodařuje USB zařízení v systému. Není to zas tak triviální, pro normálního člověka neřešitelné, protože to prostě musí fungovat samo a hned. Například DVB-T „karta“, kterou jsem si koupil, zatím podporu v systému nemá, a proto ji ve výpisu lsusb
ani neuvidíme. Takže v Linuxu (zatím) nefunguje.