Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Alles rund um Hardware, die unter Linux läuft oder zum Laufen gebracht werden soll

Moderator: Moderatoren

Benutzeravatar
susejunky
Hacker
Hacker
Beiträge: 706
Registriert: 19. Sep 2014, 18:22

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von susejunky » 28. Mär 2020, 23:06

Hallo manzek,
manzek hat geschrieben:
28. Mär 2020, 22:19
susejunky hat geschrieben:
28. Mär 2020, 21:17
Auch in meinen openSUSE Leap 15.1 und 15.0 Systemen gibt es keine Gruppe scanner. Unter openSUSE Leap 15.0 musste der Benutzer allerdings noch nicht Mitglied der Gruppe lp sein, um den Scanner nutzen zu können. Das war erst unter openSUSE Leap 15.1 erforderlich.
Das scheint aber nicht generell überall gleich zu sein, denn ich bin mit meinem Standarduser lediglich in der Gruppe users. Und mein Scanner in einem Brother MFC8880-DN geht trotzdem.
Da hast Du sehr wahrscheinlich recht.

Ohne es je im Detail untersucht zu haben, vermute ich, dass das jeweilige, für den Betrieb des Scanners erforderliche Backend ausschlaggebend ist.

Soweit ich das verstehe ist sane-backends eine Zusammenstellung unterschiedlichster Programme (Backends), die den Zugriff auf die verschiedenen Scanner erlauben. Das genesys-backend, welches ich für meinen Canon CanoScan LiDE 700F benötige, ermöglicht den Zugriff auf Scanner, die auf bestimmten Genesys Logic GLxxx chipsets aufgebaut sind.

Ich habe es bereits mehrfach erlebt, dass neue sane-backends-Versionen "dramatische" Änderungen im genesys-backend mit sich brachten; z.B. die aktuelle sane-backends-Version 1.0.29 hat einen Fehler im genesys-backend, der meinen Scanner komplett lahm legt, sodass ich zur sane-backends-Version 1.0.28 zurückkehren musste.

Wahrscheinlich hat auch ein Versionswechsel (1.0.27 auf 1.0.28?) das geänderte Verhalten bezüglich der Gruppenzugehörigkeit beim genesys-backend gebracht, denn ich kann mich nicht daran erinnern, dass ich vor openSUSE Leap 15.1 meinen Benutzer jemals in eine bestimmte Gruppe (lp, scanner, ...) aufnehmen musste, um meinen Scanner nutzen zu können. Aber mit openSUSE Tumbleweed wollte es ohne lp nicht mehr funktionieren.

Wie jedoch schon gesagt: Wirklich fundiert untersucht habe ich das alles noch nicht.

Viele Grüße

susejunky

Werbung:
josef-wien
Ultimate Guru
Ultimate Guru
Beiträge: 5426
Registriert: 23. Sep 2008, 17:09

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von josef-wien » 29. Mär 2020, 11:09

Von der reinen Lehre her haben die sane backends damit nichts zu tun. Über die Datei 55-libsane.rules wird bei einem von sane unterstützten Scanner die udev-Variable libsane_matched gesetzt. Über eine weitere Datei wird bei Vorhandensein dieser Variablen (und für weitere Gegebenheiten wie z. B. optische Laufwerke) der udev-TAG uaccess gesetzt, der im Zuge des Login-Vorgangs dazu führt, daß der jeweilige Benutzer über ACL für diese Geräte berechtigt wird. Was hier genau passiert, kann ich Dir nicht sagen.

Abfrage der bei einem Gerät gesetzten TAGS:

Code: Alles auswählen

/sbin/udevadm info -q all -p $(/sbin/udevadm info -q path -n bus/usb/XXX/YYY) | grep TAGS

Benutzeravatar
susejunky
Hacker
Hacker
Beiträge: 706
Registriert: 19. Sep 2014, 18:22

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von susejunky » 29. Mär 2020, 13:03

Hallo josef-wien,
josef-wien hat geschrieben:
29. Mär 2020, 11:09
Von der reinen Lehre her haben die sane backends damit nichts zu tun. Über die Datei 55-libsane.rules wird bei einem von sane unterstützten Scanner die udev-Variable libsane_matched gesetzt. Über eine weitere Datei wird bei Vorhandensein dieser Variablen (und für weitere Gegebenheiten wie z. B. optische Laufwerke) der udev-TAG uaccess gesetzt, der im Zuge des Login-Vorgangs dazu führt, daß der jeweilige Benutzer über ACL für diese Geräte berechtigt wird. Was hier genau passiert, kann ich Dir nicht sagen.

Abfrage der bei einem Gerät gesetzten TAGS:

Code: Alles auswählen

/sbin/udevadm info -q all -p $(/sbin/udevadm info -q path -n bus/usb/XXX/YYY) | grep TAGS
vielen Dank für die Information.

Das Thema Scanner ist mir immer noch "ein Buch mit sieben Siegeln". Gerade habe ich mir meine drei Systeme noch einmal angesehen und folgendes festgestellt:

Unter openSUSE Tumbleweed habe ich momentan gar keine Datei /etc/udev/rules.d/55-libsane.rules aber das liegt daran, dass die aktuellen sane-backends von Tumbleweed mit meinem Scanner nicht funktionieren und ich auf diesem Rechner das Problem noch nicht abschließend behoben habe.

Unter openSUSE Leap 15.1 steht in /etc/udev/rules.d/55-libsane.rules

Code: Alles auswählen

# Canon CanoScan 700F
ATTR{idVendor}=="04a9", ATTR{idProduct}=="1907", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
Unter openSUSE Leap 15.0 steht in /etc/udev/rules.d/55-libsane.rules

Code: Alles auswählen

# Canon CanoScan 700F
ATTR{idVendor}=="04a9", ATTR{idProduct}=="1907", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
Unter Leap 15.0 kann ich den Scanner benutzen ohne dass ich der Gruppe lp angehöre aber unter Leap 15.1 geht die Scanner-Nutzung nur noch wenn ich lp angehöre.

Ich werde jetzt einmal meinen Scanner aus meinem Büro holen und das näher untersuchen ...

Viele Grüße

susejunky

Benutzeravatar
susejunky
Hacker
Hacker
Beiträge: 706
Registriert: 19. Sep 2014, 18:22

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von susejunky » 29. Mär 2020, 15:51

Hallo josef-wien,

zunächst erst einmal eine Korrektur zu meinen bisherigen Aussagen:

Dass der Benutzer unter Leap 15.1 oder Tumbleweed der Gruppe lp angehören muss, um den Scanner nutzen zu können, ist so nicht korrekt.

Sehr wahrscheinlich habe ich den Benutzer einst aus anderen Gründen (die ich im Moment aber nicht nachvollziehen kann) einmal dieser Gruppe zugeordnet.

Hier die Informationen zu den drei Betriebssystemen:

openSUSE Tumbleweed

Code: Alles auswählen

sane-backends 1.0.29 (funktioniert nicht)
sane-backends 1.0.28

/etc/udev/rules.d/55-libsane.rules
# Canon CanoScan 700F
ATTR{idVendor}=="04a9", ATTR{idProduct}=="1907", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
...
Bus 001 Device 002: ID 04a9:1907 Canon, Inc. CanoScan LiDE 700F
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
#

# getfacl /dev/bus/usb/001/002
getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: dev/bus/usb/001/002
# owner: root
# group: lp
user::rw-
user:USERNAME:rw-
group::rw-
mask::rw-
other::r--
#

# /sbin/udevadm info -q all -p $(/sbin/udevadm info -q path -n bus/usb/001/002) | grep TAGS      
E: TAGS=:seat:uaccess:
#
openSUSE Leap 15.1

Code: Alles auswählen

sane-backends 1.0.27

/etc/udev/rules.d/55-libsane.rules
# Canon CanoScan 700F
ATTR{idVendor}=="04a9", ATTR{idProduct}=="1907", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
...
Bus 001 Device 002: ID 04a9:1907 Canon, Inc. CanoScan LiDE 700F
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
#

# getfacl /dev/bus/usb/001/002
getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: dev/bus/usb/001/002
# owner: root
# group: lp
user::rw-
user:USERNAME:rw-
group::rw-
mask::rw-
other::r--
#

# /sbin/udevadm info -q all -p $(/sbin/udevadm info -q path -n bus/usb/001/002) | grep TAGS
E: TAGS=:seat:uaccess:
#
openSUSE Leap 15.0

Code: Alles auswählen

sane-backends 1.0.27

/etc/udev/rules.d/55-libsane.rules
# Canon CanoScan 700F
ATTR{idVendor}=="04a9", ATTR{idProduct}=="1907", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub                                                                       
...
Bus 001 Device 002: ID 04a9:1907 Canon, Inc. CanoScan LiDE 700F                                                                      
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub                                                                       
#

# getfacl /dev/bus/usb/001/002                                                                                      
getfacl: Entferne führende '/' von absoluten Pfadnamen                                                                               
# file: dev/bus/usb/001/002                                                                                                          
# owner: root                                                                                                                        
# group: lp                                                                                                                          
user::rw-                                                                                                                            
user:USERNAME:rw-                                                                                                                          
group::rw-                                                                                                                           
mask::rw-                                                                                                                            
other::r--                                                                                                                           
#

# /sbin/udevadm info -q all -p $(/sbin/udevadm info -q path -n bus/usb/001/002) | grep TAGS                         
E: TAGS=:uaccess:seat:
#
Eine Gruppe Scanner gibt es in keinem der drei Systeme.

Viele Grüße

susejunky

josef-wien
Ultimate Guru
Ultimate Guru
Beiträge: 5426
Registriert: 23. Sep 2008, 17:09

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von josef-wien » 29. Mär 2020, 17:16

Somit ist alles, wie es sein soll: Der Benutzer hat Schreibberechtigung auf das Gerät, die beim Gerät vorgemerkte Gruppe (in diesem Fall lp) muß ihm nicht zugeordnet werden.

Benutzeravatar
susejunky
Hacker
Hacker
Beiträge: 706
Registriert: 19. Sep 2014, 18:22

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von susejunky » 29. Mär 2020, 18:01

Hallo josef-wien,
josef-wien hat geschrieben:
29. Mär 2020, 17:16
Somit ist alles, wie es sein soll: Der Benutzer hat Schreibberechtigung auf das Gerät, die beim Gerät vorgemerkte Gruppe (in diesem Fall lp) muß ihm nicht zugeordnet werden.
Ja, so ist es.

Nochmals vielen Dank für Deine Hinweise, dank derer ich mich nun endlich dazu durchgerungen habe das Thema, das mir schon lange "querlag", einmal richtig aufzuarbeiten.

Viele Grüße

susejunky

Sauerland
Guru
Guru
Beiträge: 3676
Registriert: 5. Aug 2007, 17:57
Wohnort: Sauerland

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von Sauerland » 29. Mär 2020, 19:23

Aus dem sane.spec:
# Scanner autoconfiguration stuff (packaged in sane-backends-autoconfig):
# It must be done before the udev libsane.rules stuff because the scanner database is needed there.
# This requires the installed descriptions and descriptions-external files
# because create_scanner_database reads the description files to extract the needed info
# to create the scanner database from which create_sane-backends-autoconfig.rules
# extracts the needed info to generate the 56-sane-backends-autoconfig.rules file
# for automated scanner driver activation via udev.
# Note that driver activation alone is not sufficient
# to have a usable "scanner autoconfiguration" for the user.
# What is also needed are appropriate USB device file permissions
# so that the user's scanning software can access the device.
# But this is already in place via the the udev libsane.rules file
# which contains a superset of USB scanner IDs (all known USB scanner IDs)
# compared to the USB scanner IDs in 56-sane-backends-autoconfig.rules,
# see create_sane-backends-autoconfig.rules for which USB scanners
# automated driver activation is done (basically only those scanners
# which are supported by a free driver, which do not require firmware upload,
# and where the support status is "complete" or "good").
# Modify create_scanner_database to find the description files in the BuildRoot directory
# (the usual delimiter '/' cannot be used because buildroot contains it too):
sed -i -e 's|/usr/share/sane/descriptions|%{buildroot}/usr/share/sane/descriptions|' create_scanner_database
# Create the scanner database and store it because it is also needed later
# to disable "unsupported" model entries in the udev libsane.rules file.
# The file name "scanner.database" is used hardcoded in create_sane-backends-autoconfig.rules.
# Since version 1.0.19 there is udev and HAL support.
# Therefore the old/outdated hotplug stuff is dropped (was never used by openSUSE).
# Neither tools/hotplug/libsane.usermap nor tools/hotplug/libusbscanner is installed.
# Also the evil-hack init-script "sane-dev" is no longer provided.
# Regarding udev:
# Modify the generated tools/udev/libsane.rules file as follows:
# All GROUP="scanner" are replaced by GROUP="lp".
# There is no group "scanner" in /etc/group for openSUSE.
# For all-in-one devices (i.e. printer + scanner, e.g. "EPSON Stylus" devices)
# the group must be "lp" so that the CUPS usb backend which runs
# as user "lp" (who is member of the group "lp") can send printing data
# to the printer unit (i.e. the printer interface of the USB device).
# It is sufficiently secure and reasonable easy to use by default
# the same group "lp" for printers and scanners because both kind of devices
# usually require physical user access (to get the printed paper or
# to place a paper on the scanner) so that both kind of devices
# should usually require the same kind of security.
sed -i -e 's/GROUP="scanner"/GROUP="lp"/' tools/udev/libsane.rules
Desktop: OpenSUSE Leap 15.1, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.1, Intel-Skylake, Kernel 4.12

Benutzeravatar
susejunky
Hacker
Hacker
Beiträge: 706
Registriert: 19. Sep 2014, 18:22

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von susejunky » 30. Mär 2020, 11:31

Hallo Sauerland,
Sauerland hat geschrieben:
29. Mär 2020, 19:23
Aus dem sane.spec:
# Scanner autoconfiguration stuff (packaged in sane-backends-autoconfig):
# It must be done before the udev libsane.rules stuff because the scanner database is needed there.
# This requires the installed descriptions and descriptions-external files
# because create_scanner_database reads the description files to extract the needed info
# to create the scanner database from which create_sane-backends-autoconfig.rules
# extracts the needed info to generate the 56-sane-backends-autoconfig.rules file
# for automated scanner driver activation via udev.
# Note that driver activation alone is not sufficient
# to have a usable "scanner autoconfiguration" for the user.
# What is also needed are appropriate USB device file permissions
# so that the user's scanning software can access the device.
# But this is already in place via the the udev libsane.rules file
# which contains a superset of USB scanner IDs (all known USB scanner IDs)
# compared to the USB scanner IDs in 56-sane-backends-autoconfig.rules,
# see create_sane-backends-autoconfig.rules for which USB scanners
# automated driver activation is done (basically only those scanners
# which are supported by a free driver, which do not require firmware upload,
# and where the support status is "complete" or "good").
# Modify create_scanner_database to find the description files in the BuildRoot directory
# (the usual delimiter '/' cannot be used because buildroot contains it too):
sed -i -e 's|/usr/share/sane/descriptions|%{buildroot}/usr/share/sane/descriptions|' create_scanner_database
# Create the scanner database and store it because it is also needed later
# to disable "unsupported" model entries in the udev libsane.rules file.
# The file name "scanner.database" is used hardcoded in create_sane-backends-autoconfig.rules.
das Paket sane-backends-autoconfig ist auf keinem meiner Systeme installiert und es existiert auch keine Datei /etc/udev/rules.d/56-sane-backends-autoconfig.rules.
Sauerland hat geschrieben:
29. Mär 2020, 19:23
...
# Since version 1.0.19 there is udev and HAL support.
...
# There is no group "scanner" in /etc/group for openSUSE.
Das trifft bei meinen Systemen zu.

Viele Grüße

susejunky

Sauerland
Guru
Guru
Beiträge: 3676
Registriert: 5. Aug 2007, 17:57
Wohnort: Sauerland

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von Sauerland » 30. Mär 2020, 14:23

