Discussion:
Leap 15.4: Wie komme ich an eine passend libusb.h?
(zu alt für eine Antwort)
Peter Thoms
2022-07-30 07:26:35 UTC
Permalink
Hallo,

um meinen Drucker auf Linux zum Laufen zu bekommen, bräuchte ich eine
libusb.h
Wie finde ich die im Internetz?
Wie und woher bekomme ich die passende?


Peter
Lothar Paltins
2022-07-30 09:42:39 UTC
Permalink
Post by Peter Thoms
um meinen Drucker auf Linux zum Laufen zu bekommen, bräuchte ich eine
libusb.h
Wie finde ich die im Internetz?
Wie und woher bekomme ich die passende?
Installiere einfach libusb-1_0-devel. Das enthält
/usr/include/libusb-1.0/libusb.h. Ob dein Drucker damit zufrieden ist,
weiß ich natürlich nicht.

Lothar
Peter Thoms
2022-07-30 11:34:40 UTC
Permalink
Post by Lothar Paltins
Post by Peter Thoms
um meinen Drucker auf Linux zum Laufen zu bekommen, bräuchte ich eine
libusb.h
Wie finde ich die im Internetz?
Wie und woher bekomme ich die passende?
Installiere einfach libusb-1_0-devel. Das enthält
/usr/include/libusb-1.0/libusb.h. Ob dein Drucker damit zufrieden ist,
weiß ich natürlich nicht.
Danke Lothar,

jetzt habe ich die libusb.h

Ist es eine allgemeine Eigenschaft, dass erst die -devel Versionen
header-Dateilen liefern?


Peter
Andreas Hartmann
2022-07-30 14:30:34 UTC
Permalink
Post by Peter Thoms
Post by Lothar Paltins
um meinen Drucker auf Linux zum Laufen zu bekommen, bräuchte ich eine libusb.h
Wie finde ich die im Internetz?
Wie und woher bekomme ich die passende?
Installiere einfach libusb-1_0-devel. Das enthält
/usr/include/libusb-1.0/libusb.h. Ob dein Drucker damit zufrieden ist, weiß ich
natürlich nicht.
Danke Lothar,
jetzt habe ich die libusb.h
Ist es eine allgemeine Eigenschaft, dass erst die -devel Versionen header-Dateilen
liefern?
Ja. Die Headerdateien brauchst Du nur zum Kompilieren - ansonsten haben die
keinerlei Sinn.


Gruß
Andreas
Lothar Paltins
2022-07-30 15:55:36 UTC
Permalink
Post by Peter Thoms
Ist es eine allgemeine Eigenschaft, dass erst die -devel Versionen
header-Dateilen liefern?
Wie Andreas schon schrieb, werden die Header-Files nur zum Compilieren
benötigt. Normalerweise braucht man die nicht. Hast du denn einen
unüblichen Drucker, der eine spezielle Applikation zum Betrieb braucht?

Lothar
Peter Thoms
2022-07-30 17:56:04 UTC
Permalink
Post by Lothar Paltins
Post by Peter Thoms
Ist es eine allgemeine Eigenschaft, dass erst die -devel Versionen
header-Dateilen liefern?
Wie Andreas schon schrieb, werden die Header-Files nur zum Compilieren
benötigt. Normalerweise braucht man die nicht. Hast du denn einen
unüblichen Drucker, der eine spezielle Applikation zum Betrieb braucht?
Hallo Lothar,

einen Canon pixma ts705a
https://www.canon.de/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_ts_series/pixma_ts705a.html?type=drivers&driverdetailid=tcm:83-1821460&os=&language=


Peter
Andreas Hartmann
2022-07-31 06:58:13 UTC
Permalink
Post by Peter Thoms
Post by Peter Thoms
Ist es eine allgemeine Eigenschaft, dass erst die -devel Versionen
header-Dateilen liefern?
Wie Andreas schon schrieb, werden die Header-Files nur zum Compilieren benötigt.
Normalerweise braucht man die nicht. Hast du denn einen unüblichen Drucker, der
eine spezielle Applikation zum Betrieb braucht?
Hallo Lothar,
einen Canon pixma ts705a
https://www.canon.de/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_ts_series/pixma_ts705a.html?type=drivers&driverdetailid=tcm:83-1821460&os=&language=
Was Du dort bekommst, ist nicht der ausführbare Treiber, sondern der Sourcecode
für den Treiber, den Du dann erstmal kompilieren musst (daher benötigst Du die
Header-Dateien). Nicht unüblich im Linux-Umfeld.

