Cannot add ath9k_htc to image

I have followed the instructions in the wiki and in a similar question in an attempt to use a TP-Link TL-WN722N USB WiFi adapter on my Colibri iMX6DL (on an Iris board).

I have run bitbake -c menuconfig virtual/kernel and turned on the driver, and added IMAGE_INSTALL_append = " linux-firmware-ath9k" to local.conf.

I then ran bitbake -c compile virtual/kernel to build the kernel, and if I run menuconfig again, I see the modules are still enabled. After building (with bitbake console-trdx-image) and flashing the image (as specified here), however, the module does not exist. Running zcat /proc/config.gz | grep CONFIG_ATH returns # CONFIG_ATH_CARDS is not set, and there are no ath files in lib/modules.

Other changes to kernel config are lost as well, though other packages installed through INSTALL_IMAGE_append (such as hostapd) appear to work fine.

Do you have any suggestions?



You missed the ‘-f’ parameter to bitbake to force a recompile of the kernel after you changed its configuration with menuconfig. bitbake -f -c compile virtual/kernel.

I personally think that it is saver to not follow that procedure because

  • the changes to the kernel configuration are not persistent, whenever bitbake thinks it should reconfigure the kernel you will loose your changes.
  • bitbake might think that the kernel is up to date and need not be recompiled thus your changes are not applied. (using the -f from above forces bitbake to recompile)

So for the NXP based modules I would create a defconfig file as follows:

bitbake virtual/kernel -c configure
bitbake virtual/kernel -c devshell
    make menuconfig
    make savedefconfig
    ls ${KBUILD_OUTPUT}/defconfig

Then one could replace our standard defconfig file in the meta data as follows and rebuild an image

    cp ${KBUILD_OUTPUT}/defconfig .../meta-toradex-nxp/recipes-kernel/linux/linux-toradex-3.14.52/colibri-imx6/
bitbake <image>

Alternatively, particularly if you need to make bigger changes to the kernel configuration/device-tree/sources, I would do the kernel development/deployment/testing outside of bitbake and only after you are satisfied with the resulting kernel bring your changes into the relevant bitbake recipe.


Thanks, that worked perfectly!

Just as a side note, I had previously tried with the -f flag to no avail. I assume the kernel was being overwritten every time regardless.