susejunky hat geschrieben:
30. Mär 2020, 11:31
Hallo Sauerland,
Sauerland hat geschrieben:
29. Mär 2020, 19:23
Aus dem sane.spec:
# Scanner autoconfiguration stuff (packaged in sane-backends-autoconfig):
# It must be done before the udev libsane.rules stuff because the scanner database is needed there.
# This requires the installed descriptions and descriptions-external files
# because create_scanner_database reads the description files to extract the needed info
# to create the scanner database from which create_sane-backends-autoconfig.rules
# extracts the needed info to generate the 56-sane-backends-autoconfig.rules file
# for automated scanner driver activation via udev.
# Note that driver activation alone is not sufficient
# to have a usable "scanner autoconfiguration" for the user.
# What is also needed are appropriate USB device file permissions
# so that the user's scanning software can access the device.
# But this is already in place via the the udev libsane.rules file
# which contains a superset of USB scanner IDs (all known USB scanner IDs)
# compared to the USB scanner IDs in 56-sane-backends-autoconfig.rules,
# see create_sane-backends-autoconfig.rules for which USB scanners
# automated driver activation is done (basically only those scanners
# which are supported by a free driver, which do not require firmware upload,
# and where the support status is "complete" or "good").
# Modify create_scanner_database to find the description files in the BuildRoot directory
# (the usual delimiter '/' cannot be used because buildroot contains it too):
sed -i -e 's|/usr/share/sane/descriptions|%{buildroot}/usr/share/sane/descriptions|' create_scanner_database
# Create the scanner database and store it because it is also needed later
# to disable "unsupported" model entries in the udev libsane.rules file.
# The file name "scanner.database" is used hardcoded in create_sane-backends-autoconfig.rules.
das Paket sane-backends-autoconfig ist auf keinem meiner Systeme installiert und es existiert auch keine Datei /etc/udev/rules.d/56-sane-backends-autoconfig.rules.
Die autoconfig sollte man aber schon installieren.
susejunky hat geschrieben:
30. Mär 2020, 11:31
Sauerland hat geschrieben:
29. Mär 2020, 19:23
...
# Since version 1.0.19 there is udev and HAL support.
...
# There is no group "scanner" in /etc/group for openSUSE.
Das trifft bei meinen Systemen zu.


Viele Grüße

susejunky
Aber nur wegen der letzten Zeile:
sed -i -e 's/GROUP="scanner"/GROUP="lp"/' tools/udev/libsane.rules
Desktop: OpenSUSE Leap 15.1, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.1, Intel-Skylake, Kernel 4.12

josef-wien
Ultimate Guru
Ultimate Guru
Beiträge: 5426
Registriert: 23. Sep 2008, 17:09

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von josef-wien » 30. Mär 2020, 16:51

Sauerland hat geschrieben:autoconfig
Eine seltsame Methode, bei jedem Anschließen des Scanners (also in der Regel bei jedem Systemstart) mittels eines Programms in der Datei /etc/sane.d/dll.conf nachzuschauen, ob im Fall von susejunky der Inhalt "#genesys" vorhanden ist, und ihn zutreffendenfalls in "genesys" zu ändern. Aber nachdem openSUSE auch bei der Datei /etc/udev/rules.d/55-libsane.rules die vom Sane-Projekt vorgegebene Gruppe "scanner" durch etwas anderes ersetzt ...

Abrer warum wird das Thema durch ellenlage Zitate verunstaltet?

Benutzeravatar
manzek
Hacker
Hacker
Beiträge: 292
Registriert: 20. Mär 2005, 14:21
Wohnort: Metropolregion Bremen/Oldenburg

Re: [gelöst] Cannon Scanner wird nicht unter Leap 15.1 erkannt

Beitrag von manzek » 30. Mär 2020, 19:36

josef-wien hat geschrieben:
30. Mär 2020, 16:51
Abrer warum wird das Thema durch ellenlage Zitate verunstaltet?
Früher hat man das als Vollquottel bezeichnet... :D
So long, Stephan

---
Gigabyte Z77X-D3H * Intel i7-3770K LCS @ 4,2 GHz * 16 GB DDR3 @ 1866 MHz * nVIDIA GeForce RTX 2070 SUPER, 8192 MB * 23,6" - LED @ 1920x1080 * openSUSE Leap 15.1 * KDE 5.12.x

Antworten