Besoin de comprendre ce qu'est un firmware

Tags: #<Tag:0x00007f95416d8368>

Bonjour,

un firmware, si j’ai bien compris, est un programme qui se trouve « déjà » dans le matériel, et qui permet de faire fonctionner ce matériel.

Donc si le firmware se trouve « déjà » dans le matériel, pourquoi des fois on a besoin de télécharger et d’installer un firmware (via un dépôt debian par exemple) pour faire fonctionner le matériel ?

2ème question, est-ce que c’est la commande dmesg qui permet de savoir si un firmware est manquant pour faire fonctionner le matériel ?

Merci d’avance.

Tout simplement pour le mettre à jour !

Elle peut mais ce n’est pas systématique. Je préfère les termes microcode ou logiciel enfoui que firmware.

La réponse ici :
https://wiki.debian.org/Firmware

Et notamment :

De nombreux appareils ont besoin d’un micrologiciel pour fonctionner. Historiquement, le microprogramme était intégré dans la mémoire ROM ou Flash de l’appareil, mais de plus en plus souvent, une image de microprogramme doit être chargée dans la RAM de l’appareil par un pilote d’appareil lors de l’initialisation de l’appareil.

Quelques images de microprogrammes sont des logiciels libres et des sources ouvertes, mais malheureusement presque toutes ne sont pas libres, ce qui signifie que Debian ne peut pas les inclure normalement dans l’archive sous main ou contrib.

Concernant la commande dmesg, elle affiche les messages liés au noyau. Je dirai donc que oui si le firmware est lié au noyau. :roll_eyes:

1 J'aime

En fait il y a deux firmware:

  • Celui qui est dans le matériel périphérique: il fait fonctionner le périphérique
  • Celui qui est installé sur l’ordinateur: pour permettre au système de communiquer avec le périphérique et de pouvoir ainsi le commander/utiliser
1 J'aime

Merci beaucoup pour vos réponses.

J’ai trouvé une doc qui explique bien le firmware 2.2. Périphériques demandant des microprogrammes (firmware)

Dans le passé, le firmware était dans la rom.

Maintenant, ce n’est plus dans la rom du périphérique, car c’est maintenant à l’OS de fournir le firmware.

Je pense que c’est parce que comme les OS sont programmés différemment, un même périphérique doit avoir un firmware spécifique pour chaque OS : un firmware linux, un firmware microsoft, un firmware macOs, etc…

Cela offre aussi beaucoup plus de flexibilité, particulièrement pour les mises à jour, plutôt que d’avoir qque chose qu’il faut « flasher » (EEPROM).

1 J'aime

Voici quelques précisions au sujet des microprogrammes. Historiquement, on employait une « ROM » puis de la Flash qui présentait l’avantage de pouvoir être reflashée (reprogrammée électriquement) pour les mises à jour. On emploie à présent sur certains systèmes à très haute performance de la RAM qui présente des vitesses bien plus rapides. Le problème c’est que ce composant perd son contenu à la mise hors tension. Pour contourner cet inconvénient majeur le microcode en mémoire Flash série est transféré automatiquement dans la RAM à chaque boot. Ce principe est employé aussi avec les gros FPGA. Ce transfert est généralement effectué par un premier microcode de très petite taille enfoui dans la flash d’un microcontrôleur. Ce premier micro code dédié exclusivement au transfert n’a pas vocation à être reprogrammé.

2 J'aime