Update: SCSI Scanner

Hallo,

ich war leider zu schnell mit meinem Lob ;(…

Kurz nachdem ich den Scanner aktiv hatte. fiel der Strom für einen Moment aus. Es gab einen cold reboot und nun stehe ich wieder vor dem alten Problem…

lsscsi -g meldete nun sg14.

Der gleiche Weg führt aber nun leider nicht mehr zum Ziel.

Un Nu???

Gruß,
H. Walther

Hallo Hans,

Kurz nachdem ich den Scanner aktiv hatte. fiel der Strom für
einen Moment aus.

Du solltest dir ein Notstromaggregat besorgen :wink:

lsscsi -g meldete nun sg14.
Der gleiche Weg führt aber nun leider nicht mehr zum Ziel.

Meinst Du diesen Wrapper?

#!/bin/sh
sudo chmod 777 /dev/sg14 && xsane

Wie Michael in dem Link schreibt, finde ich das nicht sehr elegant, aber es sollte eigentlich funktionieren, sofern es weiterhin ein Rechte-Problem ist. Aber um das zu wissen, müsste man wissen, welche Rechte dein /dev/sg14 jetzt hat. Sieh mal mit

ls -l /dev/sg14

nach.
Aber diese Lösung ist schon deshalb kritisch, weil sie von der Reihenfolge der Geräte abhängig ist, wie Du ja selbst bemerkt hast. Dein sg15 ist nun plötzlich sg14 :frowning:
Insofern empfehle ich weiterhin eine udev-Regel, die solche Abhängigkeiten nicht besitzt. Immer vorausgesetzt, daß es weiterhin nur dieses Rechte-Problem ist.
Übrigens ist 777 viel zu offen, ein 660 mit root:scanner sollte völlig reichen.

Viele Grüße
Marvin

Hallo Marvin,

Hallo Hans,

Kurz nachdem ich den Scanner aktiv hatte. fiel der Strom für
einen Moment aus.

Du solltest dir ein Notstromaggregat besorgen :wink:

==> Genau dieses Ding hat angesprochen, als ich den Samsung Drucker und den Brother Drucker eingeschaltet habe…

lsscsi -g meldete nun sg14.
Der gleiche Weg führt aber nun leider nicht mehr zum Ziel.

Meinst Du diesen Wrapper?

#!/bin/sh
sudo chmod 777 /dev/sg14 && xsane

Wie Michael in dem Link schreibt, finde ich das nicht sehr
elegant, aber es sollte eigentlich funktionieren, sofern es
weiterhin ein Rechte-Problem ist. Aber um das zu wissen,
müsste man wissen, welche Rechte dein /dev/sg14 jetzt hat.
Sieh mal mit

ls -l /dev/sg14

nach.

==> crwxrwxrwx 1 root scanner 21, 14 May 10 00:27 /dev/sg14

Aber diese Lösung ist schon deshalb kritisch, weil sie von der
Reihenfolge der Geräte abhängig ist, wie Du ja selbst bemerkt
hast. Dein sg15 ist nun plötzlich sg14 :frowning:
Insofern empfehle ich weiterhin eine udev-Regel, die solche
Abhängigkeiten nicht besitzt. Immer vorausgesetzt, daß es
weiterhin nur dieses Rechte-Problem ist.
Übrigens ist 777 viel zu offen, ein 660 mit root:scanner
sollte völlig reichen.

Viele Grüße
Marvin

Gruss,
H. Walther

Hallo Hans,

==> crwxrwxrwx 1 root scanner 21, 14 May 10 00:27 /dev/sg14

offen wie ein Scheunentor. Da fällt mir nicht viel ein.
Zur Abwechslung, was sagt denn

sudo sane-find-scanner

und, obwohl es bei den Rechten fast egal ist, Du bist auch in der Gruppe „scanner“?
Dann musste früher mal ein Softlink auf /dev/scanner da sein, keine Ahnung, ob das heute noch notwendig ist. Aber es kann ja zumindest nichts schaden, gibt es

/dev/scanner

Wenn nicht, hilft das Anlegen vielleicht

sudo ln -s /dev/sg14 /dev/scanner

Das ist jetzt alles zugegebenermassen ein wenig wie Stochern im Nebel. Um etwas Licht in dieses Dunkel zu bringen, gibt es denn Fehlermeldungen, das Device, den Scanner und so betreffend (s. /var/log/syslog)?
Wird der Scanner wieder nicht erkannt oder scannt er bloß nicht? Meldet er sich beim Hochfahren?
Steht der Treiber in der /etc/sane.d/dll.conf oder ist er dort auskommentiert bzw. gar nicht vorhanden?

Viele Grüße
Marvin

Hallo,

lsscsi -l meldet:

[6:0:2:0] process EPSON SCANNER GT-10000 2.35 - 
 state=offline queue\_depth=2 scsi\_level=3 type=3 device\_blocked=0 timeout=0

Ich bin noch lange kein Linux Crack; man lernt aber immer ein wenig mehr.

lsscsi -l meldet, dass der Epson Scanner OFFLINE ist; ich nehme an, er muß ‚nur‘ online geschaltet werden - aber wie geht das?

Beim Boot-Vorgang wird er erkannt (SCSI ID 2), Linux erkennt ihn auch irgendwie, nur z.B. Simple-Scan ignoriert ihn hartnäckig.

Gruß,
H. Walther

Hallo Hans,

lsscsi -l meldet, dass der Epson Scanner OFFLINE ist; ich
nehme an, er muß ‚nur‘ online geschaltet werden - aber wie
geht das?

Ich habe schon ewig kein SCSI-Gerät mehr im Gebrauch gehabt, kann es also auch nicht ausprobieren:

sudo echo running \> /sys/block///state

und durch deine Werte ersetzen.
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise…

Ich würde aber trotzdem noch die allgemeinen Einstellungen kontrollieren. Lies dir dazu bitte mal die manpage zu sane-scsi durch

man sane-scsi

Da stehen ganz am Anfang unter GENERAL INFO einige Hinweise zu Einträgen in der Konfigurationsdatei
„For scanners with a SCSI interface, it may be necessary to edit the appropriate backend configuration file before using SANE for the first time.“ usw.
oder die ebenfalls dort angeführte Alternative:
For Linux, there is an alternate way of specifying scanner devices…
Bei dir ist ja /etc/sane.d/epson.conf die Konfigurationsdatei und da solltest Du mal nachsehen, ob da der richtige Pfad zum SCSI-Device eingetragen oder eventuell noch der alte, also sg15 statt sg14. Das ist eine normale Textdatei, die kannst Du mit jedem Editor ansehen.
Dann ist noch interessant, ob auch das sg-Modul geladen ist. Sollte eigentlich sein, weil es ja schon funktioniert hat, aber ich gehe da lieber auf Nummer sicher. Mit

lsmod

oder besser

lsmod | grep sg

kannst Du das überprüfen, oder versuche es gleich zu laden:

sudo modprobe sg

http://wiki.ubuntuusers.de/Kernelmodule
Anschliessend bin ich immer noch an der Ausgabe des Befehls

sudo sane-find-scanner

interessiert.
Was für Meldungen kommen beim booten über deinen Epson-Scanner?

dmesg | grep -i epson

Die übrigen Fragen meines vorigen Postings wären auch noch interessant. Wenn es auch so wieder läuft, ist das natürlich überflüssig :wink:

Ich bin noch lange kein Linux Crack; man lernt aber immer ein
wenig mehr.

Wem sagst Du das… Aber da wir hier ja so gut wie nichts über deinen Kenntnis-Stand wissen können, wäre es schon hilfreich, wenn Du bei Problemen wirklich konkret nachfragst: „Ich soll das in die Datei xyz eintragen, aber wo zum Teufel finde ich überhaupt diese Datei…“, oder so ähnlich

Viele Grüße
Marvin

Hallo Marvin,

/etc/sane.d/epson.conf:

epson.conf

here are some examples for how to configure the EPSON backend

SCSI scanner:

scsi EPSON

for the GT-6500:

scsi „EPSON SC“

Parallel port scanner:

#pio 0x278
#pio 0x378
#pio 0x3BC

USB scanner:

There are two different methods of configuring a USB scanner: libusb and the kernel module

For any system with libusb support (which is pretty much any recent Linux distribution) the

following line is sufficient. This however assumes that the connected scanner (or to be more

accurate, it’s device ID) is known to the backend.

usb

For libusb support for unknown scanners use the following command

usb

e.g.:

usb 0x4b8 0x110

And for the scanner module, use the following configuration:

#usb /dev/usbscanner0
#usb /dev/usb/scanner0

Der Befehl lsmod | grep sg gibt nichts aus. Nur lsmod listet:

Module Size Used by
nls_utf8 12557 1
isofs 40257 1
ext2 73795 2
nls_iso8859_1 12713 3
nls_cp437 16991 3
vfat 17585 3
fat 61512 1 vfat
ib_iser 38640 0
rdma_cm 43866 1 ib_iser
ib_cm 48142 1 rdma_cm
iw_cm 18793 1 rdma_cm
ib_sa 29364 2 rdma_cm,ib_cm
ib_mad 48127 2 ib_cm,ib_sa
ib_core 78388 6 ib_iser,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad
ib_addr 14072 1 rdma_cm
iscsi_tcp 18587 0
libiscsi_tcp 25115 1 iscsi_tcp
libiscsi 57546 3 ib_iser,iscsi_tcp,libiscsi_tcp
scsi_transport_iscsi 53735 4 ib_iser,iscsi_tcp,libiscsi
rfcomm 47604 12
bnep 18281 2
parport_pc 32866 0
ppdev 17113 0
binfmt_misc 17540 1
nfsd 277809 0
nfs 356307 0
lockd 86161 2 nfsd,nfs
fscache 61529 1 nfs
auth_rpcgss 53380 2 nfsd,nfs
nfs_acl 12883 2 nfsd,nfs
sunrpc 245464 5 nfsd,nfs,lockd,auth_rpcgss,nfs_acl
vesafb 13844 1
snd_hda_codec_realtek 223867 1
snd_hda_intel 33773 3
usblp 18307 0
snd_hda_codec 127706 2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 13668 1 snd_hda_codec
snd_pcm 97188 2 snd_hda_intel,snd_hda_codec
snd_seq_midi 13324 0
snd_rawmidi 30748 1 snd_seq_midi
psmouse 87692 0
snd_seq_midi_event 14899 1 snd_seq_midi
serio_raw 13211 0
mcs7830 13813 0
usbnet 26212 1 mcs7830
gspca_stv06xx 29079 0
gspca_main 28366 1 gspca_stv06xx
btusb 18288 1
nvidia 12319264 30
videodev 98259 1 gspca_main
v4l2_compat_ioctl32 17128 1 videodev
joydev 17693 0
bluetooth 180104 23 rfcomm,bnep,btusb
snd_seq 61896 2 snd_seq_midi,snd_seq_midi_event
snd_timer 29990 2 snd_pcm,snd_seq
snd_seq_device 14540 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 78855 15 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 15091 1 snd
snd_page_alloc 18529 2 snd_hda_intel,snd_pcm
wmi 19256 0
mac_hid 13253 0
i2c_nforce2 13058 0
lp 17799 0
parport 46562 3 parport_pc,ppdev,lp
usbhid 47199 0
hid 99559 1 usbhid
uas 18027 0
usb_storage 49198 7
firewire_ohci 41000 0
firewire_core 63558 1 firewire_ohci
forcedeth 63460 0
crc_itu_t 12707 1 firewire_core
aic7xxx 136176 0
pata_amd 14118 0

Sudo sane-find-scanner:

sane-find-scanner will now attempt to detect your scanner. If the

result is different from what you expected, first make sure your

scanner is powered up and properly connected to your computer.

No SCSI scanners found. If you expected something different, make sure that

you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04a9 [Canon], product=0x220e [CanoScan], chip=LM9832/3) at libusb:002:002
found USB scanner (vendor=0x057c [AVM Berlin], product=0x1000 [FRITZ!Card USB v2.0]) at libusb:001:067
found USB scanner (vendor=0x046d, product=0x0840 [Camera]) at libusb:001:076
found USB scanner (vendor=0x9710 [Moschip Semiconductor], product=0x7830 [USB-MAC Controller]) at libusb:001:003

