User:Quellen

From ArchWiki

Category:Imaging (Italiano) <-- Riabilita categoria

Sane fornisce una libreria e uno strumento da riga di comando per utilizzare gli scanner sotto GNU/Linux. Qua è possibili verificare se il vostro scanner è supportato.

Installazione

Installa sane dagli official repositories.

Configurazione

Prima di tutto si può provare a vedere se SANE riconosce lo scanner

$ scanimage -L

Se non funziona, controllare che lo scanner sia collegato al computer. Potrebbe anche essere necessario scollegare/collegare lo scanner per /etc/udev/rules.d/sane.rules riconoscere lo scanner.

Dopodiché è possibile verificare se funziona effettivamente

$ scanimage --format=tiff > test.tiff

Se la scansione non riesce e appare il messaggio scanimage: sane_start: Invalid argument ypuò essere necessario specificare il dispositivo.

$ scanimage -L
device `v4l:/dev/video0' is a Noname Video WebCam virtual device
device `pixma:04A91749_247936' is a CANON Canon PIXMA MG5200 multi-function peripheral

Allora si dovrebbe eseguire:

$ scanimage --device pixma:04A91749_247936 --format=tiff > test.tiff

Per dispositivi Acer/BenQ

Se si possiede uno scanner USB Acer (ora BenQ), è necessario scaricare un apposito binario del firmware e configurare /etc/sane.d/snapscan.conf.

  • Scoprire quale modello si possiede e prendere nota dell'ID USB:
$ lsusb
Bus 002 Device 010: ID 04a5:20b0 Acer Peripherals Inc. (now BenQ Corp.) S2W 3300U/4300U
  • Andare sul sito snapscan e vedere se lo scanner è supportato e di che firmware si ha bisogno (ad esempio , u176v046.bin).
  • Cercare l'immagine del firmware su internet e scaricarlo nella cartella /usr/share/sane/snapscan/.
  • Modificare l'inizio di /etc/sane.d/snapscan.conf e configurare le seguenti due righe:
firmware /usr/share/sane/snapscan/u176v046.bin
/dev/usb/scanner0 bus=usb

Per dispositivi HP

Per l'hardware HP potrebbe anche essere necessario installare hplip fagli official repositories (vedere hplib supported devices) e/o hpojAUR da AUR (vedere hpoj supported devices).

  • Rimuovere il commento o aggiungere hpaio e hpoj in una nuova riga su /etc/sane.d/dll.conf.
  • Eseguire hp-setup da root può aiutarvi ad aggiungere il dispositivo.
  • hp-plugin è lHPLIP Plugin Download and Install Utility'.
  • hp-scan è lHPLIP Scan Utility'.

Per Hewlett-Packard OfficeJet, PSC, LaserJet, e stampanti multifuzione PhotoSmart, esguire ptal-init setup da root è seguire le istruzioni. Quindi avviare il demone ptal-init daemon.

Per dispositivi Brother

Per installare uno scanner Brother è necessario il driver giusto (si può trovare su AUR). Ci sono solo quattro drivers tra cui scegliere (brscan1-4). Al fine di trovare quello giusto si dovrebbe cercare il proprio modello su brother linux scanner page.

Dopo aver installato il driver è necessario eseguire (es. setupSaneScan2 per dispositivi brscan2 compatibili):

# /usr/local/Brother/sane/setupSaneScan2 -i

in modo che il driver/scanner siano riconosciuti da SANE.

Per scanner di rete, Brother fornisce uno strumento di configurazione diverso per ogni versione di brscan (es. brsaneconfig2 per brscan2 e compatibili):

# brsaneconfig2 -a name=<ScannerName> model=<ScannerModel> ip=<ScannerIP>

Example:

# brsaneconfig2 -a name=SCANNER_DCP770CW model=DCP-770CW ip=192.168.0.110

Per dispostivi Epson

Per scanner di rete (inclusa-Fi), è possibile usare "Image Scan! for Linux".

Installare iscanAUR e iscan-plugin-networkAUR da AUR, ed editare /etc/sane.d/epkowa.conf aggiungendo la linea:

net {IP_OF_SCANNER}

Pers dispositivi Samsung

Per alcune stampanti Samsung MFP potrebbe essere necessario modificare /etc/sane.d/xerox_mfp.conf.

