FR2969337A1 - Electronic device i.e. universal serial bus device, for installation of software in host station e.g. personal computer, has processor for selecting and storing interface description associated with driver software in memory - Google Patents

Electronic device i.e. universal serial bus device, for installation of software in host station e.g. personal computer, has processor for selecting and storing interface description associated with driver software in memory Download PDF

Info

Publication number
FR2969337A1
FR2969337A1 FR1060889A FR1060889A FR2969337A1 FR 2969337 A1 FR2969337 A1 FR 2969337A1 FR 1060889 A FR1060889 A FR 1060889A FR 1060889 A FR1060889 A FR 1060889A FR 2969337 A1 FR2969337 A1 FR 2969337A1
Authority
FR
France
Prior art keywords
host station
memory
command
driver
usb
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1060889A
Other languages
French (fr)
Other versions
FR2969337B1 (en
Inventor
Nicolas Bousquet
Florent Oulieres
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1060889A priority Critical patent/FR2969337B1/en
Publication of FR2969337A1 publication Critical patent/FR2969337A1/en
Application granted granted Critical
Publication of FR2969337B1 publication Critical patent/FR2969337B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)

Abstract

The device (2000) has a memory (2400) storing driver software (2411, 2412) and an installer file (2420) downloadable by a host station (1000), where the installer file contains instructions for the host station to download the driver software. A processor (2300) selects and stores interface description associated with the driver software in another memory (2800), upon receiving a command from the host station, for processing a next statement, where the interface description is declared to the host station during processing of the next statement. Independent claims are also included for the following: (1) a method for management of an electronic device (2) a computer program for management of an electronic device (3) a recording medium storing instructions for managing an electronic device.

Description

Arrière-plan de l'invention Background of the invention

L'invention se situe dans le domaine des dispositifs électroniques, et plus précisément dans celui de l'installation de pilotes logiciels pouvant être installés sur une station hôte apte à communiquer avec de tels dispositifs. Elle s'applique de façon privilégiée mais non limitative aux dispositifs électroniques. Dans ce document, l'expression « dispositif USB » désigne tout dispositif dont l'interface physique avec la station hôte est conforme à la spécification USB (acronyme de « Universal Serial Bus » pour bus série universel) et apte à communiquer selon un protocole conforme à cette spécification. De façon connue, un pilote logiciel approprié au type de dispositif USB doit être installé dans la station hôte pour que celle-ci puisse l'utiliser. 20 On connaît notamment : - le pilote logiciel MASS STORAGE permettant à la station hôte de communiquer avec un périphérique USB vu comme une unité de stockage de masse, et en particulier de type CD-ROM virtuel permettant à la station hôte de télécharger un fichier à exécution automatique connu sous le nom 25 de fichier autorun.inf ; - le pilote logiciel CCID (acronyme de Chip/Smart Card Interface Devices) permettant à la station hôte de communiquer avec un dispositif USB de type « carte intelligente » ; et - le pilote logiciel EEM (acronyme de Ethernet Emulation Model) 30 permettant à la station hôte de communiquer avec le dispositif conformément au protocole Ethernet et donc de voir le dispositif USB comme une carte de communication de type Ethernet. Il est fréquent que le pilote logiciel MASS STORAGE soit préinstallé dans les stations hôtes, mais ce n'est pas le cas pour les pilotes logiciels 35 d'autres types. L'invention permet de faciliter l'installation de tels pilotes. 1 Objet et résumé de l'invention The invention lies in the field of electronic devices, and more specifically in that of installing software drivers that can be installed on a host station capable of communicating with such devices. It applies in a preferred but nonlimiting way to electronic devices. In this document, the term "USB device" refers to any device whose physical interface with the host station conforms to the USB specification (acronym for "Universal Serial Bus" for universal serial bus) and capable of communicating according to a protocol that complies to this specification. In known manner, a software driver appropriate to the type of USB device must be installed in the host station for it to use it. The following are particularly known: the MASS STORAGE software driver allowing the host station to communicate with a USB device seen as a mass storage unit, and in particular of virtual CD-ROM type enabling the host station to download a file to automatic execution known as autorun.inf file; - the software driver CCID (acronym for Chip / Smart Card Interface Devices) allowing the host station to communicate with a USB device type "smart card"; and the Ethernet Emulation Model (EEM) software driver 30 enabling the host station to communicate with the device in accordance with the Ethernet protocol and thus to view the USB device as an Ethernet type communication card. It is common for the MASS STORAGE software driver to be preinstalled in host stations, but this is not the case for software drivers of other types. The invention makes it easier to install such pilots. 1 Object and summary of the invention

Plus précisément, l'invention concerne un dispositif électronique comportant : - une première mémoire mémorisant au moins un pilote logiciel et un fichier informatique dit « d'installation », ce fichier d'installation téléchargeable par une station hôte du dispositif comportant des instructions permettant à la station hôte, lorsqu'elles sont exécutées par un processeur de la station hôte : - de télécharger le pilote à partir de la première mémoire, dans une mémoire de la station hôte ; et - d'envoyer une commande déterminée au dispositif ; - des moyens de réception de cette commande ; - des moyens aptes, sur réception de ladite commande, à sélectionner et enregistrer d'au moins une description d'interface associée à ce pilote dans une deuxième mémoire dudit dispositif en vue d'un prochain processus de déclaration ; et - des moyens pour déclarer cette description d'interface à la station hôte lors du prochain processus de déclaration. More precisely, the invention relates to an electronic device comprising: a first memory storing at least one software driver and a so-called "installation" computer file, this installation file downloadable by a host station of the device comprising instructions allowing the host station, when executed by a processor of the host station: - to download the driver from the first memory, in a memory of the host station; and - to send a specific command to the device; means for receiving this command; means capable, on receiving said command, of selecting and recording at least one interface description associated with this driver in a second memory of said device with a view to a next declaration process; and means for declaring this interface description to the host station during the next declaration process.

Corrélativement, l'invention concerne aussi un procédé de gestion d'un dispositif électronique comportant, dans une première mémoire, au moins un pilote logiciel et un fichier informatique dit « d'installation », ce fichier d'installation téléchargeable par une station hôte du dispositif comportant des instructions permettant à la station hôte, lorsqu'elles sont exécutées par un processeur de la station hôte : - de télécharger le pilote à partir de la première mémoire, dans une mémoire de la station hôte ; et - d'envoyer une commande déterminée au dispositif. Ce procédé comporte : - une étape de réception de la commande ; - sur réception de la commande, une étape de sélection et d'enregistrement d'au moins une description d'interface associée au pilote dans une deuxième mémoire du dispositif en vue d'un prochain processus de déclaration ; et - une étape de déclaration de la description d'interface à la station hôte lors du prochain processus de déclaration. 2 Ainsi, et de façon très avantageuse, l'invention permet de télécharger automatiquement un pilote logiciel dans la station hôte sans intervention de l'utilisateur. Dans un mode préféré de réalisation, le téléchargement du pilote est effectué avant l'étape de déclaration. Cette caractéristique permet d'éviter la survenance d'un message d'erreur ou d'un message à l'utilisateur de la station hôte lui indiquant que le pilote logiciel est absent et qu'il doit être téléchargé. Dans un mode préféré de réalisation, le dispositif comporte des moyens pour provoquer le prochain processus de déclaration suite à la réception de la commande. A cet effet, le dispositif peut comporter des moyens pour provoquer une réinitialisation du bus de communication avec la station hôte après réception de la commande. Correlatively, the invention also relates to a method for managing an electronic device comprising, in a first memory, at least one software driver and a computer file called "installation", this installation file downloadable by a host station of the device comprising instructions allowing the host station, when executed by a processor of the host station: - to download the driver from the first memory, in a memory of the host station; and - to send a specific command to the device. This method comprises: a step of receiving the command; upon receipt of the command, a step of selecting and recording at least one interface description associated with the driver in a second memory of the device with a view to a next declaration process; and a step of declaring the interface description to the host station during the next declaration process. Thus, and very advantageously, the invention makes it possible to automatically download a software driver into the host station without user intervention. In a preferred embodiment, the download of the driver is performed before the declaration step. This feature avoids the occurrence of an error message or message to the user of the host station indicating that the software driver is absent and must be downloaded. In a preferred embodiment, the device comprises means for initiating the next declaration process following receipt of the order. For this purpose, the device may comprise means for causing a reset of the communication bus with the host station after receiving the command.

Dans un mode particulier de réalisation du dispositif selon l'invention, la première mémoire comporte un programme à lancement automatique téléchargeable par la station hôte et comportant des instructions permettant à la station hôte, lorsqu'elles sont exécutées par un processeur de la station hôte, de télécharger et d'exécuter le fichier d'installation. Dans un mode préféré de réalisation, le dispositif électronique selon l'invention est un dispositif USB, le processus de déclaration correspondant à un processus d'énumération USB. Préférentiellement, ce dispositif USB comporte, dans sa deuxième mémoire, une description d'interface USB de type MASS STORAGE, le programme à lancement automatique étant associé à l'interface USB de type MASS STORAGE. Un tel programme à lancement automatique est connu de l'homme du métier sous le nom « autorun ». In a particular embodiment of the device according to the invention, the first memory comprises a self-launching program downloadable by the host station and including instructions allowing the host station, when executed by a processor of the host station, to download and run the installation file. In a preferred embodiment, the electronic device according to the invention is a USB device, the declaration process corresponding to a USB enumeration process. Preferably, this USB device comprises, in its second memory, a description of MASS STORAGE type USB interface, the self-launching program being associated with the USB interface type MASS STORAGE. Such an automatic launch program is known to those skilled in the art under the name "autorun".

Ce mode de réalisation permet avantageusement de télécharger le fichier d'installation lui-même de façon automatique. Dans un mode particulier de réalisation, le programme à lancement automatique comporte des instructions pour éviter le téléchargement des pilotes et l'envoi de la commande par la station hôte, lorsque le pilote est déjà mémorisé dans une mémoire de la station hôte. This embodiment advantageously makes it possible to download the installation file itself automatically. In a particular embodiment, the self-launching program includes instructions to avoid downloading the drivers and sending the command by the host station, when the driver is already stored in a memory of the host station.

Il a été dit que l'invention permettait un fonctionnement parfaitement automatique, sans aucune intervention de l'utilisateur. Cependant, dans une variante de réalisation, il peut être souhaitable de demander explicitement à l'utilisateur s'il souhaite utiliser une interface particulière. L'invention propose alors d'insérer l'identifiant des interfaces choisies dans la commande. Par conséquent, dans un mode particulier de réalisation, les moyens d'enregistrement du dispositif selon l'invention sont aptes à sélectionner la description d'interface à enregistrer dans la deuxième mémoire en fonction d'une information contenue dans la commande. Les différentes étapes du procédé de gestion sont déterminées par des instructions de programmes d'ordinateurs. En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre par un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes du procédé de gestion tel que mentionné ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. It has been said that the invention allows a perfectly automatic operation, without any intervention of the user. However, in an alternative embodiment, it may be desirable to explicitly ask the user if he wishes to use a particular interface. The invention proposes then to insert the identifier of the interfaces chosen in the command. Therefore, in a particular embodiment, the recording means of the device according to the invention are able to select the interface description to be recorded in the second memory according to information contained in the command. The different steps of the management method are determined by computer program instructions. Accordingly, the invention also relates to a computer program on an information medium, this program being capable of being implemented by a computer, this program comprising instructions adapted to the implementation of the steps of the method of management as mentioned above. This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other form desirable shape.

Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront dans la description faite ci-dessous en référence aux dessins qui en illustrent un mode de réalisation dépourvu de tout caractère limitatif. BRIEF DESCRIPTION OF THE DRAWINGS Other features and advantages of the present invention will be apparent from the description given below with reference to the drawings which illustrate an embodiment without any limiting character.

Sur les dessins : - la figure 1 représente un dispositif électronique conforme à un mode de réalisation de l'invention, connecté à une station hôte ; et - la figure 2 représente sous forme d'organigramme les principales étapes d'un procédé de gestion conforme à un mode particulier de réalisation de l'invention. In the drawings: FIG. 1 represents an electronic device according to an embodiment of the invention, connected to a host station; and FIG. 2 represents in flowchart form the main steps of a management method according to a particular embodiment of the invention.

Description détaillée d'un mode de réalisation Detailed description of an embodiment

La figure 1 représente une station hôte 1000, par exemple un ordinateur personnel de type PC, ou un téléphone mobile, reliée par un connecteur 3000 à un dispositif 2000 conforme à un mode particulier de réalisation de l'invention. Dans le mode de réalisation décrit ici le dispositif 2000 est un dispositif USB 2000, par exemple une clef USB et le connecteur 3000 est conforme aux spécifications de la norme USB. FIG. 1 represents a host station 1000, for example a personal computer of the PC type, or a mobile telephone, connected by a connector 3000 to a device 2000 according to a particular embodiment of the invention. In the embodiment described here the device 2000 is a USB 2000 device, for example a USB key and the connector 3000 complies with the specifications of the USB standard.

La station hôte 1000 est tout à fait conventionnelle et seuls les éléments utiles à la compréhension de l'invention ont été représentés. Elle comporte notamment un processeur 1400, et une mémoire non volatile réinscriptible 1100 dans laquelle sont enregistrés : - un programme 1110 de gestion de la communication USB avec le dispositif USB 2000 ; - un pilote logiciel 1120 de la classe USB « MASS STORAGE » permettant à la station hôte 1000 de communiquer avec le dispositif USB 2000, celui-ci étant vu comme une mémoire de masse de type CD-ROM virtuel ; et - un pilote logiciel 1130 de la classe USB « HID» (Human Interface Device). Le dispositif USB 2000 est apte à communiquer avec la station hôte 1000 conformément au protocole USB. Il comporte un processeur 2300, une mémoire vive de type RAM 2301, une mémoire morte de type ROM 2302, une première mémoire non volatile réinscriptible 2400 pour mémoriser des données, et une deuxième mémoire non volatile réinscriptible 2800 de type système. Les mémoires 2400 et 2800 sont par exemple de type EEPROM. La mémoire morte de type ROM 2302 constitue un support au sens de l'invention. Elle mémorise un programme d'ordinateur PG comportant des instructions pour l'exécution des étapes d'un procédé de gestion selon l'invention, et dont les principales étapes sont représentées à la figure 2. La mémoire système 2800 comporte un système d'exploitation 2810 qui gère notamment le contrôle de la première mémoire non volatile 2400 et la communication USB avec la station hôte 1000. The host station 1000 is quite conventional and only the elements useful for understanding the invention have been represented. It comprises in particular a processor 1400, and a rewritable non-volatile memory 1100 in which are recorded: a program 1110 for managing USB communication with the USB 2000 device; a software driver 1120 of the USB class "MASS STORAGE" allowing the host station 1000 to communicate with the USB 2000 device, the latter being seen as a mass memory of the virtual CD-ROM type; and a software driver 1130 of the USB class "HID" (Human Interface Device). The USB 2000 device is able to communicate with the host station 1000 according to the USB protocol. It comprises a processor 2300, a RAM type RAM 2301, a ROM type ROM 2302, a first rewritable non-volatile memory 2400 for storing data, and a second system type rewritable non-volatile memory 2800. The memories 2400 and 2800 are for example of the EEPROM type. ROM type ROM 2302 constitutes a medium within the meaning of the invention. It stores a computer program PG comprising instructions for executing the steps of a management method according to the invention, and whose main steps are shown in Figure 2. The system memory 2800 includes an operating system 2810 which manages in particular the control of the first non-volatile memory 2400 and the USB communication with the host station 1000.

La mémoire 2800 comporte aussi une zone dans laquelle peuvent être mémorisés les descripteurs d'interface USB qui doivent être communiqués à la station hôte 1000 lors d'un processus de déclaration, connu sous le nom de processus ou de phase d'énumération dans le contexte de la norme USB. Dans le mode de réalisation décrit ici, la mémoire de données 2400 mémorise un programme à lancement automatique 2401. Conformément à l'invention, la mémoire de données 2400 mémorise en outre au moins un pilote logiciel. Dans l'exemple de réalisation décrit ici, la mémoire 2400 mémorise plus précisément deux pilotes logiciels, à savoir : - un pilote logiciel CCID 2411 (acronyme de Chip/Smart Card Interface Devices) nécessaire pour permettre à la station hôte 1000 de communiquer avec un dispositif USB 2000 lorsque celui-ci émule une carte intelligente ; et - un pilote logiciel EEM 2412 (acronyme de Ethernet Emulation Model) pour permettre à la station hôte 1000 de communiquer avec le dispositif USB 2000 lorsque-celui-ci émule une carte de communication de type Ethernet. Conformément à l'invention, la mémoire de données 2400 comporte en outre un fichier informatique 2420 permettant le téléchargement des pilotes 2411, 2412 par la station hôte 1000 et leur installation dans la mémoire 1100 de la station hôte 1000. Lorsque le dispositif USB 2000 est inséré dans un port USB de la station hôte 1000, le processeur 1400 de la station hôte 1000 détecte la présence du dispositif USB et établit une communication (étape E10) avec le dispositif 2000 conformément au protocole USB. La station hôte 1000 interroge ensuite le dispositif USB 2000 dans une première phase d'énumération pour identifier les périphériques USB nouvellement connectés (étape E20). Lors de cette première phase d'énumération, le système d'exploitation 2810 du dispositif USB 2000 ne s'énumère que comme une mémoire de mass MASS STORAGE de type CD-ROM virtuel. Le programme de gestion 1110 de la station hôte recherche ensuite la présence d'un programme à lancement automatique 2401 dans la mémoire de données 2400 du dispositif USB, le découvre et le télécharge 35 en coopération avec le système d'exploitation 2810 (étape E30). The memory 2800 also includes an area in which the USB interface descriptors which are to be communicated to the host station 1000 during a declaration process, known as the enumeration process or phase, may be stored. of the USB standard. In the embodiment described here, the data memory 2400 stores an autostart program 2401. In accordance with the invention, the data memory 2400 further stores at least one software driver. In the exemplary embodiment described here, the memory 2400 stores more precisely two software drivers, namely: a software driver CCID 2411 (acronym for Chip / Smart Card Interface Devices) necessary to allow the host station 1000 to communicate with a USB 2000 device when it emulates a smart card; and an EEM 2412 software driver (acronym for Ethernet Emulation Model) to enable the host station 1000 to communicate with the USB 2000 device when it emulates an Ethernet type communication card. According to the invention, the data memory 2400 furthermore comprises a computer file 2420 enabling the downloading of the drivers 2411, 2412 by the host station 1000 and their installation in the memory 1100 of the host station 1000. When the USB 2000 device is inserted in a USB port of the host station 1000, the processor 1400 of the host station 1000 detects the presence of the USB device and establishes a communication (step E10) with the device 2000 according to the USB protocol. The host station 1000 then queries the USB 2000 device in a first enumeration phase to identify the newly connected USB devices (step E20). During this first enumeration phase, the operating system 2810 of the USB 2000 device is only listed as a mass memory MASS STORAGE virtual CD-ROM type. The host station management program 1110 then searches for the presence of an auto-start program 2401 in the USB device's data memory 2400, discovers it, and downloads it in cooperation with the operating system 2810 (step E30). .

Ce programme est exécuté par le processeur 1400 de la station hôte 1000. Dans le mode de réalisation décrit ici, le programme à lancement automatique 1401 comporte des instructions pour vérifier si les pilotes 2411, 2412 sont déjà mémorisés dans la mémoire 1100 de la station hôte. Dans le scénario décrit ici, ce n'est pas le cas et l'exécution du programme à lancement automatique 1401 se poursuit par une étape E40 au cours de laquelle le processeur 1400 de la station hôte 1000 télécharge, en coopération avec le système d'exploitation 2810, le fichier d'installation 2420. Le processeur 1400 exécute alors (étape [45) les instructions de ce fichier et télécharge les pilotes 2411, 2412 à partir de la mémoire non volatile 2400 ; il les installe dans la mémoire 1100 de la station hôte 1000. Puis, la station hôte 1000 envoie une commande prédéterminée au dispositif USB 2000 conformément aux instructions du programme à lancement automatique 1401. Dans le mode préféré de réalisation décrit ici, cette commande ne comporte pas de paramètre. En variante elle pourrait contenir l'identifiant des interfaces USB que l'utilisateur souhaite effectivement utiliser.. This program is executed by the processor 1400 of the host station 1000. In the embodiment described here, the autorun program 1401 includes instructions for checking whether the drivers 2411, 2412 are already stored in the memory 1100 of the host station . In the scenario described here, this is not the case and the execution of the self-launching program 1401 continues with a step E40 during which the processor 1400 of the host station 1000 downloads, in cooperation with the system. operation 2810, the installation file 2420. The processor 1400 then executes (step [45) the instructions of this file and downloads the drivers 2411, 2412 from the non-volatile memory 2400; it installs them in the memory 1100 of the host station 1000. Then, the host station 1000 sends a predetermined command to the USB 2000 device according to the instructions of the self-launching program 1401. In the preferred embodiment described here, this command does not include no parameter. In a variant, it could contain the identifier of the USB interfaces that the user actually wants to use.

Cette commande est reçue par le dispositif USB lors d'une étape E50. Conformément à l'invention, le dispositif USB 2000 enregistre les descriptions d'interface USB associés aux pilotes logiciels 2411, 2412 dans la zone de la mémoire système 2800 réservée aux descripteurs d'interface USB (étape E60). Si la commande reçue à l'étape E50 comporte des identifiants d'interface USB, seules les descriptions correspondantes sont enregistrées. Dans le mode de réalisation décrit ici, le dispositif USB provoque une phase d'énumération USB (étape E70) en réinitialisant le bus USB 3000 de communication avec la station hôte 1000. En variante, cette opération pourrait être effectuée par la station hôte 1000 après qu'elle a envoyé la commande, un délai minimum devant être respecté pour laisser le temps au dispositif USB 2000 d'enregistrer les descripteurs d'interface USB dans la mémoire système 2800. This command is received by the USB device during a step E50. In accordance with the invention, the USB 2000 device stores the USB interface descriptions associated with the software drivers 2411, 2412 in the area of the system memory 2800 reserved for the USB interface descriptors (step E60). If the command received in step E50 includes USB interface identifiers, only the corresponding descriptions are recorded. In the embodiment described here, the USB device causes a USB enumeration phase (step E70) by resetting the USB bus 3000 communication with the host station 1000. Alternatively, this operation could be performed by the host station 1000 after that it sent the command, a minimum delay must be respected to allow the USB 2000 device time to save the USB interface descriptors in the 2800 system memory.

Un nouveau processus d'énumération est donc déclenché, au cours duquel le système d'exploitation 2810 s'énumère conformément aux descripteurs d'interface enregistrés dans la mémoire système 2800 (étape E70). Le contrôleur 1100 de la station hôte exécute alors les pilotes logiciels correspondant aux classes énumérées : - pilote 1100 pour mémoire de masse ; - pilote 1130 de classe HID ; - pilote 2411 CCID ; et - pilote 2412 EEM. Le processeur 1400 de la station hôte 1000 exécute à nouveau le 10 programme à lancement automatique 2401. Mais lors de cette deuxième exécution, le processeur 1400 détecte que les pilotes 2411, 2412 sont déjà installés dans la mémoire 1100, de sorte qu'il ne cherche pas à les télécharger et qu'il n'envoie pas la commande prédéterminée.A new enumeration process is thus triggered, during which the operating system 2810 is enumerated according to the interface descriptors stored in system memory 2800 (step E70). The controller 1100 of the host station then executes the software drivers corresponding to the classes listed: driver 1100 for mass memory; - HID class 1130 driver; - 2411 CCID driver; and - pilot 2412 EEM. The processor 1400 of the host station 1000 executes the self-launching program 2401 again. But in this second run, the processor 1400 detects that the drivers 2411, 2412 are already installed in the memory 1100, so that it does not do not try to download them and do not send the predetermined command.

15 Le dispositif USB 2000 peut donc être utilisé par la station hôte 1000, en mode « carte intelligente » et « carte Ethernet ». The USB 2000 device can therefore be used by the host station 1000, in "smart card" and "Ethernet card" mode.

Claims (11)

REVENDICATIONS1. Dispositif électronique (2000) caractérisé en ce qu'il comporte : - une première mémoire (2400) mémorisant au moins un pilote logiciel (2411, 2412) et un fichier informatique (2420) dit « d'installation », ce fichier d'installation téléchargeable par une station hôte (1000) dudit dispositif (2000) comportant des instructions permettant à ladite station hôte (1000), lorsqu'elles sont exécutées par un processeur (1400) de ladite station hôte (1000) : - de télécharger ledit au moins un pilote (2411, 2412) à partir de ladite première mémoire (2400), dans une mémoire (1100) de ladite station hôte (1000) ; - d'envoyer une commande déterminée audit dispositif (2000) ; - des moyens de réception de ladite commande ; et - des moyens aptes, sur réception de ladite commande, à sélectionner et à enregistrer (2300, 2810) au moins une description d'interface associée audit au moins un pilote (2411, 2412) dans une deuxième mémoire (2800) dudit dispositif en vue d'un prochain processus de déclaration ; et - des moyens pour déclarer ladite au moins une description d'interface à ladite station hôte (1000) lors dudit prochain processus de déclaration. REVENDICATIONS1. Electronic device (2000) characterized in that it comprises: - a first memory (2400) storing at least one software driver (2411, 2412) and a computer file (2420) called "installation", this installation file downloadable by a host station (1000) of said device (2000) including instructions allowing said host station (1000), when executed by a processor (1400) of said host station (1000): - to download said at least a driver (2411, 2412) from said first memory (2400), in a memory (1100) of said host station (1000); sending a determined order to said device (2000); means for receiving said command; and means capable, on receiving said command, of selecting and recording (2300, 2810) at least one interface description associated with said at least one driver (2411, 2412) in a second memory (2800) of said device view of a future declaration process; and means for declaring said at least one interface description to said host station (1000) during said next declaration process. 2. Dispositif (2000) selon la revendication 1, caractérisé en ce qu'il comporte des moyens pour provoquer ledit prochain processus de déclaration suivant suite à la réception de ladite commande. 2. Device (2000) according to claim 1, characterized in that it comprises means for causing said next next declaration process following receipt of said command. 3. Dispositif (2000) selon la revendication 1 ou 2, caractérisé en ce que - ladite première mémoire (2400) comporte un programme à lancement automatique (2401) téléchargeable par la station hôte (1000), ce 30 programme (2401) comportant des instructions permettant à ladite station hôte (1000), lorsqu'elles sont exécutées par un processeur (1400) de ladite station hôte (1000), de télécharger et d'exécuter ledit fichier d'installation (2420). 35 3. Device (2000) according to claim 1 or 2, characterized in that - said first memory (2400) comprises a program to automatic launch (2401) downloadable by the host station (1000), this program (2401) comprising instructions enabling said host station (1000), when executed by a processor (1400) of said host station (1000), to download and execute said installation file (2420). 35 4. Dispositif (2000) selon la revendication 3, caractérisé en ce que ledit programme à lancement automatique (autorun) comporte des25instructions pour éviter ledit téléchargement et l'envoi de ladite commande par ladite station hôte (1000), lorsque ledit au moins un pilote (2411, 2412) est déjà mémorisé dans une mémoire (1100) de ladite station hôte (1000). 4. Device (2000) according to claim 3, characterized in that said autorun program (autorun) comprises25instructions to prevent said downloading and sending said command by said host station (1000), when said at least one driver (2411, 2412) is already stored in a memory (1100) of said host station (1000). 5. Dispositif (2000) selon l'une quelconque des revendications 1 à 4, caractérisé en ce lesdits moyens d'enregistrement sont aptes à sélectionner ladite description d'interface à enregistrer dans ladite deuxième mémoire (2800) en fonction d'une information contenue dans ladite commande. 5. Device (2000) according to any one of claims 1 to 4, characterized in that said recording means are adapted to select said interface description to be recorded in said second memory (2800) according to information contained in said command. 6. Dispositif (2000) selon l'une quelconque des revendications 1 à 5, ledit dispositif étant un dispositif USB. 6. Device (2000) according to any one of claims 1 to 5, said device being a USB device. 7. Dispositif USB (2000) suivant les revendications 3 et 6, caractérisé en ce que ladite deuxième mémoire (2800) comporte en outre une description d'interface USB de type MASS STORAGE, ledit programme à lancement automatique étant associé à l'interface USB de type MASS STORAGE. 7. USB device (2000) according to claims 3 and 6, characterized in that said second memory (2800) further comprises a USB interface description type MASS STORAGE, said self-launching program being associated with the USB interface of type MASS STORAGE. 8. Procédé de gestion d'un dispositif électronique (2000) comportant une première mémoire (2400) comportant au moins un pilote logiciel (2411, 2412) et un fichier informatique (2420) dit « d'installation », ce fichier d'installation étant téléchargeable (E40) par une station hôte (1000) dudit dispositif (2000) comportant des instructions permettant à ladite station hôte (1000), lorsqu'elles sont exécutées par un processeur (1400) de ladite station hôte (1000) : - de télécharger (E45) ledit au moins un pilote (2411, 2412) à partir de ladite première mémoire (2400), dans une mémoire (1100) de 30 ladite station hôte (1000) ; - d'envoyer (E50) une commande déterminée audit dispositif (2000) ; - une étape (E50) de réception de ladite commande ; et - sur réception de ladite commande, une étape de sélection et 35 d'enregistrement (E60) d'au moins une description d'interface associéeaudit au moins un pilote (2411, 2412) dans une deuxième mémoire (2800) dudit dispositif en vue d'un prochain processus de déclaration; et - une étape (E70) de déclaration de ladite description d'interface à ladite station hôte (1000) lors dudit prochain processus de déclaration. 8. A method for managing an electronic device (2000) comprising a first memory (2400) comprising at least one software driver (2411, 2412) and a computer file (2420) called "installation", this installation file. being downloadable (E40) by a host station (1000) of said device (2000) having instructions permitting said host station (1000), when executed by a processor (1400) of said host station (1000): downloading (E45) said at least one driver (2411, 2412) from said first memory (2400) to a memory (1100) of said host station (1000); sending (E50) a determined command to said device (2000); a step (E50) of receiving said command; and upon receipt of said command, a step of selecting and recording (E60) at least one associated interface description includes at least one driver (2411, 2412) in a second memory (2800) of said device for a future declaration process; and - a step (E70) of declaring said interface description to said host station (1000) during said next declaration process. 9. Procédé de gestion selon la revendication 8, caractérisé en ce que ledit téléchargement (E45) est effectué avant ladite étape (E70) de déclaration. 10 9. Management method according to claim 8, characterized in that said downloading (E45) is performed before said step (E70) of declaration. 10 10. Programme d'ordinateur (PG) comportant des instructions pour l'exécution des étapes du procédé de gestion selon l'une quelconque des revendications 8 ou 9 lorsque ledit programme est exécuté par un ordinateur. 15 10. Computer program (PG) comprising instructions for executing the steps of the management method according to any one of claims 8 or 9 when said program is executed by a computer. 15 11. Support d'enregistrement (2302) lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur (PG) comprenant des instructions pour l'exécution des étapes du procédé de gestion selon l'une quelconque des revendications 7 ou 8.5 11. A computer-readable recording medium (2302) on which is recorded a computer program (PG) comprising instructions for carrying out the steps of the management method according to any one of claims 7 or 8.5.
FR1060889A 2010-12-21 2010-12-21 METHOD FOR INSTALLING SOFTWARE DRIVERS IN A HOST STATION OF AN ELECTRONIC DEVICE AND ELECTRONIC DEVICE IMPLEMENTING SAID STATION Expired - Fee Related FR2969337B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1060889A FR2969337B1 (en) 2010-12-21 2010-12-21 METHOD FOR INSTALLING SOFTWARE DRIVERS IN A HOST STATION OF AN ELECTRONIC DEVICE AND ELECTRONIC DEVICE IMPLEMENTING SAID STATION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1060889A FR2969337B1 (en) 2010-12-21 2010-12-21 METHOD FOR INSTALLING SOFTWARE DRIVERS IN A HOST STATION OF AN ELECTRONIC DEVICE AND ELECTRONIC DEVICE IMPLEMENTING SAID STATION

Publications (2)

Publication Number Publication Date
FR2969337A1 true FR2969337A1 (en) 2012-06-22
FR2969337B1 FR2969337B1 (en) 2013-09-20

Family

ID=43923634

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1060889A Expired - Fee Related FR2969337B1 (en) 2010-12-21 2010-12-21 METHOD FOR INSTALLING SOFTWARE DRIVERS IN A HOST STATION OF AN ELECTRONIC DEVICE AND ELECTRONIC DEVICE IMPLEMENTING SAID STATION

Country Status (1)

Country Link
FR (1) FR2969337B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003012577A2 (en) * 2001-07-31 2003-02-13 Silicom Ltd. Device-related software installation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003012577A2 (en) * 2001-07-31 2003-02-13 Silicom Ltd. Device-related software installation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Universal Serial Bus Specification 2.0 (Chapters 1, 2, 9, 10)", UNIVERSAL SERIAL BUS SPECIFICATION, 27 April 2000 (2000-04-27), XP002317002 *

Also Published As

Publication number Publication date
FR2969337B1 (en) 2013-09-20

Similar Documents

Publication Publication Date Title
CN101425018B (en) Embedded firmware upgrading method and device based on sectional form
FR2845175A1 (en) METHOD AND SYSTEM FOR SWITCHING BETWEEN TWO OR MORE IMAGES OF SOFTWARE ON A HOST DEVICE
US10003633B2 (en) Method and device for resuming file download
FR2691556A1 (en) Method and device for starting a computer at a scheduled time.
EP2466471A1 (en) Hardware security module and method for debugging such a module
WO2015121418A2 (en) Method of deploying a set of software application(s)
FR2930058A1 (en) PORTABLE DEVICE AND METHOD FOR EXTERNALLY STARTING A COMPUTER INSTALLATION
EP2466470B1 (en) Hardware security module and processing method in such a module
EP3018609A1 (en) Method for loading a file into ram in an electronic apparatus and associated electronic apparatus
FR2998689A1 (en) ELECTRONIC ASSEMBLY COMPRISING A DEACTIVATION MODULE
FR2738367A1 (en) METHOD AND APPARATUS FOR FAST DOWNLOADING OF FUNCTIONS IN A VOLATILE MEMORY
EP2124153A1 (en) Methods and device for implementing multi-functional peripherals using a single standard driver
US20050257218A1 (en) Method for automatically downloading and installing driver of peripheral
WO2012107189A2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
EP1865412B1 (en) Control of a multifunctional device
FR2969337A1 (en) Electronic device i.e. universal serial bus device, for installation of software in host station e.g. personal computer, has processor for selecting and storing interface description associated with driver software in memory
WO2020114855A1 (en) Method and device for managing software configurations of equipment of an aircraft
EP3460664A1 (en) Method for managing onboard software modules for an electronic calculator of an electrical switchgear
EP2048576B2 (en) Secure method for updating a program that runs automatically and portable electronic device implementing same
EP1810129A1 (en) Onboard system and computer for holding data unloading in case of computer stoppage
EP2791794B1 (en) Method to manage an application referred to by a device
FR2998747A1 (en) METHOD FOR CALLING A MESSAGE
EP2736275A1 (en) Electronic module for making a message accessible to a target operating system
EP2413569A1 (en) Connection method between an MMSIM card and an application
EP2144169B1 (en) Management of a physical memory partitioned in an electronic entity: method and device

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 10

ST Notification of lapse

Effective date: 20210805