Your USB scanner was (probably) detected. It may or may not be supported by

SANE. Try scanimage -L and read the backend’s manpage.

Not checking for parallel port scanners.

Most Scanners connected to the parallel port or other proprietary ports

can’t be detected by this program.

dmesg | grep -i epson

Dieser Befehl gibt nichts aus.

Jesus!!

Für den in man sane-scsi angegebenen Weg

scsi VENDOR MODEL TYPE BUS CHANNEL ID LUN

muß ich mir die nötigen Daten aus dem System saugen und es austesten.

Zum Thema Kenntnis-Stand: ‚ich soll das oder das in die oder die Datei eintragen…‘ dazu muß ich erst mal wissen, dass das in dieser Form nötig ist :wink:. Derer Abhängigkeiten, die von Abhängigkeiten abhängig sind, viele… Da muß man erst mal wissen wer wie wann wo warum abhängig ist. Wenn nur der Monitor nicht immer wieder eine Sekunde abschalten würde - das nervt auch und ich kenne den Grund nicht…

Gruß,
H. Walther

Hallo Hans,

Der Befehl lsmod | grep sg gibt nichts aus.

Sudo sane-find-scanner:

No SCSI scanners found. If you expected something different,

**make sure that

you have loaded a kernel SCSI driver** for your SCSI adapter.

dmesg | grep -i epson
Dieser Befehl gibt nichts aus.

All diese Fehlmeldungen sagen, daß das Modul sg nicht geladen ist.
http://sg.danny.cz/sg/
Also versuche zuerst, dieses Modul zu laden:

sudo modprobe sg

und anschliessend (wenn keine Fehlermeldung kommt) gleich

sudo sane-find-scanner

ausführen.

Zum Thema Kenntnis-Stand: ‚ich soll das oder das in die oder
die Datei eintragen…‘

Naja, das war bloß ein blödes Beispiel dafür, lieber nachzufragen, wenn was nicht klar ist, was auch immer.
Und um deine Stromversorgung solltest Du dir wirklich Gedanken machen (oder um das Monitorkabel?). Monitore, die sich für Sekunden abschalten, sind gewiß nicht normal…

Viele Grüße
Marvin

Hallo,

lsscsi -L gibt u.a. dies aus:

[6:0:2:0] process EPSON SCANNER GT-10000 2.35 - 
 device\_blocked=0
 iocounterbits=32
 iodone\_cnt=0x9
 ioerr\_cnt=0x0
 iorequest\_cnt=0x9
 queue\_depth=2
 queue\_type=none
 scsi\_level=3
 state= **running**
 timeout=0
 type=3

Wenn der Process läuft - warum ist der Scanner dann trotzdem (für z.B. VueScan) unsichtbar?

sane-find-scanner schreibt:

 # sane-find-scanner will now attempt to detect your scanner. If the
 # result is different from what you expected, first make sure your
 # scanner is powered up and properly connected to your computer.

 # <u>No SCSI scanners found. If you expected something different, make sure that</u>
 # <u>you have loaded a kernel SCSI driver for your SCSI adapter.</u>

found USB scanner (vendor=0x04a9 [Canon], product=0x220e [CanoScan], chip=LM9832/3) at libusb:002:002
found USB scanner (vendor=0x046d, product=0x0840) at libusb:001:023
found USB scanner (vendor=0x057c, product=0x1000) at libusb:001:014
found USB scanner (vendor=0x9710, product=0x7830) at libusb:001:003
 # Your USB scanner was (probably) detected. It may or may not be supported by
 # SANE. Try scanimage -L and read the backend's manpage.

 # Not checking for parallel port scanners.

 # Most Scanners connected to the parallel port or other proprietary ports
 # can't be detected by this program.

 # You may want to run this program as root to find all devices. Once you
 # found the scanner devices, be sure to adjust access permissions as
 # necessary.

scanimage -L schreibt:

device `plustek:libusb:002:002' is a Canon CanoScan N1240U/LiDE30 flatbed scanner

Wie lädt man einen kernel scsi driver, wenn man sowas noch nie gemacht hat und ohne dass das System leidet?

Kernel 3.2.0-24-generic
Ubuntu 12.04
Epson GT10000+ scanner, der unter 10.04 (und früher unter Windows) ohne Murren lief. EINMAL konnte ich unter 12.04 scannen (s.o.); wie, weiss nur der Linux-Gott.

Gruß,
H.Walther

Hallo Hans,

Wenn der Process läuft - warum ist der Scanner dann trotzdem
(für z.B. VueScan) unsichtbar?

Frag mich was leichteres :wink: Aber so auf Anhieb würde ich sagen, daß der Prozess läuft ist nur eine notwendige, aber keine hinreichende Bedingung fürs scannen, um es mal mathematisch zu formulieren. Es braucht eben noch eines Treibers.
Aber viel mehr interessieren mich diese Merkwürdigkeiten in deinem System, so war am 10.5. der Status von deinem Scanner noch offline und jetzt running, was hast Du (oder hat sich) da verändert?
So aus der Ferne möchte ich wirklich erstmal sehen, was passiert, wenn Du den Kernel SCSI Driver einbindest, wie von sane-find-scanner vorgeschlagen:

sane-find-scanner schreibt:

No SCSI scanners found. If you expected something different,
make sure that

you have loaded a kernel SCSI driver for your SCSI adapter.

Wie lädt man einen kernel scsi driver, wenn man sowas noch nie
gemacht hat und ohne dass das System leidet?

Wie in meinem vorigen Posting geschrieben, durch Eingabe des Befehls:

sudo modprobe sg

und anschliessend (wenn keine Fehlermeldung kommt) gleich

sudo sane-find-scanner

und/oder

sudo scanimage -L

Um deinen Kernel musst Du dabei nicht fürchten, modprobe ist der offizielle Befehl zum Laden von Modulen in den Kernel.
" modprobe intelligently adds or removes a module from the Linux kernel"

man modprobe

Außerdem wird dadurch das Modul nicht dauerhaft geladen, beim nächsten Reboot ist es wieder weg, deshalb gleich anschliessend die Kontrolle mit sane-find-scanner.

Epson GT10000+ scanner, der unter 10.04 (und früher unter
Windows) ohne Murren lief. EINMAL konnte ich unter 12.04
scannen (s.o.); wie, weiss nur der Linux-Gott.

Das ist ja das merkwürdige. Sieht alles irgendwie instabil aus, einmal läuft es, dann wieder nicht, einmal ist dein SCSI offline, dann wieder running.
Ich habe manchmal den Verdacht, daß bei deinem Upgrade von 10.04 auf 12.04 irgendwas nicht so rund gelaufen ist. Das kann schon mal vorkommen bei solchen Upgrades.

Viele Grüße
Marvin

Hallo,

was sich da verändert hat, weiss ich leider nicht.

Hier habe ich die drei genannten Befehle eingegeben und hierher kopiert:

hww@desktop:~$ sudo modprobe sg
[sudo] password for hww: 
hww@desktop:~$ sudo sane-find-scanner

 # sane-find-scanner will now attempt to detect your scanner. If the
 # result is different from what you expected, first make sure your
 # scanner is powered up and properly connected to your computer.

 # **<u>No</u>** SCSI scanners found. If you expected something different, make sure that
 # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04a9 [Canon], product=0x220e [CanoScan], chip=LM9832/3) at libusb:002:002
found USB scanner (vendor=0x046d, product=0x0840 [Camera]) at libusb:001:023
found USB scanner (vendor=0x057c [AVM Berlin], product=0x1000 [FRITZ!Card USB v2.0]) at libusb:001:014
found USB scanner (vendor=0x9710 [Moschip Semiconductor], product=0x7830 [USB-MAC Controller]) at libusb:001:003
 # Your USB scanner was (<u>probably</u>) **[??]** detected. It may or may not be supported by
 # SANE. Try scanimage -L and read the backend's manpage.

 # Not checking for parallel port scanners.

 # Most Scanners connected to the parallel port or other proprietary ports
 # can't be detected by this program.
hww@desktop:~$ sudo scanimage -L
device `plustek:libusb:002:002' is a Canon CanoScan N1240U/LiDE30 flatbed scanner
device `epson2:/dev/sg15' is a Epson SCANNER GT-10000 flatbed scanner
device `epson:/dev/sg15' is a Epson GT-10000 flatbed scanner
hww@desktop:~$ ^C
hww@desktop:~$ 

