Skip to content

Fix Ricoh SP 112 autodetection and held print jobs - #26

Closed
fabian-flechtmann wants to merge 1 commit into
OpenPrinting:main-fixesfrom
fabian-flechtmann:ricoh-sp112-autodetect
Closed

Fix Ricoh SP 112 autodetection and held print jobs#26
fabian-flechtmann wants to merge 1 commit into
OpenPrinting:main-fixesfrom
fabian-flechtmann:ricoh-sp112-autodetect

Conversation

@fabian-flechtmann

@fabian-flechtmann fabian-flechtmann commented Aug 5, 2026

Copy link
Copy Markdown

Hi! My Ricoh SP 112 printed nothing — CUPS reported jobs as completed, but no output ever appeared. Sending raw DDST/PJL streams straight to the printer showed that @PJL SET HOLD=OFF was the missing piece.

This PR adds a -H option to foo2ddst and enables it for the SP 112 and SP 201Nw through the repo's existing Foomatic PrinterType mechanism. The flag defaults to off, so Konica Minolta and generic DDST output is unchanged. I hope I got the mechanism right — comments and suggestions are very welcome!

Tested over USB (05ca:0447) with an SP 112, which reports MFG:RICOH ;CMD:GDI;MDL:SP 112 DDST;CLS:PRINTER;. The existing PPD advertised MFG:Ricoh;MDL:SP 112;, so its IEEE-1284 identity did not match. The reported identity is now recorded in the printer XML.

I do not have an SP 201Nw, so that model's -H path is not hardware-tested. I am happy to narrow this to the SP 112 if preferred.

The Foomatic-controlled option data in both Ricoh PPDs was regenerated from the XML rather than hand-edited. This also picks up the Auto media-source default already present in foo2ddst-InputSlot.xml.

The new testddst target passes and is included in make test. End-to-end checks through foomatic-rip confirm that both Ricoh PPDs select -H, while the generic DDST PPD does not.

@fabian-flechtmann
fabian-flechtmann force-pushed the ricoh-sp112-autodetect branch 8 times, most recently from 982c871 to e7de3b3 Compare August 6, 2026 13:38
Add a default-off -H option that emits @pjl SET HOLD=OFF once per job, then select it for the Ricoh SP 112 and SP 201Nw through the Foomatic PrinterType mechanism.

Record the USB identity captured from the SP 112 and regenerate both Ricoh PPDs from their XML sources. Preserve the SP 201Nw MFG and MDL DeviceID fields that current foomatic-db-engine derives from the printer make and model even without an autodetect block. Leave that model without a USB autodetect claim until its actual IEEE-1284 response is available. Regeneration also picks up the existing Auto media-source default.

The regression test covers output with and without -H. Model scoping was verified manually with foomatic-rip so the test does not pin generated PPD text.
@fabian-flechtmann

Copy link
Copy Markdown
Author

I tried to install this at my dad's laptop, but the detection part did not work. I ended up hardcoding HOLD=OFF in the driver.

I'm closing this PR, anyone please feel free to continue from here and create another PR to make the Ricoh work out of the box.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant