Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Canon LBP-2900 prints with low density #33

Open
artvolk opened this issue Jan 14, 2024 · 6 comments
Open

Canon LBP-2900 prints with low density #33

artvolk opened this issue Jan 14, 2024 · 6 comments
Labels
print-accuracy Issue affects accuracy of print output such as alignment, size and colour

Comments

@artvolk
Copy link

artvolk commented Jan 14, 2024

Hi, first of all, thanks for the hard work on supporting obscure hardware! :)

I've got the driver working Ubuntu 23.10 x86_64 (running in Proxmox) (as a side note on Alpine 3.19 armhf (Raspberry Pi W) I've run into this issue: #8).

The problem I have though is that all prints via CUPS and captdriver have less density (black text is gray) compared to printing via MacOS or Windows drivers with the printer attached directly via USB. I can observe this behavior for both vector PDFs or documents printed from LibreOffice.

I've had a quick look into CUPS options and captdriver source code, but haven't found any knobs to turn. Did I miss something obvious?

Thanks in advance!

@mounaiban mounaiban added the print-accuracy Issue affects accuracy of print output such as alignment, size and colour label Mar 25, 2024
@mounaiban
Copy link
Owner

You're not alone in finding CUPS printouts a little lighter than expected. There's a comment, on either Alexey's original repo or mine, that mentions this too. However, I can't seem to find it at time of writing.

The only printer-related control for darkness we know is Toner Density, this is communicated to the printer via the 0xD0A0 command, bytes 8-11.

Otherwise I'm suspecting differences in raster image processors; GhostScript (which CUPS uses as an RIP) may have a lighter gamma curve than the proprietary RIPs used in macOS and Windows. I haven't been able to verify this claim, but you might be able to if you have old, low spec printers that are supported in Linux, Mac and Windows.

Emphasis on old, because I suspect many new printers to have built-in RIPs and therefore produce the same results regardless of the OS the job comes from.

@artvolk
Copy link
Author

artvolk commented Mar 25, 2024

Thanks for the response!

@goatastronaut0212
Copy link

I also have the same problem in this, but I don't have many clues about this. Is there any way to fix this issue?

@artvolk
Copy link
Author

artvolk commented Aug 4, 2024

I haven't find any so far.

@Geergon
Copy link

Geergon commented Nov 19, 2024

I haven't find any so far.

I don't know if this is still relevant for you, but I want to share how I fixed it. I have a lbp2900 printer and it also printed at a very low density compared to Windows. I decided to try installing the official driver from Canon (https://www.canon-europe.com/support/consumer/products/printers/i-sensys/lbp-series/i-sensys-lbp2900.html?type=drivers&detailId=tcm :13-1057853&os=Linux%20(64-bit)&language=en&productTcmUri=tcm:13-727036).
I followed the installation instructions and it really worked. It prints exactly the same as it prints on Windows. Also in the settings there is a choice of density from 1 to 5. But there is one nuance with the installation of this driver, it is more difficult to install than captdriver-git, since it will not work without such outdated things as libpopt0:i386 and i586-libtiff4. I don't know about other distributions, but on Fedora linux 41 I was able to find and install them (https://rpmfind.net/linux/fedora/linux/releases/41/Everything/x86_64/os/Packages/p/popt-1.19-7.fc41.i686.rpm) and (https://rpmfind.net/linux/fedora/linux/releases/41/Everything/x86_64/os/Packages/l/libtiff-devel-4.6.0-6.fc41.i686.rpm)
Here's a step-by-step description of what I did to get it running:

  1. Download drivers from Canon's official website
  2. Install them via rpm or deb
  3. sudo su
  4. nano /etc/ccpd.conf (port number should be 59787)
  5. systemctl restart cups.service
  6. /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59787 -E (instead of LBP2900, the number of your printer and the ppd to it, which can be viewed in linux-capt-drv-v271- uken/Doc/README-capt-2.71UK.txt or find a suitable file for your printer in /usr/share/cups/model/)
  7. /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0 (You need to check through "ls /dev/usb" the number of lp*, in most cases it is lp0, but it is better to check. The printer must be turned on )
  8. nvim (or nano) /etc/systemd/system/ccpd.service ->
    [Unit]
    Description=CCPD Printing Daemon
    Requires=cups.service
    After=cups.service

[Service]
Type=forking
ExecStart=/usr/sbin/ccpd

TimeoutSec=30

[Install]
WantedBy=default.target

  1. systemctl daemon-reload
  2. systemctl enable ccpd.service
  3. systemctl start ccpd.service
  4. systemctl status ccpd.service

And that's all, after that the printer started working normally and prints exactly the same as in Windows. The most important thing is to install libpopt0:i386 libtiff4:i386, because without them there will be an error ccp send_data error, exit. I hope this helps you

@artvolk
Copy link
Author

artvolk commented Nov 19, 2024

Thanks for the update!

Unfortunately will not work in my case: I'd like to have printer connected to the ARM machine with lower power consumption and official drivers are Intel only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
print-accuracy Issue affects accuracy of print output such as alignment, size and colour
Projects
None yet
Development

No branches or pull requests

4 participants