Open erosenst opened 2 years ago
Are you good at Wireshark? :shark: :technologist: Or more importantly, do you have enough toner and paper? And some spare time to spend working with Ubuntu 14.04, macOS or Windows?
The basic data format for the currently supported devices (LBP2900, 3000, 3010, and a little bit of 3100) has been documented in SPECS by @agalakhov, but I expect the LBP7200Cdn to have significant but reasonably manageable differences from the personal-scale mono devices we support.
From the screenshots you have posted* I think it's going to be "hard" work at this stage to support the '7200. You know, that kind of iterative work to figure out something you know partially but not completely (as opposed to figuring out something completely unknown).
So you'll be hooking up Wireshark to sniff USB/Ethernet traffic on a system that is running the original Canon drivers, performing various tasks like roller cleaning or printing a page, then studying the captures for things we have missed out. Once you figured out the missing pieces, you'll write new functions for prn_lbp2900.c
as needed. Sounds like fun?
What I really fear is that the compression may be different enough to require a new or extended encoder. I have zero experience in that kind of thing :fearful:
* The
bad reply from printer
message indicates that the printer device is returning three extra bytes05 40 00
in front of the actual responseA1 A1 40...
, which makes me wonder if the format is largely the same with some extra data to handle the Ethernet, duplexing and colour printing...
@erosenst If you don't mind, would you post a snippet of your CUPS log for the LBP7200C containing a response to the 0xA1A1
command? This is mostly for agalakhov#38. I'm trying to find out how it looks like for colour printers.
You should be able to get this by doing grep -A 5 CAPT:\ recv.*A1\ A1 /var/log/cups/error_log
, Run it with sudo
privileges if necessary.
If there is nothing in the log, switch on CUPS debug logging with cupsctl --debug-logging
or /usr/sbin/cupsctl --debug-logging
and try printing again. thx
PROTIP for regex newbies who landed here from the future: Spaces in the pattern are preceded by a backslash, the
*
is only an operator that must be paired with another character, class or placeholder.
D [21/Feb/2022:10:01:32 +0200] [Job 40] Connected to printer. D [21/Feb/2022:10:01:32 +0200] [Job 40] Connected to 192.168.0.215:9100... D [21/Feb/2022:10:01:32 +0200] [Job 40] backendRunLoop(print_fd=0, device_fd=6, snmp_fd=5, addr=0x5564f27949e8, use_bc=1, side_cb=0x5564f2124360) D [21/Feb/2022:10:01:32 +0200] [Job 40] backendDrainOutput(print_fd=0, device_fd=6) D [21/Feb/2022:10:01:32 +0200] [Job 40] CAPT: waiting for 6 bytes D [21/Feb/2022:10:01:32 +0200] [Job 40] Received 67 bytes of back-channel data D [21/Feb/2022:10:01:32 +0200] [Job 40] Set job-printer-state-message to "CAPT: bad reply from printer, expected A1 A1 xx xx xx xx, got 05 40 00 A1 A1 40", current level=ERROR D [21/Feb/2022:10:01:32 +0200] [Job 40] PID 24505 (/usr/lib/cups/filter/rastertocapt) stopped with status 1. D [21/Feb/2022:10:01:32 +0200] [Job 40] Hint: Try setting the LogLevel to "debug" to find out more.
and after debug:
[21/Feb/2022:10:07:11 +0200] Get-Printer-Attributes @.***:631/printers/Canon_LBP7200C
D [21/Feb/2022:10:07:11 +0200] [Client 7] Returning IPP successful-ok for Get-Printer-Attributes @.***:631/printers/Canon_LBP7200C) from localhost D [21/Feb/2022:10:07:11 +0200] [Client 7] Content-Length: 782 D [21/Feb/2022:10:07:11 +0200] [Client 7] cupsdSendHeader: code=200, type="application/ipp", auth_type=0 D [21/Feb/2022:10:07:11 +0200] [Job 41] Received 348 bytes of back-channel data E [21/Feb/2022:10:07:11 +0200] [Job 41] CAPT: bad reply from printer, expected A1 A1 xx xx xx xx, got 05 40 00 A1 A1 40 D [21/Feb/2022:10:07:11 +0200] cupsdMarkDirty(----S) D [21/Feb/2022:10:07:11 +0200] cupsdSetBusyState: newbusy="Active clients, printing jobs, and dirty files", busy="Active clients, printing jobs, and dirty files" D [21/Feb/2022:10:07:11 +0200] cupsdMarkDirty(----S) D [21/Feb/2022:10:07:11 +0200] cupsdSetBusyState: newbusy="Active clients, printing jobs, and dirty files", busy="Active clients, printing jobs, and dirty files" D [21/Feb/2022:10:07:11 +0200] [Client 7] con->http=0x5560eafc68c0 D [21/Feb/2022:10:07:11 +0200] [Client 7] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=782, response=0x5560eafd78f0(IPP_STATE_DATA), pipe_pid=0, file=-1
I installed canon official driver but it don't work (ubuntu 18.04). Not debugged it yet, it accept jobs no errors but nothing come out from printer. I have two lbp7200c machines. I can give another to you if like develop driver put postage maybe too expensive. It is quite heavy 30kg or something. I have not time now to develop driver. It is easier to go shop and buy printer that works..
But if you supply code I can compile and test it sometimes. I can keep printer connected to machine until I buy new one..
ti 15. helmik. 2022 klo 9.23 mounaiban @.***) kirjoitti:
@erosenst https://github.com/erosenst If you don't mind, would you post a snippet of your CUPS log for the LBP7200C containing a response to the 0xA1A1 command? This is mostly for agalakhov#38 https://github.com/agalakhov/captdriver/issues/38. I'm trying to find out how it looks like for colour printers.
You should be able to get this by doing grep -A 5 CAPT:\ recv.*A1\ A1 /var/log/cups/error_log, Run it with sudo privileges if necessary.
If there is nothing in the log, switch on CUPS debug logging with cupsctl --debug-logging or /usr/sbin/cupsctl --debug-logging and try printing again. thx
PROTIP for regex newbies who landed here from the future: Spaces in the pattern are preceded by a backslash, the * is only an operator that must be paired with another character, class or placeholder.
— Reply to this email directly, view it on GitHub https://github.com/mounaiban/captdriver/issues/10#issuecomment-1039938818, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMGKPN3PTXQGG5FN7MGOQJTU3H5PDANCNFSM5K6JDZBA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
There is canon official driver log piece if it helps, dosn't work but.. If you have idea how to run pstocapt3 directly and got more verbosity then post message ;)
D [21/Feb/2022:10:43:46 +0200] [Job 42] 192.168.0.215=192.168.0.215 D [21/Feb/2022:10:43:46 +0200] [Job 42] PID 24680 (/usr/lib/cups/filter/pstops) exited with no errors. D [21/Feb/2022:10:43:46 +0200] [Job 42] Before page loop - %%Page: 1 1 D [21/Feb/2022:10:43:46 +0200] [Job 42] Copying page 1... D [21/Feb/2022:10:43:46 +0200] [Job 42] pagew = 567.0, pagel = 814.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] bboxx = 116, bboxy = 284, bboxw = 363, bboxl = 274 D [21/Feb/2022:10:43:46 +0200] [Job 42] PageLeft = 14.0, PageRight = 581.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] PageTop = 828.0, PageBottom = 14.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] PageWidth = 595.0, PageLength = 842.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] Wrote 1 pages... D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-colors=#000000,#FFFF00,#FF00FF,#00FFFF D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-names=\'\"Black Toner Cartridge for LBP7200C\"\',\'\"Yellow Toner Cartridge for LBP7200C\"\',\'\"Magenta Toner Cartridge for LBP7200C\"\',\'\"Cyan Toner Cartridge for LBP7200C\"\' D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-types=toner,toner,toner,toner D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-levels=-1,-1,-1,-1 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_supply_state=0, change_state=ffff D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -developer-low-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -developer-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -marker-supply-low-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -marker-supply-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -opc-near-eol-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -opc-life-over-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -toner-low-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -toner-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -waste-receptacle-almost-full-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -waste-receptacle-full-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -cleaner-life-almost-over-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -cleaner-life-over-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] new_state=0, change_state=ffff D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -media-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -door-open-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -media-jam-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -input-tray-missing-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -output-tray-missing-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -marker-supply-missing-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -output-area-almost-full-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -output-area-full-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] backendWaitLoop(snmp_fd=5, addr=0x560e2bbdcd08, side_cb=0x560e2b253360) D [21/Feb/2022:10:43:46 +0200] [Job 42] opvpOpenPrinter(463) D [21/Feb/2022:10:43:46 +0200] [Job 42] CStubOpenPrinter(397) D [21/Feb/2022:10:43:46 +0200] [Job 42] opvpOpenPrinter(463) D [21/Feb/2022:10:43:46 +0200] [Job 42] CStubOpenPrinter(397) D [21/Feb/2022:10:43:46 +0200] [Job 42] Connecting to 192.168.0.215:9100 D [21/Feb/2022:10:43:46 +0200] [Job 42] Connecting to printer. D [21/Feb/2022:10:43:46 +0200] [Job 42] Set job-printer-state-message to "Connecting to printer.", current level=INFO D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -connecting-to-device D [21/Feb/2022:10:43:46 +0200] [Job 42] Connected to printer. D [21/Feb/2022:10:43:46 +0200] [Job 42] Set job-printer-state-message to "Connected to printer.", current level=INFO D [21/Feb/2022:10:43:46 +0200] [Job 42] Connected to 192.168.0.215:9100... D [21/Feb/2022:10:43:46 +0200] [Job 42] backendRunLoop(print_fd=0, device_fd=6, snmp_fd=5, addr=0x560e2bbdcd08, use_bc=1, side_cb=0x560e2b253360) D [21/Feb/2022:10:43:46 +0200] [Job 42] Received 352 bytes of back-channel data D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-levels=-1,-1,-1,-1 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_supply_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] Error reading back-channel data: Connection reset by peer D [21/Feb/2022:10:43:46 +0200] [Job 42] Read 300 bytes of print data... E [21/Feb/2022:10:43:46 +0200] [Job 42] Unable to write print data: Broken pipe D [21/Feb/2022:10:43:46 +0200] [Job 42] Set job-printer-state-message to "Unable to write print data: Broken pipe", current level=ERROR D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: +cups-waiting-for-job-completed D [21/Feb/2022:10:43:46 +0200] [Job 42] Waiting for printer to finish. D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-levels=-1,-1,-1,-1 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_supply_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] PID 24682 (/usr/lib/cups/backend/socket) exited with no errors. D [21/Feb/2022:10:43:46 +0200] [Job 42] new_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] GPL Ghostscript 9.26: Unrecoverable error, exit code 1 D [21/Feb/2022:10:43:46 +0200] [Job 42] PID 24681 (/usr/lib/cups/filter/pstocapt3) exited with no errors. D [21/Feb/2022:10:43:46 +0200] [Job 42] time-at-completed=1645433026 I [21/Feb/2022:10:43:46 +0200] [Job 42] Job completed. D [21/Feb/2022:10:43:47 +0200] [Job 42] Unloading...
ma 21. helmik. 2022 klo 10.24 Eerin Rosenström @.***) kirjoitti:
D [21/Feb/2022:10:01:32 +0200] [Job 40] Connected to printer. D [21/Feb/2022:10:01:32 +0200] [Job 40] Connected to 192.168.0.215:9100...
D [21/Feb/2022:10:01:32 +0200] [Job 40] backendRunLoop(print_fd=0, device_fd=6, snmp_fd=5, addr=0x5564f27949e8, use_bc=1, side_cb=0x5564f2124360) D [21/Feb/2022:10:01:32 +0200] [Job 40] backendDrainOutput(print_fd=0, device_fd=6) D [21/Feb/2022:10:01:32 +0200] [Job 40] CAPT: waiting for 6 bytes D [21/Feb/2022:10:01:32 +0200] [Job 40] Received 67 bytes of back-channel data D [21/Feb/2022:10:01:32 +0200] [Job 40] Set job-printer-state-message to "CAPT: bad reply from printer, expected A1 A1 xx xx xx xx, got 05 40 00 A1 A1 40", current level=ERROR D [21/Feb/2022:10:01:32 +0200] [Job 40] PID 24505 (/usr/lib/cups/filter/rastertocapt) stopped with status 1. D [21/Feb/2022:10:01:32 +0200] [Job 40] Hint: Try setting the LogLevel to "debug" to find out more.
and after debug:
[21/Feb/2022:10:07:11 +0200] Get-Printer-Attributes @.***:631/printers/Canon_LBP7200C
D [21/Feb/2022:10:07:11 +0200] [Client 7] Returning IPP successful-ok for Get-Printer-Attributes @.***:631/printers/Canon_LBP7200C) from localhost D [21/Feb/2022:10:07:11 +0200] [Client 7] Content-Length: 782 D [21/Feb/2022:10:07:11 +0200] [Client 7] cupsdSendHeader: code=200, type="application/ipp", auth_type=0 D [21/Feb/2022:10:07:11 +0200] [Job 41] Received 348 bytes of back-channel data E [21/Feb/2022:10:07:11 +0200] [Job 41] CAPT: bad reply from printer, expected A1 A1 xx xx xx xx, got 05 40 00 A1 A1 40 D [21/Feb/2022:10:07:11 +0200] cupsdMarkDirty(----S) D [21/Feb/2022:10:07:11 +0200] cupsdSetBusyState: newbusy="Active clients, printing jobs, and dirty files", busy="Active clients, printing jobs, and dirty files" D [21/Feb/2022:10:07:11 +0200] cupsdMarkDirty(----S) D [21/Feb/2022:10:07:11 +0200] cupsdSetBusyState: newbusy="Active clients, printing jobs, and dirty files", busy="Active clients, printing jobs, and dirty files" D [21/Feb/2022:10:07:11 +0200] [Client 7] con->http=0x5560eafc68c0 D [21/Feb/2022:10:07:11 +0200] [Client 7] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=782, response=0x5560eafd78f0(IPP_STATE_DATA), pipe_pid=0, file=-1
I installed canon official driver but it don't work (ubuntu 18.04). Not debugged it yet, it accept jobs no errors but nothing come out from printer. I have two lbp7200c machines. I can give another to you if like develop driver put postage maybe too expensive. It is quite heavy 30kg or something. I have not time now to develop driver. It is easier to go shop and buy printer that works..
But if you supply code I can compile and test it sometimes. I can keep printer connected to machine until I buy new one..
ti 15. helmik. 2022 klo 9.23 mounaiban @.***) kirjoitti:
@erosenst https://github.com/erosenst If you don't mind, would you post a snippet of your CUPS log for the LBP7200C containing a response to the 0xA1A1 command? This is mostly for agalakhov#38 https://github.com/agalakhov/captdriver/issues/38. I'm trying to find out how it looks like for colour printers.
You should be able to get this by doing grep -A 5 CAPT:\ recv.*A1\ A1 /var/log/cups/error_log, Run it with sudo privileges if necessary.
If there is nothing in the log, switch on CUPS debug logging with cupsctl --debug-logging or /usr/sbin/cupsctl --debug-logging and try printing again. thx
PROTIP for regex newbies who landed here from the future: Spaces in the pattern are preceded by a backslash, the * is only an operator that must be paired with another character, class or placeholder.
— Reply to this email directly, view it on GitHub https://github.com/mounaiban/captdriver/issues/10#issuecomment-1039938818, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMGKPN3PTXQGG5FN7MGOQJTU3H5PDANCNFSM5K6JDZBA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
There is wireshark dump from job 43 from canon official if it helps..
ma 21. helmik. 2022 klo 11.08 Eerin Rosenström @.***) kirjoitti:
There is canon official driver log piece if it helps, dosn't work but.. If you have idea how to run pstocapt3 directly and got more verbosity then post message ;)
D [21/Feb/2022:10:43:46 +0200] [Job 42] 192.168.0.215=192.168.0.215 D [21/Feb/2022:10:43:46 +0200] [Job 42] PID 24680 (/usr/lib/cups/filter/pstops) exited with no errors. D [21/Feb/2022:10:43:46 +0200] [Job 42] Before page loop - %%Page: 1 1 D [21/Feb/2022:10:43:46 +0200] [Job 42] Copying page 1... D [21/Feb/2022:10:43:46 +0200] [Job 42] pagew = 567.0, pagel = 814.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] bboxx = 116, bboxy = 284, bboxw = 363, bboxl = 274 D [21/Feb/2022:10:43:46 +0200] [Job 42] PageLeft = 14.0, PageRight = 581.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] PageTop = 828.0, PageBottom = 14.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] PageWidth = 595.0, PageLength = 842.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] Wrote 1 pages... D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-colors=#000000,#FFFF00,#FF00FF,#00FFFF D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-names=\'\"Black Toner Cartridge for LBP7200C\"\',\'\"Yellow Toner Cartridge for LBP7200C\"\',\'\"Magenta Toner Cartridge for LBP7200C\"\',\'\"Cyan Toner Cartridge for LBP7200C\"\' D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-types=toner,toner,toner,toner D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-levels=-1,-1,-1,-1 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_supply_state=0, change_state=ffff D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -developer-low-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -developer-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -marker-supply-low-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -marker-supply-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -opc-near-eol-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -opc-life-over-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -toner-low-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -toner-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -waste-receptacle-almost-full-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -waste-receptacle-full-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -cleaner-life-almost-over-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -cleaner-life-over-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] new_state=0, change_state=ffff D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -media-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -door-open-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -media-jam-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -input-tray-missing-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -output-tray-missing-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -marker-supply-missing-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -output-area-almost-full-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -output-area-full-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] backendWaitLoop(snmp_fd=5, addr=0x560e2bbdcd08, side_cb=0x560e2b253360) D [21/Feb/2022:10:43:46 +0200] [Job 42] opvpOpenPrinter(463) D [21/Feb/2022:10:43:46 +0200] [Job 42] CStubOpenPrinter(397) D [21/Feb/2022:10:43:46 +0200] [Job 42] opvpOpenPrinter(463) D [21/Feb/2022:10:43:46 +0200] [Job 42] CStubOpenPrinter(397) D [21/Feb/2022:10:43:46 +0200] [Job 42] Connecting to 192.168.0.215:9100 D [21/Feb/2022:10:43:46 +0200] [Job 42] Connecting to printer. D [21/Feb/2022:10:43:46 +0200] [Job 42] Set job-printer-state-message to "Connecting to printer.", current level=INFO D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -connecting-to-device D [21/Feb/2022:10:43:46 +0200] [Job 42] Connected to printer. D [21/Feb/2022:10:43:46 +0200] [Job 42] Set job-printer-state-message to "Connected to printer.", current level=INFO D [21/Feb/2022:10:43:46 +0200] [Job 42] Connected to 192.168.0.215:9100...
D [21/Feb/2022:10:43:46 +0200] [Job 42] backendRunLoop(print_fd=0, device_fd=6, snmp_fd=5, addr=0x560e2bbdcd08, use_bc=1, side_cb=0x560e2b253360) D [21/Feb/2022:10:43:46 +0200] [Job 42] Received 352 bytes of back-channel data D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-levels=-1,-1,-1,-1 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_supply_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] Error reading back-channel data: Connection reset by peer D [21/Feb/2022:10:43:46 +0200] [Job 42] Read 300 bytes of print data... E [21/Feb/2022:10:43:46 +0200] [Job 42] Unable to write print data: Broken pipe D [21/Feb/2022:10:43:46 +0200] [Job 42] Set job-printer-state-message to "Unable to write print data: Broken pipe", current level=ERROR D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: +cups-waiting-for-job-completed D [21/Feb/2022:10:43:46 +0200] [Job 42] Waiting for printer to finish. D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-levels=-1,-1,-1,-1 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_supply_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] PID 24682 (/usr/lib/cups/backend/socket) exited with no errors. D [21/Feb/2022:10:43:46 +0200] [Job 42] new_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] GPL Ghostscript 9.26: Unrecoverable error, exit code 1 D [21/Feb/2022:10:43:46 +0200] [Job 42] PID 24681 (/usr/lib/cups/filter/pstocapt3) exited with no errors. D [21/Feb/2022:10:43:46 +0200] [Job 42] time-at-completed=1645433026 I [21/Feb/2022:10:43:46 +0200] [Job 42] Job completed. D [21/Feb/2022:10:43:47 +0200] [Job 42] Unloading...
ma 21. helmik. 2022 klo 10.24 Eerin Rosenström @.***) kirjoitti:
D [21/Feb/2022:10:01:32 +0200] [Job 40] Connected to printer. D [21/Feb/2022:10:01:32 +0200] [Job 40] Connected to 192.168.0.215:9100...
D [21/Feb/2022:10:01:32 +0200] [Job 40] backendRunLoop(print_fd=0, device_fd=6, snmp_fd=5, addr=0x5564f27949e8, use_bc=1, side_cb=0x5564f2124360) D [21/Feb/2022:10:01:32 +0200] [Job 40] backendDrainOutput(print_fd=0, device_fd=6) D [21/Feb/2022:10:01:32 +0200] [Job 40] CAPT: waiting for 6 bytes D [21/Feb/2022:10:01:32 +0200] [Job 40] Received 67 bytes of back-channel data D [21/Feb/2022:10:01:32 +0200] [Job 40] Set job-printer-state-message to "CAPT: bad reply from printer, expected A1 A1 xx xx xx xx, got 05 40 00 A1 A1 40", current level=ERROR D [21/Feb/2022:10:01:32 +0200] [Job 40] PID 24505 (/usr/lib/cups/filter/rastertocapt) stopped with status 1. D [21/Feb/2022:10:01:32 +0200] [Job 40] Hint: Try setting the LogLevel to "debug" to find out more.
and after debug:
[21/Feb/2022:10:07:11 +0200] Get-Printer-Attributes @.***:631/printers/Canon_LBP7200C
D [21/Feb/2022:10:07:11 +0200] [Client 7] Returning IPP successful-ok for Get-Printer-Attributes @.***:631/printers/Canon_LBP7200C) from localhost D [21/Feb/2022:10:07:11 +0200] [Client 7] Content-Length: 782 D [21/Feb/2022:10:07:11 +0200] [Client 7] cupsdSendHeader: code=200, type="application/ipp", auth_type=0 D [21/Feb/2022:10:07:11 +0200] [Job 41] Received 348 bytes of back-channel data E [21/Feb/2022:10:07:11 +0200] [Job 41] CAPT: bad reply from printer, expected A1 A1 xx xx xx xx, got 05 40 00 A1 A1 40 D [21/Feb/2022:10:07:11 +0200] cupsdMarkDirty(----S) D [21/Feb/2022:10:07:11 +0200] cupsdSetBusyState: newbusy="Active clients, printing jobs, and dirty files", busy="Active clients, printing jobs, and dirty files" D [21/Feb/2022:10:07:11 +0200] cupsdMarkDirty(----S) D [21/Feb/2022:10:07:11 +0200] cupsdSetBusyState: newbusy="Active clients, printing jobs, and dirty files", busy="Active clients, printing jobs, and dirty files" D [21/Feb/2022:10:07:11 +0200] [Client 7] con->http=0x5560eafc68c0 D [21/Feb/2022:10:07:11 +0200] [Client 7] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=782, response=0x5560eafd78f0(IPP_STATE_DATA), pipe_pid=0, file=-1
I installed canon official driver but it don't work (ubuntu 18.04). Not debugged it yet, it accept jobs no errors but nothing come out from printer. I have two lbp7200c machines. I can give another to you if like develop driver put postage maybe too expensive. It is quite heavy 30kg or something. I have not time now to develop driver. It is easier to go shop and buy printer that works..
But if you supply code I can compile and test it sometimes. I can keep printer connected to machine until I buy new one..
ti 15. helmik. 2022 klo 9.23 mounaiban @.***) kirjoitti:
@erosenst https://github.com/erosenst If you don't mind, would you post a snippet of your CUPS log for the LBP7200C containing a response to the 0xA1A1 command? This is mostly for agalakhov#38 https://github.com/agalakhov/captdriver/issues/38. I'm trying to find out how it looks like for colour printers.
You should be able to get this by doing grep -A 5 CAPT:\ recv.*A1\ A1 /var/log/cups/error_log, Run it with sudo privileges if necessary.
If there is nothing in the log, switch on CUPS debug logging with cupsctl --debug-logging or /usr/sbin/cupsctl --debug-logging and try printing again. thx
PROTIP for regex newbies who landed here from the future: Spaces in the pattern are preceded by a backslash, the * is only an operator that must be paired with another character, class or placeholder.
— Reply to this email directly, view it on GitHub https://github.com/mounaiban/captdriver/issues/10#issuecomment-1039938818, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMGKPN3PTXQGG5FN7MGOQJTU3H5PDANCNFSM5K6JDZBA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
Did you say that ubuntu 14 works with canon official driver? How about ubuntu 16? driver is from 2017 ( 4096 Apr 17 2017 linux-capt-drv-v271-uken). I may build up virtual machine for old ubuntu. Do you have good place to got old install files and updates? Official dosn't exist anymore..
ma 21. helmik. 2022 klo 11.18 Eerin Rosenström @.***) kirjoitti:
There is wireshark dump from job 43 from canon official if it helps..
ma 21. helmik. 2022 klo 11.08 Eerin Rosenström @.***) kirjoitti:
There is canon official driver log piece if it helps, dosn't work but.. If you have idea how to run pstocapt3 directly and got more verbosity then post message ;)
D [21/Feb/2022:10:43:46 +0200] [Job 42] 192.168.0.215=192.168.0.215 D [21/Feb/2022:10:43:46 +0200] [Job 42] PID 24680 (/usr/lib/cups/filter/pstops) exited with no errors. D [21/Feb/2022:10:43:46 +0200] [Job 42] Before page loop - %%Page: 1 1 D [21/Feb/2022:10:43:46 +0200] [Job 42] Copying page 1... D [21/Feb/2022:10:43:46 +0200] [Job 42] pagew = 567.0, pagel = 814.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] bboxx = 116, bboxy = 284, bboxw = 363, bboxl = 274 D [21/Feb/2022:10:43:46 +0200] [Job 42] PageLeft = 14.0, PageRight = 581.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] PageTop = 828.0, PageBottom = 14.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] PageWidth = 595.0, PageLength = 842.0 D [21/Feb/2022:10:43:46 +0200] [Job 42] Wrote 1 pages... D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-colors=#000000,#FFFF00,#FF00FF,#00FFFF D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-names=\'\"Black Toner Cartridge for LBP7200C\"\',\'\"Yellow Toner Cartridge for LBP7200C\"\',\'\"Magenta Toner Cartridge for LBP7200C\"\',\'\"Cyan Toner Cartridge for LBP7200C\"\' D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-types=toner,toner,toner,toner D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-levels=-1,-1,-1,-1 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_supply_state=0, change_state=ffff D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -developer-low-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -developer-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -marker-supply-low-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -marker-supply-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -opc-near-eol-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -opc-life-over-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -toner-low-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -toner-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -waste-receptacle-almost-full-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -waste-receptacle-full-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -cleaner-life-almost-over-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -cleaner-life-over-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] new_state=0, change_state=ffff D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -media-empty-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -door-open-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -media-jam-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -input-tray-missing-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -output-tray-missing-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -marker-supply-missing-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -output-area-almost-full-report D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -output-area-full-warning D [21/Feb/2022:10:43:46 +0200] [Job 42] backendWaitLoop(snmp_fd=5, addr=0x560e2bbdcd08, side_cb=0x560e2b253360) D [21/Feb/2022:10:43:46 +0200] [Job 42] opvpOpenPrinter(463) D [21/Feb/2022:10:43:46 +0200] [Job 42] CStubOpenPrinter(397) D [21/Feb/2022:10:43:46 +0200] [Job 42] opvpOpenPrinter(463) D [21/Feb/2022:10:43:46 +0200] [Job 42] CStubOpenPrinter(397) D [21/Feb/2022:10:43:46 +0200] [Job 42] Connecting to 192.168.0.215:9100 D [21/Feb/2022:10:43:46 +0200] [Job 42] Connecting to printer. D [21/Feb/2022:10:43:46 +0200] [Job 42] Set job-printer-state-message to "Connecting to printer.", current level=INFO D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: -connecting-to-device D [21/Feb/2022:10:43:46 +0200] [Job 42] Connected to printer. D [21/Feb/2022:10:43:46 +0200] [Job 42] Set job-printer-state-message to "Connected to printer.", current level=INFO D [21/Feb/2022:10:43:46 +0200] [Job 42] Connected to 192.168.0.215:9100...
D [21/Feb/2022:10:43:46 +0200] [Job 42] backendRunLoop(print_fd=0, device_fd=6, snmp_fd=5, addr=0x560e2bbdcd08, use_bc=1, side_cb=0x560e2b253360) D [21/Feb/2022:10:43:46 +0200] [Job 42] Received 352 bytes of back-channel data D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-levels=-1,-1,-1,-1 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_supply_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] Error reading back-channel data: Connection reset by peer D [21/Feb/2022:10:43:46 +0200] [Job 42] Read 300 bytes of print data... E [21/Feb/2022:10:43:46 +0200] [Job 42] Unable to write print data: Broken pipe D [21/Feb/2022:10:43:46 +0200] [Job 42] Set job-printer-state-message to "Unable to write print data: Broken pipe", current level=ERROR D [21/Feb/2022:10:43:46 +0200] [Job 42] STATE: +cups-waiting-for-job-completed D [21/Feb/2022:10:43:46 +0200] [Job 42] Waiting for printer to finish. D [21/Feb/2022:10:43:46 +0200] [Job 42] ATTR: marker-levels=-1,-1,-1,-1 D [21/Feb/2022:10:43:46 +0200] [Job 42] new_supply_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] PID 24682 (/usr/lib/cups/backend/socket) exited with no errors. D [21/Feb/2022:10:43:46 +0200] [Job 42] new_state=0, change_state=0 D [21/Feb/2022:10:43:46 +0200] [Job 42] GPL Ghostscript 9.26: Unrecoverable error, exit code 1 D [21/Feb/2022:10:43:46 +0200] [Job 42] PID 24681 (/usr/lib/cups/filter/pstocapt3) exited with no errors. D [21/Feb/2022:10:43:46 +0200] [Job 42] time-at-completed=1645433026 I [21/Feb/2022:10:43:46 +0200] [Job 42] Job completed. D [21/Feb/2022:10:43:47 +0200] [Job 42] Unloading...
ma 21. helmik. 2022 klo 10.24 Eerin Rosenström @.***) kirjoitti:
D [21/Feb/2022:10:01:32 +0200] [Job 40] Connected to printer. D [21/Feb/2022:10:01:32 +0200] [Job 40] Connected to 192.168.0.215:9100...
D [21/Feb/2022:10:01:32 +0200] [Job 40] backendRunLoop(print_fd=0, device_fd=6, snmp_fd=5, addr=0x5564f27949e8, use_bc=1, side_cb=0x5564f2124360) D [21/Feb/2022:10:01:32 +0200] [Job 40] backendDrainOutput(print_fd=0, device_fd=6) D [21/Feb/2022:10:01:32 +0200] [Job 40] CAPT: waiting for 6 bytes D [21/Feb/2022:10:01:32 +0200] [Job 40] Received 67 bytes of back-channel data D [21/Feb/2022:10:01:32 +0200] [Job 40] Set job-printer-state-message to "CAPT: bad reply from printer, expected A1 A1 xx xx xx xx, got 05 40 00 A1 A1 40", current level=ERROR D [21/Feb/2022:10:01:32 +0200] [Job 40] PID 24505 (/usr/lib/cups/filter/rastertocapt) stopped with status 1. D [21/Feb/2022:10:01:32 +0200] [Job 40] Hint: Try setting the LogLevel to "debug" to find out more.
and after debug:
[21/Feb/2022:10:07:11 +0200] Get-Printer-Attributes @.***:631/printers/Canon_LBP7200C
D [21/Feb/2022:10:07:11 +0200] [Client 7] Returning IPP successful-ok for Get-Printer-Attributes @.***:631/printers/Canon_LBP7200C) from localhost D [21/Feb/2022:10:07:11 +0200] [Client 7] Content-Length: 782 D [21/Feb/2022:10:07:11 +0200] [Client 7] cupsdSendHeader: code=200, type="application/ipp", auth_type=0 D [21/Feb/2022:10:07:11 +0200] [Job 41] Received 348 bytes of back-channel data E [21/Feb/2022:10:07:11 +0200] [Job 41] CAPT: bad reply from printer, expected A1 A1 xx xx xx xx, got 05 40 00 A1 A1 40 D [21/Feb/2022:10:07:11 +0200] cupsdMarkDirty(----S) D [21/Feb/2022:10:07:11 +0200] cupsdSetBusyState: newbusy="Active clients, printing jobs, and dirty files", busy="Active clients, printing jobs, and dirty files" D [21/Feb/2022:10:07:11 +0200] cupsdMarkDirty(----S) D [21/Feb/2022:10:07:11 +0200] cupsdSetBusyState: newbusy="Active clients, printing jobs, and dirty files", busy="Active clients, printing jobs, and dirty files" D [21/Feb/2022:10:07:11 +0200] [Client 7] con->http=0x5560eafc68c0 D [21/Feb/2022:10:07:11 +0200] [Client 7] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=782, response=0x5560eafd78f0(IPP_STATE_DATA), pipe_pid=0, file=-1
I installed canon official driver but it don't work (ubuntu 18.04). Not debugged it yet, it accept jobs no errors but nothing come out from printer. I have two lbp7200c machines. I can give another to you if like develop driver put postage maybe too expensive. It is quite heavy 30kg or something. I have not time now to develop driver. It is easier to go shop and buy printer that works..
But if you supply code I can compile and test it sometimes. I can keep printer connected to machine until I buy new one..
ti 15. helmik. 2022 klo 9.23 mounaiban @.***) kirjoitti:
@erosenst https://github.com/erosenst If you don't mind, would you post a snippet of your CUPS log for the LBP7200C containing a response to the 0xA1A1 command? This is mostly for agalakhov#38 https://github.com/agalakhov/captdriver/issues/38. I'm trying to find out how it looks like for colour printers.
You should be able to get this by doing grep -A 5 CAPT:\ recv.*A1\ A1 /var/log/cups/error_log, Run it with sudo privileges if necessary.
If there is nothing in the log, switch on CUPS debug logging with cupsctl --debug-logging or /usr/sbin/cupsctl --debug-logging and try printing again. thx
PROTIP for regex newbies who landed here from the future: Spaces in the pattern are preceded by a backslash, the * is only an operator that must be paired with another character, class or placeholder.
— Reply to this email directly, view it on GitHub https://github.com/mounaiban/captdriver/issues/10#issuecomment-1039938818, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMGKPN3PTXQGG5FN7MGOQJTU3H5PDANCNFSM5K6JDZBA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
Hmm, missing wireshark log.. lbp7200.wireshark.pcapng.log
@erosenst Thanks for posting the Wireshark log, that's the first time I've seen stuff from a colour CAPT printer in such detail, and the first time I've seen CAPT work over Ethernet.
I haven't gotten around to picking it apart in detail, but it appears to be good old TCP/IP(v4?) and CAPT commands tagged on without any dramas.
The 0xA1A1
command in packet 21 of the log just proved me wrong on a few points already! :sweat_smile: I will be posting updates on agalakhov#38 soon.
Packet 23 is particularly interesting, it shows 0xA0A1
, 0xA0A2
, 0xA0A3
and 0xA0A4
commands in a single Ethernet frame :detective:
I installed ubuntu 16 virtual, it dosn't work, then I installed w2k virtual and canon drivers. There is wireshark log from w2k testpage lbp7200-w2k-testpage.pcapng.gz :
@erosenst To answer your first question, Ubuntu 16.10 brought me to captdriver. :wink: I had lots of trouble with Ubuntu 16 and only managed to print a single page with the Canon drivers; being more clueless back then about how libraries and CUPS worked in Linux didn't help either.
I only tried Ubuntu 14 when I came to know this LXC-based solution by nerk. I did not deploy the containers, I just followed the most important parts (installing the prescribed packages) and remembered to start ccpd.
In the coming weeks, I will be requesting more '7200C tests and Wireshark logs if that is alright with you.
For now, I am just confirming your printer's configuration. From my guess, looking at the logs you sent:
Is this correct?
Also, which paper size are you normally using? All tests will use only this paper size. Thanks in advance!
I can test it more. One problem is that unit is in my landplace and I'm not continuous there. Need to bring it to my city house and setup machine for you. then it is more fluent to test it.. I got one old computer suitable for VM's, need order HD and webcam then I can install ubuntu 18.04 (is it ok?)
Printer is 7200cdn and I don't have second paper tray. Size here europe is A4. Not impossible to get some letter size later I think.
to 24. helmik. 2022 klo 10.55 mounaiban @.***) kirjoitti:
In the coming weeks, I will be requesting more '7200C tests and Wireshark logs if that is alright with you.
For now, I am just confirming your printer's configuration. From my guess, looking at the logs you sent:
- The printer is a 7200Cdn, with duplex and the Ethernet+USB card
- You are not using the optional second tray
Is this correct?
Also, which paper size are you normally using? All tests will use only this paper size. Thanks in advance!
— Reply to this email directly, view it on GitHub https://github.com/mounaiban/captdriver/issues/10#issuecomment-1049628633, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMGKPN3FCCMTV7ZQFEDPDWDU4XXA7ANCNFSM5K6JDZBA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
Here's what I can figure out for now based on the Wireshark logs:
The LBP7200Cdn uses both TCP and UDP commands when on Ethernet. I don't know the UDP commands yet, but TCP commands are looking like their USB counterparts. The LBP7200 also features grouped responses.
Packets 37 and 42 are examples; the printer accepts the same commands over TCP :smiley:
0x05
multi-response (TCP & USB)The LBP7200 supports multi-command responses. The three-byte "outer command" 0x05 low(SIZE) hi(SIZE)
indicates that there will be an arbitrary number of responses for the next SIZE bytes. SIZE is unsigned little endian 16-bit, so the maximum group is 65532 bytes (65535-3). This seems to occur only on response packets.
For example, in packet 31 of lbp7200-w2k-testpage.pcapng.gz, the TCP payload begins with 05 58 00
: there is only one response in the 0x58
(88) bytes.
In packet 26, the payload starts with 05 1e 01
, indicating that there are responses in the next 286 bytes. Five of them are to be found in the packet. Do you know where they start?
It was not known at this time if other CAPT 3.0 printers support this grouping.
0x00
commandPacket 62 contains an example of a 2-byte 0x00
outer command. Its use was unknown at this time.
EDIT: just realised that 0x05
's are sent from printer to host, but I haven't found any outgoing 0x05
's.
@erosenst The VM will not be needed until later, that is the middle of this year at the earliest. I think I might need two VMs, one running Ubuntu 14.04 (for logging) and the other running the latest Ubuntu (for testing our driver) when the time comes.
I am currently trying to build a more reliable USB backend for Captdriver, but I just ran into a dead end. My attempts at using a secondary libusb 1.0 handle within CUPS just didn't work. I suspect there is a limitation that there could only be one handle per device per process (like, multiple handles to the same device would thus need to be from different processes). :shrug:
My next attempt will likely use PAPPL instead of CUPS.
In the meantime, here is a test for the LBP7200Cdn, if you are alright with doing this. It takes at least 8 A4 sheets and prints about 16 pages in total.
This test will use issue-10.pdf, a PDF with A4-sized pages.
Please use only Windows to run this test.
Before each test, check that the printer status window is monitoring the printer device.
Turn on duplex/2-sided printing and full colour, then start capture, wait 15 seconds, print all pages of the PDF, wait another 15 seconds before ending the capture. (8 pages)
Switch to 1-sided printing and black & white only mode. Start capture, wait 15 seconds, print first 4 pages, wait 15 seconds, end capture. (4 pages)
Reset to default settings. Turn on 2-sided printing with Binding Location set to Long Edge. Start capture, wait 15 seconds, print the last 2 pages of the PDF, wait 15 seconds, end capture (2 pages)
Reset to default settings; keep 2-sided printing on with Binding Location set to Short Edge. Start capture, wait 15 seconds, print last 2 pages of PDF, wait 15 seconds, end capture (2 pages).
Please post the test results as four separate *.pcap.gz logs. Thanks in advance! :bow:
The PDF was meant to be easy to reproduce deterministically. This makes studies easier.
The first test's eight-page length attempts to find out how many pages the printer is able to buffer at once. At time of writing, this is suspected to be 5 pages.
The 15 second wait is to confirm that TCP is only used during a job, UDP when idle.
Both 1-sided and 2-sided print jobs are included to find out the CAPT command argument that enables and disables this feature.
Both CMYK/colour and B&W jobs are included in order to find out if different data formats are used for colour jobs.
I chose to use the Windows driver just for its authoritative value; most users of this printer are likely running Windows.
Not sure if you still want to work on this, but I am happy to help. I have a LBP7210Cdn, and I am running devuan linux - can use tcpdump or wireshark.
Thanks for reaching out @Julf; colour support will be implemented sometime in the future, but we have to figure out the format for the colour rasters on CAPT. The key question: are rasters sent to the devices in RGB format (colour separation on device), or is it four black-and-white images for cyan, magenta, yellow and black? (separation on host)
For now, it would be great if you could post the response to the 0xA1A1 command for the LBP7210Cdn on agalakhov#38. You should be able to get it through Wireshark pretty easily. Please also mention if you have any optional equipment such as extra paper trays.
If you haven't found it yet, I hope this CAPT dissector for Wireshark helps. Just remember to add your device id to the section beginning at line 664 if it doesn't work. Please be aware that the dissector is only for USB devices.
I bet it is CMYK. Color separation is virtually always done on the host due its complexity (color profile, dithering etc.) with the exception of high-end PostScript printers that have their own CPU and plenty of RAM. Also I bet it is sent in planes, that is, one stripe in each color (and not by pixel). This is the way laser color printers work, they are essentially four mostly independent B&W printers that print on the same sheet of paper (or on the same transfer band).
Many printers use K as the first color, then CMY in arbitrary order. This simplifies B&W printing as just omitting 2nd, 3rd and 4th colors result in printing in the 1st color only. Most likely the color order in the stream is the same as the physical drum and cartridge order of the printer. If service manual mentions numbered error codes, their order could also match the color order. But it is easy to test anyway.
I am about to depart for a couple of weeks of intense travel and conferences+meetings, but as soon as I am back I will try to test the 0xA1A1 command. Right now the printer is connected via the network, but I can move it to USB.
Julf
On 11/4/24 15:03, mounaiban wrote:
Thanks for reaching out @Julf https://github.com/Julf; colour support will be implemented sometime in the future, but we have to figure out the format for the colour rasters on CAPT. The key question: are rasters sent to the devices in RGB format (colour separation on device), or is it four black-and-white images for cyan, magenta, yellow and black? (separation on host)
For now, it would be great if you could post the response to the 0xA1A1 command for the LBP7210Cdn on agalakhov#38 https://github.com/agalakhov/captdriver/issues/38. You should be able to get it through Wireshark pretty easily. Please also mention if you have any optional equipment such as extra paper trays.
If you haven't found it yet, I hope this CAPT dissector for Wireshark https://github.com/mounaiban/studycapt/blob/main/capt.lua helps. Just remember to add your device id to the section beginning at line 664 if it doesn't work. Please be aware that the dissector is only for USB devices.
— Reply to this email directly, view it on GitHub https://github.com/mounaiban/captdriver/issues/10#issuecomment-2454799171, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZ5QRHL3U7EZ5TDEAFRZ2LZ655B5AVCNFSM6AAAAABP4TB5SOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJUG44TSMJXGE. You are receiving this because you were mentioned.Message ID: @.***>
I bet it is CMYK...
Meanwhile, I am going to bet the pages are sent as RGB :nerd_face: The colour CAPT devices I know don't seem to store jobs on the device, yet have amounts of RAM that seem well and above required for a single page, while not needing to hold more than a few pages in memory during printing, because CAPT. I am also under the impression colour separation can be done efficiently with a reasonably low-cost SoC with an embedded DSP.
Either way, I can't wait to find out...
Hello how painful it would be to get LBP7200C to supported device?
I added prn_lbp2900.c LBP7200C but not success yet. screenshots before adding and after..
?