Hallo,
ich bin seit sechs Wochen mit Kubuntu 5.04 unterwegs. Seither versuche
ich meinen Drucker zum Drucken zu bewegen. Ich habe einen Canon S 750
(Windows-GDI-Drucker). Unter Suse 9.x konnte und kann ich ihn als Canon Bjc 8200 betreiben (CUPS), sowie mit Turboprint.
Unter Kubuntu macht der Drucker jedoch keinen Mucks. Weder mit irgendwelchen
Cups-Canon-Treibern, noch mit Turboprint. Der Drucker lässt sich zwar jeweils einrichten, aber schon beim Drucken der Testseite erscheint unter Turboprint folgende Meldung:
Unable to open USB device “usb://dev/usb/lp0”: no such device
und der Drucker erhält den Status “angehalten”.
“lsusb” bringt folgende Meldung:
…
Bus 001 Device 005: ID 04a9:220d Canon, Inc. CanoScan N670U/N676U/LiDE 20
Bus 001 Device 004: ID 04a9:106d Canon, Inc. S750 Printer
…
Drucken von der Kommandozeile:
“lpr -Ptp0 testpage.ps”
Nichts passiert, im IPP-Bericht von Cups u.a. :
Unable to open USB device “usb:/dev/usb/lp0”: Permission denied
“gs testpage.ps”
Testseite wird einwandfrei am Bildschirm angezeigt
“turboprint -Ptp0 testpage.ps output.prn”
turboprint – executing tpfilter manually
printer name: tp0
spool directory: tp0
*** calling tpfilter now ***
/usr/share/turboprint/lib/tpfilter: line 37: /var/log/turboprint_lpr.log: Keine Berechtigung
/usr/share/turboprint/lib/tpfilter: line 134: domainname: command not found
cat: /var/spool/lpd/tp0/tpprinter.cfg: Datei oder Verzeichnis nicht gefunden
/usr/share/turboprint/lib/tpfilter: line 557: [: -gt: unary operator expected
/usr/share/turboprint/lib/tpfilter: line 560: [: -gt: unary operator expected
/usr/share/turboprint/lib/tpfilter: line 574: [: -gt: unary operator expected
tpprint: cannot read -sx
*** tpfilter finished ***
the output file may be copied to the printer now
for example: cat [OUTPUTFILE] > /dev/lp0
“cat output.prn >/dev/usb/lp0”
bash: /dev/usb/lp0: Keine Berechtigung
“lpstat -t”
scheduler is running
system default destination: tp0
device for tp0: usb:/dev/usb/lp0
tp0 accepting requests since Jan 01 00:00
printer tp0 is idle. enabled since Jan 01 00:00
Ich habe keine Ahnung mehr wo ich überhaupt noch ansetzen kann und soll.
Ich denke ich habe ein USB-Treiber oder Konfigurtationsproblem. Oder ein Rechtevergabeproblem? Nur da ist momentan Ende mit meinem Latein.
Hat jemand nen Tipp für mich? Würde schon gerne bei Ubuntu bleiben.
Grüße
Thomas Sachs
—
Linux 2.6.10 (Kubuntu 5.04),
Suse 9.1 und 9.2, KDE’s 3.2 – 3.4
Moin moin Thomas,
jau…da gibt es eigentlich zwei Möglichkeiten entsprechend der
Fehlermeldungen in Deinen Logs:
1.)usb/lp0
Unable to open USB device “usb://dev/usb/lp0”: no such device
meint:
Es existiert entweder gar kein Druckerdevice, oder es heisst anders.
Als erstes mache mal Folgendes:
ls -l /dev/usb/lp0
Wenn das Kommando sich ebenfalls darüber beschwert, dass es keine solche Datei
( = device) findet, hat Dein System (ersteinmal) kein solches.
ODER
2.)
Unable to open USB device “usb:/dev/usb/lp0”: Permission denied
meint:
Es existiert zwar eine Datei /dev/usb/lp0, aber Du als “ordinary user” :)
hast keine Zugriffserlaubnis.
Kennst Du Dich mit Permissions unter Unix/Linux aus ?
Wenn ja und 1.) hat eine Datei gefunden, gib /probeweise/ einmal ALS ROOT
folgendes ein:
chmod 666 /dev/usb/lp0
Dieses Kommando macht das Device für jeden und alles les- und schreibbar.
Dies ist KEINE Fehlerkorrektur, weil SOETWAS TUT MAN NICHT :O)
Es dient nur dazu, die Ursache dingfest zu machen.
BITTE DRUCKEN SIE JETZT ! :)
Wenn’s funzt, haben wir das Problem eingekreist.
Nun bitte wieder als root die Permissions des Devices zurücksetzten auf 660.
Desweiteren erzeugst Du bitte — wenn nicht schon vorhande — eine Gruppe
(mit addgroup oder groupadd) namens “printer”. Das device ordnest Du dieser
Gruppe zu. Dem Programm, welches auf das
Device zugreifen will, verpasst Du die gleiche Gruppenzugehörigkeit. Nun musst
Du nur noch unter /var/spool/…. und /var/log/…. den entsprechenden
Unterverzeichnissen des Druckerspoolers diesselbe Gruppenzugehörigkeit
verpassen und das Ding ist geritzt.
Was aber tun, wenn das Device gar nicht vorhanden ist???
Dann ist es wahrscheinlich doch vorhanden, grinzzzz.
Nein, ich will Dich nicht foppen…mach folgendes.
Setze Deinen Drucker unter Strom und reboote Deine Kiste. Gleich zu allererst,
wenn Du nach dem Boot einer Konsole habhaft werden kannst, hackst Du auf die
Kommandozeile:
dmesg > demesg.log.
Nun nimmst Du irgendeinen Pager und siehst Dir das Log an, ob Du
herausfindest, ok /der Kernel/ Deinen Printer erkennt.
Wenn dem nicht so ist, ist irgendwie Dein USB-Krempel im Kernel
zerkrümelt. Das würde jetzt etwas länglich…wenn das tatsächlich der Fall
sein sollte: Hier posten und ich will versuchen zu erklären, was zu tun ist…
hast Du schonmal einen Kernel neu gebacken? ;)
Versuchen wir es auf die freche Tour:
cd /dev
find . | grep lp
Was gefunden? Vielleicht soetwas wie
/dev/usb/lp1 ??? ;)
Wenn ja: in XTPConfig ein bzw. umtragen und in CUPS nachsehen (über die
Webpage des System-Cups…), ob dort Änderungen dieser Art ebenfalls notwendig
sind. SIcherheitshalber einmal booten damit keine “schwebenden” Einstellungen
das Drucken temporär ermöglichen und man dann am nächsten Morgen wieder
“ohne” dasitzt.
Wenn wie gesagt GAR kein Device unter den üblichen Verdächtigen zu finde sein
sollte, hat Dein Kernel möglicherweise in USB-Problem oder Dein MoBo hat
ein anderes USB-Teil (OHCI/UHCI/EHCI) als der Kernel sich das wünscht.
Dann muss halt ein neuen Kern gebastelt werden, was weder Horror ist noch
das System sonderlich gefährdet.
Viel Erfolg!
Meino
Hallo Thomas,
du brauchst eigentlich nur den Parameter “RunAsUser” in der Config-Datei im Pfad /etc/cups/cupsd.conf auf -> “Yes” setzen, wenn nicht schon geschehen.
Ich hatte die selben Probleme wie du mit meinem Samsung ML-2550.
In der neuen Ubuntu oder Kubuntu Version ist das Problem nicht mehr gegeben.
Gruß
Toddy
Hi Toddy,
vielen Dank für Deine Antwort. Das war es leider nicht.
RunAsUser stand und steht auf ‘Yes’
Trotzdem Danke.
Hallo
Hatte auf suse eimal solch ein Problem!
In Cups gibt es irgendwo eine Gruppe zu konfigurieren.
So weit ich mich noch erinnere war diese bei Suse NICHT lp!!
Also sie dir die Gruppen noch mal genauer an…
Google doch mal oder schau in der Man nach…
Villeicht musst du in der cups.conf eine group=lp oder so änlich konfigurieren
Du könntest auch zu testzwecken deinen Benutzer zu allen Gruppen hinzufügen… und dann nochmal probieren!!
Hallo Meino,
vielen Dank für Dein Antwort.
Die Zugriffsrechte für die “Datei” /dev/usb/lp0 hatte ich mir schon einmal unter die Lupe genommen: Eigentümer ist root, Gruppe lp (rw-rw—-). Ich selber gehöre der Gruppe lp an. Da ich auch als Root nicht drucken konnte, habe ich mich bei meiner Fehlersuche nicht mehr darum gekümmert, fälschlicherweise im Nachhinein.
Ich habe /dev/usb/lp0 nun doch mal “aufgemacht” (rw-rw-rw-), und siehe da, der Drucker druckt! Das ist zwar schön, verwundert mich nur ein wenig. Ich bekam einen ähnlichen Tipp auch in unter d.c.o.u.misc.
>Dies ist KEINE Fehlerkorrektur, weil SOETWAS TUT MAN NICHT :O)
Ich sehe das nicht anders.. :-) Aber er druckt! :)
Also irgendeinem Programm im Durckverlauf bzw. -ablauf fehlt die Berechtigung die /dev/usb/lp0 zu benutzen. Welches wohl?! Da endet nun mein Fachwissen, werde aber jetzt gleich ein bisschen im System stöbern und etwas Fachliteratur wälzen.
Ich bedanke mich für Deine Hilfe!
Grüße
Thomas Sachs
Hi Thomas,
ok, dann über die Hintertür :O)
Ersteinmal gibt es unter /var/log diverse Dateien, die Logfiles diverser
“Instanzen” sind, die etwas zu meckern haben.
Auf meinem LFS-System gibt es einen Pfad /var/log/everything/messages in dem
alles landet, was so über den Kernellogger läuft. Desweiteren gibt es für
Demonen, den Warp-Kern und Ähnliches getrennte Verzeichnisse/Dateien. Das
macht aber jedes System etwas anders.
Am leichtesten hast Du es mit Etwas wie “everything”, da dort alles landet und
zwar chronlogisch in der richtigen Reihenfolge.
Je nach dem, was auf Deiner Kiste so los ist, sollte auch eine einfaches
Laufenlassen von “dmesg” Dir die benötigten Informationen geben.
Drucke einmal “vergeblich” und siehe dann in diese Logdatei (oder mit
dmesg…).
Wenn es ein Programm aus dem Dunstkreis der Kernels, zu dem in der Regel die
Demon und so auch lpd/cupsd gehören, ist, wirst Du dort eine Meldung finden,
die der Fehlermeldungen aus Deiner ersten Mail ähnlich sein wird. Der
Verursacher wird mit aufgeführt.
Wenn es tatsächlich der lpd/cupsd sein sollte:
Permissions anpassen…dies beeinhaltet auch das Anpassen eventueller
Startscripte unter /etc/rc.d oder /etc/init.d (VORSICHT! ein hängendes
Startscript hängt…dh. der Bootvorgang
hängt…). Das Setzen von set -e im Kopf des Startscriptes macht es etwas
“sicherer”, da dann das Script bei einem Fehler komplett abgebrochen wird
und nicht Kommandos weiter ausgeführt werden, die auf Vorraussetzungen
aufbauen, die aufgrund eines Fehlers nicht mehr gegeben sind.
Die Startscripte müssen vor allem den Demon unter den richtigen ID (UId/GId)
starten (oder ihm diese Info als Optionen mitgeben).
Was auch noch schief sein kann: Ein Konfigurationsfile wird nicht gelesen.
Beliebter Fehler übrigens: Man installiert eine neue Version von CUPS (z.B.)
und vergisst damit die alte Version komplett überzubügeln. Oder mit anderen
Worten: Man installiert den Krempel unter /usr/local.
Der gestarte Demon ist kinderfreundlich :O) und sucht brav sein conf-File
erst unter /etc dann unter /lib dann unter /usr/etc dann unter /usr/lib
und dann das ganze nochmal mit /usr/local.
Und da die alte Konfdatei noch unter /usr/… residiert, nimm der Demon diese
Datei und man selber konfiguriert sich unter /usr/local/… ‘nen Wolf und
versteht die Welt nicht mehr.
SO schrecklich genial ist die Prämisse, alles Selbstinstallierte nach
/usr/local zu packen gar nicht. An den Seiteneffekten suchte man
teilweise Wochen….
Aber zuurück zum Thema.
Wenn es keinen Credo des Schuldigen unter /var/log/… gibt, dann ist der
Schuldige nicht im kernelspace beheimatet sondern im userspace.
Oder mit anderen Worten:
Eine Applikation läuft irgendwie schräg.
Dies ist aber sehr unwahrscheinlich, da userspace-Applikation eben weil sie
solche sind nut sehr selten und nur ganz vorsichtig mit gesetztem sticky-bit
laufen (sollen).
Soweit erst einmal…
Meld Dir was passiert ist! :O)
Schönes Wochenende!
Meino