Differences between revisions 6 and 24 (spanning 18 versions)
Revision 6 as of 2014-05-04 07:15:29
Size: 6840
Comment: Sync with English master
Revision 24 as of 2022-05-14 20:42:57
Size: 9195
Editor: vauss
Comment: sync with English version
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Traduction(s)]]: [[Firmware|English]] - Français - [[it/Firmware|Italiano]] -~ <<Include(Firmware, ,from="^##TAG:TRANSLATION-HEADER-START",to="^##TAG:TRANSLATION-HEADER-END")>>
Line 4: Line 4:
= Firmware =
Line 7: Line 6:
Le mot firmware, qui peut être traduit par le terme microcode (ou microprogramme), fait référence à un programme intégré qui contrôle des périphériques électroniques. Il n'y a pas de frontières précises entre microprogramme et programme dans la mesure où les deux termes recouvrent parfois des codes similaires. Habituellement, le terme microcode (firmware) désigne un programme qui se charge des opérations de bas niveau dans un périphérique, sans lesquels le périphérique ne pourrait fonctionner... ~-(pour en savoir plus [[WikiPedia:Firmware|Wikipedia]])-~. Le mot firmware, qui peut être traduit par le terme micrologiciel (ou microprogramme), fait référence à un programme intégré qui contrôle des périphériques électroniques. Il n'y a pas de frontières précises entre microprogramme et programme dans la mesure où les deux termes recouvrent parfois des codes similaires. Habituellement, le terme micrologiciel (firmware) désigne un programme qui se charge des opérations de bas niveau dans un périphérique, sans lesquels le périphérique ne pourrait fonctionner... ~-(pour en savoir plus [[WikiPedia:fr:Firmware|Wikipedia]])-~.
Line 13: Line 12:
== Microcodes, Périphériques et Pilotes ==
De nombreux périphériques ont besoin d'un microcode pour fonctionner. Historiquement, les microcodes étaient incorporés à la ROM ou à la mémoire flash des périphériques, mais, de plus en plus souvent, ils doivent être chargés dans le périphérique par le pilote au moment de leur mise en route.
Certains de ces microcodes sont libres et open-source, mais d'autres non ce qui fait que vous devez ajouter les sources {{{non-free}}} et {{{contrib}}} à votre fichier {{{/etc/apt/sources.list}}} ; voir [[DebianMan:5/sources.list|sources.list(5)]] et [[http://www.debian.org/doc/manuals/debian-reference/ch02#_debian_archive_basics|Debian archive basics]] (Debian Reference) pour des informations complémentaires.
== Micrologiciels, Périphériques et Pilotes ==
De nombreux périphériques ont besoin d'un micrologiciel pour fonctionner. Historiquement, les micrologiciels devaient être incorporés à la ROM ou à la mémoire flash des périphériques, mais, de plus en plus souvent, ils doivent être chargés dans la RAM du périphérique par le pilote du périphérique au moment de leur mise en route.
[[#open|Très peu]] d'images de micrologiciels sont libres et open-source. La plupart [[https://www.debian.org/doc/debian-policy/ch-archive#s-non-free|ne le sont pas]], ce qui fait que vous devez ajouter les éléments {{{non-free}}} et {{{contrib}}} à vos [[fr/SourcesList|sources APT]].
Line 17: Line 16:
=== le Firmware pendant l'installation === === Le micrologiciel pendant l'installation ===
Line 19: Line 18:
Dans certains cas, le programme d'installation de Debian détecte la nécessité de charger un microcode non-libre et demande à l'utilisateur de charger le microcode afin de pouvoir achever l'installation, comme par exemple les périphériques [[ipw2200]]. Dans certains cas, le programme d'installation de Debian détecte la nécessité de charger un micrologiciel non-libre et demande à l'utilisateur de charger le micrologiciel afin de pouvoir achever l'installation. Cela peut arriver, par exemple, avec les cartes réseau sans fil qui souvent ont besoin d'un micrologiciel non-libre pour fonctionner (voir [[fr/ipw2200|ipw2200]] à titre d'exemple.
Line 21: Line 20:
Avant de débuter l'installation d'un matériel qui ne vous est pas familier, nous vous suggérons de télécharger l'archive compressée ([[tarball]]) du microcode nécessaire à l'installation et de le décompresser dans une répertoire nommé "firmware" placé à la racine d'un support amovible. Quand l'installateur démarre, il trouve automatiquement cette archive sur le support amovible et installe le microcode de votre matériel s'il y en a besoin. Le lien de téléchargement des microcodes correspondant à votre distribution Debian est le suivant :[[http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/]]. ==== Images d'installation avec micrologiciels ====
Une méthode facile est d'utiliser une '''image d'installation''' incluant directement tous les paquets de micrologiciels non-libres. Voir [[https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/]].
Line 23: Line 23:
Le microcode fourni sur le support amovible peut, dans certains cas, ne pas être détecté (par exemple DebianBug:740503). Pour corriger le problème, allez sur la console et montez manuellement le support sur /media. ==== Micrologiciels sur un périphérique amovible ====
Vous pouvez également '''télécharger l'archive firmware''' pour votre plateforme et la décompresser dans un répertoire nommé `firmware` à la racine de votre périphérique amovible de stockage (USB / lecteur CD). Vous pouvez trouver des télécharges de micrologiciels pour notre version de Debian à [[https://cdimage.debian.org/cdimage/unofficial/non-free/firmware/]]. Lorsque l'installateur démarre, il trouvera automatiquement les fichiers micrologiciels dans le répertoire sur le périphérique amovible de stockage et, si nécessaire, installera le micrologiciel requis.
Line 25: Line 26:
Autrement, il existe maintenant des versions d'Images CD "netinst" qui incluent directement l'ensemble des paquets de microcodes non-libres : voir [[http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/]] Dans certains cas, le micrologiciel fourni sur le support amovible peut, dans certains cas, ne pas être détecté (par exemple DebianBug:740503). Dans cette situation, allez sur la console et montez manuellement (voir [[DebianMan:8/mount|mount(8)]]) le support amovible sur un répertoire temporaire (par exemple, « /media »).
Line 27: Line 28:
 * [[DebianInstaller/NetbootFirmware|NetbootFirmware]] - Microcodes pour le Netbooting.
Une fois que le réseau est configuré, le programme d'installation de Debian peut aller chercher les microcodes dans les dépôts Debian.
==== Micrologiciel sur support amovible et préconfiguration ====
Line 30: Line 30:
=== Localisation des microcodes ===
==== Debian 7 "Wheezy", Debian 6.0 "Squeeze" ====
Il est également possible de contourner le processus de recherche et d'installation de l'installateur en [[DebianInstaller/Preseed|préconfigurant]] et en fournissant les fichiers du micrologiciel directement au noyau :
Line 33: Line 32:
Les microcodes proviennent des emplacements suivants (voir les fichiers {{{/lib/udev/hotplug.functions}}} et {{{/lib/udev/firmware.agent}}} d'[[DebianPkg:udev]]).
 1. {{{/lib/firmware/$(uname -r)}}} - Microcodes fournis par un paquet, spécifiques à un noyau.
 1. {{{/lib/firmware/}}} - Microcodes fournis par un paquet, valides pour tous les noyaux.
 1. {{{/usr/local/lib/firmware}}} - Emplacement des microcodes installés manuellement.
 1. {{{/usr/lib/hotplug/firmware}}} - Microcodes fournis par un paquet, valides pour tous les noyaux.
  * Les fichiers de micrologiciel nécessaires sont supposés être dans un répertoire nommé firmware sur une partition FAT formatée avec [[DebianPkg:dosfstools|mkfs.vfat]] et [[DebianPkg:dosfstools|étiqueté]] FIRMWARE.
Line 39: Line 34:
=== Liste des microcodes du noyau Linux ===   * L'ajout suivant est apporté à la ligne de commande du noyau de l'installateur. C'est une commande unique mais elle a été interrompue ici pour plus de lisibilité. Appuyez sur TAB lorsque le choix d'installation est mis en surbrillance pour rendre la ligne de commande visible. Une variante de cette technique est présentée [[Installation+Archive+USBStick#firmware|ailleurs]].

{{{
Installation + Archive + USBStick
preseed / early_command = "modprobe vfat; sleep 2;
mount / dev / disk / by-label / FIRMWARE / media;
cp -a / media / firmware / lib "
}}}

 * [[DebianInstaller/NetbootFirmware|NetbootFirmware]] - micrologiciels pour le Netbooting.
Une fois que le réseau est configuré, le programme d'installation de Debian peut aller chercher les micrologiciels dans les dépôts Debian.

=== Micrologiciel après installation ===

Le DebianPackage:isenkram et d'autres outils peuvent demander d'installer le micrologiciel approprié et d'autres paquet de prise en charge matérielle lorsque le matériel est branché. Cela [[USB/GadgetSetup|se base]] principalement sur des paquet déclarant via AppStream quels matériel ils prennent en charge. Cela peut ne pas fonctionner pour tous les micrologiciels, alors lisez la suite pour une autre solution.

Si vous observez toujours des messages de console au sujet de micrologiciels manquants lorsque l'initramfs est mis à jour (par exemple, chaque fois qu'une mise à jour du noyau est appliquée) :

{{{
W: Possible missing firmware /lib/firmware/i915/skl_guc_62.0.0.bin for module i915
}}}

Vous pouvez alors utiliser [[apt-file]] ou la [[https://www.debian.org/distrib/packages#search_contents|Recherche du contenu du paquet Debian]] pour rechercher le paquet contenant les fichiers du micrologiciel, installez-le, puis mettez à jour les initramfs :

{{{
$ apt-file search skl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_62.0.0.bin
$ sudo apt install firmware-misc-nonfree
$ sudo update-initramfs -c -k all
}}}

=== Micrologiciel maquant dans Debian ===

Si le micrologiciel manquant n'est pas disponible dans Debian ou si vous voyez toujours des messages console au sujet de micrologiciels manquants même lorsque le bon paquet firmware-* est installé, vous pouvez télécharger et installer le micrologiciel depuis le dépôt [[https://git.kernel. org/pub/scm/linux/kernel/git/firmware/linux-firmware.git|linux-firmware]], par exemple pour le firmware i915 :

{{{
mkdir firmware
cd firmware
wget -r -nd --no-parent -erobots=off -S '*.bin' https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/
sudo mv *.bin /lib/firmware/i915/
sudo update-initramfs -c -k all
}}}

=== Localisation des fichiers de micrologiciel ===

==== Debian 8 « Jessie » et plus récents ====

[[DebianPkg:udev]] utilisé à partir de la version Jessie ne recherche les fichiers de micrologiciel que dans un seul répertoire : {{{/lib/firmware}}}. Voir [[DebianBug:729252]] pour plus de détails.

==== Debian 7 « Wheezy », Debian 6.0 « Squeeze » ====
Les micrologiciels proviennent des emplacements suivants (voir les fichiers {{{/lib/udev/hotplug.functions}}} et {{{/lib/udev/firmware.agent}}} d'[[DebianPkg:udev]]).
 1. {{{/lib/firmware/$(uname -r)}}} - micrologiciels fournis par un paquet, spécifiques à un noyau.
 1. {{{/lib/firmware/}}} - micrologiciels fournis par un paquet, valides pour tous les noyaux.
 1. {{{/usr/local/lib/firmware}}} - Emplacement des micrologiciels installés manuellement.
 1. {{{/usr/lib/hotplug/firmware}}} - micrologiciels fournis par un paquet, valides pour tous les noyaux.

=== Liste des micrologiciels dans Debian ===
Line 42: Line 93:
Pour trouver le paquet qui fournit le fichier d'un microcode donné, rendez-vous sur cette page :<<BR>>
[[http://www.debian.org/distrib/packages#search_contents]]
Pour trouver le paquet qui fournit le fichier d'un micrologiciels donné, rendez-vous sur cette page :<<BR>>
[[https://www.debian.org/distrib/packages#search_contents]]
Line 45: Line 96:
Voici la liste, générée automatiquement par le noyau linux '''3.2.0-4-686-pae''' (Debian 3.2.41-2) de [[DebianWheezy|Wheezy]], des modules Linux qui ont besoin d'un microcode pour fonctionner. Certains des microcodes ont été empaquetés pour Debian (par exemple dans le paquet [[DebianPkg:firmware-linux-nonfree]]).
Line 47: Line 97:
Attention : cette liste peut ne pas être complète parce que le nom des microcode ne peut pas toujours être extrait de façon fiable.

##This is list built with :
##
##find /lib/modules/3.2.0-4-686-pae/ -type f -name '*.ko' | while read m ; do modinfo $m | grep -E '^(firmware:|depends:.*firmware)' | sed -e "s#.*#$m#" ; done | sort -u > /tmp/modules
##
## cat /tmp/modules | while read m ; do s=${m##*/} ; modinfo $m | grep -E '^(description|firmware)' | sort | sed -e '2,0s/^description:.*//' -e '/^description:/s/\([A-Z][a-z0-9]\+\)\{2,\}/!\0/g' -e "s#^description:[[:blank:]]*\(.*\)#||$s||''\1''||#" -e 's#^firmware:[[:blank:]]*\(.*\)#[[DebianPkg:file:\1|\1]]<<BR>>#' | tr -d '\n' | sed -e 's/<<BR>>$//' -e 's/$/||\n/' ; done | sort > /tmp/modules.mm
##
##

## DO NOT UPDATE THIS LIST MANUALLY (use the command above).

<<Include(Firmware, ,from="^##TAG:LIST_START",to="^##TAG:LIST_END")>>

Ce tableau est destiné essentiellement à associer modules et microcodes. Il pourrait être amélioré en listant les noms des paquets correspondants.
[[fr/Firmware/List]] liste tous les micrologiciels distribués par Debian.
Line 64: Line 100:
== Microcodes d'ordinateur ==
|| [[BIOS]]<<BR>>~-([[WikiPedia:BIOS|wikipedia]])-~ || Présent sur les ordinateurs appelés compatibles ''IBM-PC'' ||
|| [[OpenFirmware]] <<BR>>connu aussi sous le nom de [[OpenBoot]]<<BR>>~-([[WikiPedia:Open_Firmware|wikipedia]])-~ ||Présent sur : <<BR>> * les systèmes Sun SPARC,<<BR>> * IBM Power,<<BR>> * les Apple Macintosh basés sur PowerPC, <<BR>> * IEEE 1275-1994,<<BR>>... ||
|| EFI<<BR>>~-([[WikiPedia:Extensible_Firmware_Interface|wikipedia]])-~ || Présent sur :<<BR>> * les systèmes ia64 (Itanium),<<BR>> * quelques systèmes ia32/amd64 (Macintosh Intel, quelques Dell Servers..),<<BR>> * quelques systèmes basés sur [[WikiPedia:XScale]]||
|| Coreboot (LinuxBIOS)<<BR>>~-([[WikiPedia:Coreboot|wikipedia]])-~ || Présent sur quelques très rares cartes mères de PC.<<BR>> Peut être testé sous QEMU http://www.coreboot.org/QEMU ||
|| PMON2000<<BR>>~-([[http://www.pmon2000.com/|homepage]])-~ || Présent sur le [[DebianYeeloong|Lemote Yeeloong]] et des systèmes embarqués.||
##----
## This page is referenced from http://www.debian.org/News/2011/20110205a
## This page is referenced from http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/
== Micrologiciels d'ordinateur ==
|| EFI/[[UEFI]] || Présent sur la plupart des serveurs et PC modernes à base de x86, avec quelques cartes ARM - ([[WikiPedia:Extensible_Firmware_Interface|wikipedia]])||
|| [[BIOS]] || Présent sur les anciennes machines « IBM-PC », généralement la plupart des serveurs et PC standards fabriqués avant 2011 - ([[WikiPedia:BIOS|wikipedia]]) ||
|| [[OpenFirmware]] ||connu aussi sous le nom de [[OpenBoot]]. Présent sur : les systèmes Sun SPARC, IBM Power, les Apple Macintosh basés sur PowerPC, IEEE 1275-1994,... ([[WikiPedia:Open_Firmware|wikipedia]])||
|| Coreboot (LinuxBIOS) || Peut être utilisé sur [[https://doc.coreboot.org/mainboard/|quelques cartes]] et [[https://doc.coreboot.org/mainboard/index.html#emulation|testé des émulateurs]] - ([[WikiPedia:fr:Coreboot|wikipedia]]) ||
|| PMON2000 || Présent sur le [[DebianYeeloong|Lemote Yeeloong]] et des systèmes embarqués.||


== Mise à jour du micrologiciel ==

Le micrologiciel peut être [[Firmware/Updates|mis à jour]] (en anglais) en utilisant diverses méthodes.

<<Anchor(open)>>
== Micrologiciel ouvert ==

Il y a un certain nombre de projets créant différents types de [[Firmware/Open|micrologiciels ouverts]], pour l'amorçage, le WiFi et l'audio.

----
CategoryPermalink | CategoryHardware | CategoryProprietarySoftware


Le mot firmware, qui peut être traduit par le terme micrologiciel (ou microprogramme), fait référence à un programme intégré qui contrôle des périphériques électroniques. Il n'y a pas de frontières précises entre microprogramme et programme dans la mesure où les deux termes recouvrent parfois des codes similaires. Habituellement, le terme micrologiciel (firmware) désigne un programme qui se charge des opérations de bas niveau dans un périphérique, sans lesquels le périphérique ne pourrait fonctionner... (pour en savoir plus Wikipedia).


Micrologiciels, Périphériques et Pilotes

De nombreux périphériques ont besoin d'un micrologiciel pour fonctionner. Historiquement, les micrologiciels devaient être incorporés à la ROM ou à la mémoire flash des périphériques, mais, de plus en plus souvent, ils doivent être chargés dans la RAM du périphérique par le pilote du périphérique au moment de leur mise en route. Très peu d'images de micrologiciels sont libres et open-source. La plupart ne le sont pas, ce qui fait que vous devez ajouter les éléments non-free et contrib à vos sources APT.

Le micrologiciel pendant l'installation

Dans certains cas, le programme d'installation de Debian détecte la nécessité de charger un micrologiciel non-libre et demande à l'utilisateur de charger le micrologiciel afin de pouvoir achever l'installation. Cela peut arriver, par exemple, avec les cartes réseau sans fil qui souvent ont besoin d'un micrologiciel non-libre pour fonctionner (voir ipw2200 à titre d'exemple.

Images d'installation avec micrologiciels

Une méthode facile est d'utiliser une image d'installation incluant directement tous les paquets de micrologiciels non-libres. Voir https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/.

Micrologiciels sur un périphérique amovible

Vous pouvez également télécharger l'archive firmware pour votre plateforme et la décompresser dans un répertoire nommé firmware à la racine de votre périphérique amovible de stockage (USB / lecteur CD). Vous pouvez trouver des télécharges de micrologiciels pour notre version de Debian à https://cdimage.debian.org/cdimage/unofficial/non-free/firmware/. Lorsque l'installateur démarre, il trouvera automatiquement les fichiers micrologiciels dans le répertoire sur le périphérique amovible de stockage et, si nécessaire, installera le micrologiciel requis.

Dans certains cas, le micrologiciel fourni sur le support amovible peut, dans certains cas, ne pas être détecté (par exemple 740503). Dans cette situation, allez sur la console et montez manuellement (voir mount(8)) le support amovible sur un répertoire temporaire (par exemple, « /media »).

Micrologiciel sur support amovible et préconfiguration

Il est également possible de contourner le processus de recherche et d'installation de l'installateur en préconfigurant et en fournissant les fichiers du micrologiciel directement au noyau :

  • Les fichiers de micrologiciel nécessaires sont supposés être dans un répertoire nommé firmware sur une partition FAT formatée avec mkfs.vfat et étiqueté FIRMWARE.

  • L'ajout suivant est apporté à la ligne de commande du noyau de l'installateur. C'est une commande unique mais elle a été interrompue ici pour plus de lisibilité. Appuyez sur TAB lorsque le choix d'installation est mis en surbrillance pour rendre la ligne de commande visible. Une variante de cette technique est présentée ailleurs.

Installation + Archive + USBStick
preseed / early_command = "modprobe vfat; sleep 2;
mount / dev / disk / by-label / FIRMWARE / media;
cp -a / media / firmware / lib "

Une fois que le réseau est configuré, le programme d'installation de Debian peut aller chercher les micrologiciels dans les dépôts Debian.

Micrologiciel après installation

Le isenkram et d'autres outils peuvent demander d'installer le micrologiciel approprié et d'autres paquet de prise en charge matérielle lorsque le matériel est branché. Cela se base principalement sur des paquet déclarant via AppStream quels matériel ils prennent en charge. Cela peut ne pas fonctionner pour tous les micrologiciels, alors lisez la suite pour une autre solution.

Si vous observez toujours des messages de console au sujet de micrologiciels manquants lorsque l'initramfs est mis à jour (par exemple, chaque fois qu'une mise à jour du noyau est appliquée) :

W: Possible missing firmware /lib/firmware/i915/skl_guc_62.0.0.bin for module i915

Vous pouvez alors utiliser apt-file ou la Recherche du contenu du paquet Debian pour rechercher le paquet contenant les fichiers du micrologiciel, installez-le, puis mettez à jour les initramfs :

$ apt-file search skl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_62.0.0.bin
$ sudo apt install firmware-misc-nonfree
$ sudo update-initramfs -c -k all

Micrologiciel maquant dans Debian

Si le micrologiciel manquant n'est pas disponible dans Debian ou si vous voyez toujours des messages console au sujet de micrologiciels manquants même lorsque le bon paquet firmware-* est installé, vous pouvez télécharger et installer le micrologiciel depuis le dépôt linux-firmware, par exemple pour le firmware i915 :

mkdir firmware
cd firmware
wget -r -nd --no-parent -erobots=off -S '*.bin' https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/
sudo mv *.bin /lib/firmware/i915/
sudo update-initramfs -c -k all

Localisation des fichiers de micrologiciel

Debian 8 « Jessie » et plus récents

udev utilisé à partir de la version Jessie ne recherche les fichiers de micrologiciel que dans un seul répertoire : /lib/firmware. Voir 729252 pour plus de détails.

Debian 7 « Wheezy », Debian 6.0 « Squeeze »

Les micrologiciels proviennent des emplacements suivants (voir les fichiers /lib/udev/hotplug.functions et /lib/udev/firmware.agent d'udev).

  1. /lib/firmware/$(uname -r) - micrologiciels fournis par un paquet, spécifiques à un noyau.

  2. /lib/firmware/ - micrologiciels fournis par un paquet, valides pour tous les noyaux.

  3. /usr/local/lib/firmware - Emplacement des micrologiciels installés manuellement.

  4. /usr/lib/hotplug/firmware - micrologiciels fournis par un paquet, valides pour tous les noyaux.

Liste des micrologiciels dans Debian

Pour trouver le paquet qui fournit le fichier d'un micrologiciels donné, rendez-vous sur cette page :
https://www.debian.org/distrib/packages#search_contents

fr/Firmware/List liste tous les micrologiciels distribués par Debian.

Micrologiciels d'ordinateur

EFI/UEFI

Présent sur la plupart des serveurs et PC modernes à base de x86, avec quelques cartes ARM - (wikipedia)

BIOS

Présent sur les anciennes machines « IBM-PC », généralement la plupart des serveurs et PC standards fabriqués avant 2011 - (wikipedia)

OpenFirmware

connu aussi sous le nom de OpenBoot. Présent sur : les systèmes Sun SPARC, IBM Power, les Apple Macintosh basés sur PowerPC, IEEE 1275-1994,... (wikipedia)

Coreboot (LinuxBIOS)

Peut être utilisé sur quelques cartes et testé des émulateurs - (wikipedia)

PMON2000

Présent sur le Lemote Yeeloong et des systèmes embarqués.

Mise à jour du micrologiciel

Le micrologiciel peut être mis à jour (en anglais) en utilisant diverses méthodes.

Micrologiciel ouvert

Il y a un certain nombre de projets créant différents types de micrologiciels ouverts, pour l'amorçage, le WiFi et l'audio.


CategoryPermalink | CategoryHardware | CategoryProprietarySoftware