Unknown symbol cfg80211_get_station

Moritz Warning moritzwarning at web.de
Sat Jul 6 15:22:01 UTC 2019


Thanks Sven for having a good look.

There is no cfg80211 module present on the system (find /lib/modules/4.15.0-1032-aws/ -name *80211*).
Package linux-modules-4.15.0-1032-aws is installed.

The module linux-modules-extra-4.15.0-1032 installs the following files:

/lib/modules/4.15.0-1032-gcp/kernel/net/wireless/cfg80211.ko
/lib/modules/4.15.0-1032-gke/kernel/net/wireless/cfg80211.ko
/lib/modules/4.15.0-1032-azure/kernel/net/wireless/cfg80211.ko

But this is not in the *-aws path.

On 7/6/19 2:16 PM, Sven Eckelmann wrote:
> On Friday, 5 July 2019 16:51:56 CEST Moritz Warning wrote:
>> on an AWS server I get this error:
>>
>> $ modprobe batman-adv
>> $ dmesg
>> ...
>> [ 1310.125438] batman_adv: Unknown symbol cfg80211_get_station (err 0)
>>
>> $ uname -a
>> Linux ip-172-31-47-217 4.15.0-1032-aws #34-Ubuntu SMP Thu Jan 17 15:18:09 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
>>
>
> I have downloaded the headers [1] and they have following defined in
> include/config/cfg80211.h:
>
>     #if IS_ENABLED(CONFIG_CFG80211)
>     /**
>      * cfg80211_get_station - retrieve information about a given station
>      * @dev: the device where the station is supposed to be connected to
>      * @mac_addr: the mac address of the station of interest
>      * @sinfo: pointer to the structure to fill with the information
>      *
>      * Returns 0 on success and sinfo is filled with the available information
>      * otherwise returns a negative error code and the content of sinfo has to be
>      * considered undefined.
>      */
>     int cfg80211_get_station(struct net_device *dev, const u8 *mac_addr,
>     			 struct station_info *sinfo);
>     #else
>     static inline int cfg80211_get_station(struct net_device *dev,
>     				       const u8 *mac_addr,
>     				       struct station_info *sinfo)
>     {
>     	return -ENOENT;
>     }
>     #endif
>
> So this function should be always defined by the kernel. Either through this
> header or through the cfg80211 module (which can be part of the kernel binary
> itself).
>
> I have then downloaded the config deb [2]. It has the .config file included
>
>     $ grep CONFIG_CFG80211 usr/src/linux-headers-4.15.0-1032-aws/.config
>     CONFIG_CFG80211=m
>     # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
>     # CONFIG_CFG80211_CERTIFICATION_ONUS is not set
>     CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
>     CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
>     CONFIG_CFG80211_DEFAULT_PS=y
>     CONFIG_CFG80211_DEBUGFS=y
>     CONFIG_CFG80211_CRDA_SUPPORT=y
>     CONFIG_CFG80211_WEXT=y
>
> So it is enabled as a module. So please load this module. And if it is not
> included in any package (what I am currently suspecting), please contact the
> maintainers [3]. They either have to ship the modules or disable any modules
> in their build. But building them and not shipping is breaking the
> dependencies of other modules (as shown by you).
>
> Kind regards,
> 	Sven
>
> [1] http://mirrors.kernel.org/ubuntu/pool/main/l/linux-aws/linux-aws-headers-4.15.0-1032_4.15.0-1032.34_all.deb
> [2] http://mirrors.kernel.org/ubuntu/pool/main/l/linux-aws/linux-headers-4.15.0-1032-aws_4.15.0-1032.34_amd64.deb
> [3] https://bugs.launchpad.net/ubuntu/+source/linux-aws/+filebug
>




More information about the kernel-team mailing list