PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : suse 10.2 xsane funktioniert nur als root



tinolino
21.02.07, 12:19
Hallo!
Mein xsane lässt sich leider nur als root, aber nicht als normaler benutzer öffnen. Das liegt daran, das der scanner nicht erkannt wird.
ich habe dieses problem nach einigen recherchen auch in anderen foren gelesen, aber leider funktionieren bei mir die lösungsvorschläge nicht.
wie dieser:"http://www.easylinux.de/pipermail/suse/2006-December/014971.html"

also erstmal etwas zu meinen scanner:


scanimage -L

als root liefert

device `gt68xx:libusb:001:002' is a Mustek Bearpaw 1200 CU Plus flatbed scanner

als normaler benutzer leider nur:


No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).


mit
lsusb
wird er aber erkannt:


Bus 002 Device 001: ID 0000:0000
Bus 001 Device 003: ID 0a5c:2001 Broadcom Corp.
Bus 001 Device 002: ID 055f:021c Mustek Systems, Inc. BearPaw 1200 CU Plus
Bus 001 Device 001: ID 0000:0000

Wie ich schon herausgefunden habe scheint es sich hier um ein Rechteproblem zu handeln.
hier mal der Inhalt meiner /etc/udev/rules.d/50-udev-default.rules:


# console
KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="666", OPTIONS="last_rule"
KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="666", OPTIONS="last_rule"
KERNEL=="vcs*", GROUP="tty", MODE="620", OPTIONS="last_rule"
KERNEL=="vcsa*", GROUP="tty", MODE="620", OPTIONS="last_rule"
KERNEL=="tty", GROUP="tty", MODE="666", OPTIONS="last_rule"
KERNEL=="tty[0-9]*", GROUP="tty", MODE="620", OPTIONS="last_rule"
KERNEL=="console", MODE="600", OPTIONS="last_rule"
KERNEL=="ptmx", GROUP="tty", MODE="666", OPTIONS="last_rule"

# serial devices
KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*", GROUP="uucp"
KERNEL=="hvc*|hvsi*", GROUP="uucp"
KERNEL=="iseries/vtty*", GROUP="uucp"
KERNEL=="mwave", NAME="modems/%k", GROUP="uucp"
KERNEL=="ttyUSB*", ATTRS{product}=="[Pp]alm*Handheld*", SYMLINK+="pilot"
KERNEL=="ttyUSB*", ATTRS{product}=="[Hh]andspring*Treo*|[Hh]andspring*Visor*", SYMLINK+="pilot"

# video/graphics
SUBSYSTEM=="video4linux", GROUP="video"
SUBSYSTEM=="graphics" GROUP="video"
KERNEL=="vtx*|vbi*", GROUP="video"
KERNEL=="winradio*", GROUP="video"
KERNEL=="vttuner*", GROUP="video"
KERNEL=="nvidia*|nvidiactl*", GROUP="video"
KERNEL=="video0", SYMLINK+="video"
KERNEL=="radio0", SYMLINK+="radio"
KERNEL=="vbi0", SYMLINK+="vbi"
KERNEL=="pmu", GROUP="video"

# dvb
SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video"

# input devices
KERNEL=="mouse*|mice", NAME="input/%k", MODE="0640"
KERNEL=="event*", NAME="input/%k", MODE="0640"
KERNEL=="js*", NAME="input/%k", MODE="0644"
KERNEL=="ts*", NAME="input/%k", MODE="0600"
KERNEL=="uinput", NAME="input/%k", MODE="0600"
KERNEL=="lirc0", SYMLINK+="lirc"

# printer
SUBSYSTEM=="usb", KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp"
SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
KERNEL=="irlpt*", GROUP="lp"
KERNEL=="parport*", NAME="%k",GROUP="users"

# cpu devices
KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
KERNEL=="microcode", NAME="cpu/microcode", MODE="0600"

# IEEE1394 devices
KERNEL=="raw1394*", GROUP="video"
KERNEL=="dv1394*", SYMLINK+="dv1394/%n", GROUP="video"
KERNEL=="video1394*", SYMLINK+="video1394/%n", GROUP="video"

KERNEL=="hw_random", NAME="hwrng", SYMLINK+="%k"
KERNEL=="rioctl", NAME="specialix_rioctl", SYMLINK+="%k"
KERNEL=="sxctl", NAME="specialix_sxctl", SYMLINK+="%k"

# network
KERNEL=="tun", NAME="net/%k", MODE="0666"

# misc devices
KERNEL=="mem|kmem", GROUP="kmem", MODE="640"
KERNEL=="port", GROUP="kmem", MODE="640"
KERNEL=="nvram", GROUP="kmem", MODE="600"
KERNEL=="null", MODE="666"
KERNEL=="zero", MODE="666"
KERNEL=="full", MODE="622"
KERNEL=="random", MODE="666"
KERNEL=="urandom", MODE="644"
KERNEL=="rtc", MODE="600"
KERNEL=="sonypi", MODE="0666"
KERNEL=="agpgart", MODE="0600", GROUP="video"
KERNEL=="djs*", MODE="644"
KERNEL=="sgi_*", MODE="666"
KERNEL=="rrom*", MODE="400"
KERNEL=="rflash*", MODE="400"
KERNEL=="usbscanner*", MODE="644"
KERNEL=="3270/ttycons*", MODE="600"
KERNEL=="3270/tub*", MODE="666"
KERNEL=="3270/tubcons*", MODE="600"
KERNEL=="ica", MODE="666"
KERNEL=="z90crypt", MODE="666"
KERNEL=="mmtimer", MODE="644"
KERNEL=="auer[0-9]*" NAME="usb/%k"

# packet writing interface
KERNEL=="pktcdvd", NAME="pktcdvd/control"
KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k"

# fix floppy devices
KERNEL=="nvram", ACTION=="add", RUN+="load_floppy_module.sh"
KERNEL=="fd[0-9]*", ACTION=="add", ATTRS{cmos}=="*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M $root/%k"
KERNEL=="fd[0-9]*", ACTION=="remove", RUN+="/bin/rm -f $root/%k*"

# block devices
SUBSYSTEM=="block", GROUP="disk", MODE="0640"

# sd: 0 TYPE_DISK, 7 TYPE_MOD, 14 TYPE_RBC
# sr: 4 TYPE_WORM, 5 TYPE_ROM
# st/osst: 1 TYPE_TAPE
SUBSYSTEM=="scsi", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60"
SUBSYSTEM=="scsi", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900"
SUBSYSTEM=="scsi_device", ACTION=="add", ATTRS{type}=="0|7|14", RUN+="/sbin/modprobe sd_mod"
SUBSYSTEM=="scsi_device", ACTION=="add", ATTRS{type}=="1", ATTR{vendor}=="On[sS]tream", RUN+="/sbin/modprobe osst"
SUBSYSTEM=="scsi_device", ACTION=="add", ATTRS{type}=="1", RUN+="/sbin/modprobe st"
SUBSYSTEM=="scsi_device", ACTION=="add", ATTRS{type}=="[45]", RUN+="/sbin/modprobe sr_mod"
SUBSYSTEM=="scsi_device", ACTION=="add", RUN+="/sbin/modprobe sg"
KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions"
SUBSYSTEM=="ide", ACTION=="add", ATTR{media}=="tape", RUN+="/sbin/modprobe ide-scsi"
SUBSYSTEM=="mmc", ACTION=="add", RUN+="/sbin/modprobe mmc_block"

# misc storage devices (non-block)
KERNEL=="sg*", GROUP="disk", MODE="640"
KERNEL=="st*|nst*", GROUP="disk"
KERNEL=="qft*|nqft*|zqft*|nzqft*|rawqft*|nrawqft", GROUP="disk"
KERNEL=="ht*|nht*", GROUP="disk"
KERNEL=="pf*", GROUP="disk"
KERNEL=="sch*", GROUP="disk"
KERNEL=="pt*|npt*", GROUP="disk"
KERNEL=="pg*", GROUP="disk"
KERNEL=="evms/block_device*", GROUP="disk"
KERNEL=="rawctl*", NAME="raw/%k", GROUP="disk"
SUBSYSTEM=="block", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk"
KERNEL=="osst*|nosst*", NAME="%k", GROUP="disk"
KERNEL=="iseries/vt*", NAME="%k", GROUP="disk"
KERNEL=="iseries/nvt*", NAME="%k", GROUP="disk"
KERNEL=="iseries/ibmsis*", NAME="%k", GROUP="disk"

# libusb device access
SUBSYSTEM=="usb_device", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"


# kernel firmware loader
SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"



Wie muss ich diese Datei anpassen, damit mein scanner acuh über nen normalen User funktioniert?
der eintag bei #printer

KERNEL=="parport*", NAME="%k",GROUP="users"
steht da, weil ich den Lösungsvorschlag der oben genannten URL versucht habe.
Danke an alle wissenden , die mir helfen können.

buzz768
21.02.07, 18:22
Der Link bezieht sich ja auf einen Scanner am Parallelport, deiner scheint aber ein USB-Scanner zu sein. Die Regel, die die Devices erstellt, ist wahrscheinlich diese:


# libusb device access
SUBSYSTEM=="usb_device", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"

Es können aber weitere *.rules-Dateien unter /etc/udev/rules.d/ liegen, die zusätzlich zur Anwendung kommen, ich habe da z.B. eine sane.rules mit einträgen dieser Art:


ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", MODE="660", GROUP="scanner"

D.h. die Devices werden der Gruppe scanner zugeordnet, die Lese- und Schreibrecht hat. Es genügt in diesem Fall also sich in die Gruppe scanner einzutragen (z.B. mit gpasswd -a username scanner).

Falls das bei dir anders aussieht, könntest du probeweise in der 50-udev-default.rules in obiger Zeile mal GROUP="users" anhängen. Vielleicht ist es auch nötig MODE="0644" auf MODE="0664" zu ändern.

PS
Dein Scanner steht hier auch in der sane.rules:


# Mustek BearPaw 1200 CU Plus | Mustek BearPaw 1248 CU | Packard Bell Diamond 1200 Plus | Trust Direct WebScan 19200
ATTRS{idVendor}=="055f", ATTRS{idProduct}=="021c", MODE="660", GROUP="scanner"

Du könntest dir alternativ zu obigem Vorschlag diese Zeile (ggf. mit GROUP="users") in eine Datei /etc/udev/rules.d/10-local.rules hineinschreiben. Das hat auch den Vorteil, dass deine Regel nach einem Update von udev nicht überschrieben wird.

tinolino
21.02.07, 20:36
Danke!
ich habe

# Mustek BearPaw 1200 CU Plus | Mustek BearPaw 1248 CU | Packard Bell Diamond 1200 Plus | Trust Direct WebScan 19200
ATTRS{idVendor}=="055f", ATTRS{idProduct}=="021c", MODE="660", GROUP="users"
In die 50-udev-default-rules eingefügt. Alles andere hat nicht funktioniert. Auch die Änderung von # libusb device access nach deinen Vorschlag brachte keine Wirkung. ne sane-rules gibt es bei mir nicht, und das erstellen einer 10-local.rules brachte nicht. muss ich halt bei einen update einfach wieder die 50-udev-default-rules anpassen.

cwolff
23.02.07, 11:24
Hallo,

Ich habe einen Scanner Mustek 1248UB und habe auch das Problem, dass ich nur als Root unter xsane 0.991 scannen kann.

Ich habe festgestellt, das der User, z.B. Paul im Home Verzeichnis ein Directory mit dem Namen .sane hat. In dem Verzeichnis befindet sich ein Diretory XSane, das leer ist. Als Root sind in dem Verzeichnis Dateien enthalten.

Ich habe also alle Dateien vom Root in Paul/.sane kopiert und die Rechte angepasst.

Erfolg ist der, das wenn ich als Paul angemeldet bin, und ich xsane starte, ich keine Abfrage der Bestätigung der Lizenzbedingungen bekomme.

Leider wird danach im Xsane der Scanner nicht erkannt.

Scannimage -L und Scannimage > output läuft aber.

Hat jemand einen Vorschlag

Gruss
Christian

buzz768
26.02.07, 17:21
Hast du mal tinolinos Lösung ausprobiert? Die Vendor- und Product ID deines Scanners verrät dir lsusb.

cwolff
26.02.07, 20:33
Hast du mal tinolinos Lösung ausprobiert? Die Vendor- und Product ID deines Scanners verrät dir lsusb.

Ja, bereits ausprobiert.

Gruss
Christian

nepomuk
18.10.07, 00:40
hallo, hast du das problem mittlerweile gefunden?

grüsse
nepo