Canon LBP2900 Probleme

Hallo liebe Forenmitglieder,

Ich habe einen Canon LBP2900 Laserdrucker, den ich als Standarddrucker für Textdokumente nutzen möchte. Kurze Suche ergab folgenden Link zur Installation: Technology Geeks' Heaven: Canon LBP2900 driver installation - Arch Linux
So, wunderbar, Schritt für Schritt abgearbeitet…und…welch Freude…läuft! Habe aus Libreoffice Writer problemlos eine Seite ausdrucken können. Soweit, so gut. Jetzt passiert das Seltsame…zum zweitenmal druckt er nicht…also das Gerät wird noch erkannt…aber der Auftrag hängt in der Warteschlange…ich also nochmal den Drucker deinstalliert…alles nochmal…exakt das gleiche Ergebnis…er druckt einmal einwandfrei…dann hängt er…wieder deinstalliert…und via CUPS und die Manjaro eigene Druckerverwaltung probiert…darüber bekomme ich ihn überhaupt nicht zum Laufen…wird eingerichtet…erkannt…bleibt aber immer bei Senden der Daten hängen…es muß wohl irgend etwas mit Rechten zu tun haben?!? Ich kapier die Logik nicht…normalerweise funktioniert etwas…oder nicht…aber hier…denn…technisch/treibermäßig scheint es ja zu funktionieren…aber nur einmal…bin echt ratlos…vielleicht weiß einer von den Profis Rat?
Vielen Dank im Voraus für Eure Bemühungen! :slight_smile:

Hallo @chg2000 :wink:

Könnte mir vorstellen, dass der Canon “de-registriert” wird und dann eine andere Nummer zugewiesen wird. Dann kann der Treiber das Gerät nicht ansteuern…

 sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp1

:arrow_down:

 /dev/usb/lp1 ->  /dev/usb/lp0

Aber ist nur eine Vermutung.

Hier: CanonCaptDrv190 - Community Help Wiki und hier: https://wiki.archlinux.org/index.php/Canon_CAPT sind recht gute Inforamtionen dazu. Ist halt ein wenig gefrickel… interesant ist auch, dass ubuntu udev rules verwendet… wird schon seinen Grund haben :man_shrugging:

1 Like

was megavolt gesagt hat ist wohl richtig und zielführend:
/dev/usb/lp1 -> /dev/usb/lp0

Ich habe den LBP2900B - nicht genau der gleiche aber sicher sehr ähnlich.

Ich habe das Arch Wiki zu Canon CAPT genutzt welches er erwähnt hat.
Es ist ein bischen … unzusammenhängend, beschreibt nur den ccpd Teil.

Vorher muß Cups eingerichtet werden - der Link zur Prozedur via Kommandozeile ist im Wiki.
Auch ein Link zu einer Ubuntu Hilfeseite wo das Procedere für verschiedene Ubuntu Versionen und Druckermodelle beschrieben wird.

Die Einrichtung über das grafische Interface funktioniert nicht - wird auch im Wiki erwähnt.

So habe ich den Drucker installiert:
(ich bin dafür durch meine bash history gegangen)

systemctl status cups
(aktivieren und starten - wenn cups nicht ohnehin schon läuft)

