OVH Cloud OVH Cloud

Linux et clef USB

30 réponses
Avatar
Cedric
Bonjour,

et non, je n'est pas de probleme avec ma clef USB, je sais parfaitement
la monter c'est pas mon probleme....

Mon soucis ce pose un peu plus loin...
J'ai plusieurs machine a ma disposition et beaucoup d'utilisateurs qui
vienne et qui reparte avec leur clef USB.
Jusque la tout va bien le premier arrive enfiche sa clef USB clic sur
son icone et hop voilà le contenu...

Mais je probleme arrive au suivant, il travaille un moment et souhaite
enregistrer son travail sur sa clef usb hors elle n'a pas la meme
capacite que l'utilisateur precedent... donc probleme !!!
Et vu qu'il n'a pas les droits root il ne peut pas monter sa clef en
sdb1 au lieu de sda1 donc coincé ou alors rebooté la machine... Mais
avoué que c'est desagréable de devoir rebooter le PC juste pour pouvoir
utilisé sa clef USB.

J'ai donc pensé a faire un reset de la pseudo chaine SCSI afin d'effacer
toute trace de la clef USB a la deconexion de l'utilisateur mais j'ai
pas reussi comme je le souhaite...

Auriez vous ue solution ???

10 réponses

1 2 3
Avatar
Daniel Déchelotte

| > Quel est ce /proc/scsi/usb-storage-0/1 que j'avais hier et que je ne
| > parviens pas à obtenir à nouveau aujourd'hui (?! Passons...)
| > Est-ce qu'un nouveau périphérique ne créerait pas un
| > /proc/scsi/usb-storage-1/1 (avec le fichier 1 qui contient tout ce
| > qu'il faut pour identifier le périphérique usb) ?
|
| En principe si, mais je ne crois pas qu'il y ait le device SCSI.
| Chez moi j'ai:
|
| [snip]
|
| Donc tout ce qui ne m'interresse pas et pas le device SCSI sous
| la forme sdxx ou mieux <host> <bus> <device> <lun> (plus générique)
| que le driver a pourtant...

Ok. Mon idée, naïve, était que lorsque l'on n'a pas de vrais
périphériques SCSI, usb-storage-0 sera /dev/sda, usb-storage-1 sera sdb,
et ainsi de suite. Ceci, et l'étude de /proc/scsi/scsi pour déterminer
s'il y a de vrais périphériques qui occuperaient les premières lettres
(a, b, ...), pourraient être notre seule piste.

--
Daniel Déchelotte
http://yo.dan.free.fr/
Avatar
Christophe PEREZ
Le Fri, 23 Jan 2004 17:21:11 -0500, Daniel Déchelotte a écrit:

Quel est ce /proc/scsi/usb-storage-0/1 que j'avais hier et que je ne
parviens pas à obtenir à nouveau aujourd'hui (?! Passons...)


Bingo, c'est bien lui que j'ai utilisé.

Est-ce qu'un nouveau périphérique ne créerait pas un
/proc/scsi/usb-storage-1/1 (avec le fichier 1 qui contient tout ce qu'il
faut pour identifier le périphérique usb) ?


Presque tout.
En ce qui me concerne, il m'a fallu croiser les infos avec
/proc/bus/usb/devices

À part le fait que je n'arrive pas à le reproduire aujourd'hui, ça
paraît prometteur, non ?


Tout à fait ! :-)
Voir mon dernier message sur le sujet :


--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Christophe PEREZ
Le Fri, 23 Jan 2004 23:45:40 +0100, no_spam a écrit:

Donc tout ce qui ne m'interresse pas et pas le device SCSI sous
la forme sdxx ou mieux <host> <bus> <device> <lun> (plus générique)
que le driver a pourtant...


Je vais paraitre idiot mais j'ai déduit (en tout cas, chez moi, ça
marche) que /proc/scsi/usb-storage-n/(X)
avec X qui donne le /dev/scsi/host(X)/bus0/target0/lun0/part1 qui lui
même a un lien sur le /dev/sd?? recherché !


--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Christophe PEREZ
Le Fri, 23 Jan 2004 19:28:55 -0500, Daniel Déchelotte a écrit:

(a, b, ...), pourraient être notre seule piste.


Y a quelqu'un qui me lit ici ? :-)

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
no_spam
On Fri, 23 Jan 2004 22:19:54 -0400, Christophe PEREZ wrote:

Le Fri, 23 Jan 2004 23:45:40 +0100, no_spam a écrit:

Donc tout ce qui ne m'interresse pas et pas le device SCSI sous
la forme sdxx ou mieux <host> <bus> <device> <lun> (plus générique)
que le driver a pourtant...


Je vais paraitre idiot mais j'ai déduit (en tout cas, chez moi, ça
marche) que /proc/scsi/usb-storage-n/(X)
avec X qui donne le /dev/scsi/host(X)/bus0/target0/lun0/part1 qui lui
même a un lien sur le /dev/sd?? recherché !


Ca pourrait marcher, mais ce n'est pas si simple...
Il faudrait récupérer les 4 parametres, pour avoir un système fiable
(host, bus, device, lun). Quand tu as celà, tu n'as aucune question
à te poser...
Ta solution doit marcher dans le cas des disk-on-key ou des disques,
si ils sont dans le format que tu décrit (une et une seule partition)
mais pas dans le cas des lecteurs de carte flash multi-format, par
exemple, pour lesquels il faut connaitre tous les paramêtres.


Avatar
Christophe PEREZ
Le Sat, 24 Jan 2004 12:40:51 +0100, no_spam a écrit:

Ca pourrait marcher, mais ce n'est pas si simple...


Oh mais je n'ai pas trouvé ça simple moi :-))

Il faudrait récupérer les 4 parametres, pour avoir un système fiable
(host, bus, device, lun). Quand tu as celà, tu n'as aucune question
à te poser...


Évidemment, le tout est de l'avoir ;-)

Ta solution doit marcher dans le cas des disk-on-key ou des disques,


Elle "marche" chez moi, dans mon cas, et c'est bien ce que j'avais
précisé.

si ils sont dans le format que tu décrit (une et une seule partition)
mais pas dans le cas des lecteurs de carte flash multi-format, par
exemple, pour lesquels il faut connaitre tous les paramêtres.


Ok !!! Maintenant je comprends le "pourquoi cette solution n'est pas
portable". Car je m'en doutais, mais ne savais pas ce qui pouvait faire
que ça ne marche pas dans d'autres cas. Merci pour l'explication.

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Christophe PEREZ
Le Sat, 24 Jan 2004 12:40:51 +0100, no_spam a écrit:

Il faudrait récupérer les 4 parametres, pour avoir un système fiable
(host, bus, device, lun).


Autre chose, on ne peut pas les décoder de /proc/bus/usb/devices, c'est 4
éléments ?
Quoi que, vu que tu as déjà dit que ce n'est pas implémenté, si ça ne
l'est pas, ça ne l'est pas, point. Ce n'est pas la peine que je cherche
quelque chose qui n'existe pas.

Par contre, je voudrais profiter de tes connaissance en la matière pour
te poser une question :
Sur mon portable, après un boot, si je branche ma clé usb, rien ne se
passe, pas de /dev/sd?? etc...
Je peux essayer plusieurs fois, toujours pareil. Décharger usb-storage,
relancer devfs, toujours pareil.
Si je connecte mon appareil photo, pas de pb.
Si je connecte ensuite (après déconnexion de l'apn ou pas) ma clé usb,
tout fonctionne, elle est bien reconnue, devices crées etc.
Si je déchare usb-storage, et que je connecte la clé, pareil, ça
fonctionne.
En fait, à partir du moment ou j'ai à un moment connecté l'apn,
je n'aurai pas de problème. Tant que je ne l'ai pas fait, ma clé usb
n'existe pas. Bizarre non ?

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Christophe PEREZ
Le Sat, 24 Jan 2004 12:40:51 +0100, no_spam a écrit:

Il faudrait récupérer les 4 parametres, pour avoir un système fiable
(host, bus, device, lun).


Autre chose, on ne peut pas les décoder de /proc/bus/usb/devices, ces
4 éléments ?
Quoi que, vu que tu as déjà dit que ce n'est pas implémenté, si ça ne
l'est pas, ça ne l'est pas, point. Ce n'est pas la peine que je cherche
quelque chose qui n'existe pas.

Par contre, je voudrais profiter de tes connaissances en la matière pour
te poser une question :
Sur mon portable, après un boot, si je branche ma clé usb, rien ne se
passe, pas de /dev/sd?? etc...
Je peux essayer plusieurs fois, toujours pareil. Décharger usb-storage,
relancer devfs, toujours pareil.
Si je connecte mon appareil photo, pas de pb.
Si je connecte ensuite (après déconnexion de l'apn ou pas) ma clé usb,
tout fonctionne, elle est bien reconnue, devices crées etc.
Si je décharge usb-storage, et que je connecte la clé, pareil, ça
fonctionne.
En fait, à partir du moment ou j'ai à un moment connecté l'apn,
je n'aurai pas de problème. Tant que je ne l'ai pas fait, ma clé usb
n'existe pas. Bizarre non ?

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Christophe PEREZ
Le Sat, 24 Jan 2004 15:35:36 -0400, Christophe PEREZ a écrit:

En fait, à partir du moment ou j'ai à un moment connecté l'apn,
je n'aurai pas de problème. Tant que je ne l'ai pas fait, ma clé usb
n'existe pas. Bizarre non ?


En fait, si j'ai bien compris maintenant, j'avais assez mal analysé le pb
et il semblerait plutôt que le sd_mod ne se charge pas systématiquement.

Quelqu'un saurait à quoi ça peut être du ?
Qu'y faire à part le mettre bêtement à la méthode lourdot (c'est moi
le lourdot dans ce cas) dans /etc/modules ?

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Christophe PEREZ
Le Sat, 24 Jan 2004 15:37:21 -0400, Christophe PEREZ a écrit:

En fait, si j'ai bien compris maintenant, j'avais assez mal analysé le pb
et il semblerait plutôt que le sd_mod ne se charge pas systématiquement.


Finalement, je l'ai mis dans le script de chargement dynamique de
usb-storage (/etc/hotplug/usb/usb-storage) à la place du scsimon que j'y
avais précédemment, qui semble n'être connu que par le noyau mandrake :-).

Par contre, fait encore plus extraordinaire à mes yeux, je viens de me
rendre compte que les /dev/sd?? ne se créent que lorsque je tente
d'accéder, d'un façon ou d'une autre, à
/dev/scsi/hostX/busX/targetX/lunX/partX !!
Du coup, dans mon script perso lancé après le chargement de usb-storage,
j'ai mis un tout bête "ls -R /dev/scsi", que je met aussi dans le
$REMOVER du périphérique.
Maintenant, le /dev/sd?? se crée et disparait automatiquement à chaque
branchement de périphérique usb-storage.

Mais franchement, cette astuce, faut vraiment chercher pour tomber dessus...
Bug devfs ?

--
Christophe PEREZ
Écrivez moi sans _faute !

1 2 3