Lifting the skirts of Kodak photo printers
You have to hand it to Kodak. They have been selling their workhorse
6850 dyesub photo printer for more than ten years, and are still
actively supporting it with updated drivers and firmware. It's even
outlasted one of its successors (the 605), which is no longer sold,
yet is still actively supported.
One of those firmware updates led to a discovery that resulted in a
flurry of hacking on the 6800/6850 and 605 backends, resulting in
considerably improved reliability, robustness, and performance. As well
as many bug fixes, both backends now support full job pipelining and
vastly improved status and error handling.
So what had I learned? The Kodak 68x0 family are variations of the
Shinko S1145 and the Kodak 605 is actually a Shinko S1545. Digging
deeper into other Kodak models, I discovered that the 7000/7010/7015 are
variations of the Shinko S1645, and that the 8810 is a Shinko S1845.
I'd done my earlier reverse-engineering work on these Kodak models
before some kind folks at Shinko/Sinfonia sent me documentation on
several of their printers -- So when I re-examined what I had previously
figured out with the other docs as a reference, I discovered that from a
protocol perspective the 68x0/S1145 models were 6" variations of the 8"
S1245, the 605/S1545 and 70xx/S6145 models were very close to the S2145,
and the 8810/1845 are apparently identical to the S6245.
This means that I should be able to support the 70xx and 8810 printers
with only minor modifications to the existing backend code. Granted,
until I can get my hands on any of these printers all of this is
So, I'll re-iterate my call for testers for these printers:
- Shinko CHC-S1245 (aka Sinfonia E1)
- Shinko CHC-S6245 (aka Sinfonia CE1)
- Kodak 8810
- Kodak 7000/7010/7015
- Kodak 605 (Need to ensure no regressions were introduced)
As my personal printing needs are very well met at this point and these
are all fairly expensive models (especially the 8810 and 70xx series), I
can't justify buying more printers just to try and make them work with
Linux. Someone else is going to have to step up to help make this
On that note, I should mention the S6145/CS2 (and the Ciaat Brava 21),
where the situation is a bit more complex. The backend is already
written and partially tested, but it currently relies on a proprietary
library that is only available in binary form - and which I lack
permission to redistribute.
I'm pursuing a multi-prong approach to rectify that situation. In order
- Obtain source code to the library
- Obtain algorithmic documentation so I can independently re-implement the library
- Obtain permissions to redistribute the (binary) library, and also get it compiled for a variety of ARM targets
- Reverse-engineer the library so I can re-implement it
Let me just say that curiousity, in of itself, is poor motivation for
enduring the the combination of tedium and frustration that comes from
trying to reverse-engineer an opaque blob of x86 code.
Ugh. I need to get out more.
Syndicated 2015-09-01 21:40:31 from Solomon Peachy