Ich habe das spaßeshalber hier mal getestet und festgestellt, dass das nichts für
Anfänger ist, weil die Vorgehensweise doch recht speziell ist und v.a. buggy.

In kurzen Worten:
Auf Basis des Source-Codes kannst Du ein RPM-Paket bauen, das Du dann wie üblich
installieren kannst. Allerdings ist die Doku dazu ziemlich spärlich und nur für
einen realisierbar, der sich auskennt.

Daher hier mal die Vorgehensweise - hoch speziell für diesen Fall:

gcc und rpmbuild installieren (zieht diverse Abhängigkeiten mit sich).
Wahrscheinlich brauchst Du noch mehr, aber da ich hier eine Devlopper Maschine
habe, wo eh schon sehr viel Entwicklungspakete drauf sind, kann ich Dir nicht
sagen, was Du evtl. sonst noch alles benötigst. Ich habe jedenfalls überhaupt
nichts Zusätzliches benötigt.

1. Konsole starten
2. ins Homeverzeichnis wechseln (sollte eh schon default sein)
3. mkdir -p rpmbuild/SPECS
4. mkdir -p rpmbuild/SOURCES
5. Das erhaltene tar.gz-File vom Hersteller kopierst Du in SOURCES/
6. dann nach SOURCES wechseln und dort tar -xzf cnijfilter2-source-5.80-1.tar.gz
7. dann nach cnijfilter2-source-5.80-1 wechseln. Dort gibt es eine cnijfilter2.spec
8. Die kopierst Du nach rpmbuild/SPECS
9. Dann wechselst Du nach rpmbuild/SPECS
10. Das spec-File muss korrigiert werden:

--- cnijfilter2.spec.orig 2018-12-26 01:18:15.000000000 +0100
+++ cnijfilter2.spec 2022-07-31 08:23:49.431110567 +0200
@@ -118,10 +118,10 @@
make install DESTDIR=${RPM_BUILD_ROOT}
popd

-install -c -m 755 ${RPM_BUILD_ROOT}%{_cupsbindir}/filter/cmdtocanonij2
${RPM_BUILD_ROOT}%{_cupsbindir64}/filter/cmdtocanonij2
-install -c -m 755 ${RPM_BUILD_ROOT}%{_cupsbindir}/filter/cmdtocanonij3
${RPM_BUILD_ROOT}%{_cupsbindir64}/filter/cmdtocanonij3
-install -c -m 755 ${RPM_BUILD_ROOT}%{_cupsbindir}/filter/rastertocanonij
${RPM_BUILD_ROOT}%{_cupsbindir64}/filter/rastertocanonij
-install -c -m 755 ${RPM_BUILD_ROOT}%{_cupsbindir}/backend/cnijbe2
${RPM_BUILD_ROOT}%{_cupsbindir64}/backend/cnijbe2
+install -c -m 755
%{_builddir}/cnijfilter2-source-%{version}-%{release}/cmdtocanonij2/filter/cmdtocanonij2
${RPM_BUILD_ROOT}%{_cupsbindir}/filter/cmdtocanonij2
+install -c -m 755
%{_builddir}/cnijfilter2-source-%{version}-%{release}/cmdtocanonij3/filter/cmdtocanonij3
${RPM_BUILD_ROOT}%{_cupsbindir}/filter/cmdtocanonij3
+install -c -m 755
%{_builddir}/cnijfilter2-source-%{version}-%{release}/rastertocanonij/src/rastertocanonij
${RPM_BUILD_ROOT}%{_cupsbindir}/filter/rastertocanonij
+install -c -m 755
%{_builddir}/cnijfilter2-source-%{version}-%{release}/cnijbe2/src/cnijbe2
${RPM_BUILD_ROOT}%{_cupsbindir64}/backend/cnijbe2

%clean
rm -rf $RPM_BUILD_ROOT

(alle Zeilen mit -.... beginnend müssen raus und durch die Zeilen mit +...
beginnend ersetzt werden - evtl. hast Du Zeilenumbrüche )

11. Dann machst Du rpmbuild -ba cnijfilter2.spec

Danach findest Du das zu installierende RPM-Packet in RPMS/x86_64/. Das kannst Du
dann mit
rpm -i cnijfilter2-5.80-1.x86_64.rpm
installieren (als root).

Danach cups durchstarten mit systemctl restart cups (ebenfalls als root)

Mit
lpinfo -m (auch als root)
kannst Du Dir sämtliche installierte Druckertreiber auflisten lassen. Am Besten
den Output in eine Datei umleiten, also lpinfo -m > /tmp/drivers.

