Opened 6 months ago

Closed 5 months ago

Last modified 5 months ago

#334 closed defect (duplicate)

Scanner support via hplip?

Reported by: losepete Owned by:
Priority: major Milestone:
Component: rpm Version:
Severity: low Keywords:
Cc:

Description

Having just installed hplip to support my new printer - HP Envy Photo 6234 - I notice that it has some of the files required for scanner support but there seem to be some missing. The obvious missing file is hpaio.dll but I suspect there are others missing.

Will hplip be delivering scanner support in the, hopefully, near future?

Change History (3)

comment:1 Changed 6 months ago by diver

first we need to create a sane rpm, as hplip needs sane to have the scanner part ready. When it will happen I can't tell atm.

comment:2 Changed 5 months ago by diver

  • Resolution set to duplicate
  • Status changed from new to closed

comment:3 Changed 5 months ago by losepete

In the meantime here is a workaround I discovered while developing HPscan, a sane scanner frontend for HP scanners using hpaio:-

Download and install the latest sane package http://smedley.id.au/tmp/sane-backends-1.0.27-os2-20190321.zip

Download http://smedley.id.au/tmp/cups-2.1.0-os2-20151122.zip
Unzip *only* the cups20.dll file into /usr/lib

Download http://smedley.id.au/tmp/hpaio-3.18.12-os2-20190114.zip
Unzip *only* the hpaio.dll file into [PathTo?\]sane\lib\sane

If the HP model is not in the existing models.dat file get an updated models.dat file:
Download http://smedley.id.au/tmp/hpaio-3.18.12-os2-20190425.zip
Unzip *only* the models.dat file overwriting the existing file.

Modify the hplip.conf file using a hex editor - I used Kon - in hex mode to delete all hex values 0x0d from the line endings. If left in place that character prevents hplip/hpaio from working.

Explanation:

With the existing hplip.conf supplied with both ZIP and RPM packages scanning always fails. This issue was discussed on OS/2 World https://www.os2world.com/forum/index.php/topic,2062.0.html

I ended up using libc_debug to find the cause of the problem; from the debug log:-

0004fc19 01 01 0004 Entr 0002 _vsopen: pszName=0x00e0e3f0:{/hplip/share/hplip
/data/models/models.dat} fOpen=0x0 fShare=0x40 ...

Except I do not actually see what I have copied and pasted above. The line above containing "vsopen: pszName=" should show the path/filename as a continuous string. Instead there is a line break, value 0x0d, that is invisible in an OS/2 editor and Seamonkey but starts a new line.

So the line in hplip.conf "home=/hplip/share/hplip" gets "/data/models/models.dat" appended, by hpaio.dll, to locate the data file. However, the new line char at the end of the "home" path results in the path for the data file becoming:-

/hplip/share/hplip0x0d/data/models/models.dat

or, in OS/2:-

/hplip/share/hplip0x0d
/data/models/models.dat

Which means that hpaio always fails to find models.dat...

The only way I have found around this problem is to edit the hplip.conf file using a hex editor to remove the 0x0d character.

Once the hplip.conf has been "cleaned up" save to %ETC%\hplip.conf - usually [BootDrive?]:\MPTH\ETC\hplip.conf

Scanning should now work.

Note: See TracTickets for help on using tickets.