Traduction(s): English - Français


DebSearch:hotplug -- DebSearch:USB

Noyau 2.6, attention

Les noms des modules ont été changés. Les noms de modules cités ci-dessous correspondent aux noyaux 2.4.*

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 :

En théorie le taux de transfert escompté est de 12Mb/s, mais en pratique dans les meilleurs cas il ne peut dépasser 8Mb/s et dans la majorité des utilisations le débit stagne à 2Mb/s. La nouvelle norme ?USB2.0 promet un débit théorique de 480 Mb/s !

Base

Pour l'USB, l'utilisation d'un noyau 2.4 ou supérieur 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

et monter le système de fichier virtuel ('/proc/bus/usb' ) permettant de gérer l'USB. Dans certains cas au moins, on a constaté que le hotplug ne fonctionnait pas si le core USB était installé en module (en clair, présence d'un module usbcore). Il vaut donc mieux mettre CONFIG_USB à "y" qu'à "m".

  'usbdevfs /proc/bus/usb usbdevfs defaults 0 0'

  'mount /proc/bus/usb usbdevfs -t usbdevfs '

Pratique!

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.

permet d'obtenir la liste des pilotes chargés (même s'il n'y pas de périphérique correspondant)

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 :

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 Support for'

UHCI peut varier suivant le contrôleur USB, il peut être :

Pour plus d'information consulter la documentation de la carte-mère et aussi celle du noyau6. En cas de difficulté au "hotplug", essayer de mettre le support USB en dur dans le noyau (CONFIG_USB à y au lieu de m).

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 LinuxUSBGuide