Skip to content
New issue

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

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

Already on GitHub? # to your account

Featue Request: LBP5000 suppot #30

Open
DeeKey opened this issue Oct 14, 2020 · 6 comments
Open

Featue Request: LBP5000 suppot #30

DeeKey opened this issue Oct 14, 2020 · 6 comments

Comments

@DeeKey
Copy link

DeeKey commented Oct 14, 2020

If it possible to support LBP5000 model? Or the protocol is totally different there?

@agalakhov
Copy link
Owner

agalakhov commented Oct 14, 2020

The protocol is very similar and the compression is the same. But one has to reverse-engineer the differences first. Unfortunately I don't have access to LBP5000. I can only explain how this could be done.

@DeeKey
Copy link
Author

DeeKey commented Oct 16, 2020

I was able to install it on Ubuntu 20.20 using official driver and this installation script:
https://github.com/hieplpvip/ubuntu_canon_printer

But I would like to use this printer remotely with some sort of print server. Some open software base router (like openwrt) would be a perfect solution for that! Currently my printer LBP5000 has only USB connection.

@DeeKey
Copy link
Author

DeeKey commented Oct 16, 2020

I can make some remote connection to this printer. What kind of service needed? Only SSH command line or X server as well?

@DeeKey
Copy link
Author

DeeKey commented Oct 16, 2020

Also I can follow instructions to reverse engineer and add support for this printer.

@agalakhov
Copy link
Owner

In order to reverse engineer you need the following:

  • Please make you familiar with the reverse-engineered LBP2900 protocol. It is in SPECS.
  • Next, you have to find a way of printing with Canon's official driver (presumably under Windows) and intercept USB communication. Any USB sniffer will do. Windows can be installed in a virtual machine.
  • Look at any differences in commands. Try to vary printing parameters and look what changes.
  • Guess the meaning of individual bytes.

There are some helper utilities written by me at early stages of reverse engineering, you can make use of them. They're here: https://github.com/agalakhov/anticapt
Another possibility is, take the "captfilter" binary from the official Linux driver. It generates output containing some (but not all) commands needed to print. Try running it with different input parameters and look what it does.

@DeeKey
Copy link
Author

DeeKey commented Oct 19, 2020

Thank you! Will try to play with it when time permits!

jekader added a commit to jekader/captdriver that referenced this issue Nov 3, 2020
Added a Contribute section including reverse engineering tips from agalakhov#30
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants