tromcap1102 GitHub avatar

Canon-LBP2900-CAPT-Toolkit

tromcap1102

An automated toolkit to install, fix, and network-share Canon LBP2900/LBP2900B printers on modern Ubuntu and Linux Mint using open-source drivers.

Stars

16

7-day growth

No data

Forks

11

Open issues

0

License

No data

Last updated

2026-07-24

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It solves the long-standing 'engine stall at job 5' bug by rebuilding Canon's persistent USB daemon architecture, and includes automated patches for CUPS race conditions and CUPS USB backend hangs.

Who it is for

  • Ubuntu & Linux Mint users owning Canon LBP2900/LBP2900B
  • System administrators managing legacy printers on Linux networks
  • Home users wanting to share a USB printer across Windows and Linux machines
  • Developers or power users needing a reliable, scripted printer installation

Use cases

  • Installing the printer driver (open-source or official Canon) with one command
  • Fixing printer hangs on complex print jobs via CUPS backend patches
  • Network-sharing the printer so Windows and other Linux clients can print without drivers
  • Recovering from printer communication failures with a software USB reset

Strengths

  • Single bash script with interactive menu and automatic dependency handling
  • Permanently fixes the critical job-5 engine stall by emulating Canon's daemon architecture
  • Supports both a maintained open-source driver and the official Canon driver with mutual conflict resolution
  • Includes rollback capabilities, debug logging, and Windows client scripts for seamless multi-OS sharing

Considerations

  • Only officially supports Canon LBP2900/LBP2900B (USB ID hardcoded)
  • Requires root/sudo and active internet connection to Ubuntu/Mint repositories (GitHub-only offline mode reduces but doesn't eliminate network need)
  • The script is designed for Ubuntu noble-based 24.04 or Linux Mint; compatibility with other distributions is untested

README quick start

🖨️ Canon LBP2900 CAPT Toolkit — LBP2900 / LBP2900B trên Ubuntu & Linux Mint

Repo: github.com/brucenguyen1102/Canon-LBP2900-CAPT-Toolkit

Bộ công cụ tự động cài đặt, sửa lỗi và chia sẻ máy in Canon LBP2900/2900B (giao thức CAPT độc quyền) trên các bản Linux hiện đại — dùng driver mã nguồn mở thay thế thay vì driver Canon chính hãng đã cũ và khó cài.

Toàn bộ thao tác được gói gọn trong một script bash duy nhất, có menu tương tác, tự backup trước khi sửa hệ thống, và có thể giảm phụ thuộc GitHub khi cài đặt.


✨ Tính năng chính

  • Cài driver thay thế: dùng bản ValdikSS/captdriver (nhánh val, có page-streaming) thay cho driver Canon chính hãng — build và cài tự động, không cần thư viện 32-bit (i386) cũ.
  • Hoặc cài driver Canon chính hãng v2.71: mục 1 cho phép chọn cài driver chính hãng từ gói linux-capt-drv-v271-uken.tar.gz đặt cạnh script — tự động cài thư viện 32-bit (i386) cần thiết, bật daemon ccpd, khôi phục module usblp. Hai loại driver loại trừ lẫn nhau: chọn cài driver nào thì script tự gỡ sạch driver kia trước (cài chính hãng → gỡ captdriver; cài custom → gỡ cndrvcups-*/ccpd).
  • Tự vá lỗi treo máy khi in tài liệu phức tạp: vá lỗi race condition trong CUPS USB backend (OpenPrinting/cups#1461) khiến job in bị treo im lặng khi in tài liệu nhiều hình ảnh.
  • Sửa dứt điểm lỗi kẹt engine ở job thứ 5 (captd): đây là lỗi nặng nhất của driver mã nguồn mở — cứ đến đúng job thứ 5 kể từ lúc bật máy in là engine kẹt cứng (ReserveUnit failed 0x8c), phải tắt/bật nguồn máy in mới in tiếp được. Nguyên nhân: rastertocaptfilter của CUPS, còn CUPS USB backend mở rồi đóng lại kết nối USB cho từng job; driver Canon thật (cả Windows lẫn Linux) không bao giờ bị vì chúng giữ một phiên USB liên tục qua mọi job (Canon dùng daemon ccpd). Toolkit này dựng lại đúng kiến trúc đó bằng captd (daemon giữ phiên USB) + capt-backend (CUPS backend capt: thay cho usb://), kèm 4 file nguồn captdriver đã vá giao thức cho khớp driver Canon Linux thật (nhịp heartbeat SetJobInfo2, GetExtendedStatus ×2 trước mỗi ReserveUnit, sửa vài byte payload, và đọc đủ byte phản hồi thay vì chấp nhận short read). Bắt buộc đủ cả 4 phần — thiếu bất kỳ phầ

Description

Fix Print Canon LBP2900 for Linux

Related repositories

Similar projects matched by category, topics, and programming language.

jamesob
Featured
jamesob GitHub avatar

local-llm

A comprehensive guide for building and configuring a high-end local machine to run state-of-the-art LLMs, with detailed hardware choices, BIOS tuning, and Docker-based model serving.

AI & Machine LearningLarge Language Models
1,660
bjan
Featured
bjan GitHub avatar

claudemux

Claudemux is a lightweight, dependency-minimal message bus that lets multiple Claude Code sessions communicate in real-time over tmux, enabling one session to ask another a question and receive the answer without manual intervention.

AI & Machine LearningAI Agents
9
AARomanov1985
AARomanov1985 GitHub avatar

Audio-Cassette-Simulation

A set of bash scripts using ffmpeg to simulate vintage cassette tape audio profiles with noise, wow/flutter, bandwidth limits, and EQ.

Shell
373