« Connecter un lecteur flash USB » : différence entre les versions
m (Jiel a déplacé la page Hardware-hard stock-flashusb vers Connecter un lecteur flash USB) |
|||
(3 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 4 : | Ligne 4 : | ||
<div class="leatitre">Connecter un lecteur Flash USB</div><div class="leapar">par Laurent DUBETTIER-GRENIER, [mailto:jtmastom@.chez.wanadoo.fr Maston28] et Fred.</div><div class="leadesc">Connecter un lecteur flash USB (palmkey, diskonkey...) ou une clé usb sous Linux, mais aussi certains appareils photos numériques...</div> | <div class="leatitre">Connecter un lecteur Flash USB</div><div class="leapar">par Laurent DUBETTIER-GRENIER, [mailto:jtmastom@.chez.wanadoo.fr Maston28] et Fred.</div><div class="leadesc">Connecter un lecteur flash USB (palmkey, diskonkey...) ou une clé usb sous Linux, mais aussi certains appareils photos numériques...</div> | ||
---- | ---- | ||
<cadre type=alert> | |||
Cette page est obsolète. Cette documentation est conservée par intérêt historique pour les personnes qui ont une ancienne distribution GNU/Linux. | |||
</cadre> | |||
== Introduction == | == Introduction == | ||
Ligne 18 : | Ligne 21 : | ||
== Procédure simplifiée == | == Procédure simplifiée == | ||
=== Dernière minute (Mandrake 9.0) | === Dernière minute (Mandrake 9.0) : === | ||
Avec la dernière distribution de [http:/www.mandrakesoft.com Mandrakesoft], Linux Mandrake 9.0 (noyau 2.4.19-16mdk), c'est extrêmement | Avec la dernière distribution de [http:/www.mandrakesoft.com Mandrakesoft], Linux Mandrake 9.0 (noyau 2.4.19-16mdk), c'est extrêmement simple ! Il suffit de connecter le lecteur Flash USB, et de le monter en tapant : | ||
<div class="code">$ mount /mnt/removable</div> | <div class="code">$ mount /mnt/removable</div> | ||
Pour accéder aux | Pour accéder aux fichiers : | ||
<div class="code">$ cd /mnt/removable</div> | <div class="code">$ cd /mnt/removable</div> | ||
Avant de le déconnecter, il ne faut pas oublier de le | Avant de le déconnecter, il ne faut pas oublier de le démonter : | ||
<div class="code">$ umount /mnt/removable</div> | <div class="code">$ umount /mnt/removable</div> | ||
''Nota (voir la procédure détaillée ci-dessous pour plus d'information) | ''Nota (voir la procédure détaillée ci-dessous pour plus d'information) :''<br /> Sur cette distribution linux, le fichier <b>/etc/fstab</b> contient la ligne suivante : | ||
<div class="code">/dev/sda1 /mnt/removable auto user,iocharset=iso8859-15,kudzu,codepage=850,noauto,umask=0,exec 0 0</div> | <div class="code">/dev/sda1 /mnt/removable auto user,iocharset=iso8859-15,kudzu,codepage=850,noauto,umask=0,exec 0 0</div> | ||
''Les modules chargés par défaut (visibles en tapant lsmod) sont < | ''Les modules chargés par défaut (visibles en tapant lsmod) sont <b>usbcore</b> et <b>usb-uhci</b>. Il n'y a pas <b>usb-storage</b>, mais cela fonctionne quand même...'' | ||
=== Si vous n'avez pas Mandrake Linux 9. | === Si vous n'avez pas Mandrake Linux 9.0 : === | ||
''(ou plus précisement le dernier noyau...)'' | ''(ou plus précisement le dernier noyau...)'' | ||
En considérant que le lecteur Flash USB est le premier périphérique de stockage SCSI (je suppose ici que vous n'avez pas d'autres périphériques SCSI ou USB), il suffit de suivre les instructions | En considérant que le lecteur Flash USB est le premier périphérique de stockage SCSI (je suppose ici que vous n'avez pas d'autres périphériques SCSI ou USB), il suffit de suivre les instructions suivantes : | ||
<div class="code">$ mkdir /mnt/pk<br /> $ mount -t msdos /dev/sda1 /mnt/pk<br /> $ cd /mnt/pk</div> | <div class="code">$ mkdir /mnt/pk<br /> $ mount -t msdos /dev/sda1 /mnt/pk<br /> $ cd /mnt/pk</div> | ||
Le lecteur Flash USB, livré avec un système de fichier DOS, est alors lisible et inscriptible. Avant de le déconnecter, ne pas oublier de le | Le lecteur Flash USB, livré avec un système de fichier DOS, est alors lisible et inscriptible. Avant de le déconnecter, ne pas oublier de le démonter : | ||
<div class="code">$ umount /mnt/pk</div> | <div class="code">$ umount /mnt/pk</div> | ||
Ligne 56 : | Ligne 59 : | ||
=== Préparer USB === | === Préparer USB === | ||
Avant de brancher votre lecteur Flash USB, vous devez vous assurer que votre système possède le module noyau USB. Nous avons besoin de < | Avant de brancher votre lecteur Flash USB, vous devez vous assurer que votre système possède le module noyau USB. Nous avons besoin de <b>usb-uhci</b> (ou <b>usb-ohci</b>) et du module de stockage <b>usb-storage</b>chargé. Utiliser <b>lsmod</b> pour vérifier qu'ils sont bien présents. Sinon, utiliser <b>modprobe</b> : | ||
<div class="code">$ modprobe usb-uhci usb-storage</div> | <div class="code">$ modprobe usb-uhci usb-storage</div> | ||
'' | ''Nota : le driver <b>usb-uhci</b> est le driver pour un type de pont USB. Si cela ne fonctionne pas, c'est que vous avez un pont OHCI. Dans ce cas, il faut faire "modprobe usb-ohci".'' | ||
En tapant de nouveau < | En tapant de nouveau <b>lsmod</b>, vous devriez alors voir apparaître le noyau usb, les drivers <b>usb-uhci</b> ou <b>usb-ohci</b>, et <b>usb-storage</b>, entre autres. | ||
=== Préparer le périphérique === | === Préparer le périphérique === | ||
Dès que les modules sont chargés, vous pouvez connecter le lecteur Flash USB. Attendre quelques secondes et changer de répertoire vers < | Dès que les modules sont chargés, vous pouvez connecter le lecteur Flash USB. Attendre quelques secondes et changer de répertoire vers <b>/proc/bus/usb</b>. <b>/proc/bus/usb</b> est le répertoire regroupant les informations sur les périphériques usb. Le répertoire devrait contenir un fichier <b>devices</b>, un fichier <b>drivers</b>, et un répertoire pour le hub USB. | ||
Le fichier drivers contient une liste des périphériques USB disponibles. Il devrait contenir une entrée vers < | Le fichier drivers contient une liste des périphériques USB disponibles. Il devrait contenir une entrée vers <b>usb-storage</b>, le module que nous avons inséré auparavant. Le fichier le plus important est le fichier <b>devices</b> : il liste tous les périphériques usb connectés au système. | ||
'' | ''Nota : On obtient la même information, dans un format plus lisible, en tapant directement l'instruction "usbview" depuis un serveur X (interface graphique).'' | ||
Vous devriez avoir une entrée pour votre Lecteur Flash USB dans une des lignes commençant par "T:". Sur mon | Vous devriez avoir une entrée pour votre Lecteur Flash USB dans une des lignes commençant par "T:". Sur mon système : | ||
<div class="code">T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=3 Spd=12 MxCh=0</div> | <div class="code">T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=3 Spd=12 MxCh=0</div> | ||
La plupart des périphériques contiennent des informations en clair (une chaîne de caratère) les décrivant. Elles sont présentes dans les lignes commençant par "< | La plupart des périphériques contiennent des informations en clair (une chaîne de caratère) les décrivant. Elles sont présentes dans les lignes commençant par "<b>S:</b>". Quelques lecteurs Flash USB ne contiennent aucune information (mon palm key est dans ce cas...). L'information relative à la version de vos périphériques est présente après "<b>P:</b>". Pour mon palm key : | ||
<div class="code">P: Vendor=0c76 ProdID=0003 Rev=1.0</div> | <div class="code">P: Vendor=0c76 ProdID=0003 Rev=1.0</div> | ||
Ligne 84 : | Ligne 87 : | ||
=== Le driver usb-storage === | === Le driver usb-storage === | ||
Le travail du driver usb-storage est de lier les périphériques de stockage de masse USB à des périphériques SCSI. Ceci autorise les périphériques USB à être traités comme des périphériques de stockage amovibles. Si tout c'est bien passé, le Lecteur Flash USB doit être assigné à un périphérique SCSI. Dans < | Le travail du driver usb-storage est de lier les périphériques de stockage de masse USB à des périphériques SCSI. Ceci autorise les périphériques USB à être traités comme des périphériques de stockage amovibles. Si tout c'est bien passé, le Lecteur Flash USB doit être assigné à un périphérique SCSI. Dans <b>/proc/scsi</b>, vous devez voir un répertoire nommé <b>usb-storage-0</b> ou similaire. Le numéro à la fin peut être différent, il dépend du nombre de périphériques de stockage USB présents sur votre système. Le fichier <b>/proc/scsi/scsi</b> contient des détails sur les périphériques sont répertoriés comme périphériques SCSI. | ||
<div class="code">Attached | <div class="code">Attached devices :<br /> Host: scsi0 channel: 00 Id: 00 Lun: 00<br /> Vendor: USB Flash Model: Disk<br /> Type: Direct-Access ANSI SCSI revision: 02</div> | ||
Si vous n'avez pas d'autres périphériques SCSI, la seule entrée de ce fichier est votre lecteur Flash USB. | Si vous n'avez pas d'autres périphériques SCSI, la seule entrée de ce fichier est votre lecteur Flash USB. | ||
'' | ''Note : en l'absence d'identification du vendeur sur le périphérique lui-même (et aussi dans le fichier <b>/proc/bus/usb/devices</b>), le périphérique est juste déclaré comme générique.'' | ||
La première ligne < | La première ligne <b>host</b> informe sur la localisation du périphérique. Si c'est le premier périphérique SCSI, il sera déclaré comme <b>/dev/sda1</b>. | ||
=== Monter le périphérique === | === Monter le périphérique === | ||
À ce moment, nous avons identifié quel périphérique SCSI est lié au lecteur Flash USB. Il ne reste plus qu'à le | À ce moment, nous avons identifié quel périphérique SCSI est lié au lecteur Flash USB. Il ne reste plus qu'à le monter : | ||
<div class="code">$ mkdir /mnt/pk<br /> $ mount | <div class="code">$ mkdir /mnt/pk<br /> $ mount -t msdos /dev/sda1 /mnt/pk</div> | ||
On peut alors aller sur < | On peut alors aller sur <b>/mnt/pk</b> et écrire ou lire le lecteur Flash USB. Quand une action d'écriture arrive sur le périphérique, la led rouge doit clignoter. Comme les données sont stockées dans une zone tampon avant d'être écrites, ne paniquez pas si la led ne clignote pas à chaque fois que vous évcrivez sur le lecteur Flash USB. | ||
''' | '''Attention :''' n'oubliez pas de démonter le système de fichiers avant de débrancher le lecteur Flash USB. Vous pouvez ajouter une entrée dans <b>/etc/fstab</b> pour faciliter le montage et le démontage du périphérique : | ||
<div class="code">/dev/sda1 /mnt/pk msdos user,noauto 0 0</div> | <div class="code">/dev/sda1 /mnt/pk msdos user,noauto 0 0</div> | ||
Avec l'entrée dans < | Avec l'entrée dans <b>/etc/fstab</b>, monter et démonter le périphérique est alors plus simple. L'indicateur "user" autorise une personne autre que root à monter et démonter le lecteur Flash USB. | ||
<div class="code">$ mount /mnt/pk<br /> $ umount /mnt/pk</div> | <div class="code">$ mount /mnt/pk<br /> $ umount /mnt/pk</div> | ||
Ligne 112 : | Ligne 115 : | ||
=== Remplacer le systeme de fichiers DOS === | === Remplacer le systeme de fichiers DOS === | ||
Si vous n'êtes pas intéressé par partager vos données avec un système MS-DOS ou Windows, vous pouvez formater votre lecteur Flash USB avec un système de fichiers Linux. < | Si vous n'êtes pas intéressé par partager vos données avec un système MS-DOS ou Windows, vous pouvez formater votre lecteur Flash USB avec un système de fichiers Linux. <b>ReiserFS</b> est journalisé et doit pouvoir être le système de fichiers de votre lecteur Flash USB. Les lignes suivantes décrivent l'installation d'un système de fichier <b>extended2-fs</b>. | ||
''' | '''Attention :''' avant d'écrire un nouveau système de fichiers sur votre lecteur Flash USB, vous devez démonter le lecteur. | ||
''' | '''Attention :''' les données présentes sur le lecteur Flash USB seront perdues. | ||
Exemple : | |||
<div class="code">$ umount /dev/sda1<br /> $ mke2fs /dev/sda1</div> | <div class="code">$ umount /dev/sda1<br /> $ mke2fs /dev/sda1</div> | ||
Ensuite, il faut changer la ligne de < | Ensuite, il faut changer la ligne de <b>/etc/fstab</b> pour que le système de fichiers soit <b>ext2</b> au lieu de <b>msdos</b>. | ||
== Application aux disque-durs externes USB == | == Application aux disque-durs externes USB == | ||
Ligne 133 : | Ligne 136 : | ||
Il faut ensuite monter les périphériques USB dans /proc/bus/usb : | Il faut ensuite monter les périphériques USB dans /proc/bus/usb : | ||
<div class="code"> | |||
< | <b>mount -t '''usbdevfs''' none /proc/bus/usb</b> | ||
</div> | |||
Attention, sur les nouveaux noyaux c'est usbfs : | |||
<div class="code"> | |||
<b>mount -t '''usbfs''' none /proc/bus/usb</b> | |||
</div> | |||
Nous allons maintenant monter le disque dur: | Nous allons maintenant monter le disque dur: | ||
<div class="code"> | |||
<b>mkdir /mnt/externe && mount -t vfat /dev/sda /mnt/externe</b> | |||
</div> | |||
'''Attention :'''Je suppose ici que votre disque dur est formaté en FAT32 (par défaut à l'achat...) | |||
'''Attention :'''si le disque dur est partitionné, remplacez sda par sda<font color="red">x</font> | |||
''' | |||
== Chasse aux troubles == | == Chasse aux troubles == | ||
Ligne 151 : | Ligne 159 : | ||
* Vous avez un lecteur de carte mémoire type 'n en 1' (4 en 1, 6 en 1) et ça ne semble pas fonctionner avec Linux alors que d'autres périphériques de stockage USB fonctionnent. | * Vous avez un lecteur de carte mémoire type 'n en 1' (4 en 1, 6 en 1) et ça ne semble pas fonctionner avec Linux alors que d'autres périphériques de stockage USB fonctionnent. | ||
<div class="note">Essayer de recompiler votre noyau en activant l'option : <code>Probe all LUNs on each scsi devices</ | <div class="note">Essayer de recompiler votre noyau en activant l'option : <div class="code">Probe all LUNs on each scsi devices</div>.<br />Merci à mrcrabs (du phorum)<br />Sur une knoppix, il est possible de passer un parametre au boot: <div class="code">max_scsi_luns=4</div> puisqu'en general il y'a 4 ports sur le lecteur.<br />Merci à JoDay du forum.</div> | ||
* Vous avez un appareil photo numérique, mais il ne fonctionne pas en tant que périphérique de stockage. | * Vous avez un appareil photo numérique, mais il ne fonctionne pas en tant que périphérique de stockage. | ||
<div class="note">Essayer [http://gphoto.sourceforge.net/ gPhoto<sup>2</sup>] qui est spécialisé dans les appareils photos numériques (même non supportés par usb-storage), voir la [http://gphoto.sourceforge.net/proj/libgphoto2/support.php liste des appareils supportés].</div> | <div class="note">Essayer [http://gphoto.sourceforge.net/ gPhoto<sup>2</sup>] qui est spécialisé dans les appareils photos numériques (même non supportés par usb-storage), voir la [http://gphoto.sourceforge.net/proj/libgphoto2/support.php liste des appareils supportés].</div> | ||
* Votre périphérique semble reconnu mais vous fait des erreurs du type (à lire dans /var/log/messages) : | * Votre périphérique semble reconnu mais vous fait des erreurs du type (à lire dans /var/log/messages) : | ||
<div class="code">Jul 22 22:10:04 localhost kernel: usb-uhci.c: interrupt, status 2, frame# 1374<br /> Jul 22 22:10:04 localhost kernel: Device 08:00 not ready.<br /> Jul 22 22:10:04 localhost kernel: I/O error: dev 08:00, sector 0<br /> Jul 22 22:10:04 localhost kernel: FAT: unable to read boot sector</div><div class="note"> Cela peut être du à une protection de la clé (protection par mot de passe, c'est semble-t-il le cas du TravelDisk USB 2.O de PQI). Tentez alors de faire formater votre clé usb par un systéme d'exploitation reconnaissant votre clé en supprimant cette protection (par exemple Windows) chez vous, ou chez un amis, un revendeur.<br /> Merci à rami aubourg (du forum). </div> | <div class="code">Jul 22 22:10:04 localhost kernel: usb-uhci.c: interrupt, status 2, frame# 1374<br /> Jul 22 22:10:04 localhost kernel: Device 08:00 not ready.<br /> Jul 22 22:10:04 localhost kernel: I/O error: dev 08:00, sector 0<br /> Jul 22 22:10:04 localhost kernel: FAT: unable to read boot sector</div><div class="note"> Cela peut être du à une protection de la clé (protection par mot de passe, c'est semble-t-il le cas du TravelDisk USB 2.O de PQI). Tentez alors de faire formater votre clé usb par un systéme d'exploitation reconnaissant votre clé en supprimant cette protection (par exemple Windows) chez vous, ou chez un amis, un revendeur.<br /> Merci à rami aubourg (du forum). </div> | ||
* Lorsque vous branchez votre périphérique, il semble reconnu mais /dev/sdx n'apparait (cas ou vous utilisez devfs) pas ou ne fonctionne pas. D'ailleur tout semble normal quand vous regardez le log des messages (en tapant <code>dmesg</ | * Lorsque vous branchez votre périphérique, il semble reconnu mais /dev/sdx n'apparait (cas ou vous utilisez devfs) pas ou ne fonctionne pas. D'ailleur tout semble normal quand vous regardez le log des messages (en tapant <div class="code">dmesg</div>) : | ||
<div class="code">hub.c: new USB device 00:14.3-1.3, assigned address 6<br /> usb.c: USB device 6 (vend/prod 0x58f/0x9360) is not claimed by any active driver.<br /> Initializing USB Mass Storage driver...<br /> usb.c: registered new driver usb-storage<br /> scsi2 : SCSI emulation for USB Mass Storage devices </div><div class="note"> | <div class="code">hub.c: new USB device 00:14.3-1.3, assigned address 6<br /> usb.c: USB device 6 (vend/prod 0x58f/0x9360) is not claimed by any active driver.<br /> Initializing USB Mass Storage driver...<br /> usb.c: registered new driver usb-storage<br /> scsi2 : SCSI emulation for USB Mass Storage devices </div><div class="note"> | ||
Vérifiez que vous avez bien compilez (en module ou en 'dur') votre kernel avec les options : | Vérifiez que vous avez bien compilez (en module ou en 'dur') votre kernel avec les options : | ||
Ligne 173 : | Ligne 181 : | ||
</div> | </div> | ||
* En désespoir de cause, peut-être votre périphérique n'est-il tout simplement pas reconnu, vérifiez dans cette [http://www.linux-usb.org/devices.html liste]. | * En désespoir de cause, peut-être votre périphérique n'est-il tout simplement pas reconnu, vérifiez dans cette [http://www.linux-usb.org/devices.html liste]. | ||
<br/> | |||
<br/> | |||
'''<b>[[Hardware-index|@ Retour à la rubrique Matériel]]</b>''' | |||
<br/> | |||
<div class="merci">Cette page est issue de la documentation 'pré-wiki' de Léa et a été convertie avec HTML::WikiConverter. Elle fut créée par Laurent DUBETTIER-GRENIER le 25/10/2002.</div> | <div class="merci">Cette page est issue de la documentation 'pré-wiki' de Léa et a été convertie avec HTML::WikiConverter. Elle fut créée par Laurent DUBETTIER-GRENIER le 25/10/2002.</div> |
Dernière version du 27 décembre 2018 à 15:41
Connecter un lecteur Flash USB
<cadre type=alert> Cette page est obsolète. Cette documentation est conservée par intérêt historique pour les personnes qui ont une ancienne distribution GNU/Linux. </cadre>
Introduction
Les lecteurs Flash USB deviennent de plus en plus populaires : faciles à utiliser et disposant d'une grande capacité de stockage, ils remplaceront avantageusement une pile de disquettes... Les lecteurs les plus récents sont conformes à la norme USB 2.0 (jusqu'à 40 fois plus rapide que USB 1.1 pour le taux de transfert) et disposent de capacités de stockage allant jusqu'à 512 Mo (note : la capacité ne cesse d'augmenter. En 2006 on en est à 4 Go), mais les prix sont alors très élevés... Personnellement, j'utilise un Palm Key de 64 Mo en norme USB 1.1, produit par Allwell... Cet article a pour objectif d'expliquer la configuration permettant d'accéder à ce lecteur sous Linux. Je suppose que cela sera aussi utile aux possesseurs de lecteurs Flash USB de marques différentes ainsi qu'aux possesseurs d'appareils photo numériques comme le Sony Cyber-shot DSC P71.
Cet article n'est que la traduction incomplète de l'excellent article de Matt Butcher, visible à cette adresse. Dans cet article en anglais, il décrit, en plus de la partie traduite ci-dessous, le moyen de créer un système de fichiers crypté sur un lecteur Flash USB.
Pour profiter de cet article, vous devez disposer :
- d'un lecteur Flash USB (palmkey, diskonkey ou similaire)
- d'un système Linux avec un noyau 2.4.x.
Procédure simplifiée
Dernière minute (Mandrake 9.0) :
Avec la dernière distribution de [http:/www.mandrakesoft.com Mandrakesoft], Linux Mandrake 9.0 (noyau 2.4.19-16mdk), c'est extrêmement simple ! Il suffit de connecter le lecteur Flash USB, et de le monter en tapant :
Pour accéder aux fichiers :
Avant de le déconnecter, il ne faut pas oublier de le démonter :
Nota (voir la procédure détaillée ci-dessous pour plus d'information) :
Sur cette distribution linux, le fichier /etc/fstab contient la ligne suivante :
Les modules chargés par défaut (visibles en tapant lsmod) sont usbcore et usb-uhci. Il n'y a pas usb-storage, mais cela fonctionne quand même...
Si vous n'avez pas Mandrake Linux 9.0 :
(ou plus précisement le dernier noyau...)
En considérant que le lecteur Flash USB est le premier périphérique de stockage SCSI (je suppose ici que vous n'avez pas d'autres périphériques SCSI ou USB), il suffit de suivre les instructions suivantes :
$ mount -t msdos /dev/sda1 /mnt/pk
$ cd /mnt/pk
Le lecteur Flash USB, livré avec un système de fichier DOS, est alors lisible et inscriptible. Avant de le déconnecter, ne pas oublier de le démonter :
Procédure détaillée
Ce paragraphe décrit la configuration pas à pas d'un lecteur Flash USB. Cela permet, en cas de problème d'accès à votre lecteur Flash USB, de cerner plus précisement d'où vient le problème.
Préparer USB
Avant de brancher votre lecteur Flash USB, vous devez vous assurer que votre système possède le module noyau USB. Nous avons besoin de usb-uhci (ou usb-ohci) et du module de stockage usb-storagechargé. Utiliser lsmod pour vérifier qu'ils sont bien présents. Sinon, utiliser modprobe :
Nota : le driver usb-uhci est le driver pour un type de pont USB. Si cela ne fonctionne pas, c'est que vous avez un pont OHCI. Dans ce cas, il faut faire "modprobe usb-ohci".
En tapant de nouveau lsmod, vous devriez alors voir apparaître le noyau usb, les drivers usb-uhci ou usb-ohci, et usb-storage, entre autres.
Préparer le périphérique
Dès que les modules sont chargés, vous pouvez connecter le lecteur Flash USB. Attendre quelques secondes et changer de répertoire vers /proc/bus/usb. /proc/bus/usb est le répertoire regroupant les informations sur les périphériques usb. Le répertoire devrait contenir un fichier devices, un fichier drivers, et un répertoire pour le hub USB.
Le fichier drivers contient une liste des périphériques USB disponibles. Il devrait contenir une entrée vers usb-storage, le module que nous avons inséré auparavant. Le fichier le plus important est le fichier devices : il liste tous les périphériques usb connectés au système.
Nota : On obtient la même information, dans un format plus lisible, en tapant directement l'instruction "usbview" depuis un serveur X (interface graphique).
Vous devriez avoir une entrée pour votre Lecteur Flash USB dans une des lignes commençant par "T:". Sur mon système :
La plupart des périphériques contiennent des informations en clair (une chaîne de caratère) les décrivant. Elles sont présentes dans les lignes commençant par "S:". Quelques lecteurs Flash USB ne contiennent aucune information (mon palm key est dans ce cas...). L'information relative à la version de vos périphériques est présente après "P:". Pour mon palm key :
Dès que vous avez une entrée dans ce fichier pour votre lecteur Flash USB, vous pouvez continuer. Si il n'y a pas d'entrée, contrôler la connexion physique de votre périphérique et assurez-vous que les modules nécessaires sont bien chargés dans le noyau.
Le driver usb-storage
Le travail du driver usb-storage est de lier les périphériques de stockage de masse USB à des périphériques SCSI. Ceci autorise les périphériques USB à être traités comme des périphériques de stockage amovibles. Si tout c'est bien passé, le Lecteur Flash USB doit être assigné à un périphérique SCSI. Dans /proc/scsi, vous devez voir un répertoire nommé usb-storage-0 ou similaire. Le numéro à la fin peut être différent, il dépend du nombre de périphériques de stockage USB présents sur votre système. Le fichier /proc/scsi/scsi contient des détails sur les périphériques sont répertoriés comme périphériques SCSI.
Host: scsi0 channel: 00 Id: 00 Lun: 00
Vendor: USB Flash Model: Disk
Type: Direct-Access ANSI SCSI revision: 02
Si vous n'avez pas d'autres périphériques SCSI, la seule entrée de ce fichier est votre lecteur Flash USB.
Note : en l'absence d'identification du vendeur sur le périphérique lui-même (et aussi dans le fichier /proc/bus/usb/devices), le périphérique est juste déclaré comme générique.
La première ligne host informe sur la localisation du périphérique. Si c'est le premier périphérique SCSI, il sera déclaré comme /dev/sda1.
Monter le périphérique
À ce moment, nous avons identifié quel périphérique SCSI est lié au lecteur Flash USB. Il ne reste plus qu'à le monter :
$ mount -t msdos /dev/sda1 /mnt/pk
On peut alors aller sur /mnt/pk et écrire ou lire le lecteur Flash USB. Quand une action d'écriture arrive sur le périphérique, la led rouge doit clignoter. Comme les données sont stockées dans une zone tampon avant d'être écrites, ne paniquez pas si la led ne clignote pas à chaque fois que vous évcrivez sur le lecteur Flash USB.
Attention : n'oubliez pas de démonter le système de fichiers avant de débrancher le lecteur Flash USB. Vous pouvez ajouter une entrée dans /etc/fstab pour faciliter le montage et le démontage du périphérique :
Avec l'entrée dans /etc/fstab, monter et démonter le périphérique est alors plus simple. L'indicateur "user" autorise une personne autre que root à monter et démonter le lecteur Flash USB.
$ umount /mnt/pk
Remplacer le systeme de fichiers DOS
Si vous n'êtes pas intéressé par partager vos données avec un système MS-DOS ou Windows, vous pouvez formater votre lecteur Flash USB avec un système de fichiers Linux. ReiserFS est journalisé et doit pouvoir être le système de fichiers de votre lecteur Flash USB. Les lignes suivantes décrivent l'installation d'un système de fichier extended2-fs.
Attention : avant d'écrire un nouveau système de fichiers sur votre lecteur Flash USB, vous devez démonter le lecteur.
Attention : les données présentes sur le lecteur Flash USB seront perdues.
Exemple :
$ mke2fs /dev/sda1
Ensuite, il faut changer la ligne de /etc/fstab pour que le système de fichiers soit ext2 au lieu de msdos.
Application aux disque-durs externes USB
par Maston28
Si vous Possédez un disque dur externe en usb, alors cette partie va vous intéresser ! Vous pouvez en effet utiliser un disque-dur externe sous linux en reprenant ce principe (qui s'applique aussi aux lecteurs ZIP). Sachez tout d'abord que pour un gros disque dur, il vaut mieux avoir compilé son noyau avec l'option USB Mass Storage. Vous devez tout d'abord charger les modules requis :
insmod uhci-usb
insmod usb-storage
Il faut ensuite monter les périphériques USB dans /proc/bus/usb :
mount -t usbdevfs none /proc/bus/usb
Attention, sur les nouveaux noyaux c'est usbfs :
mount -t usbfs none /proc/bus/usb
Nous allons maintenant monter le disque dur:
mkdir /mnt/externe && mount -t vfat /dev/sda /mnt/externe
Attention :Je suppose ici que votre disque dur est formaté en FAT32 (par défaut à l'achat...)
Attention :si le disque dur est partitionné, remplacez sda par sdax
Chasse aux troubles
par Fred, d'après les questions du forum.
Il existe plusieurs types de problèmes. Certains ayant une solution, d'autres pas :( .
- Vous avez un lecteur de carte mémoire type 'n en 1' (4 en 1, 6 en 1) et ça ne semble pas fonctionner avec Linux alors que d'autres périphériques de stockage USB fonctionnent.
Merci à mrcrabs (du phorum)
Sur une knoppix, il est possible de passer un parametre au boot:
Merci à JoDay du forum.
- Vous avez un appareil photo numérique, mais il ne fonctionne pas en tant que périphérique de stockage.
- Votre périphérique semble reconnu mais vous fait des erreurs du type (à lire dans /var/log/messages) :
Jul 22 22:10:04 localhost kernel: Device 08:00 not ready.
Jul 22 22:10:04 localhost kernel: I/O error: dev 08:00, sector 0
Jul 22 22:10:04 localhost kernel: FAT: unable to read boot sector
Merci à rami aubourg (du forum).
- Lorsque vous branchez votre périphérique, il semble reconnu mais /dev/sdx n'apparait (cas ou vous utilisez devfs) pas ou ne fonctionne pas. D'ailleur tout semble normal quand vous regardez le log des messages (en tapant dmesg) :
usb.c: USB device 6 (vend/prod 0x58f/0x9360) is not claimed by any active driver.
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
scsi2 : SCSI emulation for USB Mass Storage devices
Vérifiez que vous avez bien compilez (en module ou en 'dur') votre kernel avec les options :
- SCSI support
- SCSI generic support
- SCSI disk support
Si c'est le cas, et que vous avez compiler ces options en modules, après le chargement d'usb-storage, essayer de charger ces trois modules :
modprobe sd_mod
modprobe sg
Merci à Mr_youd (du forum).
- Votre périphérique est vu par le driver usb (uhci, ohci, etc.) mais pas par usb-storage (par exemple en cas de firmware buggué - mon appareil photo est dans ce cas).
Essayer la procédure suivante, en tant que root :
rmmod usb-storage
sleep 2s
modprobe usb-storage
Avec mon appareil photo 'buggué', /dev/sda1 apparait apres le second modprobe. Pourquoi ? Mystère ! Surement un problème de 'timing'.
- En désespoir de cause, peut-être votre périphérique n'est-il tout simplement pas reconnu, vérifiez dans cette liste.
@ Retour à la rubrique Matériel
Copyright
Copyright © 25/10/2002, Laurent DUBETTIER-GRENIER
![]() ![]() ![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |