Hi folks, I'm kind of new to sane but I with the help of others I have managed to add some functionally to the saneimage utility by adding some code to hp-device.c
Around line 279 I added the following to hp-device.c just before the for loop: /* XXX Check firmware date */ DBG(1,"Check firmware date\n"); sanei_hp_scl_upload(scsi, HP_SCL_PARAMETER(4), buf, sizeof (buf)); buf[4] = '\0'; DBG(1, "firmware date is <%s>\n", buf); then just in case I muck something up I did ./configure --enable-static --disable-shared --prefix=/tmp/mysane then make clean and make export SANE_DEBUG_HP=3 scanimage -d hp:/dev/usb/scanner0 > hp.ppm &> hp.msg Ok now in hp.msg I got this: hp] Check firmware date [hp] firmware date is <3846> This should work on 5200C and 4100C. I got it to work on my HP 5200C which is connected to my computer via USB. I'm finding it hard to learn about SCL... HP is not helping me at all. I found some ancient dos SCL documentation on the net and I'm reading the *.c and *.h files in sane-backends-1.0.16 I put some notes up on http://cubeman.org/hp.txt but it's rough going as you can see. Is it illegal now to look at the SCL documentation? What companies are really helping Linux programmers with documentation on their hardware?? Mark