Canon printer models #5637

Closed
githubuserx opened this Issue Jan 27, 2017 · 12 comments

Projects

None yet

3 participants

@githubuserx
Contributor

DO NOT DELETE THIS INFORMATION.

Please read this information carefully.

GitHub issues is for feature requests or bugs, please do not post issues asking for help or how to do X, Y or Z.
You can use our irc channel ##librenms on freenode to ask questions or our community site.

Please confirm each of the sections below by putting an x in the box like [x].

  • Is your install up to date? Updating your install
    Please do not submit an issue if your install is not up to date within the last 24 hours or on a stable monthly release.
  • Please include all of the information between the ==================================== section of ./validate.php which you can run from the cli.
  • Unless your issue is for a WebUI fix or feature then please provide ALL info asked for here.
  • Please provide as much detail as possible.
  • Please do NOT post more than 10 lines of debug information here, use a pastebin service or GitHub Gists.
[librenms@nms ~]$ sudo ./validate.php
==========================================================
Component | Version
--------- | -------
LibreNMS  | 46003a39b683b48e12e220d7466a0251b5b34f16
DB Schema | 157
PHP       | 7.0.13
MySQL     | 5.5.52-MariaDB
RRDTool   | 1.4.8
SNMP      | NET-SNMP 5.7.2
==========================================================

[OK]    Database connection successful
[librenms@nms ~]$

canon

Some of my Canon printers models are not recognized correctly- logo, toner missing etc. I believe it's most likely only an detection issue since it worked before, after I modified canonprinter.inc.php.
I reverted that change to get daily updates again and now it seems detection is done somewhere else.

It would be very nice if you could also include these printer models in future builds. Please let me know if you need further information.

@laf
Member
laf commented Jan 27, 2017

Definitions are now in includes/definitions/ as per our docs. Please contribute your changes back.

@murrant
Contributor
murrant commented Jan 28, 2017
@githubuserx
Contributor
githubuserx commented Jan 28, 2017 edited

Thanks for the quick response!
I now realized while making the changes, that my Canon D1180/MF6680 printer is recognized, but toner levels seem not to work. I'm not sure if I found the correct toner definitions and how to add a new one if necessary.

The only thing I modified until now is this part in canonprinter.yaml :

discovery:
    - sysDescr:
        - Canon MF
        - Canon iR
        - Canon LBP
        - Canon D

Also, would it be better to use a regex for this kind of description? The D1180 prefix seems to be model number for Canon USA while MF6680 is likely the european model description. Although, in the snmp data it's probably always the same string.

Here's the SNMP output:
http://pastebin.com/04wjqGR8

@laf
Member
laf commented Jan 28, 2017

Adding detection in is easy but this printer doesn't respond with the normal Printer-MIB info hence it's not being detected. What toner values are you currently seeing so we can try and work it out from the snmpwalk output

@githubuserx
Contributor

I don't see any toner value on the overview page. Also the toner page is missing.
This is the only place toner does show up but the graphs and the values are not working.
toner

@laf laf added a commit to laf/librenms that referenced this issue Jan 28, 2017
@laf laf newdevice: Added further support for Canon printers #5637 a01e7b0
@laf
Member
laf commented Jan 28, 2017

I know that - that's why I asked what the current toner level is (not in LibreNMS)

@githubuserx
Contributor

Oh sorry, I didn't get that. I'm working on it now, but oddly enough it seems that neither the webinterface nor the printer driver displays toner levels and I'm not on location right now...
But I'll get back to you as soon as possible.

@githubuserx
Contributor

I've read now the whole manual and tried several different drivers. Unfortunately it brought me nothing closer to finding the toner level. The manual suggests though, that the toner level is reported only binary as error (if empty) on the device itself.
So I don't know how or even if the value is represented in the snmp data. Though, since the cartridge is listed correctly I'd assume there would be also some toner indication even if it's only binary.
I'll keep researching this as my time allows.

@githubuserx
Contributor

So I got lucky and found some Canon MIB documentation. The only relevant OIDs I found are .1.3.6.1.2.1.43.11.1.1.9 (http://www.oid-info.com/get/1.3.6.1.2.1.43.11.1.1.9) and
.1.3.6.1.2.1.43.18.1.1.7 (http://www.oid-info.com/get/1.3.6.1.2.1.43.18.1.1.7)
with error code 1104 (INTEGER) indicating "No remaining K toner (low)"

As the second OID is not present in the snmpwalk output I conclude that there's no way to get the toner level on this printer - at least not without knowing the proprietary OIDs.
Even then it seems that this specific printer only supports a low toner alert and no kind of level indication.

Regarding the other printer(s) of the LBP series - could you please add the description (see above) to the discovery file, then I don't have to make a PR for one line. (I'm a git noob ;)
The printers worked fine in the past with the existings mibs - if further tests are needed, I can do them on monday.
Thank you for all your efforts!

@laf laf closed this in #5650 Jan 28, 2017
@laf
Member
laf commented Jan 28, 2017

1.3.6.1.2.1.43.11.1.1.9 is already used by us, your device returns -2 which is unknown.

I'll actually submit a pull request to skip toner discovery if we see that.

@laf laf reopened this Jan 28, 2017
@laf laf added a commit to laf/librenms that referenced this issue Jan 28, 2017
@laf laf Ignore toners with values -2 which is unknown #5637 e837387
@laf laf referenced this issue Jan 28, 2017
Merged

Ignore toners with values -2 which is unknown #5637 #5654

2 of 2 tasks complete
@laf laf added the New-Device label Jan 29, 2017
@githubuserx
Contributor

I have tested now the detection of my LBP series printers (LBP6650 and LBP6670) and it is working as expected. Toner levels are shown, but after some further tests and reading the canon MIB documentation it seems that all these printers only support 0%/100% level indication. (OID .43.11.1.1.9)
The webinterfaces just show "OK" if toner is not empty. Furthermore, all Canon MF series printers seem to use either that or a three-level value as described in the MIB docs of the MF 4700/4800 series:

prtMarkerSuppliesLevel(9):

three-staged value
 other(100)
 tonerLow(10)
 tonerNearlyOut(1)

I think though that it's fine to show the percentage value as is, you just have to be aware that there's no one percent-wise resolution of the toner level.

One older model I manage, a Canon iR 1022i doesn't report toner level at all per SNMP (verified with MIB docs). I noticed that the toner graph in the top right corner shows up even then. Is this a bug or is this supposed to be like that?
Another possible bug I encountered while testing: The "Recent Events" panel is displayed in a separate 12-column row below all other panels as soon as the "Toner" panel exists. I assume it should show up in the right column beneath the other panels.

@laf
Member
laf commented Jan 30, 2017

I've submitted another PR to ignore toners which report back -2, that might also resolve showing a broken graph. Just wait for it to be committed and see or test the patch linked to above #5654

@laf laf closed this in #5654 Jan 31, 2017
@aldemira aldemira added a commit to aldemira/librenms that referenced this issue Feb 9, 2017
@laf @aldemira laf + aldemira newdevice: Added further support for Canon printers #5637 (#5650) 0037583
@aldemira aldemira added a commit to aldemira/librenms that referenced this issue Feb 9, 2017
@laf @aldemira laf + aldemira fix: Ignore toners with values -2 which is unknown #5637 (#5654) dd8965f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment