Pagina 1 di 1
Scanner da user
Inviato: dom 23 dic 2007, 23:09
da drudo
Ho seguito le istruzioni descritte da conraid in questo thread
viewtopic.php?t=19915&highlight=scanner
ma non c'è stato verso di usare lo scanner da user
ho modificato 80-libsane-rules
ACTION!="add", GOTO="libsane_rules_end"
ENV{DEVTYPE}=="usb_device", GOTO="scanner"
SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"
......
LABEL="scanner"
.mi sono ricompilato un nuovo kernel settando l'opzione
CONFIG_USB_DEVICE_CLASS=Y
e rimettendo le vecchi regole di di udev
in libsane
ACTION!="add", GOTO="libsane_rules_end"
SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"
LABEL="libsane_rules_end"
Non so più cosa fare , potete darmi qualche altra idea?
Inviato: dom 23 dic 2007, 23:32
da michele.p
...apri il file group in /etc e se c'è la voce scanner ci aggiungi il nome utente....vedi se va....
Bye

Inviato: dom 23 dic 2007, 23:52
da drudo
Avevo inserito l'user nel gruppo scanner.
Io ho provato tutte le diverse soluzioni proposte
nel topic che ho linkato
però niente da fare ,questo scanner non funziona da utente.
e non so quale può essere il problema
Inviato: lun 24 dic 2007, 10:29
da conraid
drudo ha scritto:Avevo inserito l'user nel gruppo scanner.
Io ho provato tutte le diverse soluzioni proposte
nel topic che ho linkato
però niente da fare ,questo scanner non funziona da utente.
e non so quale può essere il problema
con CONFIG_USB_DEVICE_CLASS=Y dovrebbe andare semplicemente mettendo il tuo user nel gruppo scanner, altrimenti problemi sono altrove
Se non usi quell'opzione ricordati di creare anche un file all'inizio, io adesso ho 00-local.rules dove mettere
Codice: Seleziona tutto
# New Usb Device Class
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
Per vedere se il problema è quello prova a controllare come stanno i permessi
Da root dai
e guarda il risultato
A me da
Codice: Seleziona tutto
# lsusb
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 04b8:080f Seiko Epson Corp.
A questp punto nel bus/usb/001 guardi i permessi del file 004
A me viene
Codice: Seleziona tutto
# ls -l /dev/bus/usb/001/004
crw-rw---- 1 root scanner 189, 3 2007-12-24 10:23 004
Come vedi è del gruppo scanner
Guarda a te che permessi setta e se nel caso cambiali a mano per vedere dove intervenire
P.S.
Quando non avevo letto il chagelog e cercavo la soluzione a tentativi, modificavo ogni volta a mano con chmod i permessi di /proc/bus/etc... e non di /dev/bus/etc...
ora invece li sono solamente per root
Codice: Seleziona tutto
# ls -l /proc/bus/usb/001/004
-rw-r--r-- 1 root root 96 2007-12-24 10:23 /proc/bus/usb/001/004
Ma lo scanner mi fa comunque anche da utente
Codice: Seleziona tutto
$ scanimage -L
device `epson:libusb:001:004' is a Epson RX420 flatbed scanner
Perché è /dev/ in cui guarda
Se non ricordo male, ma accetto smentite, con hotplug era diverso
Altra cosa.
Tutte le altre operazioni rimangono inalterate, quindi devi anche modificare i settaggi di sane.
A me adesso basta mettere "usb" in /etc/sane.d/epson.conf
Se avevo scanner diversi e un pc per fare prove scrivevo un wiki, ma adesso diventerebbe troppo legato alla mia configurazione
Facci sapere
Inviato: lun 24 dic 2007, 16:39
da drudo
Questo è il config del kernel che ho in uso 2.6.23
Codice: Seleziona tutto
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_PERSIST is not set
# CONFIG_USB_OTG is not set
Questo è il file 80-libsane.rules
Codice: Seleziona tutto
ACTION!="add", GOTO="libsane_rules_end"
SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"
sysfs e vendor degli scanner
e poi finisce con
LABEL="libsane_rules_end"
Codice: Seleziona tutto
lsusb
Bus 002 Device 002: ID 03f0:0605 Hewlett-Packard ScanJet 2200c
Codice: Seleziona tutto
ls -l /dev/bus/usb/002/002
crw-r--r-- 1 root root 189, 129 2007-12-24 11:01 /dev/bus/usb/002/002
Continua ad essere root root
come in /proc
Codice: Seleziona tutto
ls -l /proc/bus/usb/002/002
-rw-r--r-- 1 root root 57 2007-12-24 11:01 /proc/bus/usb/002/002
Codice: Seleziona tutto
scanimage -L
device `plustek:libusb:002:002' is a Hewlett-Packard Scanjet 2200c USB flatbed scanner
Tutte le altre operazioni rimangono inalterate, quindi devi anche modificare i settaggi di sane.
A me adesso basta mettere "usb" in /etc/sane.d/epson.conf
Io nel file /etc/sane/hp.conf
ho queste righe
Codice: Seleziona tutto
scsi HP
# Uncomment the following if you have "Error during device I/O" on SCSI
# option dumb-read
#
# The usual place for a SCSI-scanner on Linux
/dev/scanner
#
# USB-scanners supported by the hp-backend
# HP ScanJet 4100C
usb 0x03f0 0x0101
# HP ScanJet 5200C
usb 0x03f0 0x0401
# HP ScanJet 62X0C
usb 0x03f0 0x0201
# HP ScanJet 63X0C
usb 0x03f0 0x0601
ho aggiunto anche il mio modello di scanner
# HP ScanJet 2200C
usb 0x03f0 0x0605
Sinceramente non so più cosa fare per capire il problema
addirittura se cambio i permessi con chmod 666 /dev/bus/usb/002/002
lo scanner continua a non funzionare da user
ho anche eliminato la directory .sane dalla mia home, ma è stato un nulla di fatto
Inviato: lun 24 dic 2007, 16:44
da conraid
e se compili il kernel senza l'opzione "deprecata" e segui le mie istruzioni? in /dev hai sempre gli stessi permessi?
Inviato: lun 24 dic 2007, 17:45
da drudo
Allora ,
ho appena ricompilato il kernel togliendo l'opzione deprecata e modificando i file che hai indicato nel vecchio thread
Non sono riuscito a risolvere il problema però ora
se faccio chmod 666 al bus dove è collegato lo scanner , riesco ad usarlo anche da user.
Non è il massimo lo so , però almeno adesso mi basterà solo creare uno script da mettere in rc.local
che legga dove è collegato lo scanner
e poi dare il permesso di esecuzione all'user,
visto che non sempre lo scanner viene collegato al bus 002/002
Ti ringrazio dell'aiuto , spero di avere un pò di tempo in questi giorni per capire
se il problema è udev o chissà cosa.
Ma perchè non legge le regole messe in 80-libsane-rules?
Tutte le altre periferiche usb vanno bene.
Pendrive , la macchina fotografica ,
non capisco perchè lo scanner fa questa pippa
Inviato: lun 24 dic 2007, 17:49
da conraid
drudo ha scritto:
Ma perchè non legge le regole messe in 80-libsane-rules?
Tutte le altre periferiche usb vanno bene.
Pendrive , la macchina fotografica ,
non capisco perchè lo scanner fa questa pippa
aspetta.
Hai modificato 80-libsane-rules e basta?
devi anche creare un file che setti le regole prima di tutti gli altri e che contenga solamente
Codice: Seleziona tutto
# New Usb Device Class
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
Questo lo devi creare tu e chiamarlo per esempio 00-local.rules nelle directory /etc/udev.d/rules
se l'hai fatto non so che dirti, con calma poi guardiamo insieme
Ora sei nella situazione in cui ero io prima di capire udev come faceva
Rileggendo capisco che ti crea il file
Sei sicuro che il tuo scanner sia compreso tra le regole di udev in libsane?
prova a mettere 80-libsane.rules così
Codice: Seleziona tutto
ACTION!="add", GOTO="libsane_rules_end"
ENV{DEVTYPE}=="usb_device", GOTO="scanner"
SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"
LABEL="scanner"
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0605", MODE="660", GROUP="scanner"
LABEL="libsane_rules_end"
Inviato: lun 24 dic 2007, 17:59
da drudo
conraid ha scritto:
devi anche creare un file che setti le regole prima di tutti gli altri e che contenga solamente
Codice: Seleziona tutto
# New Usb Device Class
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
Questo lo devi creare tu e chiamarlo per esempio 00-local.rules nelle directory /etc/udev.d/rules
Si lo avevo già creato , anzi prima avevo creato 10-udevnew.rules
adesso l'ho rinominato 00-local.rules
conraid ha scritto:
Ora sei nella situazione in cui ero io prima di capire udev come faceva
Già, solo che io sono rimasto a priima , per il capire invece lè dùr

Inviato: lun 24 dic 2007, 18:04
da conraid
Ho modificato un po' il precedente post, ma vedo che c'è in 80-libsane comunque.
Hai riavviato vero ad ogni modifica? Basterebbe riavviare qualche demone, ma non si sa mai
Inviato: lun 24 dic 2007, 18:13
da drudo
Grande conraid!!!
c'era un errore in 80-libsane.rules
praticamente io avevo messo
ACTION!="add", GOTO="libsane_rules_end"
ENV{DEVTYPE}=="usb_device", GOTO="scanner"
SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"
......
LABEL="scanner"
ma a fine file non avevo più
LABEL="libsane_rules_end"
Ho riavviato udev e adesso funziona tutto...
grazie tantissimo per il tempo e per l'aiuto che mi hai dato
Inviato: lun 24 dic 2007, 18:15
da conraid
E' un piacere.