Esempio:

#Samsung SCX-3200
usb 0x04e8 0x3441

Cambiare il modello della stampante, se necessario. È possibile ottenere il codice idVendor e idProduct con lsusb. Vedere questo topic.

Quando si collega una stampante/scanner USB2 ad una interfaccia USB3 vi è attualmente un bug nel codice del kernel xHCI che causa il blocco del processo xsane quando è collegato lo scanner. Nel caso di una stampante Samsung multifunzione avente un ethernet o interfaccia wireless allora è possibile accedere allo scanner sulla rete invece dell'interfaccia USB aggiungendo in una riga al file /etc/sane.d/xerox_mfp.conf come questa:

#Samsung scx4500w wireless ip network address
tcp xx.xx.xx.xx

Dove xx.xx.xx.xx l'indirizzo ip statico della stampante.

Poi, quando si avvia xsane è possibile scegliere l' opzione di accesso tcp rete al posto della linea usb, e lo scanner sarà accessibile tramite la rete anziché la porta usb per evitare gli attuali problemi con USB3.

Per scanner plustek

Alcuni scanner Plustek (come i CanoScan) , richiedono una directory di blocco. Assicurarsi che in /var/lock esista la cartella /sane , che i permessi siano 660, e che sia di proprietà dell'utente" scanner. Se le autorizzazioni per la directory sono sbagliate, solo l'utente root sarà in grado di utilizzare lo scanner. Sembra (almeno su x86-64) che alcuni programmi che usano libusb (tipo xsane e kooka) hanno bisogno di permessi di rw al gruppo scanner anche per l'accesso a /proc/bus/usb per lavorare come utente normale.

Per scanner microtek

