Greetings dear habrazhiteli and habrags.
After a long digging in the forums and solving the problem that was not solved with their help, I decided to share the recipe.
I apologize in advance for graphomania, the specifics will be, but not immediately.
A little background. My old friend in the warehouse lived and worked Canon multifunctional devices. Completely coped with the task, but by the service life I had already begun to be depressed - that paper could not be tightened, then something else. Replacing the worked parts began to approach the cost of a new device, and it was decided to buy something new. Not having time to specifically consult with me, a friend bought a Canon LBP6020 - there was a mark on Linux support on the box.Given: printer Canon i-SENSYS LBP6020, computer with CentOS.
Required: make print both directly and over the network from other computers under different operating systems.
The first surprise from Canon drivers turned out to be neither on the disk nor on the site. Support gave this answer:
We inform you that the release of the driver Canon i-SENSYS LBP6020 for Linux is scheduled for July 2013.
A friend decided to wait for the drivers, and the time when the printer could be returned to the store was over - they appeared on the English-language site only on the 22nd. On the Russian-speaking part of them there is still no (July 29).
')
So, drivers are found, downloaded. The printer is connected to a serving server. In view of the fact that the warehouse continues to work the old printer is not turned off, everyone prints on it.
Unpack the archive and install the driver packages via yum localinstall --nogpgcheck.
We start dancing with a tambourine. First of all, it turns out that you have to use ccpd. CUPS cannot print directly.
Okay, the thing is. The forums are full of examples of running LBP2900 through the same ccpd.
In order not to be confused about which printer is which one, I create udev rules.
/etc/udev/rules.d/99-capt.rules SUBSYSTEM=="usb", ATTRS{serial}=="0000B1D25DXZ", ACTION=="add", SYMLINK+="lbp6020", RUN+="/etc/init.d/ccpd restart" SUBSYSTEM=="usb", ATTRS{serial}=="0000B1D25DXZ", ACTION=="remove", SYMLINK+="lbp6020", RUN+="/etc/init.d/ccpd stop"
This rule creates the symlink / dev / lbp6020 with which ccpd should work.
The serial parameter was obtained as follows:
udevadm info --query=all -n /dev/usb/lp1 --attribute-walk
After adding the plugin - udevadm trigger
The following item, set up directly ccpd and CUPS:
/usr/sbin/ccpdadmin -p LBP6020 -o /dev/lbp6020 /usr/sbin/lpadmin -p LBP6020 -m CNCUPSLBP6018CAPTK.ppd -v ccp://localhost:59687 -E
It is important not to make a mistake, and specify the port that is marked in / etc / ccpd.conf as PDATA_Port. Attempts to type on UI_Port will not succeed.
Actually, this is where the technical part is completed, then comes a report on the support of the manufacturer, more precisely, its absence.A printer appears in CUPS, we send it a test task and ... silence. CUPS happily reports that the task is gone, but the printer does not respond in any way.
In / var / log / CCPD / which is listed as the path to the ccpd logs there is nothing. We write a request to those support:
The driver came out, installed. It seems that the print goes to / dev / null.
The system CentOS 6 x86_64, no diagnostics can be obtained from ccpd, CUPS is also silent.
The answer was the standard polite "sending the red-eye on the vector":
Please note that drivers for the Linux operating system are provided free of charge. Due to the fact that there are a huge variety of Linux system options, Canon will not be able to provide support for drivers and this operating system.
After a couple more hours of google fu, the thought arose that I was still doing something wrong. A question was asked in those support.
The download section says:
To use this software, please read the online manual before installing the driver.
Where can I find this guide? The site structure makes it difficult to search.
Please note that Red Hat Enterprise Linux is one of the standard industrial operating systems. CentOS is a complete Red Hat Enterprise Linux clone, distinguished only by its trademark.
Any self-respecting hardware manufacturer, claiming support for Linux, as Canon did in supporting supported Linux operating systems, supports current versions of this operating system. As well as SUSE Linux Enterprise, and more recently - Ubuntu LTS.
In addition, there is a single printing system CUPS, which comes in all distributions of Linux as well as included in Mac OS X.
Therefore, please provide me with the ccpd configuration and debugging documentation, which is mentioned in the driver download section. I did not manage to find it myself.
Documentation is needed in English, Russian or Ukrainian.
Maybe someone will say "where are you going, do not teach a big company to work," but somehow experience with the equipment Dell and HP caused a desire to clearly understand the manufacturer's policy.
The answer was even clearer "promise."
We inform you that the documentation requested by you cannot be sent. Please note that, by agreement of the user, CANON does not provide any guarantees regarding the programs, files, drivers and other materials contained on the CANON software website or downloaded from it. All such programs, files, drivers and other materials are provided "as is."
Further, the principle “is that, well, I will not force the piece of iron to work?”. On the Canon website, the license clearly states the right of the user to carry out reverse engineering and change drivers in any way by any means. First of all, the archives with the source codes of the driver were investigated. As it turned out, the part that interests me is only in binary form, and the source code is CUPS filters, with the GPL’s past.
I have 0 knowledge of assembler, but I wanted to achieve some debug output at any cost. Having set the strings on the binary file with the daemon, I found that debugging was not provided at all. The graphical application captstatusui was also discovered. It agreed to start only from the superuser and ... regularly swore that it was impossible to establish a connection with the printer, hinting at a disconnected cable or de-energized printer. The situation was much more banal. ccpd stubbornly ignored the path to the usb device, and tried to work with / dev / usb / lp0 - which was the old MFP, not knowing any CAPT.
Oddly enough, but once the only printer earned. Those. the demon stubbornly grabbed the first USB printer and tried to print to it, but since it was the wrong printer - nothing happened. What was reported and those. manufacturer support:
I inform you that I managed to start the printer, the cause of the malfunction was a software error in the driver caused by low qualifications of developers. But since Canon is not interested in the performance of its equipment after its sale, I will not inform you of it.
Please note that the documentation I requested is mentioned in the driver download section as published in the public domain.
Thank you for the correspondence, she helped me convince the customer to continue ordering Hewlett-Packard equipment.