UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

485 lines (299 loc) 21.4 kB
Related articles * [Scan print and save Script](/index.php?title=Scan_print_and_save_Script&action=edit&redlink=1 "Scan print and save Script (page does not exist)") * [Scanner Button Daemon](/index.php/Scanner_Button_Daemon "Scanner Button Daemon") Sane fornisce una libreria e uno strumento da riga di comando per utilizzare gli scanner sotto GNU/Linux. [Qua](http://www.sane-project.org/sane-supported-devices.html) è possibili verificare se il vostro scanner è supportato. ## Contents * [1 Installazione](#Installazione) * [2 Configurazione](#Configurazione) * [2.1 Per dispositivi Acer/BenQ](#Per_dispositivi_Acer.2FBenQ) * [2.2 Per dispositivi HP](#Per_dispositivi_HP) * [2.3 Per dispositivi Brother](#Per_dispositivi_Brother) * [2.4 Per dispostivi Epson](#Per_dispostivi_Epson) * [2.5 Per dispositivi Samsung](#Per_dispositivi_Samsung) * [2.6 Per scanner plustek](#Per_scanner_plustek) * [2.7 Per scanner microtek](#Per_scanner_microtek) * [3 Firmware](#Firmware) * [4 Installare un frontend](#Installare_un_frontend) * [5 Scansione di rete](#Scansione_di_rete) * [5.1 Condivisione dello scanner su una rete](#Condivisione_dello_scanner_su_una_rete) * [5.2 Configurare xinetd per sane](#Configurare_xinetd_per_sane) * [5.3 Accesso allo scanner da una workstation remota](#Accesso_allo_scanner_da_una_workstation_remota) * [5.4 Scansione in rete con Canon Pixma all-in-one printer/scanners](#Scansione_in_rete_con_Canon_Pixma_all-in-one_printer.2Fscanners) * [6 Risoluzione dei problemi](#Risoluzione_dei_problemi) * [6.1 Invalid argument](#Invalid_argument) * [6.1.1 Firmware mancante](#Firmware_mancante) * [6.1.2 Permessi errati sul firmware](#Permessi_errati_sul_firmware) * [6.1.3 Uso multiplo di diversi backends](#Uso_multiplo_di_diversi_backends) * [6.2 Avvio lento](#Avvio_lento) * [6.3 Problemi di permessi](#Problemi_di_permessi) * [6.4 Epson Perfection 1270](#Epson_Perfection_1270) * [6.5 Blocco durante la scansione a causa di XHCI in modalità di pre-boot](#Blocco_durante_la_scansione_a_causa_di_XHCI_in_modalit.C3.A0_di_pre-boot) ## Installazione [Installare](/index.php/Pacman "Pacman") [sane](https://www.archlinux.org/packages/?name=sane) dagli [official repositories](/index.php/Official_repositories "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 farlo riconoscere da `/etc/udev/rules.d/sane.rules` 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` potrebbe 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](http://snapscan.sourceforge.net/) 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](https://www.archlinux.org/packages/?name=hplip) fagli [official repositories](/index.php/Official_repositories "Official repositories") (vedere [hplib supported devices](http://hplipopensource.com/hplip-web/supported_devices/index.html)) e/o [hpoj](https://aur.archlinux.org/packages/hpoj/) da [AUR](/index.php/Arch_User_Repository "Arch User Repository") (vedere [hpoj supported devices](http://hpoj.sourceforge.net/suplist.shtml)). * 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` è l*HPLIP Plugin Download and Install Utility'.* * `hp-scan` è l*HPLIP 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](/index.php/Daemon "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](http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_scn.html). 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> ``` Esempio: ``` # brsaneconfig2 -a name=SCANNER_DCP770CW model=DCP-770CW ip=192.168.0.110 ``` ### Per dispostivi Epson Per scanner di rete (inclusa Wi-Fi), è possibile usare "Image Scan! for Linux". Installare [iscan](https://www.archlinux.org/packages/?name=iscan), [iscan-data](https://www.archlinux.org/packages/?name=iscan-data) e [iscan-plugin-network](https://aur.archlinux.org/packages/iscan-plugin-network/) da [AUR](/index.php/AUR "AUR"), ed editare `/etc/sane.d/epkowa.conf` aggiungendo la linea: ``` net {IP_OF_SCANNER} ``` ### Per 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](https://bbs.archlinux.org/viewtopic.php?id=123934). 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 che tramite interfaccia USB, aggiungendo 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](/index.php/Kernel_modules#Configuration "Kernel modules") 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](http://www.sane-project.org/sane-supported-devices.html). * 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](http://www.sane-project.org/sane-frontends.html). Un altro modo per trovarli è quello di utilizzare la funzione cerca di `pacman` con parole tipo "sane" or "scanner": ``` $ pacman -Ss sane ``` * **[gscan2pdf](https://en.wikipedia.org/wiki/Scanner_Access_Now_Easy#gscan2pdf "wikipedia:Scanner Access Now Easy")** — 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](/index.php/AUR "AUR"). [http://gscan2pdf.sourceforge.net/](http://gscan2pdf.sourceforge.net/) || [gscan2pdf](https://www.archlinux.org/packages/?name=gscan2pdf) * **[Simple Scan](https://en.wikipedia.org/wiki/Scanner_Access_Now_Easy#Simple_Scan "wikipedia:Scanner Access Now Easy")** — Una GUI semplificata che è destinata ad essere più facile da usare e meglio integrata 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](http://launchpad.net/simple-scan) || [simple-scan](https://www.archlinux.org/packages/?name=simple-scan) * **[Skanlite](https://en.wikipedia.org/wiki/Skanlite "wikipedia:Skanlite")** — Skanlite è un semplice programma per scansionare e salvare immagini, basato su KSane. [http://www.kde.org/applications/graphics/skanlite](http://www.kde.org/applications/graphics/skanlite) || [skanlite](https://www.archlinux.org/packages/?name=skanlite) * **[XSane](https://en.wikipedia.org/wiki/Scanner_Access_Now_Easy#XSane "wikipedia:Scanner Access Now Easy")** — Un frontend GTK-based full-optional, un po' vecchio ma con ampie funzionalità. [http://www.xsane.org/](http://www.xsane.org/) || [xsane](https://www.archlinux.org/packages/?name=xsane) **Note:** Scansionare direttamente in PDF utilizzando XSane in modalità colore 16 bit produrrà un [file corrotto](https://bugs.launchpad.net/ubuntu/+source/xsane/+bug/539162), una nota su `pacman` avverte di questo bug. La modalità 8bit invece sembra funzionare. ## Scansione di rete #### Condivisione dello scanner su una rete E' possibile condividere il proprio scanner con altri host della rete che utilizzano sane, xsane o xsane-Gimp. Per impostare il server, bisogna prima indicare a quali hosts dare i permessi di accesso. Modificare il file `/etc/sane.d/saned.conf` a proprio piacimento, per esempio: ``` # required localhost # allow local subnet 192.168.0.0/24 ``` Inserire il modulo `nf_conntrack_sane` per iptables per consentire al firewall di traccaire la connessione di saned. Le richieste di scansione vengono gestite da saned. Questo può essere eseguito come un demone con `saned -a` o eseguito quando necessario da xinetd: #### Configurare xinetd per sane [Installare](/index.php/Pacman "Pacman") [xinetd](https://www.archlinux.org/packages/?name=xinetd) dagli [official repositories](/index.php/Official_repositories "Official repositories"). Quindi, assicurarsi che il file `/etc/xinetd.d/sane` esista e che la riga disable sia settata su NO: ``` service sane-port { port = 6566 socket_type = stream wait = no user = nobody group = scanner server = /usr/bin/saned disable = no } ``` L'utente normale ('nobody' nel file incluso nel pacchetto si sane) deve solitamente essere un membro del gruppo scanner per avere il permesso di accedere allo scanner : ``` # usermod -a -G scanner nobody ``` Per alcuni scanner - tipo le stampanti HP multifunzione - l'utente deve essere anche un membro del gruppo lp, che dovrebbe anche essere usato al posto dello scanner nel file di servizio . Aggiungere la seguente linea a `/etc/services` se non è già presente: ``` sane-port 6566/tcp ``` Avviare il [demone](/index.php/Daemon_(Italiano) "Daemon (Italiano)") **xinetd**. Lo scanner può ora essere utilizzato da altre stazioni di lavoro, attraverso la vostra rete locale . #### Accesso allo scanner da una workstation remota E' possibile accedere al proprio scanner di rete da una workstation Arch Linux remota. Per configurare la postazione di lavoro, [installare](/index.php?title=Pacman_(Italiano))&action=edit&redlink=1 "Pacman (Italiano)) (page does not exist)") [xsane](https://www.archlinux.org/packages/?name=xsane) dagli [official repositories](/index.php/Official_repositories "Official repositories"). Quindi, specificare il nome host del server o l'indirizzo IP nel file `/etc/sane.d/net.conf` : ``` # static IP address 192.168.0.1 # or host name stratus ``` Ora verificare la connessione dalla workstation tramite un terminale (non root): ``` $ xsane ``` oppure ``` $ scanimage -L ``` Dopo un po', xsane dovrebbe trovare il vostro scanner remoto e visualizzare le solite finestre, ora è tutto pronto per la scansione di rete! Per le stampanti/scanner/fax HP All in one è necessario effettuare la configurazione tramite : ``` $ hp-setup <printer ip> ``` #### Scansione in rete con Canon Pixma all-in-one printer/scanners Scoprire l'indirizzo IP dello scanner/stampante, e aggiungerlo su una nuova linea a /etc/sane.d/pixma.conf nel formato 'bjnp://10.0.0.20'. Sane dovrebbe ora essere in grado di trovare il dispositivo. Per maggiori dettagli consultare '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: #### Firmware mancante Nessun file del firmware è stato fornito per lo scanner utilizzato (vedi sopra per i dettagli). #### Permessi errati sul firmware 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 ``` in ``` #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 aprire 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 c'è, aggiungere 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.