HP ScanJet 5100C sobre Kernel 2.6.20

+1
0
-1

Les comento la solución que encontré para hacer funcionar un "win scanner" sobre el kernel 2.6.20

Al desempolvar un HP ScanJet 5100C, y al tratar hacerlo andar sobre Xubuntu 7.04, siguiendo la siguiente guía

http://porpoisehead.net/hi/?q=node/19

Me encuentro con los siguientes errores al hacer "make"

(muestro resumido lo importante)

... /ppscsi-beta2/ppscsi.h:16:26: error: linux/config.h: No existe el fichero ó directorio
... /ppscsi-beta2/ppscsi.c:1148:39: error: la macro "INIT_WORK" recibió 3 argumentos, pero solamente tomó 2

 

Análisis:

El fichero linux/config.h esta obsoleto y la macro "INIT_WORK" actualmente recibe dos argumentos.

Es decir el fichero config.h es sustituido actualmente por el fichero autoconf.h

 

Solución:

1. - Editamos el fichero ppscsi.h (con un editor de texto)

y donde dice

#include <linux/config.h>

lo sustituimos por esta línea

#include <linux/autoconf.h> 

2. - Editamos el fichero ppscsi.c

la linea que dice

static void ppsc_tq_int (void *data)

la sustituimos por esta línea

static void ppsc_tq_int (struct work_struct *data) 

y la línea que dice

INIT_WORK(&pha->wq, ppsc_tq_int, pha);

la sustituimos por

INIT_WORK(&pha->wq, ppsc_tq_int);

3.- Luego de guardar el archivo y hacer estos cambios hacemos "make"

ignoramos por lo pronto la advertencia

make[1]: se sale del directorio `/usr/src/linux-headers-2.6.20-15-generic'

y seguimos las instrucciones del enlace

http://porpoisehead.net/hi/?q=node/19

 

Agrego que:

Para permitir que (X)(K)Ubuntu reconozca el escáner al arrancar (boot) se modifica el siguiente archivo /etc/modules

agregando las siguientes líneas al final del archivo

ppscsi
epst

 

Comentario:

Me base en lo escrito en el siguiente hilo

Workqueues get a rework, [Posted November 27, 2006 by corbet]

en el enlace

http://chinakapok.spaces.live.com

De ante mano la codificación se puede depurar pero así como lo lleve a cabo funcionó con Kooka y xSane obvio bajo Sane. Se que este "win scanner" manufacturado para funcionar sobre un puerto paralelo, debería de estar en estos tiempos en un "deshuesadero", pero espero esta solución le funcione a alguien, porque en su tiempo llegue a ver varios escáneres de este tipo en empresas y hogares.

Quedo con ustedes

Saludos