mounaiban / captdriver

Driver for Canon CAPT printers
GNU General Public License v3.0
85 stars 16 forks source link

Support Colour Printers (e.g. LBP7200Cdn, LBP5200, LBP5100, etc...) #10

Open erosenst opened 2 years ago

erosenst commented 2 years ago

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..

Screenshot_20211229_185333 Screenshot_20211229_185832 ?

mounaiban commented 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 bytes 05 40 00 in front of the actual response A1 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...

mounaiban commented 2 years ago

@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.

erosenst commented 2 years ago

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: @.***>

erosenst commented 2 years ago

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: @.***>

erosenst commented 2 years ago

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: @.***>

erosenst commented 2 years ago

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: @.***>

erosenst commented 2 years ago

Hmm, missing wireshark log.. lbp7200.wireshark.pcapng.log

mounaiban commented 2 years ago

@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:

erosenst commented 2 years ago

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 :

mounaiban commented 2 years ago

@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.

mounaiban commented 2 years ago

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!

erosenst commented 2 years ago

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: @.***>

mounaiban commented 2 years ago

Here's what I can figure out for now based on the Wireshark logs:

LBP7200 Command Format Preliminary Report

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.

TCP Commands are like USB commands

Packets 37 and 42 are examples; the printer accepts the same commands over TCP :smiley:

The 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 command

Packet 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.

mounaiban commented 2 years ago

@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.

mounaiban commented 2 years ago

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.

Testing Procedure

Please use only Windows to run this test.

Before each test, check that the printer status window is monitoring the printer device.

  1. 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)

  2. 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)

  3. 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)

  4. 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:

Test PDF and Procedure Design Considerations