ITEM: AL3660L

0514-033 when trying to add parallel printer



ENV:
        AIX 3.2.5
        7009-C10
        HP LaserJet IV on Parallel port

DESC:
        Whenever I try to add this printer to the parallel port,
        I get:

        0514-033 A device is dependent upon an attribute which
                does not exist.....

ACT:
        lsdev -Cc printer shows lp0 defined on ppa0 where you are
        trying to define the printer.  Removed the device without
        any problem.  Tried adding a new printer to ppa0 and got
        the same error as above.  Tried adding a different printer
        type (opp) instead of hplj-4 and got the same results.
        Tried adding an hplj-4 to a serial port and that worked
        without any problem at all.

        rmdev -l ppa0
        cfgmgr

        No problems, back to command prompt and ppa0 was available.

        diag -a

        This returns a hardware SRN 803-827 
                Did a search on this SRN and found a couple of hits that
        indicate a hardware problem with the parallel port on the
        system planar.  Placed hardware service call for this SRN.

Response:

ACT:
        Customer had system planar replaced and they still
        get the same SRN.  Found some hits in Austext that
        indicated this error could be caused by a bad
        parallel connection but that sounds pretty unlikely
        to me.  The fact that the printer cannot be added
        sounds like some ODM corruption.

Response:

All parallel printers depend on attributes for the ppa device.  To check
the attributes for this try:
odmget -q"uniquetype=adapter/sio/ppa" PdAt
This should return 3 stanza's starting with these lines:
PdAt:
        uniquetype = "adapter/sio/ppa"
Each stanza represents an attribute:
        attribute = "bus_io_addr"
        attribute = "bus_intr_lvl" 
       attribute = "intr_priority"

Another potential command to try for the ppa0 device is:  (this shows
the CuAt attributes for the defined parallel port.)
\# lsattr -El ppa0
bus_io_addr   0x078 Bus I/O address     False
bus_intr_lvl  13    Bus interrupt level False
intr_priority 4     Interrupt priority  False

If these all exist then look at any particular attribute defaults to see if
they all exists.  For example issue.
odmget -q"uniquetype=printer/parallel/hplj-4" PdAt > /tmp/parallel.hp
grep attrib /tmp/parallel.hp | wc       
This should show 17 attributes.  (You can also manually count them).
If there are fewer then this is the problem.
EXAMPLE Stanza:
PdAt:
        uniquetype = "printer/parallel/hplj-4"
        attribute = "addcr"
        deflt = "yes"
        values = "yes,no"
        width = ""
        type = "R"
        generic = "DU"
        rep = "sl"
        nls_index = 26

Also check the PdDv database for the variables defined there.
\# odmget -q"uniquetype = printer/parallel/hplj-4" PdDv

PdDv:
        type = "hplj-4"
        class = "printer"
        subclass = "parallel"
        prefix = "lp"
        devid = ""
        base = 0
        has_vpd = 0
        detectable = 0
        chgstatus = 1
        bus_ext = 0
        fru = 1
        led = 1832
        setno = 71
        msgno = 106
        catalog = "devices.cat"
        DvDr = "ppdd"
        Define = "/etc/methods/define"
        Configure = "/etc/methods/cfgpp"
        Change = "/etc/methods/chggen"
        Unconfigure = "/etc/methods/ucfgdevice"
        Undefine = "/etc/methods/undefine"
        Start = ""
        Stop = ""
        inventory_only = 0
        uniquetype = "printer/parallel/hplj-4"

\# lsdev -Cl ppa0 -F"name location parent"
ppa0 00-00-0P sio0
\# odmget -q"name=ppa0" CuDv

CuDv:
        name = "ppa0"
        status = 1
        chgstatus = 2
        ddins = ""
        location = "00-00-0P"
        parent = "sio0"
        connwhere = "ppa"
        PdDvLn = "adapter/sio/ppa"

To look for old leftover odmstuff on a parallel port try:
\# odmget -q"ddins=ppdd" CuDv

CuDv:
        name = "lp1"
        status = 1
        chgstatus = 1
        ddins = "ppdd"
        location = "00-00-0P-00"
        parent = "ppa0"
        connwhere = "p"
        PdDvLn = "printer/parallel/6404"

If he has changed any defaults on any printers they would show with:
\# odmget -q"name like lp*" CuAt

Response:

ACT:
        Stepped David through the above suggestions.
        The only noticable difference is that his PdAt only has
        16 attributes instead of 17 for all parallel printers.
        Looked at the attributes and found that the only missing
        attribute was "busy_delay" which was only recently added
        to AIX in recent 3.2.5 releases so not having this on your
        system makes sense.

Response:

Tried command line:
mkdev -c printer  -t 'opp' -s 'parallel' -p 'ppa0'  -w 'p'
Method Error: dependent on attribute that does not exist.

lsdev -Cc printer only shows the serial printer.

Created File:   - busy.pdat  with the following information:
Lines after line one begin with a tab.
PdAt:
        uniquetype = "printer/parallel/opp"
        attribute = "busy_delay"
        deflt = "0"
        values = "0-1000,1"
        width = ""
        type = "R"
        generic = "DU"
        rep = "nr"
        nls_index = 33

odmadd busy.pdat

mkdev now worked.

NEXT: Customer will try



Support Line: 0514-033 when trying to add parallel printer ITEM: AL3660L
Dated: August 1995 Category: N/A
This HTML file was generated 99/06/24~13:30:26
Comments or suggestions? Contact us