Nem támogatott scanner használata Windows alatt

Még a 2000-es években vásároltam használtan egy Canon CanoScan Lide 20 scannert, amit jó ideig probléma nélkül használtam Windowsban. (Annak ellenére, hogy átvételkor az eladó leejtette a földre. 🙂 ) Sajnos a Windows 10 óta már nincs elérhető illesztőprogram hozzá (legalábbis ingyen), ezért kénytelen voltam egy ideig Ubuntu Linux alól használni, mert nem voltam hajlandó egy teljesen jól működő eszközt kidobni, mert a gyártó már nem támogatja. A továbbiakban leírom, hogyan lehet működésre bírni Windows alól is, hogy ne legyen szükségünk egy külön Linux rendszerre.

Telepítés

A következő programokra lesz szükségünk:

  • WSL2 (Windows Subsystem for Linux)
  • Docker Desktop

Első lépésként engedélyezzük a WSL2-t a rendszerben, ha ez még nem történt meg korábban.

A Start menüben írjuk be, hogy „Turn Windows features on or off”, ami hatására megnyílik a Windows Features ablak.

Turn Windows features on or off a Start Menüben
WSL opció a Windows Features ablakban

Miután engedélyeztük a Windows Subsystem for Linux opciót, terminálból fel kell telepíteni magát a WSL-t. Én az Ubuntu disztribúciót választottam.

#WSL disztribúciók listázása
wsl --list --online

#Ubuntu telepítése
wsl --install -d Ubuntu-22.04

Ezután telepítsük fel a Docker Desktop-ot és állítsuk be a beállítások között, hogy a WSL2-ben fussanak a konténereink.

Ha már fut a WSL2 és a Docker is, hozzunk létre egy Docker Compose projektet (docker-compose.yml).

services:
  scanservjs:
    image: sbs20/scanservjs:latest
    container_name: scanserv
    privileged: true
    restart: unless-stopped
    ports:
      - 9092:8080    
    volumes:
      - /var/run/dbus:/var/run/dbus      

A scanservjs nevű Docker image használatával egy böngészőben futó, sok funkcióval rendelkező szkenner alkalmazást kapunk, ami a http://localhost:9092-es címen lesz elérhető.

böngészőben futó scanner alkalmazás

Még sajnos egy lépés hiányzik a scanner használatához, ehhez elérhetővé kell tennünk a scannert a WSL2 számára.

USB eszközök engedélyezése

Az USB eszközök eléréséhez fel kell telepítenünk az usbipd-win nevű alkalmazást. Letölthetjük a Githubról (https://github.com/dorssel/usbipd-win/releases) vagy a winget segítségével. én utóbbit használtam:

winget install --interactive --exact dorssel.usbipd-win

Ha megvan, futtassuk a WSL terminálon a következő parancsot:

sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20

Ezután indítsunk el egy Windows terminált adminisztrátor módban, ahol le tudjuk kérdezni a USB eszközök azonosítóját:

usbipd wsl list
A rendszerben elérhető USB eszközök listája

A scannert fel lehet csatolni a WSL-hez a BUSID vagy a VID:PID segítségével is, én inkább a másodikat használom, mivel ez állandó, nem változik.

usbipd wsl attach -i 04a9:220d

Hogy ezt egyszerűen meg tudjam tenni, létrehoztam egy batch fájlt, amit adminisztrátor módban futtatva felcsatolhatom az eszközt. Ha ez megtörtént, újraindítva a Docker konténert máris működik a scanner.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük