Samsung SCX 4200 su Linux

Ho finalmente deciso in questi giorni di approfittare di un’offerta in una catena di supermercati e comprarmi una stampante laser multifunzione (scanner e fotocopiatrice) a prezzo abbordabile.
La prescelta è la  Samsung SCX 4200

Samsung scx 4200

Prima di procedere all’acquisto mi ero informato sulla compatibilità di tale stampante con Linux, e mi sono piacevolmente sorpreso quando ho trovato dei driver (proprietari) compatibili direttamente nel sito del produttore.
Che le cose stiano veramente (e finalmente) cambiando? 🙂

Non ho avuto alcuna difficoltà a scaricare l’archivio con l’ultima versione del driver (attualmente 2.00.97), scompattarlo e  avviare l’installazione (grafica). Ho trovato solo un piccolo “inconveniente”, per il quale ho trovato immediatamente la soluzione in rete.

Tutti i dettagli dopo il salto.. 😉

Come dicevo, una volta scaricato l’archivio tar.gz sul Desktop, basta estrarlo ed avremo una cartella con il nome “cdroot“.

Per procedere all’installazione, basta aprire un terminale e digitare

sudo Desktop/cdroot/autorun

Si aprirà una finestra di dialogo che vi guiderà passo-passo nell’installazione del driver.

installazione-stampante

Alla fine del processo di installazione la stampante dovrebbe essere automaticamente riconosciuta appena la collegate alla porta usb e l’accendete.
Potrete inoltre regolare diversi parametri di installazione e configurazione tramite il comodissimo “Samsung Unified Driver Configurator“(troverete l’icona sul Desktop).

 Configuratore-samsung

Anche i driver per lo scanner vengono installati automaticamente, ma questi hanno bisogno di una piccola modifica affinchè funzionino correttamente: se infatti tentiamo una scansione con i permessi di utente normale (non root) otteniamo un “Segmentation fault” poco rassicurante.

Questo accade perchè il driver fa una ricerca preliminare della periferica e tenta di leggere anche la porta parallela, cosa impossibile se non da root. Per fortuna esiste una patch che disabilita questa ricerca sulla porta parallela e risolve i nostri problemi.

Le istruzioni molto dettagliate si trovano in questa pagina, riporto comunque i passaggi fondamentali per comodità.

Supponendo di voler installare il fix per la versione 2.00.95 e 2.00.97 del driver, i comandi sono:

wget http://jacobo.tarrio.org/files/soft/scx/fix-nopar-scx4200-2.00.92-2007011301.tar.gz
tar xvfz fix-nopar-scx4200-2.00.95-2007061201.tar.gz
cd fix-nopar

Adesso a seconda dell’architettura del nostro sistema (32bit o 64bit) entriamo nella sottocartella “i386” o “x86_64”. in caso di dubbio, potete controllare lanciando lo script incluso:

# ./check.sh
The 32-bit library has been found at /usr/lib
You may replace it with the one in the "i386" directory

Nel mio caso avendo una normale architettura 32bit ho continuato cosi:

cd i386
cp /usr/lib/libmfp.so.1.0.1 /usr/lib/oldlibmfp.so.1.0.1
sudo cp libmfp.so.1.0.1 /usr/lib

praticamente non dobbiamo far altro che sovrascrivere la libreria “libmfp.so.1.0.1“Fatto questo, sistemiamo i permessi utente con

sudo adduser TUO_USERNAME lp
newgrp lp

(sostituire TUO_USERNAME col tuo nome utente)

Per verificare che tutto sia ok, eseguendo da utente normale il comando “scanimage -L” dovreste ottenere un output simile a questo:

$ scanimage -L
device `smfp:SAMSUNG SCX-4200 Series on USB:0' is a SAMSUNG SCX-4200 Series on USB:0 Flatbed Scanner

ovvero senza il fastidioso “Segmentation Fault”.Adesso aprire pure Xsane e provate a scannerizzare 😉