Para funcionar no
Ubuntu tivemos que baixar alguns pacotes para poder compilar. Seguem as instruções:
# apt-get install gcc
# apt-get install libc6-dev
# apt-get install libjpeg62-dev libjpeg62
# apt-get install libsane-dev
# apt-get install libgtk2.0-dev
(a partir daqui praticamente igual ao artigo citado)
Descompacte o arquivo fonte do sane-backends. em /tmp/src.
Copie o arquivo
hpljm1005.c no subdiretório ~/src/sane-backends-1.0.18/backend.
Modifique os build files:
Adicione a impressora hpljm1005 em sane-backends-1.0.18/configure, aproximadamente na linha 28966 (variável "BACKENDS").
Adicione a impressora hpljm1005 em sane-backends-1.0.18/configure.in, aproximadamente na linha 344 (variável "BACKENDS").
Nos dois arquivos deve ficar algo assim:
BACKENDS="abaton agfafocus apple artec as6e avision bh canon \
canon630u coolscan coolscan2 dc25 dmc \
epson fujitsu genesys gt68xx hp leo lexmark matsushita microtek \
microtek2 mustek mustek_usb nec pie pixma plustek \
plustek_pp ricoh s9036 sceptre sharp \
sp15c st400 tamarack test teco1 teco2 teco3 umax umax_pp umax1220u \
artec_eplus48u ma1509 ibm hp5400 u12 snapscan niash sm3840 hp4200 \
sm3600 hp3500 stv680 hpljm1005"
Crie um arquivo
/etc/sane.d/hpljm1005.conf com as seguintes linhas:
#
# Configuration file for the HPLJM1005 backend
#
# HPLJM1005
usb 0×03f0 0×3b17
device auto
Compile o sane-backends:
$ cd ~/src/sane-backends
$ ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/man --disable-locking --localstatedir=/var/lib --with-group=scanner
$ make
Agora é necessário realizar uma compilação manual no
subdiretório "backend/.libs/libsane-hpljm1005.so.1.0.18" devido a alguns símbolos não resolvidos.
Você deve adicionar os arquivos ../sanei/.libs/sanei_init_debug.o ../sanei/sanei_constrain_value.o gerados pelo Makefile original para o subdiretório "backend/.libs":
Vá para o subdiretório "backend" e dê um copiar e colar no terminal (.lib, diretório com ponto, significa diretório invisível):
$ gcc -shared .libs/hpljm1005.o .libs/hpljm1005-s.o .libs/sane_strstatus.o ../sanei/.libs/sanei_init_debug.o ../sanei/sanei_constrain_value.o ../sanei/.libs/sanei_config.o ../sanei/.libs/sanei_usb.o /usr/lib/libusb.so -lpthread -lm /usr/lib/libjpeg.so /usr/lib/libtiff.so -L/usr/lib /usr/lib/libieee1284.so -ldl -Wl,-soname -Wl,libsane.so.1 -o .libs/libsane-hpljm1005.so.1.0.18
Edite o arquivo /etc/sane.d/dll.conf e após onde estiver net, acrescente hpljm1005.
# make install
Agora descompacte o sane-frontend e faça a compilação:
$ cd ~/src/sane-frontends
$ ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/man --disable-locking --localstatedir=/var/lib --with-group=scanner
$ make
# make install
Repita o mesmo processo para o xsane:
$ cd ~/src/xsane-0.9.9.5
$ ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/man --disable-locking --localstatedir=/var/lib --with-group=scanner
$ make
# make install
Para dar permissões a que todos os usuários possam usar o scanner, é preciso acrescentar uma regra ao udev. Edite o arquivo
/etc/udev/rules.d/80-libsane.rules e acrescente as linhas:
NOTA: No caso do Ubuntu eu coloquei esses dados no arquivo
/etc/udev/rules.d/45-libsane.rules.
#Hewlett-Packard M1005 MFP
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3b17", MODE="666",GROUP="scanner"
Se você não tiver esse arquivo, crie, ele deve ficar assim:
ACTION!="add", GOTO="libsane_rules_end"
SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"
#Hewlett-Packard M1005 MFP
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3b17", MODE="666",GROUP="scanner"
LABEL="libsane_rules_end"
É conveniente também acrescentar seu usuário ao grupo scanner:
# gpasswd -a USER scanner