?DebianFrench
Introduction
«Universal Serial Bus» (USB) est une norme développée depuis 1994 par les partenaires industriels Compaq, Intel, Microsoft et NEC. Elle décrit un bus de communication pour les périphériques et se donnant comme objectifs initiaux :
1. connecter les ["PCs"] au téléphone
2. utilisation facile
3. connectique extensible
Concrètement, les machines récentes sont livrées avec au moins un connecteur USB sur lequel il est théoriquement possible de brancher 127 périphériques de tous types (imprimantes, scanner, disques, modem, photo numérique, ...). Les cartes mères sont généralement pourvues d'un contrôleur USB compatibles avec l'un des deux standards :
OHCI -- Open Host Controller Interface (Compaq)
UHCI -- Universal Host Controller Interface (Intel)
En théorie le taux de transfert escompté est de 12Mbit/s, mais en pratique dans les meilleurs cas il ne peut dépasser 8Mbits/s et dans la majorité des utilisations le débit stagne à 2M/bits. La nouvelle norme ["USB2"].0 promet un débit théorique de 480 Mbit/s !
Base
Pour l'USB, l'utilisation d'un noyau 2.4 est préférable même si le support USB est maintenant disponible pour les noyaux 2.2
Avoir le support USB activé ! C'est à dire, dans la config du noyau
- «Support for USB»,
- «Preliminary USB device filesystem»
et monter le système de fichier virtuel ('/proc/bus/usb' ) permettant de gérer l'USB.
- ajouter dans le fichier /etc/fstab , une entrée de la forme
'usbdevfs /proc/bus/usb usbdevfs defaults 0 0'
- «à la main»,
'mount /proc/bus/usb usbdevfs -t usbdevfs '
Pratique!
- 'sudo tail -f /var/log/messages'
La commande ci-desssus exécutée avant de brancher un périphérique USB (ou non!) permet de suivre les évènements systèmes correspondant. Cela donne pas mal d'informations et permet donc d'aider au déverminage.
- utiliser l'applicatif usbview pour visualiser la structure hiérarchique du bus USB.
- 'cat /proc/bus/usb/drivers'
permet d'obtenir la liste des pilotes chargés (même s'il n'y pas de périphérique correspondant)
- 'cat /proc/bus/usb/devices'
permet d'obtenir la liste des périphériques détectés sur le bus USB
Exemple
Le branchement d'un flash-drive (cf ci-après) génère le message suivant ::
' hub.c: USB new device connect on bus1/1, assigned device number 6
Manufacturer: USB Product: Solid state disk SerialNumber: 1E4207E33D900311 scsi0 : SCSI emulation for USB Mass Storage devices Vendor: USB Model: HD Rev: 1.11 Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sda: 64512 512-byte hdwr sectors (33 MB) sda: Write Protect is off sda:<7>usb-storage: queuecommand() called sda1'
DebSearch:hotplug
Afin de connecter facilement et automatiquement des périphériques USB, le système GNU/Linux est désormais fourni avec l'utilitaire hotplug .
L'utilisation d'hotplug permet une autoconfiguration (au moins partielle) du système et dispense donc l'utilisateur de tâches d'administration souvent ardues.
Cette fonctionnalité est essentiellement basée sur :
- un ensemble de fichiers de configuration localisés dans (/etc/hotplug )
le démon correspondant (cf file:///etc/init.d/hotplug qui prend en charge la détection et le chargement des modules correspondants aux périphériques connectés.
Sous Debian, le fichier de configuration basique est déplacé en /etc/default/hotplug.usb .
L'utilisation de hotplug permet donc d'optimiser (réduire) le contenu du fichier /etc/modules qui force le chargement de modules lors de l'initialisation du système. Après avoir vérifié que le branchement d'un périphérique provoque bien le chargement du bon module, on supprimera les lignes inutiles de ce fichier.
Le site de développement «hotplug» http://linux-hotplug.sourceforge.net/
Flash Drive / Disk On Key (Grégory Simon)
Un «flash drive» est une unité de stockage ayant toutes les fonctionnalités d'un disque dur traditionel. Ce sont en fait des petits modules de mémoire souvent présentés en forme de briquet ou de stylo. Ils peuvent avoir des capacités de 32, 64, 128, 256, 512 ou 1024 mégaoctets.
Ils ont pour but de faciliter le transfert de données d'un ordinateur à un autre et d'être universel car le port USB est présent sur la plupart des équipements récents.
La liste des modules nécessaires pour supporter les «USB Flash Drive» (en plus du support USB de base)
'usb-storage [USB Mass Storage support]'
hotplug
'sd_mod [SCSI Disk support]'
'scsi_mod [SCSI Support]'
'uhci [UHCI Alternate Driver (JE) support]'
'usbcore [wiki:USB Support for]'
UHCI peut varier suivant le contrôleur USB, il peut être :
- uhci
- usb-uhci
- usb-ohci
- ehci-hcd
Pour plus d'information consulter la documentation de la carte-mère et aussi celle du noyau6
Ensuite il faut créer un point de montage :
'# sudo mkdir /mnt/flash'
Dans le fichier /etc/fstab , insérer la ligne suivante pour permettre le montage/démontage par les utilisateurs :
'/dev/sda1 /mnt/flash vfat default,noauto,user 0 0'
Il est maintenant possible de monter/utiliser/démonter l'«USB Flash Drive» comme un disque normal.
'# mount /mnt/flash'
'# ...'
'# umount /mnt/flash'
Autre contribution Rémi Suinot (novembre 2002)
Dans le même genre, l'utilisation très similaire d'un disk on key (64Mo de mémoire sur support externe et connexion usb) est décrite dans la documentation :
Disque On Key http://rsuinux.free.fr/index3.php?page=debian&index=clef_usb
Pour en savoir plus
The Linux USB sub-system http://["LinuxUSBGuide"].sourceforge.net