# [KERNEL 2.6.5] scanner non reconnu (preske resolu)

## nuts

bon c est en partie resolu, maintenant je dois juste faire en sorte qu' un simple user puisse l utiliser et non pas root.

ce que j ai fait:

1 editer le /etc/fstab pour y ajouter ceci:

```
none /proc/bus/usb usbfs defaults,devmode=0666 0 0 
```

2 j ai desinstaller xsane hotplug-base usbutils hotplug et libusb

3 j ai reinstaller avec USE="usb" xsane et xsane-backends qui m a re-installer libusb

4 reboot

5 sane-find-scanner et hop le scanner est detecter cette fois.

maintenant il me reste a donner les bon droit sur le scann

-----------------------------------------------------------------------------------------

j ai un scanner canon qui marche tres bien sous linux puisqu il fonctionnait avec les noyau 2.4

je suis passer au 2.6 et xsane me saoul en disant qu il ne voit aps mon scanne.

dans le 2.4 dans les usb device j avais un USB Scanner support que je mettais en dur.

et ca je le retrouve pas dans le menuconfig du 2.6  c est ou?Last edited by nuts on Thu May 06, 2004 11:23 am; edited 1 time in total

----------

## kernelsensei

 *nuts wrote:*   

> j ai un scanner canon qui marche tres bien sous linux puisqu il fonctionnait avec les noyau 2.4
> 
> je suis passer au 2.6 et xsane me saoul en disant qu il ne voit aps mon scanne.
> 
> dans le 2.4 dans les usb device j avais un USB Scanner support que je mettais en dur.
> ...

 

https://forums.gentoo.org/viewtopic.php?t=123018&highlight=libusb

en gros je crois que maintenant faut utiliser libusb ...

Voici de l'aide :

http://mdk.services-virtuavision.com/article.php3?id_article=52

EDIT: infos :

http://seclists.org/lists/linux-kernel/2004/Feb/0972.html

http://www.uwsg.iu.edu/hypermail/linux/kernel/0312.1/0833.html

http://www.epkowa.co.jp/lx-bin/info/dtl_e?k=SC&c=I000000228

----------

## nuts

```
root@Kapoue root # sane-find-scanner

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

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

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

  # you have loaded a driver for your USB host controller and have installed a

  # kernel scanner module.

  # Scanners connected to the parallel port or other proprietary ports can't be

  # detected by this program.

```

la je seche car j ai installer libusb. apres je fais mon sane-find-scanner et la que dalle

----------

## kernelsensei

emerge -av xsane ..

t'as bien +usb dans les flags ?

Je suppose que oui, vu que ca marchait avec le 2.4 ...

EDIT :

 *Quote:*   

> 
> 
>   # No USB scanners found. If you expected something different, make sure that
> 
>   # you have loaded a driver for your USB host controller and have installed a
> ...

 

Je viens a peine de caller ca, donc j'ai rien dit !

EDIT 2:

T'as lu ca ? :

https://forums.gentoo.org/viewtopic.php?t=138862&highlight=usb+scanner+kernel+2+6

https://forums.gentoo.org/viewtopic.php?t=139874&highlight=usb+scanner+kernel+2+6

----------

## nuts

apparament il me faut aussi emerger hotplug mais j y pige que dalle de ce qui faudrait que je fasse avant le sane-find-scanner

----------

## halucard

tu as tenté le sane-find-scanner ?

----------

## nuts

le prends pas mal, mais tu lis les poste juste au dessus?

----------

## halucard

désolé, j'ai raté un post  :Embarassed: 

----------

## nuts

personne utilise de scanner avec un noyau 2.6 ou quoi? car j en aurai vite besoin ....

```
Kapoue usb # cat devices 

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 3

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.5-gentoo-r1 ohci_hcd

S:  Product=nVidia Corporation nForce2 USB Controller (#2)

S:  SerialNumber=0000:00:02.1

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0

D:  Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=ff MxPS= 8 #Cfgs=  1

P:  Vendor=04a9 ProdID=220d Rev= 1.00

S:  Manufacturer=Canon

S:  Product=CanoScan

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA

I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=(none)

E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=16ms

E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=03(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 3

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.5-gentoo-r1 ohci_hcd

S:  Product=nVidia Corporation nForce2 USB Controller

S:  SerialNumber=0000:00:02.0

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0

D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0718 ProdID=b000 Rev= 1.09

S:  Manufacturer=Imation

S:  Product=FlashGO!

C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA

I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 6

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 2.06

S:  Manufacturer=Linux 2.6.5-gentoo-r1 ehci_hcd

S:  Product=nVidia Corporation nForce2 USB Controller

S:  SerialNumber=0000:00:02.2

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

Kapoue usb # 
```

dans /proc/bus/usb alors pkoi ca ne marche pas? j ai libusb et hotplug mais je sais pas quoi en faire

----------

## fonzarely

Salut nuts,

j'ai le meme soussi.

j'ai le epson 1640 SU en usb et le 2400

j'ai suivi la doc de mandrake point pour point et ce n'est pas trop compliqué.

Mais ce qui me gonfle, c'est que le scanner n'est reconnu par xsane que si je fait "scanimage -L" en mode root. 

apres c'est bon, xsane voit le scanner en mode "users"

je voudrais savoir si tu utilise "usbd" ? je ne l'utilise pas

@+

----------

## nuts

c koi ubbd ?

----------

## fonzarely

heu, non   : usbd

 :Embarassed: 

----------

## nuts

faute de frappe ca arrive a tout le monde non?

je sais pas ce qu est usbd

----------

## fonzarely

c'est le demon usb. (emerge -s usbd)

de toute façon ça marche po 

t'as essayé scanimage -L en root anvant de le faire en utilisateur normal ?

----------

## nuts

ouais et ca a rien changer. apparmanent faut faire un script avec hotplug chai pas koi alors...

edit: j ai emerger hotplug de nouveau, je l ai mis en lancement au demarrage. avec mon script et tout, j ai fait le scanimage -L et la ca a l air de fonctionner pour le user

----------

## neysx

Je viens de passer quelques heures à essayer de faire fonctionner iscan avec mon scanner Epson 1640SU photo pour me rendre compte que mon seul problème était que des vieilles libs de iscan traînaient et empêchaient la nouvelle version de démarrer. Arf.

Tant que tout est frais dans me petite mémoire, je vais essayer de résumer.

Config: gcc-3.3.3 kernel 2.6.x (pas de module scanner.ko)

Softs installés

```
# emerge -vp libusb hotplug xsane sane-backends sane-frontends

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] dev-libs/libusb-0.1.8   0 kB 

[ebuild   R   ] sys-apps/hotplug-20040401   0 kB 

[ebuild   R   ] media-gfx/xsane-0.93  +gtk2 +jpeg +nls +png +tiff  0 kB 

[ebuild   R   ] media-gfx/sane-backends-1.0.14  +gphoto2 +usb  0 kB 

[ebuild   R   ] media-gfx/sane-frontends-1.0.12  +gimp  0 kB
```

Démarrer hotplug

```
# /etc/init.d/hotplug start

# rc-update add hotplug default
```

Éditer /etc/hotplug/usb.usermap

Le mien:

```
# USB PTP Nikon Coolpix 3100

usbcam     0x03 0x04b0 0x0115 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

# Scanner 1640

usbscanner 0x03 0x04b8 0x010a 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
```

Les codes 0x04b8 0x010a identifient le scanner. sane-find-scanner affiche par exemple 

```
found USB scanner (vendor=0x04b8 [EPSON], product=0x010a [Perfection1640]) at libusb:002:006]
```

Créer le script usbscanner, c-à-d. le même nom que le premier champ du fichier ci-dessus, dans le répertoire /etc/hotplug/usb

Le mien:

```
#!/bin/bash

#

# /etc/hotplug/usb/usbscanner

#

GROUP=users

if [ "${ACTION}" = "add" ] && [ -e "${DEVICE}" ]

then

    chgrp "${GROUP}" "${DEVICE}"

    chmod 0660 "${DEVICE}"

fi
```

