Repository 32bit  Forum
Repository 64bit  Wiki

[SOLVED] Scanner solo da root

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Re: Scanner solo da root

Messaggioda joe » mar giu 11, 2013 23:03

Farò la prova dei permessi quando riavvio il pc.
Per il momento ho staccato e riattaccato l'usb senza toccare niente, ed ecco cosa dice scanimage:
Codice: Seleziona tutto
joe@darkstar:~$ scanimage -L
device `mustek_usb:libusb:001:008' is a Mustek 600 CU flatbed scanner

In pratica quindi dopo la manovra fisica di connessione dello scanner "a caldo" non ci sono problemi, viene rilevato tutto anche da simple user ed è correttamente utilizzabile anche con XSane.
Pertanto ribadisco che personalmente non credo che i guai siano dovuti ad un problema di permessi: se così fosse infatti, come giustificheremmo l'output di scanimage soprariportato?
Avatar utente
joe
Master
Master
 
Messaggi: 1980
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: Scanner solo da root

Messaggioda aschenaz » mer giu 12, 2013 7:15

Ma pensate che quel fix riportato nel changelog current non abbia niente a che fare con questo problema?
No, perché se invece lo riguardasse sarebbe la dimostrazione che si tratta di un problema noto, che non dipende dalle impostazioni dei permessi.
E, in ogni caso, mi pare che ci fossero diverse discussioni al proposito, qui e altrove. Ora vado un po' di fretta, ma poi conto di cercare qualcosa.
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4433
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.18
Desktop: KDE 4.10.5

Re: Scanner solo da root

Messaggioda joe » mer giu 12, 2013 9:35

Non penso che il fix di cui parlavi non sia inerente alla faccenda, tant'è che ho preso il pacchetto sane della current e ho provato a sostituire il file 80-libsane.rules con quello preso dal pacchetto della current. Quindi ho riavviato il PC perchè non so bene come riavviare udev (forse con udevadm trigger, ma per sicurezza ho fatto un reboot...).
Il risultato è stato il medesimo di prima... la manovra non ha risolto il problema. Questo non significa comunque che il fix di cui parlavi non sia inerente la soluzione.

Ad ogni modo adesso che ho acceso il PC con lo scanner già collegato all'usb ecco cosa riporta scanimage:
Codice: Seleziona tutto
joe@darkstar:~$ scanimage -L

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).

Non vedo d'altra parte come possa trattarsi di un problema di permessi perchè staccando e riattaccando lo scanner tutto funziona e i permessi sono sempre gli stessi...
Avatar utente
joe
Master
Master
 
Messaggi: 1980
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: Scanner solo da root

Messaggioda joe » mer giu 12, 2013 11:43

Fermi tutti! Questa mia affermazione potrebbe essere non del tutto corretta.
Bisogna chiarire i permessi di "chi", di quale file sino importanti...
Da quello che ho letto l'oggetto di interesse dovrebbe essere lo scanner. Vediamo di capire a quale file corrisponde:
Codice: Seleziona tutto
root@darkstar:~# scanimage -L
device `mustek_usb:libusb:001:005' is a Mustek 600 CU flatbed scanner
root@darkstar:~# ls -l /dev/bus/usb/001/005
crw-rw-r-- 1 root root 189, 4 giu 12 09:49 /dev/bus/usb/001/005

Ok, quindi ecco perchè il mio utente non può usare quell'arnese. Banalmente perchè non appartiene al gruppo "root".

Ma la colpa è di udev che avrebbe dovuto dare a quel file il gruppo "lp" come da regola. Invece l'ha lasciato a root.

Facciamo una prova, cambio il gruppo a root:lp e vediamo se funge:
Codice: Seleziona tutto
root@darkstar:~# chown root:lp /dev/bus/usb/001/005
root@darkstar:~# su - joe

Mitchell's Law of Committees:
        Any simple problem can be made insoluble
        if enough meetings are held to discuss it.

joe@darkstar:~$ scanimage -L
device `mustek_usb:libusb:001:005' is a Mustek 600 CU flatbed scanner
joe@darkstar:~$

Ok, lasciate perdere il "fortune" ;)
Praticamente ho cambiato la proprietà del file speciale associato allo scanner impostando che il gruppo di appartenenza fosse "lp" e non "root".
Poi mi sono loggato come utente semplice "joe" e ho provato ad utilizzare lo scanner, già dal comando "scanimage -L" si vede che il problema è "risolto". Confermo che anche xsane da simpleuser trova lo scanner e funziona come dovrebbe.

Ora vediamo di ripristinare i permessi originali e fare la prova del nove.
Codice: Seleziona tutto
joe@darkstar:~$ scanimage -L
device `mustek_usb:libusb:001:005' is a Mustek 600 CU flatbed scanner
joe@darkstar:~$ exit
logout
root@darkstar:~# chown root:root /dev/bus/usb/001/005
root@darkstar:~# su - joe

10.0 times 0.1 is hardly ever 1.0.

joe@darkstar:~$ scanimage -L

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).
joe@darkstar:~$

Quindi il punto secondo me è il seguente:
Udev grazie alla sua regola cambia gli attributi allo scanner quando questo viene collegato al PC a sistema avviato.
Ma se lo scanner non viene collegato, come nel caso che sia già presente prima del boot, allora udev non applica la regola allo scanner.
E qui mi viene in mente quanto diceva "aschenaz":
xap/sane-1.0.23-x86_64-2.txz: Rebuilt.
Recompiled against libgphoto2-2.5.2.
Modified the udev rules so they'll be processed on change actions as well
as add actions, which might fix the device permissions errors some people
have reported. Thanks to Phil Bevan

Ora, il fatto è che per Udev "ADD" e "CHANGE" hanno un certo significato (mia beata ignoranza...), ma il punto è che nel nuovo pacchetto dovrebbe esserci un file tipo 80-libsane.rules valido con alcune modifiche che vanno a risolvere il problema.
Ho trovato anche questo topic sul solito linuxquestions.org che descrive esattamente il mio caso... però la soluzione mi sembra poco definitiva: il tipo scrive una regola per udev apposita per il suo scanner e al contempo modifica la regola generale "libsane" ma non è sicuro che non comporti poi effetti collaterali...
Ad ogni modo ecco il link:
http://www.linuxquestions.org/questions ... 4175433843

Per quanto mi riguarda penso che la strada giusta sia stata imbroccata da aschenaz che ringrazio insieme a tutti quelli che hanno preso parte alla discussione.
Allora riassumendo, sono andato a rileggermi il changelog della current e ho visto il pezzo riportato da aschenaz.
Ho quindi preso il pacchetto seguente:
sane-1.0.23-i486-3.txz
Lo metto in neretto perchè ieri avevo provato a scaricarlo ma era la build "-2" che non conteneva il file di udev corretto
Dentro al pacchetto c'è il file delle regole di udev che si chiama sempre "80-libsane.rules".
Insomma per risolvere il problema basta sostituire questo file con quello che si ha nella dir /lib/udev/rules.d.
Personalmente ho semplicemente applicato la modifica al punto chiave, prendendo spunto dallo slackbuild di Pat:
Codice: Seleziona tutto
# Add the default udev rules.  Use group "lp" rather than "scanner" to avoid
# breaking CUPS access for multifunction printer/scanner devices (possibly
# the most common type of scanner these days)
#
# Use ACTION!="add|change" to avoid skipping these rules if coming from an
# initrd where udev was started.
mkdir -p $PKG/lib/udev/rules.d
cat tools/udev/libsane.rules \
  | sed -e "s/GROUP=\"scanner\"/GROUP=\"lp\"/g" \
  | sed -e "s/MODE=\"0664\"/MODE=\"0660\"/g" \
  | sed -e "s/ACTION!=\"add\"/ACTION!=\"add|change\"/g" \
  > $PKG/lib/udev/rules.d/80-libsane.rules

In pratica ho solo sostituito a
Codice: Seleziona tutto
ACTION="add"

La stringa:
Codice: Seleziona tutto
ACTION="add|change"

Per i dettagli di cosa significhi precisamente "add" e "change" per udev vi invito a dare un'occhiata alla documentazione o in rete.
Se poi qualcuno di buona volontà vuole contribuire a rendere più completo questo topic può anche spiegarcelo in due righe! ;)

Risultato.
Dopo aver editato e salvato il file 80-libsane.rules ho lanciato scanimage come utente semplice e lo scanner non era ancora accessibile.
Poi allora ho cercato di rileggere le regole di udev lanciando da root il comando "udev trigger" (non so quanto sia pulita come cosa ma a quanto apre funziona).
Infine ho di nuovo lanciato scanimage da utente semplice e sta volta lo scanner è utilizzabile.
Per completezza riporto gli attributi e permessi dello scanner, che dopo la modifica e il reload di udev ha assunto gruppo di appartenenza "lp" anzichè "root".
Codice: Seleziona tutto
joe@darkstar:~$ scanimage -L

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).

root@darkstar:/lib/udev/rules.d# udevadm trigger

joe@darkstar:~$ scanimage -L
device `mustek_usb:libusb:001:005' is a Mustek 600 CU flatbed scanner

root@darkstar:/lib/udev/rules.d# ls -l /dev/bus/usb/001/005
crw-rw-r-- 1 root lp 189, 4 giu 12 12:22 /dev/bus/usb/001/005


Ok, per quanto mi rigurda metterei SOLVED! :D
Mi accorgo dall'anteprima di aver scritto un sermone lunghissimo... spero almeno che la faccenda sia chiarita. :)
Grazie ancora a tutti per il supporto.
Alla prossima :D
Avatar utente
joe
Master
Master
 
Messaggi: 1980
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: [SOLVED] Scanner solo da root

Messaggioda aschenaz » mer giu 12, 2013 15:41

:thumbright:
Funziona!
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4433
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.18
Desktop: KDE 4.10.5

Re: [SOLVED] Scanner solo da root

Messaggioda joe » mer giu 12, 2013 17:18

Premesso che sono ignorante in materia di pacchetti bugfix ecc ecc...
E anche in fatto di rilascio aggiornamenti relativi a pacchetti delle varie versioni di slack.

Cosa ne pensate di proporre a Pat di aggiornare il pacchetto sane anche per quello che riguarda la versione stabile di slackware?
Alla fine si tratta di un file di configurazione di udev... poca roba, è un peccato lasciare la stabile affetta dal bug quando si può correggere con poco sforzo... o no?

Infatti la soluzione alla fine non è stata troppo banale viste le due pagine di topic...
Dite la vostra! :D
Avatar utente
joe
Master
Master
 
Messaggi: 1980
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: [SOLVED] Scanner solo da root

Messaggioda joe » sab giu 29, 2013 10:10

Ok, aggiorno la situazione dopo aver cercato di contattare lo staff slackware.
Premesso che le mail inviate ai contatti ufficiali non hanno prodotto alcuna risposta, mi sono rivolto al forum di linuxquestions che sembra il posto più vicino agli sviluppatori. slackware.
Vi metto il link sotto:
http://www.linuxquestions.org/questions ... 4175467306

Bene, come vedete il pacchetto "sane" affetto da questa specie di bug non può essere incluso nell'applicazione della patch di Pat anche per il ramo -stable, come è stato fatto invece per lo stesso pacchetto del ramo -current.
Perchè? perche il bug non è relativo a problemi di sicurezza. Pertanto come da tradizione gli sviluppatori non apportano modifiche generiche ai pacchetti di versioni stabili, solo il ramo current ne viene coinvolto.

Ok, in soldoni a livello ufficiale per quel che riguarda slackware-14.0 dobbiamo accontentarci di un pacchetto sane in qualche misura bacato.
Il fix al bug come si vede da questo topic è una scemata pazzesca, basta sostituire una riga ad un file di testo contente regole di udev...
Da quello che mi hanno risposto su linuxquestions sembra inoltre che il bug non riguardasse tutti i dispositivi scanner.

Per conludere:
1- o si risolve a mano editando il file di udev
2- oppure, la butto lì, si potrebbe anche pathcare il pacchetto sane e pubblicarlo qui su slacky.eu.
È solo un'idea, ma vista l'entità del bug non so se è il caso di scomodare il repo slacky.
In ogni caso se qualcuno fosse interessato a farlo (io mi vedo un po' impacciato con la ripacchettizzazione) potrebbe anche aggiungere un post a questa discussione per conoscenza.
In caso contrario da parte mia chiudo qua il discorso. ;)

Alla prossima! :D
Avatar utente
joe
Master
Master
 
Messaggi: 1980
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: [SOLVED] Scanner solo da root

Messaggioda navajo » sab giu 29, 2013 19:38

dico la mia:
avere un pacchetto patchato, sarebbe bello e comodo. Magari affiancato da quello originale.
Avatar utente
navajo
Staff
Staff
 
Messaggi: 3793
Iscritto il: gio gen 08, 2004 0:00
Località: Roma
Nome Cognome: Massimiliano
Slackware: 13.37 (x86_64)
Kernel: 2.6.37.6
Desktop: KDE 4.7.0 (Alien)

Precedente

Torna a Slackware

Chi c’è in linea

Visitano il forum: Yahoo [Bot] e 2 ospiti