Probleme mit Drucker bei ubuntu script neuinstallation

Antwort erstellen

Bestätigungscode
Gib den Code genau so ein, wie du ihn siehst; Groß- und Kleinschreibung wird nicht unterschieden.
Smileys
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind eingeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Probleme mit Drucker bei ubuntu script neuinstallation

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von daniel » Sa 15. Mär 2025, 13:21

Hallo Stevie,

vielen vielen Dank für Deine vielversprechende Rückmeldung - ich werde meinen Raspi nochmals rauskramen und mit den Änderungen testen.
sprich den Raspi mit der 32-Bit Version aufsetzen solange noch usb4java (1.2.0) verwendet wird.

Hast Du mir noch ein Hilfestellung wie ich dieses realisieren kann "Ich empfehle dann die Einrichtung von einem Service, welcher den Printserver nach zeitsynchronisation startet."

einen Service habe ich schonmal angelegt und mit "systemctl enable javaprinter01" aktiviert.
Wie das mit "Printserver nach zeitsynchronisation starten" funktioniert weiß ich nicht.

vielen Dank im Voraus für Deine Hilfe.

Viele Grüße Daniel

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von stevie » So 1. Sep 2024, 12:16

Hallo,

ich weiß das Thema liegt schon lange zurück, aber das ursprüngliche Problem besteht nach wie vor!

Der Grund dafür ist, dass Du Deinen RaspberryPi mit der 64-Bit Version von Raspbian aufgesetzt hast, die verwendete Version von usb4java (1.2.0) jedoch auf ARM Basis nur 32 Bit unterstützt.

Das Problem kannst Du relativ leicht beheben, indem Du die 32-Bit Version von Raspbian auf Deinem Raspberrypi installierst, anschhließend reicht die Installation von

Code: Alles auswählen

sudo apt install default-jdk
aus.

Ich empfehle dann die Einrichtung von einem Service, welcher den Printserver nach zeitsynchronisation startet.

@ Stefan Pichel:
Eventuell überlegst Du eine Migration auf die version 1.3.0 von usb4java, diese hätte auch eine Unterstützung für 64-Bit ARM.

Liebe Grüße
Stefan

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von pichel » Di 23. Aug 2022, 21:24

Hallo Daniel,

die TSE-Signierung sind nur ca. 300 Millisekunden inkl. dem http-Overhead zwischen Kernsystem und TSEConnector. Das kannst du in der Statistikansicht auch für dein System herausfinden unter Performance und dem richtigen Filter. Allerdings kann die TSE immer nur genau eine Signierung vornehmen. Wenn also gerade 5 Kellner zur gleichen Zeit einen Vorgang signieren lassen wollen, wird es zu mehreren Sekunden Wartezeit kommen und das ist beim Bestellprozess natürlich ärgerlich. Ich hätte die Verbindung zwischen Kernsystem und TSEConnector sicher mit Mehraufwand auch performanter hinbekommen, war nun ist es so wie es jetzt ist.

Alle umsatzrelevanten Vorgänge müssen durch die TSE signiert werden, das beinhaltet auch alle Bestellungen und natürlich die Abrechnungen.

Zum Drucker: Dann schließe den Kassenbondrucker per USB an, bei den anderen ist es nicht so zeitkritisch.

Gruß,

Stefan

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von daniel » Di 23. Aug 2022, 02:25

Hallo Stefan,
vielen Dank für Deine schnelle Rückmeldung.
auch vielen Dank für den Hinweis mit der TSE, auch hier muss ich noch Erfahrung sammeln.
=> Wann greift die TSE nur beim kassieren? oder auch bei der Bestellung?
=> Wieviel Zeit nimmt die TSE ungefähr in Anspruch? können 2 Bediener-innen die TSE gleichzeitig "in Anspruch" nehmen oder werden diese sequenziell abgebarbeitet?

wenn ich bei den Netzwerk-Druckern bleiben möchte, muss ich mich in dem Fall mit CUPS beschäftigen.
=> der Javaprinter kann ja "nur" USB-Drucker direkt ansprechen, keine Netzwerk-Drucker, diese können nur über CUPS vom Javaprinter angesprochen oder?

