Scanner di rete HP


Ciao a tutti. Dopo aver installato la stampante condivisa ho deciso di provare a fare la stessa cosa con lo scanner. Visto che si tratta di un HP “all in one” le cose non sembravano troppo difficili anche se in realtà ho riscontrato degli imprevisti.

Come al solito ricordo che la guida è orientata per distribuzioni Arch Linux e derivate.

Facciamo un test preliminare dando per scontato di aver già installato HPLIP [0] e SANE [1], di aver collegato la stampante/scanner accesa ad una porta usb del server, e che l’indirizzo del server sia 192.168.0.2 ed infine l’utente di login remoteuser:

$ scanimage -L

Se fallisce, come è successo a me, molto probabilmente è a causa di permesi errati [2]. Abbiamo quindi bisogno di fare alcuni passaggi preliminari seguendo le istruzioni di CUPS. Per prima cosa colleghiamoci al server ed aggiungiamo l’utente di login ai gruppi sys ed lp. Successivamente riavviamo per fare in modo di che si applichino le modifiche [3]

# usermod -aG sys lp remoteuser
# reboot

Potete usare lo scriptino seguente da root, che ho improvvisato (controllate comunque che non faccia cavolate). Questo farà in modo di impostare correttamente i permessi ad ogni avvio , grazie ad udev [3], senza doversi preoccupare più del problema:

id="$(lsusb | grep Hewlett-Packard \
| awk '{print $2 "/" substr($4,0,length($4)-1) }')"

scanner="/dev/bus/usb/"$id""

information="$(udevadm info -a -n "$scanner" \
| grep -e "ATTR{idVendor}" -e "ATTR{idProduct}")"

product="$(echo "$information" | head -n1 | tr -d ' ')"
vendor="$(echo "$information" | tail -n1 | tr -d ' ')"

printf "SUBSYSTEM==\"usb\", $vendor, $product, GROUP=\"lp\", \
MODE:=\"666\"\n" >> /etc/udev/rules.d/10-local.rules

Ora riavviamo e controlliamo lo stato della stampante e proviamo a fare una scansione.

# reboot
$ hp-info
$ scanimage --format=png > test.png

Editiamo /etc/sane.d/saned.conf nel modo seguente, in modo che tutti i computer sulla rete locale possano usare lo scanner:

localhost
192.168.0.0/24

Infine abilitiamo saned:

# systemctl start saned.socket
# systemctl enable saned.socket

Iptables

Se usate iptables, Fate in modo che il seguente modulo kernel sia caricato all’avvio aggiungendo nf_conntrack_sane a /etc/modules-load.d/nf_conntrack_sane [4] oltre che aprire la porta 6566 [5].

Client

Facciamo il logout dal server ed aggiungiamo i client. Installiamo SANE su ognuno di questi ed editamo /etc/sane.d/net.conf nel modo seguente [5]:

192.168.0.2
stratus

Ora facciamo il test con $ scanimage -L e se tutto va bene consiglio di installare il frontend grafico Simple Scan [6] che rileverà automaticamente il nostro scanner di rete e renderà le scansioni molto facili da compiere.

Auguri di buone feste.

A presto. 🙂

Fonti

[0]: https://www.archlinux.org/packages/extra/x86_64/hplip/
[1]: https://www.archlinux.org/packages/extra/x86_64/sane/
[2]: https://wiki.archlinux.org/index.php/CUPS/Troubleshooting#Bad_permissions
[3]: https://wiki.archlinux.org/index.php/CUPS/Troubleshooting#Permission_problem
[4]: https://wiki.archlinux.org/index.php/Kernel_modules#Automatic_module_handling
[5]: https://wiki.archlinux.org/index.php/Udev#List_attributes_of_a_device
[6]: https://www.archlinux.org/packages/community/x86_64/simple-scan/

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...