Dadrin kannst Du dann nach ts700 suchen:
grep -i ts700 /tmp/drivers

Sollte sowas wie
canonts700.ppd Canon TS700 series Ver.5.80
als Ergebnis bringen.

Nun solltest Du den Drucker einrichten können (einen speziellen TS705a Treiber
gibt es nicht).

Falls Du das nicht hinbekommst, kann ich Dir per PN auch das fertige Paket
schicken. Ob das am Ende auch funktioniert in Sachen Drucken vermag ich nicht zu
sagen - habe ich nicht getestet, weil ich keinen Drucker dieser Art habe.


Gruß
Andreas
Peter Thoms
2022-07-31 07:45:58 UTC
Permalink
Post by Andreas Hartmann
Post by Peter Thoms
Post by Lothar Paltins
Post by Peter Thoms
Ist es eine allgemeine Eigenschaft, dass erst die -devel Versionen
header-Dateilen liefern?
Wie Andreas schon schrieb, werden die Header-Files nur zum
Compilieren benötigt. Normalerweise braucht man die nicht. Hast du
denn einen unüblichen Drucker, der eine spezielle Applikation zum
Betrieb braucht?
Hallo Lothar,
einen Canon pixma ts705a
https://www.canon.de/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_ts_series/pixma_ts705a.html?type=drivers&driverdetailid=tcm:83-1821460&os=&language=
Was Du dort bekommst, ist nicht der ausführbare Treiber, sondern der
Sourcecode für den Treiber, den Du dann erstmal kompilieren musst (daher
benötigst Du die Header-Dateien). Nicht unüblich im Linux-Umfeld.
Ich habe das spaßeshalber hier mal getestet und festgestellt, dass das
nichts für Anfänger ist, weil die Vorgehensweise doch recht speziell ist
und v.a. buggy.
Auf Basis des Source-Codes kannst Du ein RPM-Paket bauen, das Du dann
wie üblich installieren kannst. Allerdings ist die Doku dazu ziemlich
spärlich und nur für einen realisierbar, der sich auskennt.
gcc und rpmbuild installieren (zieht diverse Abhängigkeiten mit sich).
Wahrscheinlich brauchst Du noch mehr, aber da ich hier eine Devlopper
Maschine habe, wo eh schon sehr viel Entwicklungspakete drauf sind, kann
ich Dir nicht sagen, was Du evtl. sonst noch alles benötigst. Ich habe
jedenfalls überhaupt nichts Zusätzliches benötigt.
1. Konsole starten
2. ins Homeverzeichnis wechseln (sollte eh schon default sein)
3. mkdir -p rpmbuild/SPECS
4. mkdir -p rpmbuild/SOURCES
5. Das erhaltene tar.gz-File vom Hersteller kopierst Du in SOURCES/
6. dann nach SOURCES wechseln und dort tar -xzf
cnijfilter2-source-5.80-1.tar.gz
7. dann nach cnijfilter2-source-5.80-1 wechseln. Dort gibt es eine cnijfilter2.spec
8. Die kopierst Du nach rpmbuild/SPECS
9. Dann wechselst Du nach rpmbuild/SPECS
--- cnijfilter2.spec.orig       2018-12-26 01:18:15.000000000 +0100
+++ cnijfilter2.spec    2022-07-31 08:23:49.431110567 +0200
@@ -118,10 +118,10 @@
        make install DESTDIR=${RPM_BUILD_ROOT}
 popd
-install -c -m 755 ${RPM_BUILD_ROOT}%{_cupsbindir}/filter/cmdtocanonij2
${RPM_BUILD_ROOT}%{_cupsbindir64}/filter/cmdtocanonij2
-install -c -m 755 ${RPM_BUILD_ROOT}%{_cupsbindir}/filter/cmdtocanonij3
${RPM_BUILD_ROOT}%{_cupsbindir64}/filter/cmdtocanonij3
-install -c -m 755
${RPM_BUILD_ROOT}%{_cupsbindir}/filter/rastertocanonij
${RPM_BUILD_ROOT}%{_cupsbindir64}/filter/rastertocanonij
-install -c -m 755 ${RPM_BUILD_ROOT}%{_cupsbindir}/backend/cnijbe2
${RPM_BUILD_ROOT}%{_cupsbindir64}/backend/cnijbe2
+install -c -m 755
%{_builddir}/cnijfilter2-source-%{version}-%{release}/cmdtocanonij2/filter/cmdtocanonij2
    ${RPM_BUILD_ROOT}%{_cupsbindir}/filter/cmdtocanonij2
