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  desc
 538 Feature RequestDNP/Citizen Add support for DS80DX Closed2019-05-21 Task Description

It has all the joy of the DS80, but also supports sheet-fed simplex and duplex operation. It's a veritable mess to support cleanly.

535Feature RequestOther printersWrite backend for Kodak 8810 and 7000/7010/7015Assigned2019-05-21 Task Description

The 8810 is also known as a Shinko CHC-S1845-5A.

It appears closer to the S1245 mechanically, but S6245 programically.

The 7000/7010/7015 models are Shinko CHC-S1645-5A/5B/5C, respectively.

Probably not worth wasting any time on unless someone steps up with docs and hardware.

500TODOOther printersInvestigate Shinko S8145Assigned2019-05-14 Task Description

The T1/S8145 is a fancy "silver foil" thingey with two print heads.

537Feature RequestOther printersWrite backend for Shinko DP-1045 and Kodak D4000New2019-05-14 Task Description

Aka ColorStream D3

They're the same thing, an 8" wide duplex printer. No support in Gutenprint yet.

614TODOKodak 605Validate new size support for EK605Requires testing2019-05-14 Task Description

That includes firmware version detection and other joys

612TODOCommon CodeUnify the various Shinko/Sinfonia backendsAssigned2019-05-14 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.

558Feature RequestOther printersInvestigate new Sinfonia S3 (CHC-S2245) and Kodak 6900New2019-05-13 Task Description

Replacement for the S2145, it's main fature is high capacity (900 print) media.

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

Initial investigation implies it may require host-side image processing, not unlike the S6145.

The Kodak 6900 is actually CHC-S2245-6A

521Feature RequestOther printersInvestigate HiTi 720L/750L and 510L/520L/525L/P530D, P3...New2019-05-13 Task Description

P310W is consumer model.

Rest are workhorse kiosk printers, it's currently the cheapest per-print, 300dpi.

Gutenprint seems to support no HiTi models at all.

Early investigation into these models shows that the spooler format is some sort of funky compressed format -- and the data actually sent to the printer is ratehr different.

So no progress will be made without direct access to one or more HiTi printers.

 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!

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

520Feature RequestSony UP-D printersInvestigate Sony UP-CR20L aka DNP SL-20Requires testing2019-04-21 Task Description

Sony sold their printer line to DNP, which rebranded these two models.

Investigate their Spool format, and find out if they need an intelligent backend.

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.

543Feature RequestSony UP-D printersIntestigate Color Sony MedSci modelsRequires testing2019-04-21 Task Description

 UP-DR80MD, UP-DR25MD, UP-DR23MD, and so forth.

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.

533TODOShinko CHC-S6245Verify support for S6245 (and HiTi P910L)Requires testing2019-04-10 Task Description

Code complete, but needs testing.

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.

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.

 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.

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

 552 Feature RequestCanon Selphy CP/ES Write network backend for CPnP printers Closed2019-01-30 Task Description

The 'selphy_go' code showed how to detect CPnP models and send JPGs over to be printed..

Using the CP900, I discovered how to send raw YMC data over CPnP.  This means we can write a native CPnP CUPS+Gutenprint backend for that model.

Unfortunately we won't know if the newer selphyneo models support non-jpeg CPnP printing -- The Windows driver uses WSA/WSD and Macs appear to use AirPrint.  The only way to find out is to write it first.

 540 TODOOther printers Investigate Fuji ASK 2000/2500/4000 (aka Nidec Copal DP ...Closed2019-01-29 Task Description

They are all related; The 4000 is an 8" version, and the 2000 is an older, slower version of the 2500, both 6" models.

 

All are rebadged versions of Nidec Copal printers -- ASK4000 == DPB-4000C1, ASK2500 == DPB-7000, ASK2000 == DPB-6000

 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.

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

 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.

 539 TODODNP/Citizen Consolidate CW-01 and DNP backends Closed2018-09-18 Task Description

There's a great deal of overlap; the main difference is the format of the print job. It may make sense to fold the CW-01 stuff into the DNP backend (including the spool format), but alternatively perhaps just a shared library?

 550 TODOMitsubishi CP-Dxx family Verify support for D707 Closed2018-09-18 Task Description

Code's complete, but needs to be verified.

 

 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.

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.

569Feature RequestMitsubishi CP9xxx familyFigure out image processing algorithms for CP-98xx fami...Requires testing2018-06-18 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..)

 541 Feature RequestMitsubishi CP-Dxx family Validate Mitsubishi CP-D90 support Closed2018-05-20 Task Description

It looks like it's an evolution of the D70 family, with one critical exception -- it appears as if the color/thermal compensation is performed in the printer instead of the driver!

 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.

 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.

 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.

 

564Bug ReportMitsubishi CP-Dxx familyD70 fails to print on Raspberry Pi systemsResearching2018-02-26 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.

 

 532 TODOShinko CHC-S1245 Verify support for S1245 Closed2018-01-27 Task Description

Code complete, but needs testing.

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.

 519 TODOOther printers Investigate Mitsubishi CP-W5000 Closed2018-01-26 Task Description

The CP-W5000 is a duplex 8" model, apparenltly a rebadged Kodak D4000

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

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

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

 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.

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.

 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.

 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.

548Feature RequestShinko CHC-S6145Add support for Sinfonia CHC-S6145-5A (aka CS2-c)New2017-11-24 Task Description

It's a card-sized variant of the CS2.  89mm cards of various widths.

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!)

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.

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

Available keyboard shortcuts

Tasklist

Task Details

Task Editing