How to Add Missing Firmware
AVLEmbedded Peripheral Modules
The BSP may already include the driver for a module while its firmware file is missing from the image. In this case the driver fails to probe, or the kernel log reports firmware: failed to load.
This guide shows how to add the missing firmware to a Yocto image. It requires the BSP source workspace. If you only have a flashed image, please contact Innodisk for an updated image.
Note: On Ubuntu, install the firmware with
apt (for example, sudo apt install linux-firmware) instead.1. Find the Missing File
Check the kernel log for the missing file name:
For example: iwlwifi-ty-a0-gf-a0-83.ucode.
2. Check Whether Upstream Has It
Search for the file name in the upstream linux-firmware repository, then check whether the linux-firmware recipe in your BSP workspace provides it:
- The file is in a
linux-firmware-*package: use Option A. - The file is missing, or the recipe version is too old: use Option B.
Option A: Enable the linux-firmware Package
- 1Add the matching package to your image, in
local.confor the image recipe:Replacelinux-firmware-iwlwifiwith the package that provides your file. - 2Rebuild the image and flash it.
- 3Boot and run
dmesg | grep -i firmwareto confirm the error is gone.
Option B: Write a Firmware Recipe
- 1Put the firmware files in the
files/folder of a new recipe, for examplerecipes-apps/<module>-fw/files/. - 2Write the recipe. Use
recipes-apps/ax210ngw-fw/ax210ngw-fw.bbinmeta-innodisk-iqas an example. It does three things: - lists the files inSRC_URI- installs them to${nonarch_base_libdir}/firmware/indo_install- lists the installed files inFILES:${PN} - 3Add the recipe to your image:
- 4Rebuild the image and flash it.
- 5Boot and run
dmesg | grep -i firmwareto confirm the error is gone.
Note: Check the license of the firmware file before you redistribute it.