sudo lpadmin -p LBP2900B -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59687 -E
(den Drucker zu cups hinzufügen - der port 59787, also ccp://localhost:59787 hat nicht funktioniert - das wird aber auch im Wiki erwähnt)

sudo ccpdadmin -p LBP2900B -o /dev/usb/lp0
(Ich habe /dev/usb/lp0 benutzt weil das die Gerätedatei ist die angelegt wird wenn ich den Drucker verbinde)

nachsehen mit:
ls /dev/usb/

dann den ccpd service starten und aktivieren:
systemctl start ccpd.service
systemctl enable ccpd.service

Nicht vergessen beide services (cups und ccpd) zu aktivieren - nicht bloß starten. Sonst geht’s nach reboot nicht mehr.

Ich hab neu gestartet - und es hat funktioniert :wink:

Ich habe mich dann für socket activation entschieden.
… hab halt gedacht daß cups nicht immer laufen muß obwohl ich nur sehr selten drucke:

systemctl disable cups.service
systemctl stop cups.service
systemctl enable cups.socket
systemctl start cups.socket

und es funktioniert immer noch :wink:

Zusatz:
meine allererste Informationsquelle bei irgendwelchen Problemen mit Arch basierten Systemen ist IMMER das Arch Wiki.
Das ist auf dem neuen Stand - der von Dir verlinkte Blog-Post ist zumindest teilweise veraltet - die Kommandos für den cups service sind nicht mehr aktuell.
… der Name ist jetzt anders - ein wenig kürzer …
Ja, ich weiß. Das ist alles in Englisch. leider
Es gibt zwar auch ein deutsches.
Aber das ist nach meiner Erfahrung nicht so auf dem neuen Stand und auch nicht so umfangreich.
Ich gucke es mir nur interessehalber manchmal an.

1 Like

Ich hatte den Post aus versehen erst auf englisch geschrieben weil ich so an die Sprache gewöhnt bin - hier also noch mal dasselbe in grün bzw auf Englisch, vielleich ja für nicht deutsch Lesende interessant.

what megavolt said is probably it:

/dev/usb/lp1 → /dev/usb/lp0

I have a Canon LBP2900B - not exactly the same but likely very similar.

I used the Arch Wiki re Canon CAPT that was already mentioned
which is a bit scattered, itself only describing the setup of the ccpd (CAPT) part.

Before that, Cups has to be set up - there is a link on how to do that per command line in the Wiki .
There is also a link to an Ubuntu help page, describing the procedure for different Ubuntu releases and printer models.

This is how I installed it:
(recounted from going through my bash history)

systemctl status cups
(enable and start if not already running)

sudo lpadmin -p LBP2900B -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59687 -E
(add the printer to cups - it didn’t work with ccp://localhost:59787 but they do mention this in the wiki)

sudo ccpdadmin -p LBP2900B -o /dev/usb/lp0
(I used /dev/usb/lp0 because that is the device file that gets created when I plug in the printer)
Check with:
ls /dev/usb/

then start and enable the ccpd service:
systemctl start ccpd.service
systemctl enable ccpd.service

Don’t forget to enable (not just start) both services.

I then rebooted - and it worked. :wink:

I then chose to use socket activation
(for no reason other than I don’t print very often and thought that it would save resources by only starting cups when actually needed):
systemctl disable cups.service
systemctl stop cups.service
systemctl enable cups.socket
systemctl start cups.socket

and it still works :wink:

Hallo megavolt, hallo Nachlese,
schon mal vielen Dank für Eure Antworten!!! Wirklich ein klasse Forum hier mit netten und kompetenten Mitgliedern! Werde gleich mal alles auf “Null” setzten, d.h. den Drucker löschen, und dann Step by Step nochmal alles sorgfältig installieren!
Gruß Chris

Soooo…also gute und schlechte Nachrichten! Die gute zuerst: ich kann drucken! Jetzt die schlechte Nachricht: ich mußte da einen unschönen Workaround basteln! Ihr habt beide Recht…es hängt damit zusammen, ob der Drucker als lp0 oder lp1 bei /dev/usb/eingehängt wird. Nur…das scheint willkürlich zu sein…?!? Vor der Installation hab ich das geprüft…lp0 liegt der Canon. Ich also, wie Nachlese gepostet hat, lp0 gewählt. Druckt einwandfrei! Dann reboot zum Testen…druckt NICHT…gucke ich nach…liegt der Canon auf lp1! Ich hab dann einfach als LBP2900C auf lp1 installiert. Jetzt habe ich 3 Drucker…LBP2900 (den hat die Manjaro-Druckerverwaltung automatisch installiert), LBP2900B auf lp0…und LBP2900C auf lp1. Wenn ich jetzt drucke muß ich zuerst gucken, wie der Drucker eingehängt ist auf /dev/usb/…und dann entsprechend den Drucker wählen. Funktioniert…aber elegant ist es nicht…und ehrlich gesagt…ich verstehe immer noch nicht nach welcher Logik lp0 oder lp1 gewählt wird…vielleicht kommen wir ja eines Tages hinter das Geheimnis…aber Hauptsache, ich kann überhaupt drucken!!! Also Euch beiden nochhmals VIELEN DANK!!!

1 Like

Hmm - der Drucker bekommt scheinbar von mal zu mal verschiedene USB devices zugewiesen.
Kann sein daß ich das nur noch nicht gemerkt habe weil ich so selten drucke.
Ich stecke ihn halt an, drucke, mach ihn wieder aus - und bis ich das nächste Mal drucke habe ich das System schon 5 mal neu gestartet …

Womöglich (sehr wahrscheinlich) kann man mittels einer udev Regel das System anweisen, diesen speziellen Drucker/dieses spezifische USB Gerät immer definiert als /dev/usb/lpX anzulegen.

Davon wie man eine solche Regel gestaltet und schreibt habe ich aber leider keine Ahnung.

Ich bin selbst nicht auf Manjaro - habe also NICHT die Drucker autokonfiguration installiert/am laufen, die dann womöglich extra noch in die Quere kommt und einen Drucker konfiguriert der ohnehin nicht funktioniert, da diese Funktion nicht “weiß” daß nicht nur ein filter gebraucht wird sondern ccpd.

Ich hab das in verschiedenen Distributionen erlebt, daß diese Funktion automatisch anspringt sobald man den Drucker einsteckt - abe nie einen nutzbaren Canon CAPT Drucker hinterläßt.

Vielleicht hülfe es ja, diese Funktionalität zu deaktivieren - ich weiß aber nicht wie, da ich, wie gesagt, nicht Manjaro nutze.
… auch nicht ganz “pures” Arch - ich habe Archlabs der einfachen Installation wegen genutzt …

Ich kann hier leider nicht weiterhelfen.

@chg2000 Super, dass es soweit funktioniert… aber das ist wirklich keine elegante Lösung:

Ich würde sagen, alle Geräte sind von dieser Nummernvergabe betroffen, diese werden seit neuestem zufällig vergeben beim Booten. Zu dem Zeitpunkt, als das Tool programmiert war, wusste man davon noch nichts… in der Archwiki habe ich folgendes gefunden:

Erstelle dir eine Datei in /etc/udev/rules.d/60-persistent-printer.rules und füge das ein:

ACTION=="remove", GOTO="persistent_printer_end"
# This should not be necessary
#KERNEL!="lp*", GOTO="persistent_printer_end"

SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
ENV{ID_TYPE}!="printer", GOTO="persistent_printer_end"

ENV{ID_SERIAL}=="?*", SYMLINK+="lp/by-id/$env{ID_BUS}-$env{ID_SERIAL}"

IMPORT{builtin}="path_id"
ENV{ID_PATH}=="?*", SYMLINK+="lp/by-path/$env{ID_PATH}"

LABEL="persistent_printer_end"

Das erstellt symbolische Verlinkungen zu jeder Nummer und es ist egal welche Nummer am Ende da steht, da es der selber Drucker ist. Aber dann kannst du nur einen Drucker zu gleichen Zeit per usb ansteuern :slight_smile:

https://wiki.archlinux.org/index.php/Udev#Printer

Möglich wäre auch dem Gerät eine symblischen Link zu geben.

Das sieht dann so aus:

KERNEL="lp[0-9]*" SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2676", SYMLINK+="lpb2900"

Da ist es egal, unter welche Nummer dein Canon auftaucht. Es wird einfach auf /dev/lpb2900 verlinkt.

Also statt

 sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp1

machst du das

 sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/lpb2900

Viel besser :slight_smile:

2 Likes

Einwandfrei! Danke!
… kann sein daß auch ich diese Info irgendwann später mal gut gebrauchen kann

1 Like

Hallo megavolt,
vielen Dank für Deine Tips! Ja, das leuchtet mir ein und ich werde es in den nächsten Tagen ausprobieren!
Vielen Dank & Gruß :slightly_smiling_face:

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.