What PCL XL Class/Revision level does LJ M451dw support?

Posted on 2012-08-13
Last Modified: 2012-09-26
Does anyone know what Class/Revision level is supported by the PCL XL interpreter in the HP LaserJet Pro Colour Printer M451dw (or the HP LaserJet Pro Colour MFP M475dw multi-function equivalent)?
The printer specifications for most LaserJet printers state what Page Description Languages (PDLs) are supported; e.g. for the models in question:
HP postscript level 3 emulation
Note that for PCL5 and PostScript, some indication is given of the version or level of the languages, but not for PCL6 (the marketing/generic name for PCL XL).
I've asked:
- HP via their US 'ask a presales question' web page; I've spent a week sending and receiving emails from various different units, and two long (20 minute plus) telephone conversations (UK numbers), both ending in me being cut-off whilst waiting.
But no-one appears to have much idea what I'm asking the question about.  
- HP via our UK presales number - they say they are unable to answer technical questions unless I already own the printer in question (which rather defeats the object - I want to know the answer before deciding whether or not to purchase!).
- A UK reseller (HP presales suggested I call them); although they were very helpful, they couldn't answer the question with the documentation supplied to them by HP.
Question by:DansDadUK
    LVL 16

    Author Comment

    If anyone has one of these models, and access to snmpwalk, we could find the information relatively easily.
    The command would be something like this one I used with my local LJ1320 printer (IP address 192,168.1.65):
    snmpwalk -Os -c public -v 1
    which produced this output:

    mib- = INTEGER: 37
    mib- = INTEGER: 5
    mib- = INTEGER: 3
    mib- = INTEGER: 6
    mib- = INTEGER: 47
    mib- = STRING: "Version 2.0"
    mib- = STRING: "Version 2.0"
    mib- = STRING: "Version 5.00E"
    mib- = STRING: "Version 2014.116"
    mib- = STRING: "Version 2.0"
    mib- = STRING: "19990105"
    mib- = STRING: "19990105"
    mib- = STRING: "19990105"
    mib- = STRING: "19990105"
    mib- = STRING: "19990105"
    mib- = STRING: "Automatic Language Switching"
    mib- = STRING: "PJL"
    mib- = STRING: "PCL"
    mib- = STRING: "PCLXL"
    mib- = STRING: "19990105"
    mib- = STRING: "19990105"
    mib- = STRING: "19990105"
    mib- = STRING: "19990105"
    mib- = STRING: "19990105"
    ...etc. etc.

    Open in new window

    where the relevant lines (all ending with .5 in this example) are:

    mib- = INTEGER: 47
    mib- = STRING: "Version 2.0"
    mib- = STRING: "19990105"
    mib- = STRING: "PCLXL"

    Open in new window

    which (I think) provides the required PCL XL interpreter data (id, version, datecode, name respectively).
    In this example, "Version 2.0" indicates that the supported protocol is Class=2, with Revision=0.
    I want the equivalent information from a LJ M451 (or M475).
    As an aside, I think that if I had the correct MIBs installed (or perhaps configured snmp differently - it's not something I'm that familiar with), my snmpwalk output would have been something like:

    prtInterpreterLangFamily.1.1 = INTEGER: 37
    prtInterpreterLangFamily.1.2 = INTEGER: 5
    prtInterpreterLangFamily.1.3 = INTEGER: 3
    prtInterpreterLangFamily.1.4 = INTEGER: 6
    prtInterpreterLangFamily.1.5 = INTEGER: 47
    prtInterpreterLangLevel.1.1 = STRING: "Version 2.0"
    prtInterpreterLangLevel.1.2 = STRING: "Version 2.0"
    prtInterpreterLangLevel.1.3 = STRING: "Version 5.00E"
    prtInterpreterLangLevel.1.4 = STRING: "Version 2014.116"
    prtInterpreterLangLevel.1.5 = STRING: "Version 2.0"
    prtInterpreterLangVersion.1.1 = STRING: "19990105"
    prtInterpreterLangVersion.1.2 = STRING: "19990105"
    prtInterpreterLangVersion.1.3 = STRING: "19990105"
    prtInterpreterLangVersion.1.4 = STRING: "19990105"
    prtInterpreterLangVersion.1.5 = STRING: "19990105"
    prtInterpreterDescription.1.1 = STRING: "Automatic Language Switching"
    prtInterpreterDescription.1.2 = STRING: "PJL"
    prtInterpreterDescription.1.3 = STRING: "PCL"
    prtInterpreterDescription.1.4 = STRING: "POSTSCRIPT"
    prtInterpreterDescription.1.5 = STRING: "PCLXL"
    prtInterpreterVersion.1.1 = STRING: "19990105"
    prtInterpreterVersion.1.2 = STRING: "19990105"
    prtInterpreterVersion.1.3 = STRING: "19990105"
    prtInterpreterVersion.1.4 = STRING: "19990105"
    prtInterpreterVersion.1.5 = STRING: "19990105"
     ... etc. etc.

    Open in new window

    which is a bit clearer than what I get.
    LVL 16

    Author Comment

    ... or test the capabilty of the printer, by sending the contents of the attached sample print file direct to the printer port.
    The file is disguised with an additional .txt extension, because I don't think that the forum accepts .prn attachments.
    If the printer supports Class/Revision 3.0, the printer should print a single page (A4 Portait), containing several lines with the text:
    Line generated using PCL XL
    and other lines with the text:
    Line generated using PCL5

    If it doesnt support this C/R level, it will probably print an error page indicating an UnsupportedProtocol error.
    LVL 16

    Author Comment

    For reference, attached is an analysis of the sample print file.
    LVL 16

    Author Comment

    ... and to 'send' the contents of the sample file to the printer, from a Windows command-prompt session, use the lpr command, as per the following example:

    lpr  -S  -P any  Embed_PCL5Snippet.prn

    Open in new window

    which would send the contents of the nominated file to the printer with IP-address 192.168.1 65.
    The lpr command may only be available if a certain Windows feature (Print and Document Services | LPR Port Monitor) is enabled.
    LVL 37

    Expert Comment

    The question has either no comments or not enough useful information to be called an "answer".
    LVL 16

    Author Comment

    Some-one in a different forum has successfully printed some test files for me, which indicates that the M475 device (the MFP variant of the M451 printer) supports Class/Revision 3.0 of the PCL XL protocol.

    So this question does have a (belated) answer.

    On this basis, I've ordered one, and I'll update this topic when I get the device and run some further tests.
    LVL 16

    Accepted Solution

    It's actually not quite that straight-forward!
    An snmpwalk on a LJ Pro 400 M475dn shows these items (I've  edited out entries which are not referring to the PCL XL language):

    prtInterpreterLangFamily.1.3 = INTEGER: langPCLXL(47)
    prtInterpreterLangLevel.1.3 = STRING: "Version 2.1.Grafit"
    prtInterpreterLangVersion.1.3 = STRING: "20040201"
    prtInterpreterDescription.1.3 = STRING: "PCLXL"
    prtInterpreterVersion.1.3 = STRING: "20040201"
    prtInterpreterDefaultOrientation.1.3 = INTEGER: portrait(3)
    prtInterpreterFeedAddressability.1.3 = INTEGER: -1
    prtInterpreterXFeedAddressability.1.3 = INTEGER: -1
    prtInterpreterDefaultCharSetIn.1.3 = INTEGER: CSHPRoman8(2004)
    prtInterpreterDefaultCharSetOut..1.3 = INTEGER: CSHPRoman8(2004)
    prtInterpreterTwoWay.1.3 = INTEGER: yes(3)

    Open in new window

    which indicates that the PCL XL Class/Revision level  is 2.1.Grafit (whatever that is), which implies that it doesn't support C/R 3.0.
    ... and as the Embed_PCL5_Snippet.prn file (which uses a specific C/R 3.0 operator) generates an error (indicating IllegalTag), this would seem to support the fact.
    But other test print files, including one which specifies C/R 3.0 in the stream header, do print OK.
    Also, the default driver installed (on Windows Professional 7 64-bit) generates a C/R 3.0 stream, which uses several C/R 3.0 operators (although not the 'Passthrough' operator used in the Embed_PCL5_Snippet.prn file).
    So the conclusion would appear to be that the device partially supports Class/Revision 3.0 in that:

    It supports the 3;0; setting in the stream header.
    It supports some Class/Revision 3.0 operators, such as SetHalfToneMethod, SetAdaptiveHalftoning, SetColorTrapping.
    It does not appear to support the Class/Revision 3.0 operator PassThrough.

    HP yesterday (via their forum's (annual?) 'Ask an Expert Day'):

    State that the 2.1.Grafit value "is not related to the version of XL, rather it is a (proprietary) algorithm that is used in (some of) their devices".
    Confirm that the M475 supports Class/Revision 3.0.
    Claim that the PassThrough operator 'is not a PCL-XL standard command', although this appears to contradict the details published in the (publicly-available) document PCL XL Feature Reference Protocol Class 3.0 Supplement.
    LVL 16

    Author Closing Comment

    Eventually got an answer (although this raises other questions!) via a combination of responses/tests from an M475 owner, my own purchase (and tests) of one of these devices, and some responses from HP's 'Ask an Expert Day' on their support forums.

    Featured Post

    Do You Know the 4 Main Threat Actor Types?

    Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

    Join & Write a Comment

    This seems to be a very common error related to the Samsung printer driver. First, this is the error we're talking about: Log: System Type: Error Event: 7000 Agent Time: 3:37:24 am 22-Apr-09 Event Time: 6:07:24 pm 21-Apr-09 UTC Source: Se…
    Causes of paper jams:The following are the main causes of paper jams. Guides:If the guides for the paper are not set correctly they may cause the paper to enter at an angle. You should ensure that the guides are set correctly for the paper type a…
    Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
    In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor ( If you're interested in additional methods for monitoring bandwidt…

    746 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now