Alcuni scanner MICROTEK richiedono il modulo sg, che dovrebbe essere caricato automaticamente. Se non viene caricato dal sistema, provare a caricarlo manualmente (vedere Kernel modules#Configuration per dettagli).

Controllare se lo scanner viene riconosciuto , si dovrebbe ottenere il seguente output:

scanimage -L
device `microtek2:/dev/sg5' is a Microtek Phantom 636cx / C6 flatbed scanner

Firmware

Note: Questa sezione è necessaria solo se avete bisogno di aggiornare il firmware dello scanner.

Solitamente i firmware hanno estensione .bin

In primo luogo è necessario mettere il firmware in un posto sicuro, si consiglia di metterlo in una sottodirectory di /usr/share/sane.

Allora sarà necessario dire a SANE dove si trova il firmware:

  • Trovare il nome del backend per il proprio scanner da sane supported devices list.
  • Aprire il file /etc/sane.d/<backend-name>.conf.
  • Assicurarsi che la voce firmware non sia commentata(#) e inserire il percorso in cui si trova il firmware. Assicurarsi che i membri del gruppo scanner abbiano accesso al file /etc/sane.d/<backend-name>.conf.

Se il backend del vostro scanner non fa parte del pacchetto sane (come hpaio.conf che fa parte di hplip), è necessario togliere il commento alla voce corrispondente in /etc/sane.d/dll.d

Installare un frontend

Esistono molti frontend per SANE, un elenco non esaustivo può essere trovato su sane-project website. Un altro modo per trovarli è quello di utilizzare la funzione cerca di pacman con parole tipo "sane" or "scanner":

$ pacman -Ss sane
  • gscan2pdf — Una GUI basata su GTK2 per produrre file PDF, TIFF o DjVus da documenti acquisiti. È inoltre in grado di applicare OCR nel processo utilizzando diversi motori . Dipende da alcuni pacchetti Perl per funzionare, alcuni dei quali si trovano su AUR.
http://gscan2pdf.sourceforge.net/ || gscan2pdfAUR
  • Simple Scan — Una GUI semplificata che è destinato ad essere più facile da usare e meglio integrate di Xsane nel desktop GNOME. Inizialmente è stata scritta per Ubuntu ed è mantenuta da Robert Ancell di Canonical Ltd. per GNU/Linux.
http://launchpad.net/simple-scan || simple-scan
  • XSane — Un frontend GTK-based full-optional, un po' vecchio ma con ampie funzionalità.
http://www.xsane.org/ || xsane
Note: Scansionare direttamente in PDF utilizzando XSane in modalità colore 16 bit produrrà un file corrotto, una nota su pacman avverte di questo bug. La modalità 8bit invece sembra funzionare.

Network scanning

Condivisione dello scanner su una rete

You can share your scanner with other hosts on your network who use sane, xsane or xsane-enabled Gimp. To set up the server, first indicate which hosts on your network are allowed access.

Change the /etc/sane.d/saned.conf file to your liking, for example:

# required
localhost
# allow local subnet
192.168.0.0/24

Insert the nf_conntrack_sane module for iptables to let the firewall track saned connections.

Scanning requests are handled by saned. This can be run as a daemon with saned -a or run when needed by xinetd:

Configuring xinetd for sane

Install xinetd from the official repositories.

Next, make sure the file /etc/xinetd.d/sane exists and disabled is set to no:

service sane-port
{
   port        = 6566
   socket_type = stream
   wait        = no
   user        = nobody
   group       = scanner
   server      = /usr/bin/saned
   disable     = no
}

The user named ('nobody' in the file included in the sane package) must usually be a member of the scanner group to have permission to access the scanner:

# usermod -a -G scanner nobody

For some HP combined scanner-printers the user must be a member of the lp group instead, which should also be used instead of scanner in the service file.

Add the following line to /etc/services if it is not already present:

sane-port 6566/tcp

Start the xinetd daemon.

Your scanner can now be used by other workstations, across your local area network.

Accessing Your Scanner from a Remote Workstation

You can access your network-enabled scanner from a remote Arch Linux workstation.

To set up your workstation, begin by installing xsane from the official repositories.

Next, specify the server's host name or IP address in the /etc/sane.d/net.conf file:

# static IP address
192.168.0.1
# or host name
stratus

Now test your workstation's connection, from a non-root login prompt:

$ xsane

or

$ scanimage -L

After a short while, xsane should find your remote scanner and present you with the usual windows, ready for network scanning delight!

For HP All in one network printer/scanner/fax you need to configure it via:

$ hp-setup <printer ip>

Scanning over the network with Canon Pixma all-in-one printer/scanners

Find out your printer/scanner's IP address, and add it on a new line to /etc/sane.d/pixma.conf in the format 'bjnp://10.0.0.20'.

Sane should now find your device. For more details refer to 'man sane-pixma'.

Risoluzione dei problemi

Invalid argument

Se si ottiene un errore "Invalid argument" con xsane o una altro front-end, questo potrebbe eseere causanto da uno dei seguenti motivi:

Missing firmware file

Nessun file del firmware è stato fornito per lo scanner utilizzato (vedi sopra per i dettagli).

Wrong firmware file permissions

Le autorizzazioni per il file del firmware usati sono sbagliati . Correggerli utilizzando

# chown root:scanner /usr/share/sane/SCANNER_MODEL/FIRMWARE_FILE
# chmod ug+r /usr/share/sane/SCANNER_MODEL/FIRMWARE_FILE

Uso multiplo di diversi backends

Può accadere che il vostro scanner supporti i backend multipli, e SANE scelga uno che non funziona bene (lo scanner non verrà visualizzato in scanimage -L allora) . Questo accade con i vecchi scanner Epson e con i backend epson2 e epson. In questo caso , la soluzione è quella di commentare il backend indesiderato in /etc/sane.d/dll.conf. Nel caso di Epson, bisognerebbe cambiare:

 epson2
 #epson

to

 #epson2
 epson

Avvio lento

Se si verificano problemi di avvio lento (ad esempio se xsane e scanimage -L impiegano troppo tempo per rilevare lo scanner) può essere che uno o più driver supportati siano abilitati contemporaneamente.

Dare un'occhiata a /etc/sane.d/dll.conf e provare a commentarne uno (se per esempio si ha epson, epson2 e epkowa abilitati allo stesso tempo, provare a lasciare abilitati solo epson e epkowa)

Problemi di permessi

Se vedete il vostro scanner solo quando si esegue lsusb da root, potrebbe essere necessario aggiungere il vostro utente al gruppo scanner e/o lp.

# gpasswd -a username scanner
# gpasswd -a username lp

Questo è segnalato come funzionante nei modelli HP all-in-one(es. PSC 1315 e PSC 2355).

Potete anche provare a cambiare i permessi dei dispositivo usb ma questo non è consigliato, la soluzione migliore è quella di fissare le regole di Udev in modo che lo scanner sia riconosciuto.


Esempio:

In primo luogo, come root, controllare i dispositivi USB collegati con lsusb:

#Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 003 Device 003: ID 04d9:1603 Holtek Semiconductor, Inc. 
#Bus 003 Device 002: ID 04fc:0538 Sunplus Technology Co., Ltd 
#Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#Bus 001 Device 006: ID 03f0:2504 Hewlett-Packard 
#Bus 001 Device 002: ID 046d:0802 Logitech, Inc. Webcam C200
#Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

In questo esempio abbiamo lo scanner - 'Bus 001 Device 006: ID 03f0:2504 Hewlett-Packard'

Ora editare il file /lib/udev/rules.d/53-sane.rules e cercare la prima parte del numero ID trovata in precedenza e verificare se c'è una riga che riporta anche la seconda parte del numero (numero del modello ). In questo esempio è 2504. Se non ci sono differenze, copiare una riga e immettere il idVendor e idProduct dello scanner, in questo esempio potrebbe essere:

# Hewlett-Packard ScanJet 4100C
ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2504", MODE="0664", GROUP="scanner",
  ENV{libsane_matched}="yes"

Salvare il file, scollegare e ricollegare lo scanner e le autorizzazioni del file dovrebbero essere ora corrette.

Un altro suggerimento potrebbe essere quello di aggiungere il dispositivo (scanner) nel file di backend:

Aggiungere 'usb 0x03f0 0x2504' a /etc/sane.d/hp4200.conf in modo che somigli a questo:

#
# Configuration file for the hp4200 backend
#
#
# HP4200
#usb 0x03f0 0x0105
usb 0x03f0 0x2504

Epson Perfection 1270

Per Epson Perfection 1270, è necessario anche un firmware denominato esfw3e.bin. Esso può essere ottenuto installando il driver di Windows.

Modificare il file di configurazione del backend Snapscan, /etc/sane.d/snapscan.conf. Modificare la linea del percorso firmware con la vostra :

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
firmware /mnt/mydata/Backups/firmware/esfw3e.bin

E aggiungere la seguente riga alla fine, o dovunque vuoi

# Epson Perfection 1270
usb 0x04b8 0x0120

È possibile ottenere tali informazioni di codice (usb 0x04b8 0x0120) dal comando sane-find-scanner.

Aggiungere anche tali linee di informazione su /etc/hotplug/usb/libsane.usermap per impostare il privilegio, come :

# Epson Perfection 1270
libusbscanner 0x0003 0x04b8 0x0120 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

Ricollegare scanner, Ora hai un Epson Perfection 1270 funzionante.

Note: Posso scannerizzare un'immagine se io definisco il valore X e Y , ma poi si verifica un messaggio di errore del tipo: scanimage: sane_start: Error during device I/O, se qualcuno conosce il motivo, per favore aggiungerli a questa sezione.
  • Per prevenire l'errore scanimage: sane_start: Error during device I/O e blocco dello scanner stesso quando si cerca di eseguire la scansione con ADF (alimentatore automatico ) abilitato, ho dovuto rimuovere o commentare tutti i backend da /etc/sane.d/dll.conf e aggiungere questa riga:
    snapscan

Finalmente! Se avete ancora errori di Error I/O, controllate il transportation lock dello scanner . È sul fondo dello scanner. Va aperto .

Blocco durante la scansione a causa di XHCI in modalità di pre-boot

Se si ottiene un problema in cui viene rilevato lo scanner durante l'esecuzione di lsusb o scanimage -L e anche nelle applicazioni GUI, ma quando si tenta di eseguire la scansione poco dopo si blocca o si blocca durante la scansione, potrebbe essere necessaria questa correzione:

È inoltre possibile ottenere questo errore durante il tentativo di eseguire la scansione:

kernel: usb 1-2: new high-speed USB device number 8 using xhci_hcd
kernel: WARNING! power/level is deprecated; use power/control instead

La correzione è: Nelle impostazioni del UEFI/BIOS cambiare le impostazioni sotto USB configuration, xhci pre-boot mode da enabled a disabled.