ich habe 3 Drucker (Kassenbon, Speisen und Getränke)
einen kann ich evtl. per USB direkt am Server anschließen - dieser wäre dann schneller

viele Grüße Daniel

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von pichel » Mo 22. Aug 2022, 08:56

Hallo Daniel,

ich würde mir jetzt eher Sorgen um die TSE-Signierung machen. Die braucht ja nun auch ihre Zeit und kann nicht gequeued werden wie ein Druckjob, der "irgendwann" dann an die Reihe kommt.

Beim Drucken über CUPS gebe ich die Kontrolle komplett an CUPS ab, d.h. OrderSprinter hat keinen Einfluss auf die Abarbeitung Geschwindigkeit. Aber du könntest natürlich in einer Win-VM den Windows-OrderSprinter-Druckserver verwenden.

Wieviele Drucker hast du denn im Einsatz? Wenn du alles sinnvoll verteilst, sehe ich kein Problem auch bei hohem Aufkommen. Der Flaschenhals ist die TSE...(in Deutschland)

Gruß,

Stefan

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von daniel » Mo 22. Aug 2022, 00:23

am Wochenende habe ich auf einem Fest ca. 13 Bediener-innen im Einsatz deshalb mache ich mir über die Druckgeschwindigkeit gedanken.

dazu habe ich gerade nochmals einen Test gemacht:
- 1,2 Sekunden benötigt der Drucker je Bon, wenn der Javaprinter an den USB-Drucker sendet
- 4 Sekunden benötigt der Drucker je Bon, wenn der Javaprinter an den Netzwerkdrucker CUPS sendet
(es wird derselbe Drucker bei USB und Netzwerk verwendet - Thermal Receipt Printer Model: POS-8220 von Zjiang - http://www.zjiang.com/en/init.php/product/index?id=34).

kann man den Netzwerkdrucker irgendwie beschleunigen?
(das Abfrage Interval hilft aus meiner Sicht nicht, da dieses beim Test gleich war)
aus aktueller Sicht möchte ich eigentlich kein Raspi an jeden Drucker hängen, zum einen, da ich gerade nicht genügend habe, zum anderen, da der Aufbau dann komplexer wird und da ich noch Probleme beim Einrichten des Raspi habe.

Vielen Dank im Voraus für Eure Hilfe.

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von daniel » Mo 1. Aug 2022, 17:32

Hallo Stefan,

der Fehler ist leider immernoch da, mit dem classpath-Argument bin ich leider nicht klargekommen.

Was inzwischen funktioniert hat, ist, die Drucker als Netzwerkdrucker einzurichten (über CUPS ).
Allerdings erfolgt der Druck wesentlich langsamer als beim Drucken über den Windowsprintserver.

Hat jemand eine Idee, warum Netzwerkdrucker bei Linux wesentlich langsamer sein sollten, als Netzwerkdrucker mit dem Windowsprintserver?

Vielen Dank für Deine/Eure Hilfe

Viele Grüße Daniel

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von pichel » Di 26. Jul 2022, 17:30

Hallo,

ich habe aktuell keinen Raspi zur Hand, auf dem ich das Problem reproduzieren und eine Lösung erstellen könnte. Aber ich würde folgendes versuchen:

Code: Alles auswählen

sudo apt-get upgrade
sudo apt-get update
sudo apt-get install libusb-1.0-0-dev
Ist der Fehler dann immer noch da, müsste man sich anschauen, wo die usblib hininstalliert wurde und den Javaprinter mit einem passenden classpath-Argument starten.

Wie gesagt, das ist ein ungetesteter Lösungsweg - kann falsch sein.

Gruß,

Stefan

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von daniel » Mi 20. Jul 2022, 18:22

hier weitere Details zu meinem Problem

ich betreibe Ordersprinter 2.4.0
ich habe aktuell 2 Drucker
- einer ist am Server angeschlossen dieser funktioniert (Intel NUC mit Ubuntu 22.04 - Installation über Installationsscript)
- einer ist am Raspi angeschlossen dieser funktioniert nicht (Model 3 B V1.2 - mit Raspberry Pi OS Lite (64-bit))

beim Drucker am Raspi habe ich schon einiges versucht diesen zum Drucken zu bringen:
- die Druckerzuordnung im Adminbereich Hauptmenü->Administration->Druckerinstanzen habe ich vorgenommen
- die config.json Datei habe ich angepasst
- Die Anleitung von meolo habe ich noch nicht versucht
- Installationsanleitung "All-in-One-Order-Sprinter Installation auf dem Raspberry Pi" befolgt
- hier habe ich bereits versucht in den Ordner "/org/usb4java/linux-aarch64/" die Datei "libusb4java.so" zu kopieren - dies schein aber noch nicht gelungen zu sein - hier komme ich nicht weiter
- Da der Drucker am Server funktioniert dachte ich, ich nehme den Teil aus dem Installationsscript, was leider noch nicht zum Erfolgt geführt hat

Vielen Dank im Voraus für Eure Hilfe

Viele hitzige Grüße Daniel

hier die weiteren Details:
==================================================================================================================
wenn ich der Installationsanleitung "All-in-One-Order-Sprinter Installation auf dem Raspberry Pi" folge
und das Kommando "sudo java -jar javaprinter.jar /home/Drucker01/javaprinter/config.json" eingebe, kommt folgende Meldung:
==================================================================================================================
Drucker01@Drucker01:~/javaprinter $ sudo java -jar javaprinter.jar -configfile=/home/Drucker01/javaprinter/config.json
Javaprinter version 2.2
Operation mode:
OperationMode [asyncUsb=false, allowBigPackets=false, weakssl=false, cups=false, legacy=false, onlydump=false, cupsPrintername=, configFile=/home/Drucker01/javaprinter/config.json]
Read: /home/Drucker01/javaprinter/config.json
Instance: 2
Config: Config [printersize=32, vendorid=0416, productid=5011, currency=Euro, decpoint=,, companyinfo=Musterrestaurant
Beispielstrasse 123
12345 Beispielstadt
Deutschland
StNR: 123-456
UStID:123-ABC, escinits=[27, 64, 27, 116, 0], escposts=[29, 86, 66, 10, 27, 64], printcode=123, baseurl=http://kasse/kasse/, baseusername=, basepass=, verbose_closing_summary=1]
Print Work Job: 42
Scaled from 271 to width: 115 by scale 0.4250922509225092
Exception in main loop catched
org.usb4java.LoaderException: Native library not found in classpath: /org/usb4java/linux-aarch64/libusb4java.so
at org.usb4java.Loader.extractLibrary(Loader.java:281)
at org.usb4java.Loader.load(Loader.java:358)
at org.usb4java.javax.Services.<init>(Services.java:59)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.lang.Class.newInstance(Class.java:584)
at javax.usb.UsbHostManager.createUsbServices(Unknown Source)
at javax.usb.UsbHostManager.getUsbServices(Unknown Source)
at javaprinter.ReceiptUsbDevice.printDevice(ReceiptUsbDevice.java:70)
at javaprinter.ReceiptWorker.printTicket(ReceiptWorker.java:357)
at javaprinter.ReceiptWorker.fetchAndPrintTicketJobs(ReceiptWorker.java:95)
at javaprinter.ReceiptWorker.fetchAndPrintTickets(ReceiptWorker.java:35)
at javaprinter.Main.main(Main.java:227)
Print Work Job: 42
Scaled from 271 to width: 115 by scale 0.4250922509225092
Exception in thread "main" java.lang.UnsatisfiedLinkError: 'int org.usb4java.LibUsb.init(org.usb4java.Context)'
at org.usb4java.LibUsb.init(Native Method)
at org.usb4java.javax.DeviceManager.<init>(DeviceManager.java:66)
at org.usb4java.javax.Services.<init>(Services.java:61)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.lang.Class.newInstance(Class.java:584)
at javax.usb.UsbHostManager.createUsbServices(Unknown Source)
at javax.usb.UsbHostManager.getUsbServices(Unknown Source)
at javaprinter.ReceiptUsbDevice.printDevice(ReceiptUsbDevice.java:70)
at javaprinter.ReceiptWorker.printTicket(ReceiptWorker.java:357)
at javaprinter.ReceiptWorker.fetchAndPrintTicketJobs(ReceiptWorker.java:95)
at javaprinter.ReceiptWorker.fetchAndPrintTickets(ReceiptWorker.java:35)
at javaprinter.Main.main(Main.java:227)
==================================================================================================================
hier habe ich bereits versucht in den Ordner "/org/usb4java/linux-aarch64/" die Datei "libusb4java.so" zu kopieren - dies schein aber noch nicht gelungen zu sein - hier komme ich nicht weiter

Da der Drucker am Server funktioniert dachte ich, ich nehme den Teil aus dem Installationsscript:
==================================================================================================================
echo "Druckserver einrichten"
cp -R /tmp/ordersprinter/printserver/javaprinter /usr/local/bin
echo "#!/bin/sh" > /usr/local/bin/javaprinter.bat
echo "/usr/bin/java -jar /usr/local/bin/javaprinter/javaprinter.jar -configfile=/usr/local/bin/javaprinter/config.json &" >> /usr/local/bin/javaprinter.bat
chmod +x /usr/local/bin/javaprinter.bat

printf "[Unit]\n" > /etc/systemd/system/javaprinter.service
printf "Description=OrderSprinter-Javaprinter\n\n" >> /etc/systemd/system/javaprinter.service
printf "[Service]\n" >> /etc/systemd/system/javaprinter.service
printf "Type=forking\n" >> /etc/systemd/system/javaprinter.service
printf "ExecStart=/usr/local/bin/javaprinter.bat\n\n" >> /etc/systemd/system/javaprinter.service
printf "[Install]\n" >> /etc/systemd/system/javaprinter.service
printf "WantedBy=multi-user.target\n" >> /etc/systemd/system/javaprinter.service

systemctl enable javaprinter.service
systemctl start javaprinter
==================================================================================================================
wenn ich das Kommando "sudo service javaprinter status" eingebe, kommt folgende Meldung:
==================================================================================================================
Drucker01@Drucker01:~/javaprinter $ sudo service javaprinter status
● javaprinter.service - OrderSprinter-Javaprinter
Loaded: loaded (/etc/systemd/system/javaprinter.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2022-07-20 17:25:01 CEST; 46min ago
Main PID: 696 (code=exited, status=1/FAILURE)
CPU: 7.401s

Jul 20 17:25:01 Drucker01 javaprinter.bat[696]: at javax.usb.UsbHostManager.createUsbServices(Unknown Source)
Jul 20 17:25:01 Drucker01 javaprinter.bat[696]: at javax.usb.UsbHostManager.getUsbServices(Unknown Source)
Jul 20 17:25:01 Drucker01 javaprinter.bat[696]: at javaprinter.ReceiptUsbDevice.printDevice(ReceiptUsbDevice.java:70)
Jul 20 17:25:01 Drucker01 javaprinter.bat[696]: at javaprinter.ReceiptWorker.printTicket(ReceiptWorker.java:357)
Jul 20 17:25:01 Drucker01 javaprinter.bat[696]: at javaprinter.ReceiptWorker.fetchAndPrintTicketJobs(ReceiptWorker.java:95)
Jul 20 17:25:01 Drucker01 javaprinter.bat[696]: at javaprinter.ReceiptWorker.fetchAndPrintTickets(ReceiptWorker.java:35)
Jul 20 17:25:01 Drucker01 javaprinter.bat[696]: at javaprinter.Main.main(Main.java:227)
Jul 20 17:25:01 Drucker01 systemd[1]: javaprinter.service: Main process exited, code=exited, status=1/FAILURE
Jul 20 17:25:01 Drucker01 systemd[1]: javaprinter.service: Failed with result 'exit-code'.
Jul 20 17:25:01 Drucker01 systemd[1]: javaprinter.service: Consumed 7.401s CPU time.
==================================================================================================================

Re: Probleme mit Drucker bei ubuntu script neuinstallation

von daniel » Di 19. Jul 2022, 00:24

ich habe das gleiche Problem - gibt es hier bereits eine Lösung?
libusb habe ich installiert
der Unterordner Javaprinter_lib ist mit den entsprechenden Dateien vorhanden
den Pfad /org/usb4java/linux-aarch64/libusb4java.so finde ich nicht - weiß aber leider auch nicht wo ich suchen soll

vielen Dank im Voraus für Eure Hilfe

Viele Grüße Daniel

Nach oben