Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
[Gelöst] hplip spinnt
Moderator: Moderatoren
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: hplip spinnt
Ja kann ich. Es kommt dann keine Fehlermeldung aber er druckt auch nicht.
Re: hplip spinnt
Tut mit leid, ich weiss nicht weiter.
Desktop: OpenSUSE Leap 15.2, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: hplip spinnt
Kein Problem danke auf jeden Fall für die ganzen Ideen und Hilfe.
Re: hplip spinnt
Hängt der am USB oder Netzwerk?
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: hplip spinnt
Netzwerk. Schon immer. Suse 15.1 und älter ohne Probleme.
Re: hplip spinnt
Ich installiere meinen immer nach den Anleitungen, hp-setup sagt das auch.Netzwerk. Schon immer. Suse 15.1 und älter ohne Probleme.
Zuerst mit USB-Kabel und dann sagt hp-setup jetzt Kabel ab und noch einmal aufrufen.
Selbst der Scanner funktioniert dann im Netzwerk.
Desktop: OpenSUSE Leap 15.2, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: hplip spinnt
Ich habe es bisher immer mit HP setup gemacht. 4 suse Rechner greifen seit Jahren auf den Drucker zu. Nie mit USB immer Netzwerk. Hp setup erkennt und findet den Drucker auch im Netz.
Re: hplip spinnt
Meiner ist über wlan / Router angeschlossen. USB habe ich nie gebraucht. Da ich die IP kenne, installiere ich über Yast
/ LAN->JetDirekt. Die hplip-Pakete müssen natürlich installiert sein.
Wie die einzelnen Schritte gehen, müsste ich schauen, bin auch immer noch bei 15.1
Hp-Setup Methode hat bei mir nur Probleme gemacht, wahrscheinlich wegen falscher Phyton-Version.
Auch die Udev/Firewall-Regeln haben die Erkennung verhindert.
Yast richtet das meiste und verwendet hpsetup nur für die Drucker-Erkennung.
Es kann auch sein, dass der "normale"User in die hpsetup
Guppe aufgenommen werden muss...
MfG
misiu
/ LAN->JetDirekt. Die hplip-Pakete müssen natürlich installiert sein.
Wie die einzelnen Schritte gehen, müsste ich schauen, bin auch immer noch bei 15.1
Hp-Setup Methode hat bei mir nur Probleme gemacht, wahrscheinlich wegen falscher Phyton-Version.
Auch die Udev/Firewall-Regeln haben die Erkennung verhindert.
Yast richtet das meiste und verwendet hpsetup nur für die Drucker-Erkennung.
Es kann auch sein, dass der "normale"User in die hpsetup
Guppe aufgenommen werden muss...
MfG
misiu
Re: hplip spinnt
Ich kann dir ja mal meine python Paketliste zukommen lassen und du kannst vergleichen,ob dir noch etwas fehlt.
Desktop: OpenSUSE Leap 15.2, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: hplip spinnt
Problem gelöst, ich bekam ja immer den Fehler
Fax wollte ich nicht, ich weiß auch nicht warum er bei mir immer meckert dass das Plugin nicht da ist, es ist da.
Im marvellfax.py habe ich den Code angepasst
Sprich im if Teil habe ich alles auskommentiert und den else Teil in den if Teil kopiert (hätte dass if natürlich auch löschen können). Naja jetzt geht es.
Code: Alles auswählen
Run "hp-plugin" to installa plugin libraries if you are not automatically prompted
Traceback (most recent call last):
File "/usr/share/hplip/ui4/setupdialog.py", line 1307, in NextButton_clicked
self.showAddPrinterPage()
File "/usr/share/hplip/ui4/setupdialog.py", line 731, in showAddPrinterPage
self.readwriteFaxInformation()
File "/usr/share/hplip/ui4/setupdialog.py", line 1102, in readwriteFaxInformation
d = fax.getFaxDevice(self.fax_uri, disable_dbus=True)
File "/usr/share/hplip/fax/fax.py", line 534, in getFaxDevice
return MarvellFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus)
File "/usr/share/hplip/fax/marvellfax.py", line 109, in __init__
self.service.SendEvent(device_uri, printer_name, EVENT_FAX_FAILED_MISSING_PLUGIN, os.getenv('USER'), job_id, "Plugin is not installed")
AttributeError: 'NoneType' object has no attribute 'SendEvent'
Done.
Im marvellfax.py habe ich den Code angepasst
Code: Alles auswählen
if pluginObj.getStatus() != pluginhandler.PLUGIN_INSTALLED:
self.libfax_marvell = cdll.LoadLibrary(lib_name)
#log.error("Loading %s failed. Try after installing plugin libraries\n" %lib_name);
#log.info("Run \"hp-plugin\" to installa plugin libraries if you are not automatically prompted\n")
#job_id =0;
#self.service.SendEvent(device_uri, printer_name, EVENT_FAX_FAILED_MISSING_PLUGIN, os.getenv('USER'), job_id, "Plugin is not installed")
#sys.exit(1)
else:
self.libfax_marvell = cdll.LoadLibrary(lib_name)
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: [gelöst] hplip spinnt
Habe noch etwas weiter gedebuggt, in /usr/share/hplip/plugin.spec sind Pfade (i386-gnu-linux und x86_64-gnu-linux) angegeben die es unter openSuse 15.1 und 15.2 nicht gibt. Mit hplip 3.18.6 waren diese Pfade dort nicht angegeben. Sprich hp-setup wird ab irgendeiner Version zwischen 3.18.6 und 3.20.9 weder auf 15.1 noch 15.2 funktionieren. Wahrscheinlich reicht es aus einfach alle Pfade im spec File zu berichtigen.
Re: [gelöst] hplip spinnt
Das spec file wird nicht benutzt.
Das ist als Beispiel zu sehen.
Das ist als Beispiel zu sehen.
Desktop: OpenSUSE Leap 15.2, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: [gelöst] hplip spinnt
Wie sicher bist du dir mit einer Aussage? Klar kann mich beim debuggen vertan haben, bin mir aber relativ sicher.
Das das Python Skript ausgeführt wird steht wohl ausser Frage, da meine Änderung dort den erhofften Erfolg hatte.
gibt ein -2 zurück, bei einer 1 würde es durchlaufen.
Der Call von getStatus ist in pluginhandler.py zu finden
Es kommt also auf __plugin_state an, dieser wird in pluginhander.py hier gesetzt
hier wiederum ist das untereste else von Wichtigkeit. Hier wiederum das Array copies, auch diese ist in pluginhander.py
In der ersten Zeile siehst du schon dass plugin.spec gelesen wird, im Debugger sieht man auch dass es ganau aus /usr/share/hplip gelesen wird. Dann muss man sich am Ende der Methode link anschauen, dort stehen die falschen Verzeichnisse drin.
Jetzt wieder zurück zu
in der zweitletzen Zeile wird check_library aufgerufen
Hier wird also geprüft ob die Files wirklich existieren.
Ich würde also bei meiner Meinung (vorerst) bleiben. Wo siehst du meinen Fehler im obigen Durchlauf oder warum denkst dass das spec file nicht gelesen wird?
Das das Python Skript ausgeführt wird steht wohl ausser Frage, da meine Änderung dort den erhofften Erfolg hatte.
Code: Alles auswählen
pluginObj.getStatus()
Der Call von getStatus ist in pluginhandler.py zu finden
Code: Alles auswählen
def getStatus(self):
self.__readPluginStatus()
log.debug("Plugin status = %s"%self.__plugin_state)
return self.__plugin_state
Code: Alles auswählen
def __readPluginStatus(self):
plugin_state_conf = ConfigBase( PLUGIN_STATE_FILE)
self.__plugin_state = plugin_state_conf.get('plugin', 'installed', PLUGIN_NOT_INSTALLED)
if self.__plugin_state == PLUGIN_NOT_INSTALLED:
self.__installed_version = ''
else:
self.__installed_version = plugin_state_conf.get('plugin','version', '')
hplip_version = sys_conf.get('hplip', 'version', '0.0.0')
if self.__installed_version != hplip_version:
self.__plugin_state = PLUGIN_VERSION_MISMATCH
else:
home = sys_conf.get('dirs', 'home')
copies = self.__getPluginFilesList( home )
for src, trg, link in copies:
if link != "":
if not utils.check_library(link):
self.__plugin_state = PLUGIN_FILES_CORRUPTED
Code: Alles auswählen
def __getPluginFilesList(self, src_dir):
if not os.path.exists(src_dir+"/plugin.spec"):
log.warn("%s/plugin.spec file doesn't exists."%src_dir)
return []
cwd = os.getcwd()
os.chdir(src_dir)
plugin_spec = ConfigBase("plugin.spec")
products = plugin_spec.keys("products")
BITNESS = utils.getBitness()
ENDIAN = utils.getEndian()
PPDDIR = sys_conf.get('dirs', 'ppd')
DRVDIR = sys_conf.get('dirs', 'drv')
HOMEDIR = sys_conf.get('dirs', 'home')
DOCDIR = sys_conf.get('dirs', 'doc')
CUPSBACKENDDIR = sys_conf.get('dirs', 'cupsbackend')
CUPSFILTERDIR = sys_conf.get('dirs', 'cupsfilter')
RULESDIR = '/etc/udev/rules.d'
BIN = sys_conf.get('dirs', 'bin')
# Copying plugin.spec file to home dir.
if src_dir != HOMEDIR:
shutil.copyfile(src_dir+"/plugin.spec", HOMEDIR+"/plugin.spec")
os.chmod(HOMEDIR+"/plugin.spec",0o644)
processor = utils.getProcessor()
if processor == 'power_machintosh':
ARCH = 'ppc'
elif (processor == 'armv6l' or processor == 'armv7l' or processor == 'aarch64' or processor == 'aarch32'):
ARCH = 'arm%d' % BITNESS
else:
ARCH = 'x86_%d' % BITNESS
if BITNESS == 64:
SANELIBDIR = '/usr/lib64/sane'
LIBDIR = '/usr/lib64'
else:
SANELIBDIR = '/usr/lib/sane'
LIBDIR = '/usr/lib'
copies = []
for PRODUCT in products:
MODEL = PRODUCT.replace('hp-', '').replace('hp_', '')
for s in plugin_spec.get("products", PRODUCT).split(','):
if not plugin_spec.has_section(s):
log.error("Missing section [%s]" % s)
os.chdir(cwd)
return []
src = plugin_spec.get(s, 'src', '')
trg = plugin_spec.get(s, 'trg', '')
link = plugin_spec.get(s, 'link', '')
if not src:
log.error("Missing 'src=' value in section [%s]" % s)
os.chdir(cwd)
return []
if not trg:
log.error("Missing 'trg=' value in section [%s]" % s)
os.chdir(cwd)
return []
src = os.path.basename(utils.cat(src))
trg = utils.cat(trg)
if link:
link = utils.cat(link)
copies.append((src, trg, link))
copies = utils.uniqueList(copies)
copies.sort()
os.chdir(cwd)
return copies
Jetzt wieder zurück zu
Code: Alles auswählen
def __readPluginStatus(self):
plugin_state_conf = ConfigBase( PLUGIN_STATE_FILE)
self.__plugin_state = plugin_state_conf.get('plugin', 'installed', PLUGIN_NOT_INSTALLED)
if self.__plugin_state == PLUGIN_NOT_INSTALLED:
self.__installed_version = ''
else:
self.__installed_version = plugin_state_conf.get('plugin','version', '')
hplip_version = sys_conf.get('hplip', 'version', '0.0.0')
if self.__installed_version != hplip_version:
self.__plugin_state = PLUGIN_VERSION_MISMATCH
else:
home = sys_conf.get('dirs', 'home')
copies = self.__getPluginFilesList( home )
for src, trg, link in copies:
if link != "":
if not utils.check_library(link):
self.__plugin_state = PLUGIN_FILES_CORRUPTED
Code: Alles auswählen
def check_library( so_file_path):
ret_val = False
if not os.path.exists(so_file_path):
log.debug("Either %s file is not present or symbolic link is missing" %(so_file_path))
else:
# capturing real file path
if os.path.islink(so_file_path):
real_file = os.path.realpath(so_file_path)
else:
real_file = so_file_path
if not os.path.exists(real_file):
log.debug("%s library file is missing." % (real_file))
elif (os.stat(so_file_path).st_mode & 72) != 72:
log.debug("%s library file doesn't have user/group execute permission." % (so_file_path))
else:
log.debug("%s library file present." % (so_file_path))
ret_val = True
log.debug("%s library status: %d" % (so_file_path, ret_val))
return ret_val
Ich würde also bei meiner Meinung (vorerst) bleiben. Wo siehst du meinen Fehler im obigen Durchlauf oder warum denkst dass das spec file nicht gelesen wird?
Re: [gelöst] hplip spinnt
Das spec File ist zum Bau eines rpm.
Edit:
Ich rudere zurück, doch nicht.
Edit:
Ich rudere zurück, doch nicht.
Desktop: OpenSUSE Leap 15.2, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
Re: [gelöst] hplip spinnt
Das sind aber immer unterschiedliche Pfade für dieselben Dateien, ich nehme mal an für unterschiedliche Distributionen.Habe noch etwas weiter gedebuggt, in /usr/share/hplip/plugin.spec sind Pfade (i386-gnu-linux und x86_64-gnu-linux) angegeben die es unter openSuse 15.1 und 15.2 nicht gibt. Mit hplip 3.18.6 waren diese Pfade dort nicht angegeben. Sprich hp-setup wird ab irgendeiner Version zwischen 3.18.6 und 3.20.9 weder auf 15.1 noch 15.2 funktionieren. Wahrscheinlich reicht es aus einfach alle Pfade im spec File zu berichtigen.
Denn bei mir sind die Dateien vorhanden.
Desktop: OpenSUSE Leap 15.2, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: [gelöst] hplip spinnt
Das kann natürlich so gedacht sein dass diese für diverse Distributionen sind. Aber dann scheint das noch nicht zu funktionieren. Diese Einträge waren so mit 3.18.6 auch nicht da, es scheint sich also um ein neues Feature zu handeln.
Es gibt bei 3.20.9 ja zum Beispiel
Existiert bei dir bei openSuse der Pfad der unter Link angegeben ist? Bei mir nicht. Ich habe mal versucht im spec file einen Pfad zu ändern um zu sehen ob ich auf meinem alten Rechner das Problem nachstellen kann. Leider merkt das System die Veränderung und ich muss das HP plugin neu installieren und damit kommt ein neues spec file, d.h. manuelle Änderungen sind nicht möglich. Ich kann es leider momentan nicht testen da ich keinen weiteren Rechner habe. Hast du hplip 3.20.9 installiert? Wenn ja kannst du mal als root hp-setup durchführen.
Im 2. Screen von hp-setup erkennt er ja noch den Drucker, nun auf next da sollte der Screen kommen dass man den Drucker wirklich installiert. Falls der Screen bei dir kommt dann passt es, falls hp-setup vorher dumpt hast du das gleiche Problem wie ich. Brauchst also nicht wirklich einen Drucker installieren, im 3. Screen einfach abbrechen. Aber wie gesagt muss 3.20.9 sein da ich nicht weiß wann sich das spec File geändert hat.
Es gibt bei 3.20.9 ja zum Beispiel
Code: Alles auswählen
[hp2000S1_plugin_6]
src=scan/sane/libsane-hp2000S1-$ARCH.so.1.0.25
trg=/usr/lib/sane/libsane-hp2000S1-$ARCH.so.1.0.25
link=/usr/lib/x86_64-linux-gnu/sane/libsane-hp2000S1.so.1
Im 2. Screen von hp-setup erkennt er ja noch den Drucker, nun auf next da sollte der Screen kommen dass man den Drucker wirklich installiert. Falls der Screen bei dir kommt dann passt es, falls hp-setup vorher dumpt hast du das gleiche Problem wie ich. Brauchst also nicht wirklich einen Drucker installieren, im 3. Screen einfach abbrechen. Aber wie gesagt muss 3.20.9 sein da ich nicht weiß wann sich das spec File geändert hat.
Re: [gelöst] hplip spinnt
Code: Alles auswählen
[hp2000S1_plugin_3]
src=scan/sane/libsane-hp2000S1-$ARCH.so.1.0.25
trg=/usr/lib64/sane/libsane-hp2000S1-$ARCH.so.1.0.25
link=/usr/lib64/sane/libsane-hp2000S1.so
[hp2000S1_plugin_4]
src=scan/sane/libsane-hp2000S1-$ARCH.so.1.0.25
trg=/usr/lib64/sane/libsane-hp2000S1-$ARCH.so.1.0.25
link=/usr/lib64/sane/libsane-hp2000S1.so.1
[hp2000S1_plugin_5]
src=scan/sane/libsane-hp2000S1-$ARCH.so.1.0.25
trg=/usr/lib/sane/libsane-hp2000S1-$ARCH.so.1.0.25
link=/usr/lib/x86_64-linux-gnu/sane/libsane-hp2000S1.so
[hp2000S1_plugin_6]
src=scan/sane/libsane-hp2000S1-$ARCH.so.1.0.25
trg=/usr/lib/sane/libsane-hp2000S1-$ARCH.so.1.0.25
link=/usr/lib/x86_64-linux-gnu/sane/libsane-hp2000S1.so.1
Code: Alles auswählen
ls -al /usr/lib64/sane/libsane-hp2*
lrwxrwxrwx 1 root root 49 1. Okt 09:40 /usr/lib64/sane/libsane-hp2000S1.so -> /usr/lib64/sane/libsane-hp2000S1-x86_64.so.1.0.25
lrwxrwxrwx 1 root root 49 1. Okt 09:40 /usr/lib64/sane/libsane-hp2000S1.so.1 -> /usr/lib64/sane/libsane-hp2000S1-x86_64.so.1.0.25
-rwxr-xr-x 1 root root 3811216 1. Okt 09:40 /usr/lib64/sane/libsane-hp2000S1-x86_64.so.1.0.25
Das Verzeichnis existiert aber bei Debian......
Code: Alles auswählen
/usr/lib/x86_64-linux-gnu/sane/
Daher nehme ich an, das die in einer späteren Version hinzugefügt wurden.
Desktop: OpenSUSE Leap 15.2, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: [gelöst] hplip spinnt
Hallo,
also ich habe jetzt mal einen weiteren Rechner auf 15.2 hochgezogen. Von opensuse kommt hplip 3.19.12 dort ist das spec File noch so wie es sein sollte. Bei 3.20.9 kommen die vielen neuen Einträge und es gibt die gleichen Probleme. Intressant ist wenn man einmal auf 3.20.9 war komme ich nicht mehr zurück auf das alte spec file. Ich habe ein downgrade gemacht, das spec file gelöscht dann hp-plugin laufen lassen trotzdem habe ich das neuere spec file.
Also ich bin mir sehr sicher, wer auf 3.20.9 ist wird hp-setup unter opensuse wegen des Spec Files nicht ans laufen bekommen.
also ich habe jetzt mal einen weiteren Rechner auf 15.2 hochgezogen. Von opensuse kommt hplip 3.19.12 dort ist das spec File noch so wie es sein sollte. Bei 3.20.9 kommen die vielen neuen Einträge und es gibt die gleichen Probleme. Intressant ist wenn man einmal auf 3.20.9 war komme ich nicht mehr zurück auf das alte spec file. Ich habe ein downgrade gemacht, das spec file gelöscht dann hp-plugin laufen lassen trotzdem habe ich das neuere spec file.
Also ich bin mir sehr sicher, wer auf 3.20.9 ist wird hp-setup unter opensuse wegen des Spec Files nicht ans laufen bekommen.
Re: [gelöst] hplip spinnt
Hier läuft es.......Also ich bin mir sehr sicher, wer auf 3.20.9 ist wird hp-setup unter opensuse wegen des Spec Files nicht ans laufen bekommen.
Da ich jedoch auch Pakete baue, hab ich immer viele Pakete installiert, es wird an irgendeiner Abhängigkeit liegen, die ich noch nicht herausbekommen habe.
Übrigens:
Diese plugins-run verschiebt ja eigentlich nur Dateien.
Desktop: OpenSUSE Leap 15.2, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
Laptop: OpenSUSE Leap 15.2, Intel-Skylake, Kernel 5.3
-
- Hacker
- Beiträge: 450
- Registriert: 10. Jun 2004, 04:50
Re: [gelöst] hplip spinnt
Hier läuft was? Der Drucker tut (was ich dir glaube) oder hp-setup läuft durch mit dem kaputten spec File (was ich fast nicht glauben kann)?