Canon Selphy CP800 unter Linux – und er geht doch!

Er ist klein, aber er kann arbeiten.
Er ist klein, aber er kann arbeiten.

Hät­te fast nicht mehr dran geglaubt, aber heu­te habe ich mei­nen schnu­cke­li­gen, klei­nen, alten Canon Sel­phy CP800 unter Arch Linux zum Lau­fen gebracht und gleich mal aus Darkta­ble her­aus zwei Bil­der mei­ner Enkel­töch­ter gedruckt. Aller­dings war das nicht frei von Hindernissen.

Wer das Gerät nicht kennt – es han­delt sich um einen Ther­mo­trans­fer­dru­cker, der aus­ge­zeich­net zum Bei­spiel als Pass­bild­dru­cker geeig­net ist. Unter Linux gilt er hin­ge­gen als zickig.[1]…wofür der Dru­cker aber natür­lich gar nichts kann Maxi­mal kom­men Bil­der im Welt­post­kar­ten-For­mat (WPK, 10x15 cm) raus.

Als ers­tes benö­tigt man die Guten­print-Trei­ber (frü­her Gimp-Print genannt). Aktu­ell ist gera­de die Ver­si­on 5.2.14. Wir instal­lie­ren also Guten­print und auch das PPD-Paket, das sich im Extras-Repo oder im AUR fin­det.[2]Das macht jeder anders – pacman, yaourt, pam­ac, octo­pi… – , daher gehe ich hier dar­auf nicht näher ein

Dann kann es nicht scha­den, mit dem bevor­zug­ten Edi­tor als root für den per USB ange­schlos­se­nen Dru­cker eine eige­ne Udev-Regel in /etc/udev/rules.d namens 10-local.rules zu erstellen.

SUBSYSTEM=="usb", ATTRS{idVendor}=="3214", ATTRS{idProduct}=="04a9", GROUP:="lp", MODE:="0664"

Wel­che Her­stel­ler-ID und Gerä­te-ID man benö­tigt, lässt sich auf der Kon­so­le durch lsusb ermit­teln. Da kommt dann sowas bei raus.

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 045e:0768 Microsoft Corp. Sidewinder X4
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 008: ID 04a9:3214 Canon, Inc. SELPHY CP800
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 046d:c051 Logitech, Inc. G3 (MX518) Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

In Zei­le 4 haben wir den Kame­ra­den und die benö­tig­ten Anga­ben. In dem Block 04a9:3214 steht vor dem Dop­pe­lunkt die Pro­dukt-ID und dahin­ter die Her­stel­ler-ID.[3]Die­ses Ver­fah­ren ist grund­sätz­lich übri­gens auch beim Kon­fi­gu­rie­ren von Scan­nern hilf­reich, nur wird eine ande­re Datei woan­ders abge­legt.

Nach dem Spei­chern der Regel flott ein sudo udevadm control --reload-rules hin­ter­her­wer­fen, damit die fri­sche Regel akzep­tiert wird. Neu­start geht natür­lich auch.

Dann wie gehabt[4]je nach Desktop/GUI unter­schied­lich den Dru­cker ein­rich­ten und den Guten­print-Trei­ber dafür aus­wäh­len. Jetzt mal ver­su­chen, ein Bild aufs Papier zu bringen.

Dru­cken wird der Sel­phy aber möglicherweise/wahrscheinlich immer noch nicht. Hier jeden­falls nicht. Doch die Fehl­ver­su­che waren den­noch hilfreich.

Auf die rich­ti­ge Spur kam ich erst, als ich mir die Logs des Druck­ser­vers Cups näher ansah. Dazu gibt man im Brow­ser auf die URL localhost:631 ein. Dann sieht man hof­fent­lich sowas wie hier:

Man han­gelt sich über Admi­nis­tra­ti­on -> Mana­ge Prin­ters zum Sel­phy durch, klickt dann erst auf den Dru­cker­na­men und danach unten auf Show all jobs.

Und schon spuckt Cups im Klar­text aus, was ihm fehlt und lie­fert die Anlei­tung zur Feh­ler­be­he­bung gleich mit.

The PPD version (5.2.13 Simplified) is not compatible with Gutenprint 5.2.14. Please run `/usr/bin/cups-genppdupdate' as administrator.

Im Dru­cker-Kon­fi­gu­ra­ti­ons­mo­dul oder in mei­ner Gra­fik­an­wen­dung hät­te ich die­se Mel­dung nie­mals gese­hen und wahr­schein­lich irgend­wann den Dru­cker abgeschrieben.

Obacht: Cups ist ein wenig pin­ge­lig in Bezug dar­auf, von wem es sich rum­schub­sen lässt. Das muss nicht root sein, aber der Chef gehört in die Grup­pe sys. Das macht man so – und zwar bevor man den oder die Dru­cker im Web-Inter­face von Cups administriert.

usermod -aG sys username

Nach­dem die PPDs[5]Was bedeu­tet PPD? mit dem ange­be­nen Befehl sudo /usr/bin/cups-genppdupdate ange­passt waren und nach­dem Cups neu­ge­star­tet war mit sudo systemctl restart org.cups.cupsd.service (Rech­ner-Neu­start geht natür­lich auch), klapp­te es auch mit dem CP800. 😉

Jeden­falls prinzipiell.

So kom­for­ta­bel wie im Druck­mo­dul von Ligh­troom mit zig mög­li­chen Lay­outs, Grö­ßen­kom­bi­na­tio­nen, Rand­ein­stel­lun­gen etc. wird es unter Linux lei­der nicht. Darkta­ble schwä­chelt da. Am nächs­ten kommt dem noch der Print Creator unter Extras in Digi­kam. Auch XNViewMP hat eine schi­cke Mög­lich­keit, unter Erstel­len -> Meh­re­re Bil­der anein­an­der­rei­hen Fotos für den Druck oder ande­re Zwe­cke zu arran­gie­ren. Kriegt man alles irgend­wie hin, ist aber halt mehr Gewiggel…

Good luck!

Anmer­kun­gen

1 …wofür der Dru­cker aber natür­lich gar nichts kann
2 Das macht jeder anders – pacman, yaourt, pam­ac, octo­pi… – , daher gehe ich hier dar­auf nicht näher ein
3 Die­ses Ver­fah­ren ist grund­sätz­lich übri­gens auch beim Kon­fi­gu­rie­ren von Scan­nern hilf­reich, nur wird eine ande­re Datei woan­ders abgelegt.
4 je nach Desktop/GUI unterschiedlich
5 Was bedeu­tet PPD?

Schreibe einen Kommentar