{"id":38215902,"url":"https://github.com/darkvision77/captppd","last_synced_at":"2026-01-17T00:47:45.798Z","repository":{"id":313258428,"uuid":"1050648589","full_name":"darkvision77/captppd","owner":"darkvision77","description":"CUPS driver for Canon CAPT v1 printers","archived":false,"fork":false,"pushed_at":"2026-01-12T21:52:42.000Z","size":211,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-13T01:57:07.544Z","etag":null,"topics":["canon","capt","cups","driver","printer","printer-driver"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darkvision77.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-04T18:18:59.000Z","updated_at":"2026-01-12T21:53:19.000Z","dependencies_parsed_at":"2025-09-04T22:32:21.832Z","dependency_job_id":null,"html_url":"https://github.com/darkvision77/captppd","commit_stats":null,"previous_names":["darkvision77/captppd"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/darkvision77/captppd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkvision77%2Fcaptppd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkvision77%2Fcaptppd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkvision77%2Fcaptppd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkvision77%2Fcaptppd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darkvision77","download_url":"https://codeload.github.com/darkvision77/captppd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkvision77%2Fcaptppd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28490572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T23:55:29.509Z","status":"ssl_error","status_checked_at":"2026-01-16T23:55:29.108Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canon","capt","cups","driver","printer","printer-driver"],"created_at":"2026-01-17T00:47:45.289Z","updated_at":"2026-01-17T00:47:45.785Z","avatar_url":"https://github.com/darkvision77.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# captppd\n[![Core tests](https://github.com/darkvision77/captppd/actions/workflows/core-tests.yml/badge.svg)](https://github.com/darkvision77/captppd/actions/workflows/core-tests.yml)\n\nCUPS driver for Canon CAPT v1 printers based on reverse engineering of the original driver. \\\nImplemented as a CUPS backend using libusb.\n\nThe driver is divided into two parts: the CUPS side (this repository)\nand the protocol side ([libcapt](https://github.com/darkvision77/libcapt)).\n\n\u003e [!IMPORTANT]\n\u003e This project is currently in an EXPERIMENTAL state.\n\n## Target devices\n| Model   | Cartridge     | PPM (A4) | Max Resolution | Year (approx.) |\n|---------|---------------|----------|----------------|----------------|\n| LBP800  | EP-22         | 8        | 600 dpi        | 1999-2001      |\n| LBP810  | EP-22         | 8        | 600 dpi        | 2001-2002      |\n| LBP1120 | EP-22         | 10       | 600 dpi        | 2003-2004      |\n| LBP1210 | EP-25         | 14       | 600 dpi        | ~2002          |\n| LBP3200 | EP-26/EP-27   | 18       | 600 dpi        | 2004-2006      |\n\n## Status\nIt cannot be said that the driver is stable until there are appropriate tests on the verified simulator.\n\nAt the moment, the protocol is quite well known.\nThe raster format (SCoA compression algorithm) is also well known and,\ntheoretically, is completely reliable.\n\n## Compilation\n### Dependencies\n#### Compile-time\n- gcc \u003e= 11 or clang \u003e= 16\n- cmake \u003e= 3.21\n- git\n- python3\n- [libcapt](https://github.com/darkvision77/libcapt) (downloaded automatically by CMake FetchContent)\n\n#### Run-time\n- cups\n- libusb-1.0\n\n### Compile\n```sh\ncmake -S. -B build\ncmake --build build\n```\n\n### Install\nThis command will install the backend, PPD files, and quirks\nthat prevent Canon CAPT v1 printers from being detected by the CUPS USB backend:\n```sh\ncmake --install build\n```\n\nIf you don't want to blacklist Canon CAPT v1 printers for the CUPS USB backend, you can use:\n```sh\ncmake --install build --component=base\n```\n\n## Usage\n### Adding printer from command line\n1. List devices:\n```sh\nlpinfo -v\n\n# Example output\ndirect usb://Canon/LBP3200?serial=00000000\ndirect captusb://Canon/LBP3200?drv=capt\u0026serial=00000000\n```\n\n2. Copy captusb URI and add printer using lpadmin:\n```sh\nlpadmin -p LBP3200 -E -v 'captusb://Canon/LBP3200?drv=capt\u0026serial=00000000' -m LBP3200CAPTPPD.ppd\n```\n\n3. Verify with lpstat:\n```sh\nlpstat -v\n\n# Example output\ndevice for LBP3200: captusb://Canon/LBP3200?drv=capt\u0026serial=00000000\n```\n\n### Adding printer from user interface\n#### CUPS web interface\n1. Go to admin page (default: http://127.0.0.1:631/admin).\n2. Click «Find New Printers».\n3. Select the captusb printer.\n4. And the model should be like `Canon LBP3200, captppd 0.1.0`.\n\n## Troubleshooting\n### If the printer has not been detected\n1. Make sure that your printer is displayed in the `lsusb` output.\n2. Execute the backend directly:\n```sh\nsudo $(cups-config --serverbin)/backend/captusb\n```\n3. If the backend couldn't detect the printer, [create an issue](https://github.com/darkvision77/captppd/issues/new).\n\n### If the printer is not working\n1. Check `lpstat -v` and make sure that the `captusb` backend is being used.\n2. Make sure you are using the correct PPD (should be like `Canon LBP3200, captppd 0.1.0`, not `Canon LBP3200 CAPT ver.1.5`).\n3. Enable CUPS debug logging:\n```sh\ncupsctl --debug-logging\n```\n4. See logs at `/var/log/cups/error_log`. \\\nTo filter out unwanted messages, you can use grep:\n```sh\ngrep '\\] \\[Job' /var/log/cups/error_log\n```\n5. [Create an issue](https://github.com/darkvision77/captppd/issues/new) and attach the log.\n\n## See also\n- [UoWPrint](https://printserver.ink/) — convert your old USB printer (or MFP) into Wi-Fi printer/MFP\n- [mounaiban/captdriver](https://github.com/mounaiban/captdriver) — open source CUPS driver for the newer Canon LBP models\n\n## SAST Tools\n[PVS-Studio](https://pvs-studio.com/pvs-studio/?utm_source=website\u0026utm_medium=github\u0026utm_campaign=open_source) — static analyzer for C, C++, C#, and Java code.\n\n## License\ncaptppd is licensed under a 2-clause BSD license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkvision77%2Fcaptppd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarkvision77%2Fcaptppd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkvision77%2Fcaptppd/lists"}