IT/Procedures/Printer Maintenance/Script to prevent printhead drying out: Difference between revisions
< IT | Procedures
Access restrictions were established for this page. If you see this message, you have no access to this page.
(added notifications) |
No edit summary |
||
Line 33: | Line 33: | ||
* so far no reliable way has been found to resolve the issues automatically | * so far no reliable way has been found to resolve the issues automatically | ||
=== New Approaches === | === New Approaches and Findings === | ||
* printer-maintenance.sh | * printer-maintenance.sh | ||
Line 42: | Line 42: | ||
*** if there are some, this will be logged | *** if there are some, this will be logged | ||
*** those printers then need manual maintenance (or just more paper) | *** those printers then need manual maintenance (or just more paper) | ||
*** sends notification to telegram webhook | *** sends notification to telegram webhook with output of lpstat | ||
** if | **** could be updated to e-mail or some other messenger if needed | ||
** configured another printer driver/model in CUPS | |||
*** the default model doesn't support duplex and CMYK printing | |||
*** set address from dnssd (bonjour) to static ip of the printer | |||
*** see [[IT/Procedures/Printer Maintenance/Configure Printer Driver-Model|Configure Printer Driver/Model]] | |||
==== Telegram Notifications ==== | ==== Telegram Notifications ==== | ||
Line 66: | Line 70: | ||
** <code>-v</code> | ** <code>-v</code> | ||
* <code>lprm [PRINTER] -</code> | * <code>lprm [PRINTER] -</code> | ||
* <code>lpoptions -p [PRINTER_NAME] -l</code> |
Revision as of 16:09, 22 May 2024
Printer Maintenance Script
About the Issue
A lot of effort has been taken by several people to create a reliable script that prints a test page on all printers every few days.
This should prevent the ink drying out which renders the printer unusable.
So far this feat has not been fully achieved yet :(
How is it setup?
- the script runs every few days as a cron job on the cnx server
- several scripts are under /home/walt/.scripts/PrinterMaintenance
crontab -e
to check which one is active at the moment- the newer ones are set to create some logs in the same folder (*.log)
- most if not all scripts try to print with lp and check somewhat with
lpstat
what's around (printers and/or open print jobs)
What is working so far
- there's a script that prints over the access point mode of the printers
- caveat is that the printer need to be set to ap mode, then back again for normal use
- so far this was used as a "holiday setup"
- the other scripts try to print over wlan connected to the router
- this seems to work "mostly" well, at least with the MG3670 printer models
- depending on the mood of the printer, it will not print anything at all
- send a Telegram notification if any print job ist unfinished
The Issues
- some printers occasionally just don't print anymore and pile up jobs (check
lpstat
)- though this also happens with "legit" reasons, e.g. no paper or printer error
- printers sometimes "dissapear" from the network and are no longer visible through e.g.
lpstat -v
- so far no reliable way has been found to resolve the issues automatically
New Approaches and Findings
- printer-maintenance.sh
- uses a static list of all printers (so no printer is "forgotten" if it dissapears from the network)
- checks if a printer has any unfinished jobs and deletes them (
lprm [PRINTER] -
) - sends a new job
- waits 1 min, then checks for unfinished jobs again
- if there are some, this will be logged
- those printers then need manual maintenance (or just more paper)
- sends notification to telegram webhook with output of lpstat
- could be updated to e-mail or some other messenger if needed
- configured another printer driver/model in CUPS
- the default model doesn't support duplex and CMYK printing
- set address from dnssd (bonjour) to static ip of the printer
- see Configure Printer Driver/Model
Telegram Notifications
In Telegram
- contact "BotFather" to create a new telegram bot send: /newbot
- follow the instructions
- copy the API key
- contact "IDBot" and send: /getid (in a group chat, add IDBot to group and send: /getgroupid@myidbot)
- copy ID (include "-" with group chat IDs")
- paste the API key and ID into the script
Useful Commands
lp
lpstat
-e
-v
lprm [PRINTER] -
lpoptions -p [PRINTER_NAME] -l