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.
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
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.