Bonjour,

Pour utiliser mon scanner en mode user j'ai fait un chmod 777 sur le dossier et les fichiers dans /dev/bus/.
Mais le problème c'est que quand je reboote l'ordinateur, les droits sont perdus et le chmod est à refaire.

Est-ce quelqu'un sait comment changer définitivement ces droits pour qu'ils soit conservés après rebootage ?

Merci d'avance,
Nanou
Tu peux essayer de mettre la commande
chmod 777 /dev/bus
dans le fichier
/etc/rc.d/rc.local
C'est un fichier dont le contenu est exécuté en fin de boot (avant le login).

J'essaie de répondre à ta question, mais je ne suis pas sûr que changer brutalement des droits soit la meilleure solution.
Je viens d'écrire la ligne de chmod dans le fichier rc.local, les droits ont bien été attribués aux dossiers et aux fichiers mais le scanner n'a pas fonctionné en mode user.
J'ai dû faire la manip de chmod manuellement pour que le scanner marche.

Je ne comprends pas où est la différence entre un chmod manuel et un chmod automatique !?!?

Il faudrait probablement que je modifie la ligne d'attribution des droits dans le fichier ad hoc mais lequel ?
Le problème vient que au boot le ou les fichiers de ton scanner n'existent peut-être pas encore, et normalement c'est une règle «hal» qui est censée résoudre ce problème.
Peux-tu faire un
lsusb
pour identifier on scanner et
lsusb -v -s bus:devnum
pour en avoir le détail
Je viens de rebooter 2 fois mon ordinateur et maintenant mon scanner marche grâce à la ligne de chmod ajoutée dans le fichier /etc/rc.d/rc.local .

Je n'ai pas compris pourquoi un coup ça marche et un coup ça ne marche pas...

Si je fais lsusb, il s'affiche :
Bus 001 Device 003: ID 058f:6377 Alcor Micro Corp. Multimedia Card Reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 03f0:4d11 Hewlett-Packard PSC 1400
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
et si je fais : lsusb -v -s bus:devnum il ne s'affiche rien.
Je me suis peut-être mal expliqué, mais si ton scanner apparait «Bus 002 Device 002» je te demande :
lsusb -v -s 2:2

Je n'ai pas compris pourquoi un coup ça marche et un coup ça ne marche pas...
Peut-être un temps d'attente
sleep 2
attente de 2 secondes (voire plus)
devant le chmod pour laisser à hal de créer le/les fichiers nécessaires
Argh ! suis-je bête !
je fais lsusb -v -s 2:2 et il s'affiche :
Bus 002 Device 002: ID 03f0:4d11 Hewlett-Packard PSC 1400
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x03f0 Hewlett-Packard
  idProduct          0x4d11 PSC 1400
  bcdDevice            1.00
  iManufacturer           1 HP
  iProduct                2 PSC 1400 series
  iSerial                 3 CN63ADD1VF04DZ
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          129
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    204 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         7 Printer
      bInterfaceSubClass      1 Printer
      bInterfaceProtocol      2 Bidirectional
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x07  EP 7 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x88  EP 8 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    212 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x07  EP 7 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x88  EP 8 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0001
  Self Powered
Je vais quand même ajouter la ligne de sleep
La méthode décrite précédemment ne marche que si le scanner est déjà allumé quand je lance l'ordinateur.

Je crois avoir trouvé une solution satisfaisante qui attribue les bons droits à la mise sous tension du scanner si celui-ci est allumé après l'ordinateur :

J'ai créé un fichier : /etc/udev/rules.d/60-libsane.rules
et j'y ai mis les lignes suivantes :
ATTR{idVendor}=="03f0", ATTR{idProduct}=="4d11", SYMLINK+="scanner-%k", MODE=="777"

Ainsi je peux utiliser mon scanner même en mode user.

Les lignes ajoutées dans le fichier /etc/rc.d/rc.local ne sont plus nécessaires.

Nanou