Brevet FR2858864A1 — publié le 20050218

APPAREIL PERIPHERIQUE A CONNEXION USB ET PROCEDE DE MISE EN SERVICE DE L'APPAREIL PERIPHERIQUE A CONNEXION USB La présente invention concerne un appareil périphérique à connexion USB destiné à fonctionner avec un système hôte et un procédé de mise en service de l'appareil périphérique à connexion USB sur un système hôte. Les systèmes hôtes sont habituellement utilisés avec un grand nombre d'appareils périphériques tels qu'un clavier, une souris, un écran, une imprimante, un scanner, des supports de mémorisation externe ainsi que des appareils périphériques internes tels que des cartes d'interfaces ou des disques durs. Dans le domaine des systèmes de bus actuellement disponibles qui sont destinés à relier les appareils périphériques au système hôte, par exemple des systèmes informatiques, le bus série universel est en particulier de plus en plus utilisé comme interface simple, normalisée et universelle présentant une grande modularité. L'un des grands avantages de I'USB est que l'on peut ajouter ou retirer les appareils périphériques pendant le fonctionnement. Pour obtenir toute la fonctionnalité des appareils périphériques, il faut installer un pilote pour chaque appareil périphérique sur le système hôte. Pour obtenir une configuration la plus simple possible des pilotes à l'intérieur d'un système USB, on divise les différents appareils périphériques en classes d'appareil HUB (réseaux), audio (haut-parleur, microphone), imprimante, communication (modem), mémoire de grande capacité (disque dur) et dispositif d'interface utilisateur (clavier, souris, manette de commande). Les pilotes nécessaires à ces classes sont déjà contenus dans la liste des fournisseurs de tous les systèmes d'exploitation courants tels que Windows ou Linux. Lorsque l'on raccorde l'appareil périphérique à I'USB, l'appareil périphérique raccordé est détecté par le système hôte au moyen d'une identification de matériel transmise par l'appareil périphérique puis détermine la classe d'appareil que l'appareil périphérique transmet au moyen d'un descripteur et que l'appareil périphérique utilise pour notifier ses attributs au système hôte. A partir de la classe d'appareil déterminé, le système d'exploitation charge le pilote correspondant qui est ensuite entré dans le registre et qui peut être associé à l'aide de cette entrée lors d'une nouvelle connexion ultérieure de l'appareil périphérique. En ce qui concerne les appareils périphériques qui n'appartiennent à aucune classe d'appareil définie, le pilote doit être chargé par la disquette ou le CD d'installation. Pour cela, le pilote est chargé sur le système hôte lors d'un processus d'installation séparée au moyen d'un CD d'installation ou d'une disquette d'installation fournie par le fabricant de l'appareil périphérique. En général, on a besoin pour cela d'entrer des données utilisateur qui prennent du temps et qui nécessite de la part d'un utilisateur une connaissance approfondie des appareils périphériques et du système hôte. En particulier, dans des environnements variables mobiles, par exemple des Cybercafés, une nouvelle installation correspondante au moyen d'une disquette ou d'un CD est nécessaire. Il faut ajouter à cela le problème que pour de tels systèmes accessibles au public l'installation de logiciels par un utilisateur n'est pas autorisée. Le but de l'invention est donc de proposer une solution qui permet une mise en service simple et souple d'appareils périphériques à connexion USB sur un système hôte quelconque. Le but est atteint par le fait que le pilote est mémorisé dans l'appareil périphérique à connexion USB, une installation automatique du pilote sur le système hôte étant effectuée lors d'une mise en service de l'appareil périphérique sur le système hôte. En outre, le but est atteint par un procédé de mise en service de l'appareil périphérique à connexion USB dans lequel l'appareil périphérique délivre un descripteur d'une classe d'appareil définissant une mémoire de grande capacité et dans lequel le système hôte intègre l'appareil périphérique en tant que lecteur pour accéder au système, installe automatiquement dans une mémoire associée au système hôte le pilote mémorisé dans l'appareil périphérique et entre le pilote dans le fichier de registre du système hôte. Selon l'invention, on dispose ainsi d'un appareil périphérique permettant de procéder à une mise en service simple et très souple de l'appareil périphérique sans posséder de connaissances spécifiques du système. En raison du fait que l'appareil périphérique, dont la classe d'appareil n'est pas connu du système d'exploitation, se fait passer pour un appareil associé à la classe d'appareil de mémoire de grande capacité, il est possible d'intégrer à tout moment l'appareil périphérique dans le gestionnaire 2858864 3 d'appareils du système hôte car le pilote est connu du système d'exploitation du système hôte de sorte qu'un accès utilisateur n'est pas nécessaire pour installer le pilote nécessaire au fonctionnement de l'appareil périphérique. Cela est particulièrement avantageux en ce que le fabricant n'a pas besoin de fournir de disquette ou de CD d'installation du pilote. De cette façon, en matière de matériel, on fait une économie sur les coûts de fabrication qui sont générés par l'élaboration des disquettes ou CD, le stockage et l'emballage. De façon avantageuse, une fois le pilote installé, l'appareil périphérique est déconnecté de l'USB de sorte que l'appareil périphérique est même effacé du gestionnaire d'appareils. Lors d'une nouvelle connexion sur l'USB, et en raison du fait qu'une entrée dans le registre a été effectuée après l'installation, le système d'exploitation est en mesure d'associer le bon pilote à l'appareil périphérique de sorte que le pilote est chargé et l'application peut être démarrée sur l'appareil périphérique. D'autres conformations et perfectionnements avantageux de l'invention sont présentés dans les sous revendications. L'invention est expliquée en détail dans la suite en se référant aux figures représentées dans les dessins dans lesquels: la figure 1 représente un appareil périphérique de l'invention relié à un système hôte et la figure 2 est un organigramme d'une mise en service de l'appareil périphérique de invention sur le système hôte. La figure 1 représente un système hôte 1 auquel est relié un appareil périphérique 3 via une interface USB 2. L'appareil périphérique 3 comporte une mémoire dans laquelle sont stockées des données d'identification telle qu'une identification matérielle ou bien une classe d'appareil associée, un programme d'initialisation avec des fichiers de pilotes et un outil d'installation pour l'installation du pilote sur le système hôte. L'appareil périphérique est alors conçu de telle sorte qu'il est détecté par le système hôte 1 lors d'un raccordement à l'interface USB 2 et transmet sa classe d'appareil au système hôte 1 au moyen d'un descripteur. Si aucune classe d'appareil normalisée en mémoire dans un système d'exploitation du système hôte 1 ne peut être associée à l'appareil périphérique 3, l'appareil périphérique 3 démarre automatiquement le programme d'initialisation, les fichiers de pilote étant copiés sur un disque dur, non représenté ici, du système hôte. Un registre est adapté par le système d'exploitation du système hôte 1 et le pilote est intégré par des mécanismes propres du système d'exploitation. La figure 2 représente le déroulement d'une mise en service de l'appareil périphérique 3 de l'invention sur le système hôte 1 et le processus d'installation lié à cette mise en service. Dans une première étape 1, un utilisateur a raccordé l'appareil périphérique 3, par exemple une carte à puce, à son système hôte 1. La carte à puce transmet alors son identification matérielle et un descripteur de mémoire de grande capacité pour indiquer au système hôte 1 la classe d'appareil qui lui est associée. Si le système d'exploitation du système hôte peut associer à l'étape 2 la carte à puce à une classe d'appareil qui lui est connue, il intègre alors automatiquement la carte à puce en tant que nouveau lecteur à l'étape 3 par exemple dans un gestionnaire d'appareils et un explorateur du système hôte 1 car un pilote spécifique de cette classe d'appareils est connu du système d'exploitation. Le pilote nécessaire au fonctionnement de la carte à puce ainsi que le programme d'initialisation destiné à effectuer l'installation du pilote sur le système hôte 1 sont mémorisés dans la mémoire 4 de la carte à puce. L'installation automatique du pilote est effectuée à l'étape 4, le pilote étant mémorisé sur le disque dur du système hôte 1. Le pilote est entré dans le registre du système hôte 1 à l'étape 5 suivante. À l'étape 6, la carte à puce intégrée en tant que mémoire de grande capacité est déconnectée automatiquement de I'USB. Le système d'exploitation supprime alors la carte à puce du gestionnaire d'appareils. À l'étape 7, la carte à puce est de nouveau connecté à l'USB, le système d'exploitation associe alors le bon pilote à la carte à puce dont la classe d'appareil est inconnue, puis à l'étape 8 charge le pilote correspondant de sorte qu'une application cible peut être réalisée via la carte à puce. L'appareil périphérique de l'invention permet d'effectuer une mise en service très souple et très simple d'un appareil périphérique sur tout système informatique sans que l'utilisateur effectue des entrées de données spécifiques ou générales qui ne peuvent effectuer que si l'on a des connaissances particulières du système informatique ou de l'appareil périphérique, en particulier lorsque l'on utilise des systèmes informatiques accessibles au public dans lesquels on n'est pas autorisé à installer des logiciels. Liste des références 1 Système hôte 2 Interface USB 3 Appareil périphérique 4 Mémoire Traduction des schémas Schéma 2 1 Connexion 2 Classe d'appareil ? 3 Intégration 4 Installation Registre 6 Déconnexion 7 Connexion 8 Chargement Revendications 1. Appareil périphérique à connexion USB (3) destiné à fonctionner avec un système hôte (1), lequel appareil périphérique comporte un pilote nécessaire au fonctionnement avec le système hôte (1), caractérisé en ce que le pilote est mémorisé dans une mémoire (4) de l'appareil périphérique à connexion USB (3), une installation automatique du pilote sur le système hôte (1) étant effectuée lors de la mise en service de l'appareil périphérique (3) sur le système hôte (1). 2. Appareil périphérique à connexion USB (3) selon la revendication 1, caractérisé en ce que l'appareil périphérique (3) est un appareil périphérique externe ou interne (3). 3. Appareil périphérique à connexion USB (3) selon la revendication 1 ou 2, caractérisé en ce que l'appareil périphérique à connexion USB (3) est un appareil périphérique (3) comportant un pilote qui est nécessaire au fonctionnement et dont la classe d'appareil est inconnue. 4. Appareil périphérique à connexion USB (3) selon la revendication 3, caractérisé en ce qu'un attribut associé à la classe d'appareil mémoire de grande capacité est mémorisé dans la mémoire (4) de l'appareil périphérique (3), lequel attribut peut être délivré au système hôte (1) via un descripteur. 5. Procédé de mise en service d'un appareil périphérique à connexion USB (3) sur un système hôte (1), dans lequel - l'appareil périphérique (3) délivre lors d'un premier raccordement à une interface USB (2) du système hôte (1) un descripteur d'une classe d'appareil définissant une mémoire de grande capacité, - le système hôte (1) intègre l'appareil périphérique (3) en tant que lecteur à mémoire de grande capacité afin d'accéder au système en raison du fait qu'un pilote est disponible pour la classe d'appareil mémoire de grande capacité, - un pilote mémorisé dans l'appareil périphérique (3) est installé automatiquement sur un disque dur associé au système hôte (1) et - le pilote est entré dans le fichier de registre du système hôte (1). 6. Procédé selon la revendication 5, caractérisé en ce que l'appareil périphérique (3) se déconnecte automatiquement du système hôte (1) après avoir effectué l'installation du pilote et l'entrée dans le registre et le système hôte (1) supprime l'intégration de l'appareil périphérique (3) en tant que lecteur à mémoire de grande capacité. 7. Procédé selon la revendication 6, caractérisé en ce que l'appareil périphérique (3) se connecte de nouveau à l'interface USB (2) et délivre au système hôte (1) un descripteur qui est associé au pilote installé et dont la classe d'appareil est inconnue. 8. Procédé (1) selon la revendication 7, caractérisé en ce que le système hôte (1) associe automatiquement le pilote nécessaire au fonctionnement de l'appareil périphérique (3) en raison de l'entrée dans le registre et le charge pour effectuer une application cible.