Je donne accès au scanner à tous les utilisateurs. Vous pouvez par exemple créer un groupe 'scanner' si nécessaire.

Dans le fichier /etc/sane.d/dll.conf, j'ai défini les backends que j'utilise (epson pour xsane et epkowa pour iscan) :

```
#/etc/sane.d/dll.conf

epson

epkowa
```

Tout le reste est en commentaire.

Dans /etc/sane.d/epson et /etc/sane.d/epkowa, j'ai défini les identifiants usb comme ci-dessus pour hotplug :

```
# epkowa.conf

#

usb 0x4B8 0x10A
```

et

```
# epson.conf

#

usb 0x4B8 0x10A
```

NB: pour installer iscan, il faut les sources gcc 3.2 (http://www.epkowa.co.jp/english/linux_e/dl_scan.html), ensuite le ./configure / make / make install classique fait l'affaire.

xsane et iscan-1.8.1 fonctionnent sans problèmes et sans devoir être root.

Petit bémol : xsane n'aime pas le backend epkowa (segfault), mais peu importe, xsane epson évite de dévoir choisir le backend au démarrage de xsane.

Voilà, j'espère que ceci pourra vous aider.

----------

## neysx

Tant qu'à faire, voici la commande ./configure que j'ai utilisée :

./configure --prefix=/usr --sysconfdir=/etc --with-gphoto2 --enable-libusb --with-gnu-ld

----------

## fonzarely

Salut neysx,

tant qu'a faire tu nous fais un ebuild pour iscan ?   :Very Happy: 

merci pour les infos, c'est super

----------

## ridben

Y'a rien à faire pour moi, j'ai beau avoir suivi tout le truc je n'arrive à scanner qu'en root, c'est vraiment étrange...

----------

## fonzarely

 *ridben wrote:*   

> Y'a rien à faire pour moi, j'ai beau avoir suivi tout le truc je n'arrive à scanner qu'en root, c'est vraiment étrange...

 

j'ai une carte mere avec chipset via, et scanner epson 1640 et kernel 2.6.5. j'ai suivi les doc pour scanner epson et sane. Si le scanner est allumé au boot, je doit faire un scanimage -L en root et ensuite les utilisateurs peuvents s'en servir. donc j'ai mis cette commande dans /etc/conf.d/local.start

si j'allume le scanner apres le boot, ça marche... j'attend le 2.6.6.

 :Wink: 

----------

## ridben

 *fonzarely wrote:*   

> 
> 
> j'ai une carte mere avec chipset via, et scanner epson 1640 et kernel 2.6.5. j'ai suivi les doc pour scanner epson et sane. Si le scanner est allumé au boot, je doit faire un scanimage -L en root et ensuite les utilisateurs peuvents s'en servir. donc j'ai mis cette commande dans /etc/conf.d/local.start
> 
> si j'allume le scanner apres le boot, ça marche... j'attend le 2.6.6.
> ...

 

Même après avoir fait ça en root les autres utilisateurs n'arrive pas à le voir, ils ne peuvent voir que ma carte TV (d'ailleur c bizare ça...). Par contre en root ça marche niquel, il voit la TV + scanner (un epson 1250 pour les intimes).

----------

## fonzarely

faut faire partis du groupe scanner ou changer le groupe dans le script /ets/hotplug/usb/libusbscanner et users

