CUPS Dyesub Backends

This is my personal to-do list for printer-related tasks, encompassing both changes to Gutenprint (http://gimp-print.sf.net) and the CUPS backends (http://git.shaftnet.org/cgit/selphy_print.git)

IDTask TypeCategorySummaryStatusLast Edited
614TODOKodak 605Validate new size support and other feature additions o...Requires testing2019-06-04 Task Description

Additional print sizes in latest firmware, plus all of the extra features pulled in via the Sinfonia framework (eg firmware version detection, LED blinking, status and error reporting, and so forth..)

613Feature RequestMitsubishi CP-Dxx familyFigure out how to pipeline jobsNew2019-05-11 Task Description

Right now the backend won't attempt to send anything over if a given deck is printing. However, the printer has 4*num_banks buffers that can be used to pipeline jobs!

So, try to figure out a way to overlap things. We'll have to be smarter about jobids..

 612 TODOCommon Code Unify the various Shinko/Sinfonia backends Closed2019-05-25 Task Description

For the most part, the shinko/sinfonia printers are quite similar in how they operate. There are unfortunately differences in specific commands and how some of the fields in the headers are parsed.

So, now that the backend infrastructure is decoupled from the "model name", look into unifying:

  • Sinfonia S2145
  • Sinfonia S6145
  • Sinfonia S6245
  • Kodak 605

These two are different than the others, but close to each other:

  • Sinfonia S1245
  • Kodak 6800/6850

Meanwhile, these new models are likely similar to models in the first set:

  • Sinfonia 2245
  • Kodak 7000/7010/7015
  • Sinfonia 8145
  • Kodak 8810
  • Sinfonia DP-1045
  • Kodak D4000

What I expect to do is that when/if support for one or more of these new models is implemented, it will be bolted onto an existing backend, and that will be the basis for merging in the others.

 611 Feature RequestOther printers Support Kodak 6900 (aka HiTi M610 / X610) Closed2019-05-13 Task Description

The Kodak 6900 looks to be a rebadged HiTi M610, which itself is closely related to the X610.

Figure out the spool format to get preliminary support!

609TODOSony UP-D printersAdd support for Sony UP-D898 seriesRequires testing2019-04-21 Task Description

Unlike the D895 and D897, the jobs are wrapped in HP-PJL. No idea if the data format is equivalent.

608TODOCommon CodeMake Gutenprint more cross-compile friendlyNew2019-01-17 Task Description

The problem is that, at compile time, we rely on some host-compiled stuff to generate data files and whatnot. We need to compile the same stuff for the target.

I wonder if it may be worth moving to a more unified Make environment..

 604 Feature RequestCommon Code Use a simpler URI scheme Closed2018-09-18 Task Description

Currently the URI scheme is a little convoluted:

     prefix://iManufacturer/iModel?backend=XXX&serial=YYYY

I'd like to move to something much simpler:

     prefix://backend/serial

Now that the core code returns a unique, per-model string that can be used to look up the backend, this is a far simpler approach to take.  We'll have to support the old scheme indefinitely though.

 603 Feature RequestMitsubishi MedSci Support using external LUT Closed2018-12-16 Task Description

The official drivers come with a file called 'P95D.lut' that consists of a 16-byte header followed by 34 bytes of LUT that neatly fit into the "gamma" header.  I see two approaches:

  1. Add another gamma enumeration, for "external LUT"
    • Have the backend read the file and fil the job at runtime
    • Permanently store the file in the backend, fill job at runtime
  2. Have Gutenprint fill in the gamma table from hardcoded value
  3. Allow gutenprint's gamma table to be overridden.

I'm thinking that pushing this into Gutenprint (hardcoded, but overridable via an option) is the right way to do this.

602Feature RequestCommon CodeSupport combining print jobsAssigned2018-06-21 Task Description

As a way to prevent wasting media, when using 6x8" media, automagically combine consecutive 4x6" jobs to a single 8x6" print and submit that to the printer behind the scenes.

The D90 and Kodak 68xx do this automatically in the printer, and others (eg Mitsu D70 family) do this in the driver.

Extend the backend core to support this generically, and try to add specific support to printers/families that can use this feature.

 601 Feature RequestCommon Code Figure out a way to add a generic test harness for file ...Closed2018-05-13 Task Description

Right now there's no way to parse the input files without the printer being attached first.

Would require shimming libusb...

 600 Feature RequestCommon Code Add support for CUPS Command files Closed2018-04-28 Task Description

CUPS defines a "command filter" that gives the ability to perform some actions and queries.

  • ReportLevels -- marker-levels and whatnot.  Highly useful.
  • ReportStatus -- Once we get unified reporting in place, will be handy.
  • AutoConfigure -- Allows the PPD defaults to be updated based on printer configuration.  (!!)
  • PrintSelfTestPage -- For printers that support it
  • [and others that don't matter]

There appears to be no way to distinguish betwen a command filter vs print filter via the cmdline or environment.  traditionally these are seperate executables that expect different input data.  I'd like to figure out a way to make the backends detect the command stream vs the normal backend data, and do it all in one executable.

 599 Feature RequestMagicard family Enhance Magicard driver to allow for different options  ...Closed2018-03-18 Task Description

At minimum, the overcoat hole is different on front vs back (eg smartcard vs magstripe).

Magstripe probably only belongs on the back, smartcard on the front.

Holokote and holopatch likely need to be different too.

 597 Feature RequestCommon Code Allow for aliases in backend names? Closed2018-03-16 Task Description

That would allow us to present a 'modern' name for the backend but still provide backwards compatibility.

eg: dnpds40 -> dnp_citizen or mitsu9550 -> mitsu9xxx or mitsup95d->mitsu_p9x

Another approach would be to make things more fine-grained.

 

 596 TODODNP/Citizen Figure out if Citizen CW-02/OP900II are closer to CX or ...Closed2018-03-27 Task Description

...or if they need their own designation in Gutenprint and selphy_print.

It looks like they don't map entirely cleanly to either for avialable print options, but the real question is the firmware version tests for features.

 595 Feature RequestCommon Code When trying to enumerate printers, don't block for a lo ...Closed2019-01-17 Task Description

This is a particular problem when we have more than one model of the same printer family attached, and one or more of them are busy doing something -- but we can't query the serial number when the printer is claimed.

This may require a two pass approach -- first try to probe everything with minimal timeouts.  If we don't succeed in finding the one we want, re-try the probe with longer timeouts.  In both cases, we shouldn't report a failure until we finish walking the entire list.

592Feature RequestSony UP-D printersInvestigate Sony UPCX1New2019-03-26 Task Description

300 dpi, 4" or 5" wide media.

Not sure if it uses sheet or roll media.

591Feature RequestOther printersInvestigate Kodak DL2100New2018-01-27 Task Description

It's a duplexing "electro-photographic" (AKA laser) printer @600x1200dpi.  They rarget photo books and calendars with it.

 

Appears to be a rebranded version of the Oki C712.

590Feature RequestOther printersInvestigate Kodak D4600 / Mitsubishi CP-W5000New2018-01-26 Task Description

Duplexing 8x12" models, capable of cuts along both axes.

 589 Bug ReportMagicard family Fix 8bpp->6bpp color scaling Closed2018-01-04 Task Description

Right now we just shift the color data over by 2bits.  It looks like that's naive; it looks like we need some sort of gamma-aware 8->6 mapping on a per-channel basis.  This may require Gutenprint to spit out RGB data, and we perform the YMC conversion at the same time we apply gamma?  (not unlike the Mitsu D70 family..)

The printer's "gamma curve" settings don't seem to have any major effect.

It's also possible that my printer's head is just plain shot (there's already a bad row of pixels..), and that everything is actually fine.

588Bug ReportMagicard familyRegistration/Alignment issue with Black planeNew2018-01-04 Task Description

K extraction appears to work well, but when printing there's a registration problem.  The black layer appears to print several pixels higher than the color layers.

I'm not sure if this is something that needs a fixed offset applied, or is something that can vary printer-printer.

 587 Feature RequestMagicard family Figure out Magicard Duplex and Mag-stripe encoding. Closed2017-12-16 Task Description

Support is in for basic stuff, but it's not clear how to proceed with Duplex and Mag-stripe stuffs.

586TODOCommon CodeAdd JSON outputNew2017-11-24 Task Description

This might not be feasible in a general sense due to the need to interact with CUPS.  But it's worth investigating.

585Feature RequestOther printersAdd support for Zebra ID card printers.New2019-05-23 Task Description

I have a P120i that is in perfect working order.

 584 Feature RequestOther printers Support Magicard Card printers Closed2017-11-24 Task Description

A backend's in place that can read the printer status but it doesn't parse/send over jobs yet.  Still haven't figured out the image dara format.

 581 Feature RequestCanon Selphy CP/ES Add status query to Canon Selphy backends Closed2018-01-04 Task Description

Query printer status -- eg loaded paper type, error codes, and whatnot.

The raw data is already there, but it would require a different code path to parse things for human output.

580Bug ReportCanon Selphy CP/ESDetect when on battery power and handle it gracefullyNew2017-04-11 Task Description

User reported the CP800 failed to print when on battery power, turns out one of the status fields changed causing us to fail.  I believe that's resovled for the older SELPHY CP models, but the newer ones (including the CP790) and the ES series are likely to have a similar problem.

Not sure what can be done about this without getting the battery and experimenting...

 577 Feature RequestMitsubishi MedSci Add ability to query status from cmdline Closed2018-01-08 Task Description

We don't get much info, but we can at least find out if any errors are pending, and if the printer is busy..

576TODOMitsubishi MedSciInvestigate P91DWNew2017-03-23 Task Description

There's a USB and Parallel version.  Might be worth trying to get hold of a USB model, but can't really justify buying one.

 575 TODOOther printers Investigate Sony B&W Thermal MedSci models  Closed2019-03-26 Task Description

UPD-897MD, UP-X898MD, and so forth

the UP-D898MD appears to be superficially similar to the Mitsubishi models, complete with the 1280 pixel print head (maxing out at 1280x4000ish) and similar adjustment knobs. They may have the same engine under the hood, but they're not likely to be semi-compatible with the Mitsubishi models.

 574 TODOOther printers S6145 -- don't generate an OC layer if not needed Closed2017-03-30 Task Description

And don't bother sending it over unless it's a matte print.

 

Actually I think the library already handles this okay, but we still have to allocate the space and generate things regardless.  A waste of CPU cycles, but otherwise harmless.  Probably not worth doing without direct access.

573Feature RequestShinko CHC-S6145S6145: Have Gutenprint generate planar YMC directlyRequires testing2017-11-24 Task Description

That way the backend won't have to do the conversion, saving some processing overhead.

(Re-purpose an unused field in the header, and clear it afterwards.  Not unlike how the D70 backend does it!)

572Feature RequestMitsubishi MedSciFigure out how to set printer sharpening on the P95DNew2019-02-25 Task Description

The P93D supports it via the driver, but the P95D doesn't.  However, it can be set on the front panel..  It's in there somewhere, I bet.

Bonus -- Can we enable/disable iserial support?

 571 Feature RequestKodak 605 Check for error statuses in the Kodak 605 processing lo ...Closed2019-01-30 Task Description

We don't check any error codes at all.  In part because I don't know what's an error and what isn't.  With access to a printer this would be a lot easier..

 570 TODOCommon Code Iterate through all printer interfaces and altsettings  ...Closed2017-11-08 Task Description

We assume that the first interface/altsetting is what we need.  And, for that matter, that the first set of endpoints is what we want.

569Feature RequestMitsubishi CP9xxx familyFigure out image processing algorithms for CP-98xx fami...Requires testing2019-05-23 Task Description

They're an older-generation of the D70 family's.  Data tables are unfortunately embedded inside the drivers, which makes this a lot more challenging. Sigh.

(If nothing else, simply obtaining the RGB->YMC conversion/gamma tables would make the printers immediately useful..)

568TODOMitsubishi CP-Dxx familyFigure out how to set the "user string" that's supposed...New2017-03-23 Task Description

There's a proper serial number returned so that's not so critical.

567Feature RequestMitsubishi CP-Dxx familyFigure out how to query the overall job status on the D...New2017-03-23 Task Description

The command I know about just returns an endless status stream..

 566 TODOMitsubishi CP-Dxx family Dig up firmware update package for CP-K60DW-S 1.04 Closed2017-07-19 Task Description

Then add the checksum to the backend so we can complain if the firmware is out of date.

565Feature RequestMitsubishi CP9xxx familyCP-9600 family supposedly supports some sort of multicu...New2017-03-23 Task Description

http://www.mitsubishi-photo.cz/drivers/drivers_printers/cz_en/(%20+firmwaredrivers_printers_digi_en.htm

This references a lot of firmware images, including 'Firmware CP9600 for 13x18,10x15(x2),11.5x15(x2).zip -- None of those sizes are covered in the current Gutenprint code.

 564 Bug ReportMitsubishi CP-Dxx family D70 fails to print on Raspberry Pi systems Closed2019-06-04 Task Description

We get failures when sending the printjob to the printer, with libusb reporting USB timeouts at random places.  There seems to be no consistency to when a transfer fails.  Using a hub makes this worse.

I have an additional two reports of a RPi3 failing USB transfers to a D80 when there is no ethernet cable plugged into the interface!

 

The K60/EK305 appears to work okay.

563TODOCommon CodeSupport more printer attributesNew2018-02-16 Task Description

...especially the printing started/finished stuff.

 

 562 Bug ReportMitsubishi CP-Dxx family Quality problem with the D70 family image processing li ...Closed2017-03-19 Task Description

It's most obvious when printing something with a deep black; you'll see it bleed past a bit.

It's worse in Fine, better in SuperFine/UltraFine.

 

561Feature RequestCommon CodeUse USB VID/PID instead of 'UNKNOWN' when we can't dete...New2017-03-12 Task Description

 560 Bug ReportMitsubishi MedSci P95: Failure to parse printjob when 'clear memory' is e ...Closed2017-02-12 Task Description

The problem is that two commands of different length use the same 2-byte prefix.  To distinguish between them we'll need to read the third byte, but only in that case as there are some commands that are only 2 bytes.

 

Or re-architect the command parser to handle this without extra hacks.

 559 TODOCommon Code Pull copy generation out of backend Closed2017-11-09 Task Description

Gutenprint 5.2.12 now supports generating multiple copies.  The backend shouldn't do it internally (nor should it print hte PAGE output)

 * Printers that have a copy count in the job header -- use the printjob number if it's >= the cmdline copy one.

 * Otherwise, backend should loop and generate copies.

 * If *not* invoked from within CUPS, print the PAGE output.

558Feature RequestOther printersSupport Sinfonia S3 (CHC-S2245), Kodak 6900, and HiTi M...Requires testing2019-06-04 Task Description

The S2245 is the replacement for the S2145. it's main feature is high capacity (900 print) media.

https://www.sinfo-t.jp/eng/printer/chc_s2245.htm

The Kodak 6900 is actually the CHC-S2245-6A

HiTi M610 is also a rebadged S2245

The S2245 (and its siblings) use the identical S6145ImageProcess library first seen on the S6145

557Feature RequestSony UP-D printersInvestigate Sony DPP-FP30New2019-03-26 Task Description

And other members of that consumer printer family.  Not sure if they're still relevant commercially.

556Feature RequestSony UP-D printersstatus queries and flow controlResearching2019-04-21 Task Description

It would be really nice if we could figure out how to query the UP-DR200's printer status, media counts, flow control, etc etc.

 555 Feature RequestMitsubishi MedSci Investigate Mistubishi P93 and P91 Closed2017-02-10 Task Description

Now that the P95 is in solid shape, I don't imagine that the other models would pose much of a problem.

 554 Feature RequestCanon Selphy CP/ES Get USB IDs for Canon SELPHY CP820 Closed2017-03-27 Task Description

They're needed by the 'canonselphyneo' backend, and I've been unsuccessful in scrounging them up. 

Showing tasks 1 - 50 of 116 Page 1 of 31 - 2 - 3 -

Available keyboard shortcuts

Tasklist

Task Details

Task Editing