Marvell WIFI driver cannot be loaded into Kernel

Hi all,

I am using a Colibri IMX6 module connected to a H&D wireless wifi chip. I integrated the Yocto Layer meta-spb209a to my yocto configuration and the driver is building fine (mlan.ko and sd8xxx.ko).
Now I try to load the module on my device:

root@colibri-imx6:~# modprobe cfg80211
root@colibri-imx6:~# modprobe mlan
root@colibri-imx6:~# modprobe sd8xxx
modprobe: ERROR: could not insert 'sd8xxx': Invalid argument


root@colibri-imx6:~# dmesg | tail -n 10
[ 40.371861] sd8xxx: disagrees about version of symbol cfg80211_pmksa_candidate_notify
[ 40.383916] sd8xxx: Unknown symbol cfg80211_pmksa_candidate_notify (err -22)
[ 40.393187] sd8xxx: disagrees about version of symbol wiphy_new_nm
[ 40.401516] sd8xxx: Unknown symbol wiphy_new_nm (err -22)
[ 40.409076] sd8xxx: disagrees about version of symbol wiphy_register
[ 40.417551] sd8xxx: Unknown symbol wiphy_register (err -22)
[ 40.425215] sd8xxx: disagrees about version of symbol wiphy_apply_custom_regulatory
[ 40.436981] sd8xxx: Unknown symbol wiphy_apply_custom_regulatory (err -22)
[ 40.445973] sd8xxx: disagrees about version of symbol dev_set_name
[ 40.454283] sd8xxx: Unknown symbol dev_set_name (err -22)

I tried compiling the driver directly in the kernel directory in the yocto build folder wit the same result.
The crc checksums in the sd8xxx.ko file are exactly the same as in the Module.symvers file as I can see in a hex editor.

When I try to force the load:

root@colibri-imx6:~# modprobe --force sd8xxx
modprobe: ERROR: could not insert 'sd8xxx': Exec format error

with no additional dmesg output.

Does someone know what I have to do to load the driver?

More information:

root@colibri-imx6:~# uname -r
4.9.67-+g1db9f06

I use the openembedded-core layer for the kernel.

Best regards

Michael

Can you check if that wifi module works when you’re using our BSP image?

We’re using backported wifi drivers and stack, this probably interferes with recipes from H&D.
You can remove the package ‘backports’ from the IMAGE_INSTALL variable. E.g. in your image recipe here or by adding

IMAGE_INSTALL_remove = "backports"

to your local.conf. You may also need to adjust kernel config file.

You can also try using our wifi drivers with your card instead of meta-spb209a

Hello dominik,

sorry for the late response. I needed some time to test everything out. Removing the backports package resolved the issue!

Thank you very much for your help.

Best regards

Michael