[Programmation] Détection de connexion
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Détection de connexion



  1. #1
    chouppie

    Détection de connexion


    ------

    Bonjour,

    Sauriez-vous me dire comment les PC détectent la connexion / déconnexion d'une clé USB ?
    Est-ce qu'ils scannent le port USB en permanence ?

    En fait je cherche à ajouter sur un système un module sur lequel je pourrais lire/écrire des informations au besoin et qui déclencherai une alerte lorsqu'il est débranché même en cours d'utilisation.
    (Pas sûre que ce soit très clair tout ça, désolée)

    -----

  2. #2
    Ikhar84
    Animateur Informatique

    Re : Détection de connexion

    Bonjour !
    Il faudrait bien plus de précision sur votre système pour que quelqu'un puisse vous aider !

    En attendant, voici une explication (très) simplifiée sur le fonctionnement demandé:
    Sur un pc, tous les évenements matériels générent ce que l'on appelle une interruption (IRQ).
    l'horloge système, l'appui sur une touche du clavier, l'insertion d'un périphérique usb...

    Les interruptions sont générées par un contrôleur spécifique, elle portent un numéro (exemple: IRQ0), qui permet de l'identifier et indique en même temp sa priorité.

    Ce numéro, dit code, permer de lancer un bout de code spécifique, lorsque cette IRQ est "levée" (détectée), mais il est possible de "masquer" certained interruptions (ne pas les traiter, les ignorer), alors que d'autred sont non masquables.

    Lorsque plusieurs interruptions non masquées se produisent, le code associé à la plus prioritaire est executé, les autres sont mises en attentes...

    Le nom interruption vient du fait que ces "signaux" interrompent le processeur pendant son travail.

    Pour en revenir à votre question, l'insertion d'un périphérique usb provoque une IRQ, ce qui va permettre une négociation entre l'hôte et le périphérique et le chargement des bons pilotes (très simplifié !).
    L'Usb étant un bus série (en étoile comme pour ethernet), le periphérique dispose d'une adresse.
    Mais le retrait matériel du périphérique ne privoque aucune IRQ, ce qui ne permet pas de le detecter !
    La détection se fera à un niveau plus haut, par exemple si une tentative de lecteure/écriture échoue (à ma connaissance, quelqu'un de plus calé en prog système corrigera sinon !)
    À ce niveau il faudra donc 'scruter' le bus pour detecter le retrait..

    Pour plus d'infos, voir architecture matérielles (IRQ) et programmation système.

Discussions similaires

  1. Détection clé USB ?!
    Par ibtihel dans le forum Matériel - Hardware
    Réponses: 0
    Dernier message: 17/03/2010, 14h25
  2. détection réseau wifi mais connexion impossible ...
    Par inviteb651eb44 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 11/07/2009, 22h34
  3. détection de l'epo?
    Par invite4b440089 dans le forum Biologie
    Réponses: 28
    Dernier message: 18/12/2008, 14h05
  4. Detection par FID
    Par invite61942757 dans le forum Chimie
    Réponses: 2
    Dernier message: 22/04/2008, 18h12
  5. Connexion ... déconnexion ... connexion ...
    Par Pierre de Québec dans le forum Internet - Réseau - Sécurité générale
    Réponses: 10
    Dernier message: 18/01/2005, 20h28
Découvrez nos comparatifs produits sur l'informatique et les technologies.