[Wylug-help] HP PSC 2100 Series Office Jet

Dave Fisher wylug-help at davefisher.co.uk
Wed, 30 Apr 2003 10:52:20 +0100


Dear all,

After checking for Linux support etc, I've just bought an HP PSC 2110.
Unfortunately, it doesn't "just work", so I'd appreciate it if anyone with any
experience of similar HP office jets and/or Debian could save me from having to
read and try every scrap of howto information from a thousand different
(dubious) sources.

The product is part of the PSC 2100 series and is, theoretically, very
well supported:

  http://hpinkjet.sourceforge.net/productsmf.php

Printing is implemented through the "DJGenericVIP" driver:

  http://hpinkjet.sourceforge.net/productsmf.php#DJGenericVIP

The claimed functionality of the printer:

    (DJGenericVIP) - This device class supports the dj450, deskjet 5550,
    deskjet 5551, photosmart 7150, photosmart 7350, photosmart 7550, PSC 2100, PSC
    2150, PSC 2200.

    The DJGenericVIP device class supports full bleed (borderless) photo printing.

    In Draft and Normal modes the DJGenericVIP device class will detect photo
    paper and automatically print in Photo mode. HiRes is another photo mode which
    supports the maximum resolution of the printer. HiRes mode does not do auto
    media detection.

    Duplex printing is supported. Duplex is not available in HiRes mode.

    Resolution setting 600x600 is available for Normal modes. Resolution
    setting 1200x1200 is available for HiRes mode.

I have the Debian packages lprng, hpoj, hpoj-xojpanel, sane, xsane,
ghostscript, etc installed.

sudo /etc/init.d/hpoj setup finds and names the appropriate device:

    Currently defined device names ([*]=default):
    [*] "mlc:usb:PSC_2100_Series"
            Model is "PSC 2100 Series".
            Serial number is "MY279C61HK0F".

I initially attempted to setup /etc/printcap using lprng, but couldn't find any
remotely appropriate inport filter.  I've tried a bit of hand editing on
/etc/printcap, but can't get very far without knowing what filter/s to
install/find/configure.

Anyone got a clue?

N.B. I've also tried bog standard BSD lpr.  I'll try CUPS if anyone can assure
me that they have actually had success with it.

I have managed to print plain ascii, using one of the old deskjet filters, but
got nowhere as far as postscript printing is concerned.

As far as scanning is concerned, xsane etc simply tell me "no devices
available", but dmesg reveals the following:

   scanner.c: open_scanner(0): Unable to access minor data

I get the same for /dev/usb/scanner[1-15]

ls -l reveals the following about the scanner devices:

    crw-rw-rw-    1 root     root     180,  48 Apr 29 23:04 /dev/usb/scanner0
    crw-rw-rw-    1 root     root     180,  49 Apr 29 23:04 /dev/usb/scanner1
    crw-rw-rw-    1 root     root     180,  58 Apr 29 23:04 /dev/usb/scanner10
    crw-rw-rw-    1 root     root     180,  59 Apr 29 23:04 /dev/usb/scanner11
    crw-rw-rw-    1 root     root     180,  60 Apr 29 23:04 /dev/usb/scanner12
    crw-rw-rw-    1 root     root     180,  61 Apr 29 23:04 /dev/usb/scanner13
    crw-rw-rw-    1 root     root     180,  62 Apr 29 23:04 /dev/usb/scanner14
    crw-rw-rw-    1 root     root     180,  63 Apr 29 23:04 /dev/usb/scanner15
    crw-rw-rw-    1 root     root     180,  50 Apr 29 23:04 /dev/usb/scanner2
    crw-rw-rw-    1 root     root     180,  51 Apr 29 23:04 /dev/usb/scanner3
    crw-rw-rw-    1 root     root     180,  52 Apr 29 23:04 /dev/usb/scanner4
    crw-rw-rw-    1 root     root     180,  53 Apr 29 23:04 /dev/usb/scanner5
    crw-rw-rw-    1 root     root     180,  54 Apr 29 23:04 /dev/usb/scanner6
    crw-rw-rw-    1 root     root     180,  55 Apr 29 23:04 /dev/usb/scanner7
    crw-rw-rw-    1 root     root     180,  56 Apr 29 23:04 /dev/usb/scanner8
    crw-rw-rw-    1 root     root     180,  57 Apr 29 23:04 /dev/usb/scanner9

Both the major and minor numbers are as recomended in

    /usr/src/kernel-source-2.4.20/Documentation/usb/scanner.txt

    i.e. `mknod /dev/usbscanner0 c 180 48`

Changing the devices from root ownership makes no difference.

I have already found 3 contradictory names for the scanner device in the online docs.

1. The default setting in /etc/sane.d/hp.conf:

    # The usual place for a SCSI-scanner on Linux
    /dev/scanner


2. From /usr/src/kernel-source-2.4.20/Documentation/usb/scanner-hp-sane.txt:

  hp.conf: This should contain two lines:

    /dev/usbscanner

3. The alternative setting in /etc/sane.d/hp.conf:

    # Uncomment the following if your scanner is connected by USB,
    # but you are not using libusb
    # /dev/usb/scanner0
    # option connect-device

Needless to say, I did set /etc/sane.d/hp.conf to indicate the usb device that
I actually have (/dev/usb/scanner0).

lsmod reveals the following about the relevant devices and their drivers:

Module                  Size  Used by    Not tainted
usb-uhci               20524   0  (unused)
printer                 7168   0
scanner                 8476   0
usbcore                54304   0  [usb-uhci printer scanner]
lp                      6624   0  (autoclean)

lspci -v reveals:

00:11.2 USB Controller: VIA Technologies, Inc. USB (rev 1e) (prog-if 00 [UHCI])
        Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
        Flags: bus master, medium devsel, latency 32, IRQ 3
        I/O ports at d400 [size=32]
        Capabilities: [80] Power Management version 2

00:11.3 USB Controller: VIA Technologies, Inc. USB (rev 1e) (prog-if 00 [UHCI])
        Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
        Flags: bus master, medium devsel, latency 32, IRQ 3
        I/O ports at d800 [size=32]
        Capabilities: [80] Power Management version 2

It has occurred to me that I might need the alternative usb module (usb-ohci),
but that seems unlikely and I can't load it anyway, because (I'm told) a device
is currently busy.

... I could go on if I had time.

Since the HP PSC 2100 series is so ubiquitous, I'm just hoping that someone in
WYLUG has already got the thing working and can suggest some time-saving
tactics.

Dave