+install -c -m 755
%{_builddir}/cnijfilter2-source-%{version}-%{release}/cmdtocanonij3/filter/cmdtocanonij3
    ${RPM_BUILD_ROOT}%{_cupsbindir}/filter/cmdtocanonij3
+install -c -m 755
%{_builddir}/cnijfilter2-source-%{version}-%{release}/rastertocanonij/src/rastertocanonij
   ${RPM_BUILD_ROOT}%{_cupsbindir}/filter/rastertocanonij
+install -c -m 755
%{_builddir}/cnijfilter2-source-%{version}-%{release}/cnijbe2/src/cnijbe2 ${RPM_BUILD_ROOT}%{_cupsbindir64}/backend/cnijbe2
 %clean
 rm -rf $RPM_BUILD_ROOT
(alle Zeilen mit -.... beginnend müssen raus und durch die Zeilen mit
+... beginnend ersetzt werden - evtl. hast Du Zeilenumbrüche )
11. Dann machst Du rpmbuild -ba cnijfilter2.spec
Danach findest Du das zu installierende RPM-Packet in RPMS/x86_64/. Das
kannst Du dann mit
rpm -i cnijfilter2-5.80-1.x86_64.rpm
installieren (als root).
Danach cups durchstarten mit systemctl restart cups (ebenfalls als root)
Mit
lpinfo -m (auch als root)
kannst Du Dir sämtliche installierte Druckertreiber auflisten lassen. Am
Besten den Output in eine Datei umleiten, also lpinfo -m > /tmp/drivers.
grep -i ts700 /tmp/drivers
Sollte sowas wie
canonts700.ppd Canon TS700 series Ver.5.80
als Ergebnis bringen.
Nun solltest Du den Drucker einrichten können (einen speziellen TS705a
Treiber gibt es nicht).
Falls Du das nicht hinbekommst, kann ich Dir per PN auch das fertige
Paket schicken. Ob das am Ende auch funktioniert in Sachen Drucken
vermag ich nicht zu sagen - habe ich nicht getestet, weil ich keinen
Drucker dieser Art habe.
Vielen Dank Andreas,

Deinen Tipp werde ich besser mal festhalten.

Über https://treibercanon.net/canon-ts705-treiber/
bekomme ich eine Option angeboten.
Da sind die Pakete schon für Opensuse fertig drin.
Selbige genutzt: Zwei von drei Linux-Rechnern haben jetzt Netzwerkkontakt.


Vielen Dank für die Geduld!
Peter
Andreas Hartmann
2022-07-31 08:41:17 UTC
Permalink
Post by Peter Thoms
Über https://treibercanon.net/canon-ts705-treiber/
Hmm, was ist das für eine Seite? Impressum gibt es keines. Mit Canon scheint die
Seite auch nichts zu tun zu haben. SSL-Zertifikat ist von Lets encrypt - da kann
sich Hinz und Kunz bedienen und lt. whois ist der Registrar der Domäne Center of
Ukrainian Internet Names und der Server wird bei Cloudflare gehostet.
Post by Peter Thoms
bekomme ich eine Option angeboten.
Da sind die Pakete schon für Opensuse fertig drin.
Ich habe da nichts Spezielles für OpenSUSE gefunden. cnijfilter2-5.80-1-rpm.tar.gz
enthält primär ein RPM-Paket von 2018 plus riesiges Installscript. Was das im
Detail tut, habe ich nicht vollständig nachvollzogen. Das Installscript kommt laut
Header von Canon - kann man jetzt glauben oder auch nicht.
Post by Peter Thoms
Selbige genutzt: Zwei von drei Linux-Rechnern haben jetzt Netzwerkkontakt.
Na dann hoffen wir mal, dass der Netzwerkkontakt auch immer ausschließlich zu den
Druckern geht :-).


Gruß
Andreas
Peter Thoms
2022-07-31 10:12:25 UTC
Permalink
Am 31.07.22 um 10:41 schrieb Andreas Hartmann:
...
Post by Andreas Hartmann
Na dann hoffen wir mal, dass der Netzwerkkontakt auch immer
ausschließlich zu den Druckern geht :-).
Oh Danke Andreas!

Den Datei-Vergleich zu Deiner Methode bin ich gezwungen noch etwas zu
verschieben.

Ich konnte den Drucker jetzt über CUPS einrichten, dort wird er aktuell
als 700er-Serie aufgeführt.


Peter

Loading...