• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Drucken unter suse12.1: lp, ps-files und brother-Connection

Hallo liebe Leute !

Ich habe folgendes Problem mit Linux, opensuse 12.1.
Ich will meinen Drucker brother MFC 8440 anschliessen. Das hat am Anfang mit YAST2 nicht geklappt.
Ich bin dann nach den Tips hier unter
Keine Verbindung zum Drucker; Suse 12.1 vom 2.Dezember 2011 vorgegangen und habe den dort vorgeschlagenen
parallelen Port installiert unter Verwendung des Links :

http://software.opensuse.org/search?q=parallel&baseproject=openSUSE%3A12.1&lang=de&exclude_debug=true

Dann habe ich wie unter Thema

[gelöst] Brother MFC-8440 läuft nicht auf OpenSuse 12.1
vom Januar 2012 gefunden die entsprechenden Treiber installiert.

Nach modprobe lp
modprobe parport lief dann der Drucker und ich konnte aus dem Firefox heraus drucken.

Aber meine postscript files .ps konnte ich aus meiner bash immer noch nicht drucken.
Folgende Fehlermeldung:
lpr : Error - no default destination available

In /etc/sysconfig/kernel habe ich dann auch modprobe="lp" eingegeben , so wie
vorgeschlagen.

Ergebnis: Es geht leider immer noch nicht.
Schlimmer noch:
Wenn ich mich als beliebiger user user1 einlogge kann ich immer noch nicht drucken.
Erst wenn ich als root eingebe:
modprobe lp
modprobe parport

Dann kann ich aus dem Firefox heraus drucken.
Aber immer noch nicht aus meinem xterm heraus das ps-file .....

Was habe ich falsch gemacht ?
Vielen Dank im Voraus !
 

Jägerschlürfer

Moderator
Teammitglied
hast du mal auf der Brother Homepage geschaut, ob die eine Anleitung haben, wie du diesen Drucker unter Linux installierst? Normalerweise hat Brother nämlich diese Anleitungen,...
 
OP
S

sclfragender

Newbie
Hallo :
Ja , habe ich nach bestem Wissen und Gewissen gemacht.
1. Driver von http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_prn1a.html
heruntergeladen.
2. Dann rpm -ihv --nodeps ....
3. Dann prüfen mit rpm -qa | grep -i mfc8840 .....
und rpm -qa | grep -e cups....
checken ob erfolgreich installiert urde- ist alles ok , alles wird gefunden.
4. http://localhost:631/admin : Drucker auf Page ?
Unter : Verwaltung finde ich :
brothermfc8440 Brother MFC-8440 for CUPS - eigentlich sieht das gut aus.
Wenn ich aber auf "Verfügbare Drucker" gehen will, dann gibt es ein Problem:
Keine Anzeige.

Druck ist nicht möglich.
Es gibt allerdings eine Fehlermeldung:
E [25/Aug/2012:13:30:07 +0200] Unable to bind socket for address [v1.::1]:631 - Address already in use.
E [25/Aug/2012:13:30:07 +0200] Unable to bind socket for address 127.0.0.1:631 - Address already in use.

lsof -i ergibt :
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
avahi-dae 960 avahi 11r IPv4 8077 0t0 UDP *:mdns
avahi-dae 960 avahi 12r IPv4 8078 0t0 UDP *:60477
cupsd 1015 root 7u IPv4 8849 0t0 TCP *:ipp (LISTEN)
cupsd 1015 root 8u IPv6 8850 0t0 TCP *:ipp (LISTEN)
cupsd 1015 root 10u IPv4 8855 0t0 UDP *:ipp
dhclient6 1511 root 5u IPv6 10521 0t0 UDP *:dhcpv6-client
dhclient6 1511 root 20u IPv4 10239 0t0 UDP *:43884
dhclient6 1511 root 21u IPv6 10240 0t0 UDP *:35612

Dank + Gruss
 

RME

Advanced Hacker
E [25/Aug/2012:13:30:07 +0200] Unable to bind socket for address [v1.::1]:631 - Address already in use.
Du könntest mal folgende Befehle ausführen und deren Ausgabe prüfen:

Code:
systemctl status cups.service
systemctl status cups.socket
Versuch dann mal:

Code:
systemctl stop cups.service
systemctl stop cups.socket
systemctl start cups.service
Falls "cups.socket" nicht vorhanden ist ("systemctl status cups.socket"), und im Verzeichnis:

Code:
/etc/systemd/system/
keine entsprechende Datei existiert, dann erstelle versuchshalber(!) eine Datei mit folgendem Inhalt (Ref. https://bbs.archlinux.org/viewtopic.php?id=146154):

Code:
[Unit]
Description=CUPS Printing Service Sockets

[Socket]
ListenStream=/var/run/cups/cups.sock
ListenStream=0.0.0.0:631
ListenDatagram=0.0.0.0:631
BindIPv6Only=ipv6-only

[Install]
WantedBy=multi-user.target
hier:

Code:
/etc/systemd/system/cups.socket
Dann, als root:

Code:
systemctl enable cups.service
Bewirkt dies etwas?

Gruss,
Roland
 
OP
S

sclfragender

Newbie
Hallo !
Vielen Dank für die obige Antwort.
Ich habe es versucht.

Ergebnisse:
> systemctl status cups.service
> cups.service - LSB: CUPS printer daemon
Loaded: loaded (/etc/init.d/cups)
Active: active (running) since Sat, 25 Aug 2012 22:47:02 +0200; 6min ago
Process: 969 ExecStart=/etc/init.d/cups start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/cups.service
└ 993 /usr/sbin/cupsd -C /etc/cups/cupsd.conf
Dann
>systemctl status cups.socket
>cups.socket
Loaded: error (Reason: No such file or directory)
Active: inactive (dead)
Daraufhin :
> cd /etc/systemd/system
> ll cups*
ls: Zugriff auf cups* nicht möglich: Datei oder Verzeichnis nicht gefunden
Ich habe dann ein kleines File cups.socket in jenem Verzeichnis angelegt, wie vorgeschlagen.
Dann:
>systemctl enable cups.service
>cups.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig cups on
Warning: unit files do not carry install information. No operation executed.
Drucken geht nicht.
lp kennt er nicht.
Hmm ?
Vertrackte Sache !
Vielen Dank im Voraus !

Gruss
 

RME

Advanced Hacker
Hallo,

Ich habe Dich auf den falschen Weg geführt.
Nach modprobe lp
modprobe parport lief dann der Drucker und ich konnte aus dem Firefox heraus drucken.

Aber meine postscript files .ps konnte ich aus meiner bash immer noch nicht drucken.
Also funktioniert das Drucken prinzipiell... und von hier
lpr : Error - no default destination available
sollte die Problemsuche beginnen.

Siehe bitte mal die manual pages für "lpr" und "lp" (auch "lpstat")

("lpr -P printer_name datei_name" bzw. "lp -d printer_name datei_name")

----------
Nur als Info.

Der von mir vorgeschlagene Weg hat damit zu tun das Drucken (CUPS) unter der Kontrolle von systemd zu ermöglichen. Soweit meine Anleitung geht war dies o.k.
Code:
# systemctl status cups.socket
cups.socket                                                            
          Loaded: error (Reason: No such file or directory)
          Active: inactive (dead)
#
Datei "systemctl enable cups.service" (wie beschrieben) erstellen, dann:

Code:
# systemctl stop cups.service
#
# systemctl status cups.service
cups.service - LSB: CUPS printer daemon
          Loaded: loaded (/etc/init.d/cups)
          Active: inactive (dead) since Sun, 26 Aug 2012 11:39:15 +0000; 3s ago
         Process: 9031 ExecStop=/etc/init.d/cups stop (code=exited, status=0/SUCCESS)
          CGroup: name=systemd:/system/cups.service
#
#
# systemctl start cups.service
#
# systemctl status cups.service
cups.service - LSB: CUPS printer daemon
          Loaded: loaded (/etc/init.d/cups)
          Active: active (running) since Sun, 26 Aug 2012 11:39:39 +0000; 3s ago
         Process: 9031 ExecStop=/etc/init.d/cups stop (code=exited, status=0/SUCCESS)
         Process: 9040 ExecStart=/etc/init.d/cups start (code=exited, status=0/SUCCESS)
          CGroup: name=systemd:/system/cups.service
                  └ 9046 /usr/sbin/cupsd -C /etc/cups/cupsd.conf
#
#
# systemctl status cups.socket
cups.socket - CUPS Printing Service Sockets
          Loaded: loaded (/etc/systemd/system/cups.socket; disabled)
          Active: inactive (dead)
          CGroup: name=systemd:/system/cups.socket
#
Soweit i.o.

Aber, CUPS ist bezüglich systemd noch nicht "up-to-date"
The error you are getting indicates that systemd is listening on the socket and passes it to cups, but cups is unable to accept it and tries to open it from scratch.
Es gäbe Patches um dies zu korrigieren, aber dies ist nicht ganz so einfach. Falls es Dich interessiert, hier ein paar Links:

http://www.freedesktop.org/wiki/Software/systemd
Software/systemd
Kapitel:
systemd for Developers #1, #2 (siehe #2)

http://0pointer.de/blog/projects/socket-activation2.html
systemd for Developers II
Socket Activation, Part II
This time we'll focus on adding socket activation support to real-life software, more specifically the CUPS printing server...

http://cups.org/str.php?L3917
STR #3917: Please introduce support for installing systemd units
cups-systemd.patch
cups-systemd-socket.patch <--

sowie:

https://build.opensuse.org/package/...nit-files.patch&package=cups&project=Printing
File cups-0001-systemd-add-systemd-socket-activation-and-unit-files.patch of Package cups

Die neuste Version von CUPS ist: CUPS v1.5.4 (http://www.cups.org/) -- die Patches sind hier (noch) nicht implementiert. Du müsstest dies also selber machen.

Aber wie schon geschrieben, dies ist nicht Dein momentanes Problem. Drucken funktioniert auch ohne systemd.
----------

Gruss,
Roland
 
Oben