Personnellement, je regarde les message du noyau pour voir ce qu'il réclame avec la commande :
dmesg | grep firmware
Ça me dit ce que demande le noyau et me donne le nom exact du fichier firmware qu'il réclame,
comme par exemple ici (c'était pour une carte WiFi
Intel Corporation Device 3165)
[lun. oct. 19 13:11:02 2015] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-3165-12.ucode failed with error -2
[lun. oct. 19 13:11:02 2015] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-3165-11.ucode failed with error -2
[lun. oct. 19 13:11:02 2015] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-3165-10.ucode failed with error -2
[lun. oct. 19 13:11:02 2015] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-3165-10.ucode' failed.
[lun. oct. 19 13:11:02 2015] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-3165-9.ucode failed with error -2
[lun. oct. 19 13:11:02 2015] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-3165-9.ucode' failed.
[lun. oct. 19 13:11:02 2015] iwlwifi 0000:02:00.0: no suitable firmware found!
On y lit que le noyau a essayé en vain de trouver plusieurs versions de fichier firmware
De cette façon, je n'ai plus qu'à rechercher le fichier en question et le copier dans le répertoire
/lib/firmware
Ensuite, si après redémarrage de la machine le fichier firmware a été accepté et chargé par le noyau, le système peut alors utiliser le périphérique concerné.