Linux - Sane - Scannerliste aktualisieren

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Benutzeravatar
Garfield
Beiträge: 213
Registriert: Do 5. Jun 2008, 22:07
OS, Lazarus, FPC: Ubuntu 24.04 LTS (Laz 4.2 FPC3.2.2)
CPU-Target: 64Bit
Wohnort: Aken

Re: Linux - Sane - Scannerliste aktualisieren

Beitrag von Garfield »

Auf die Googleseite kommt man von https://wiki.freepascal.org/PascalSane.

Zum Thema Scannen finde ich auch nichts anderes. Die sane.h habe ich von https://github.com/chadjoan/libsane/tree/master/c

Habe eben noch mal Skanlite ausprobiert. Da ist das wie hier. Der LiDE400 wird auch angezeigt wenn er abgzogen wird. Der ist auch mehrfach in der Liste.
Dateianhänge
Unbenannt.png
Unbenannt.png (66.71 KiB) 7051 mal betrachtet
Gruß Garfield

Benutzeravatar
theo
Beiträge: 11070
Registriert: Mo 11. Sep 2006, 19:01

Re: Linux - Sane - Scannerliste aktualisieren

Beitrag von theo »

Das ist demnach kein Pascal Problem, verstehe ich das richtig?

Hast du schon mal versucht, dem Ganzen im System etwas auf die Schliche zu kommen?
z.B. auf der Shell "udevadm monitor", dann ein- und ausstecken?

Ist alles richtig in "/etc/udev/rules.d/" bei mir wären das "55-libsane.rules" oder "56-sane-backends-autoconfig.rules"?
Bei mir gibt es dort:
# Canon CanoScan LiDE 600 | Canon CanoScan LiDE 600F
ATTR{idVendor}=="04a9", ATTR{idProduct}=="2224", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
"/etc/sane.d/" gibt es auch noch.

Nur so ein Gedanke. Ich verstehe davon auch nicht viel, aber vielleicht fällt dir etwas auf?
Vielleicht benötigst du dann gar keinen Workaround?

Mathias
Beiträge: 7125
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Linux - Sane - Scannerliste aktualisieren

Beitrag von Mathias »

So nebenbei kann man in der Datei "/etc/sane.d/dll.conf" einen Test Scanner aktvieren, wen man physikalisch keinen hat.
Einfach diese Zeile Editieren:

Code: Alles auswählen

#test
in
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
Garfield
Beiträge: 213
Registriert: Do 5. Jun 2008, 22:07
OS, Lazarus, FPC: Ubuntu 24.04 LTS (Laz 4.2 FPC3.2.2)
CPU-Target: 64Bit
Wohnort: Aken

Re: Linux - Sane - Scannerliste aktualisieren

Beitrag von Garfield »

theo hat geschrieben: So 16. Nov 2025, 12:39 Das ist demnach kein Pascal Problem, verstehe ich das richtig?
Das verstehst du richtig, Das dürfte ein Sane-Problem sein. Deshalb habe ich gedacht, dass man das über die libusb lösen könnte.

Was ich genau ausprobiert hatte, weiß ich nicht mehr. udevadm war nicht dabei. Das kann ich morgen ausprobieren, wenn ich wieder zu Hause bin.

Bei mir gibt es eine 40-libsane.rules.. Da steht unser HP MFP drin, welcher sich über WLAN im Heimnetzwerk befindet.
ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6005", MODE="0666", GROUP="scanner", ENV{libsane_matched}="yes"
Im "/etc/sane.d/" scheinen die Konfigurationsdateien zu liegen.

Es gibt im Sane-Projekt auch eine sanei_usb.h. Ich weiß nur nicht ob das auch über die sane.so geht. Ich nehme es an, habe es aber noch nicht ausprobiert. Bei sane-usb wird auf die libusb Bezug genommen.
Mathias hat geschrieben: So 16. Nov 2025, 14:17 So nebenbei kann man in der Datei "/etc/sane.d/dll.conf" einen Test Scanner aktvieren, wen man physikalisch keinen hat.
In der Demo von Malcolm Poole kann man den Testscanner über eine Option aktivieren. Massimo Magnano hat diese in seiner Demo gelassen.
Dateianhänge
k02p04.png
k02p04.png (76.51 KiB) 131 mal betrachtet
Gruß Garfield

Benutzeravatar
Garfield
Beiträge: 213
Registriert: Do 5. Jun 2008, 22:07
OS, Lazarus, FPC: Ubuntu 24.04 LTS (Laz 4.2 FPC3.2.2)
CPU-Target: 64Bit
Wohnort: Aken

Re: Linux - Sane - Scannerliste aktualisieren

Beitrag von Garfield »

theo hat geschrieben: So 16. Nov 2025, 12:39Hast du schon mal versucht, dem Ganzen im System etwas auf die Schliche zu kommen?
z.B. auf der Shell "udevadm monitor", dann ein- und ausstecken?
Das Ergebnis für den Canon LiDE 110 (USB 2.0):

Code: Alles auswählen

KERNEL[120.871563] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)                     
KERNEL[120.873501] change   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
KERNEL[120.873671] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
KERNEL[120.873725] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV  [120.894826] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV  [120.901947] change   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV  [120.907412] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
UDEV  [120.913702] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)

KERNEL[131.596725] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
KERNEL[131.597626] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
KERNEL[131.597725] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV  [131.616219] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
UDEV  [131.629028] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV  [131.655727] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
Je nach Buchse ändert sich die USB-Adresse.

Canon LiDE 400 (USB 3.0):

Code: Alles auswählen

KERNEL[317.964846] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
KERNEL[317.969374] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
KERNEL[317.969481] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1 (usb)
KERNEL[317.969598] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2 (usb)
KERNEL[317.969631] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV  [317.989718] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV  [317.996032] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
UDEV  [317.996958] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1 (usb)
UDEV  [317.997364] add      /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2 (usb)
UDEV  [318.005759] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)

KERNEL[321.566859] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
KERNEL[321.566977] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1 (usb)
KERNEL[321.567246] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1 (usb)
KERNEL[321.567313] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2 (usb)
KERNEL[321.567374] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2 (usb)
KERNEL[321.568060] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
KERNEL[321.568110] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV  [321.576335] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
UDEV  [321.578050] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1 (usb)
UDEV  [321.579204] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2 (usb)
UDEV  [321.583768] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1 (usb)
UDEV  [321.585202] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2 (usb)
UDEV  [321.590127] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV  [321.600817] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
Hier ändert sich auch je nach Buchse (USB-A 3.0, USB-A 2.0, USB-C) die USB-Adresse.

Da könnte man sich vielleicht mal nach einer libudev umsehen.
Gruß Garfield

Antworten