Wenn ich ein Bild hochladen könnte, wäre VueScan sichtbar, der nur den Canon Lide30 anzeigte.

A-B-E-R: nach chmod 777 /dev/sg15 scannt er wieder.

Ich habe mitgenommen:

  • sudo modprobe sg
    sudo sane-find-scanner
    sudo scanimage -L
    sudo chmod 777 /dev/sg(nr)

  • hier die 15

chmod 660 ist zu wenig, da wir nix erkannt.

Mal sehen, was nach einem Reboot passiert. Die paar Zeilen sind ja schnell eingegeben. Normalerweise ‚suspendiere‘ ich den Rechner nachts.

Merci Bien + Gruß,
H.Walther

Hallo Hans,

Ich habe mitgenommen:
sudo modprobe sg
sudo sane-find-scanner
sudo scanimage -L
sudo chmod 777 /dev/sg(nr)
chmod 660 ist zu wenig, da wir nix erkannt.

Na gut, das mit dem chmod 777 lasse ich einfach mal stehen.

Mal sehen, was nach einem Reboot passiert.

Nach einem reboot ist das Modul sg wieder weg. Um das zu
verhindern, kannst Du es als root in die Datei /etc/modules
eintragen, Dort einfach als letzte Zeile

sg

reinschreiben.
http://wiki.ubuntuusers.de/Kernelmodule
(s. d. Module automatisch laden)
Die restlichen Befehle sind dauerhaft bzw. nur zur Info, da brauchst Du
nichts mehr einzugeben.

Viele Grüße
Marvin

1 Like

Hallo,

Ubuntu war heute wieder auf Updates aus. Nachdem alles durchgelaufen war, sollte ein Reboot ausgeführt werden, um alle Installationen zu vollenden. So geschah es.

Nach erfolgtem Reboot war der Epson wieder weg.

Dann gab ich die genannten vier Zeilen (sudo…[auch das chmod 777 sg15]) im Terminal ein und er ist wieder scan-bereit :wink:.
In der genannten Datei /etc/modules hatte ich mit ROOT Rechten als letzte Zeile ‚sg‘ eingetragen, was zunächst aber nichts brachte…
Egal, wenn’s trotzdem klappt.

Schön, dass es wer-weiss-was mit den Experten gibt, die Antworten haben, wenn der Computer nicht das macht, was der (Linux) User will. Dafür gibt’s zwei Sternchen.

Gruß,
H. Walther