sinon apres avoir fait scanimage -L en root, fait un ls -l /proc/bus/usb/*

et donne moi le resultat on verra   :Wink: 

----------

## neysx

 *ridben wrote:*   

>  *fonzarely wrote:*   
> 
> j'ai une carte mere avec chipset via, et scanner epson 1640 et kernel 2.6.5. j'ai suivi les doc pour scanner epson et sane. Si le scanner est allumé au boot, je doit faire un scanimage -L en root et ensuite les utilisateurs peuvents s'en servir. donc j'ai mis cette commande dans /etc/conf.d/local.start
> 
> si j'allume le scanner apres le boot, ça marche... j'attend le 2.6.6.
> ...

 

Ton problème est simple. Le script qui doit attribuer les droits ne fonctionne pas. Soit le nom du script ne correspond pas au nom indiqué dans usb.usermap, soit il n'est pas exécuté du tout, car il n'est pas, hmm comment dirais-je, exécutable, soit le script ne fonctionne pas.

Même problème résolu ce matin.

Procédons par ordre.

Peux-tu poster 

1) ton /etc/hotplug/usb.usermap

2) un ls -l /etc/hotplug/usb

3) le script, son nom est le premier champ de la ligne pour ton scanner dans /etc/hotplug/usb.usermap et il se trouve dans /etc/hotplug/usb

----------

## neysx

Ça se complique. La discussion « résolu ce matin » mentionnée ci-dessus se poursuit avec un autre cas. Affaire à suivre...

----------

## nuts

moi j ai mis le scanimage -L dans le local.start et ca me suffit.

je laisse le topic en non resolu pour les autres qui ont ici probleme

----------

## ridben

Mon script n'était pas executable, maintenant ça marche! Je vous remercie tous!   :Very Happy:   :Very Happy:   :Very Happy: 

----------

## fonzarely

neysx

salut

voila mes infos

 *neysx wrote:*   

> 
> 
> Procédons par ordre.
> 
> Peux-tu poster 
> ...

 

1)

# usb module         match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info

#epson_scanner 0x0003 0x04b8 0x010a 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

libusbscanner  0x0003 0x04b8 0x010a 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

2)

ls -l /etc/hotplug/usb

-rwxr-xr-x  1 root root   218 mai  7 10:35 epson_scanner

-rw-r--r--  1 root root 46476 mai 10 13:53 libsane.usermap

-rwxr-xr-x  1 root root   914 mai 10 13:53 libusbscanner

-rwxr-xr-x  1 root root  1645 mai  6 14:02 usbcam

-rw-r--r--  1 root root 57395 mai  6 14:02 usbcam-gphoto2.usermap

3)

le script "/etc/hotplug/usb/libusbscanner" de sane-backends 1.0.14-r2 : 

#!/bin/sh

# This file is part of sane-backends.

#

# This script changes the permissions and ownership of a USB device under

# /proc/bus/usb to grant access to this device to users in the scanner group.

#

# Ownership is set to root:scanner, permissions are set to 0660.

#

# Arguments :

# -----------

# ACTION=[add|remove]

# DEVICE=/proc/bus/usb/BBB/DDD

# TYPE=usb

if [ -z "$DEVICE" ] ; then

        IF=$(echo $DEVPATH | sed 's:\(bus/usb/devices/\)\(.*\)-\(.*\):\2:')

        DEV=$(echo $DEVPATH | sed 's:\(bus/usb/devices/\)\(.*\)-\(.*\):\3:')

        DEV=$(expr $DEV + 1)

        DEVICE=$(printf '/proc/bus/usb/%.03d/%.03d' $IF $DEV)

fi

if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then

  chown root:scanner "$DEVICE"

  chmod 0660 "$DEVICE"

fi

# That's an insecure but simple alternative

# Everyone has access to the scanner

# if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then

#  chmod 0666 "$DEVICE"

# fi

et puis le contenu de /etc/hotplug/usb.usermap :

libusbscanner  0x0003 0x04b8 0x010a 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

et puis les utilisateurs qui utilisent le scanner font partis du groupe scanner   :Wink: 

merci

----------

## neysx

Pourrais-tu jeter un il sur cette discussion et essayer le script tout à la fin ? J'ai ajouté du tracing vers un fichier /tmp/toto pour essayer de comprendre ce que le script fait et ce qu'il reçoit. Le fait est qu'il ne reçoit pas du tout la même chose quand /etc/init.d/hotplug est démarré ou relancé et quand le scanner est éteint et rallumé. Le gars qui utilise udev a dû faire - 1 au lieu de + 1 sur le numéro de périphérique. Je n'utilise pas udev et ni +1 ni -1 ne résoudrait le problème dans mon cas.

----------

## j_c_p

http://forum.hardware.fr/forum2.php3?config=hardwarefr.inc&post=32761&cat=11&cache=&sondage=0&owntopic=0&p=1&trash=0&subcat=

----------

