Hi,
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
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.1... [2] http://mirrors.kernel.org/ubuntu/pool/main/l/linux-aws/linux-headers-4.15.0-... [3] https://bugs.launchpad.net/ubuntu/+source/linux-aws/+filebug
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.1... [2] http://mirrors.kernel.org/ubuntu/pool/main/l/linux-aws/linux-headers-4.15.0-... [3] https://bugs.launchpad.net/ubuntu/+source/linux-aws/+filebug
On 06.07.19 17:22, Moritz Warning wrote:
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 aws kernel is intended to be used on instances in the Amazon cloud. There is no wifi hardware present on those instances, so it generally makes no sense to have those modules. As Jens pointed out the missing modules are in linux-modules-extra not in linux-modules (the former is not installed by default).
-Stefan
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.1... [2] http://mirrors.kernel.org/ubuntu/pool/main/l/linux-aws/linux-headers-4.15.0-... [3] https://bugs.launchpad.net/ubuntu/+source/linux-aws/+filebug
On Wednesday, 10 July 2019 10:23:21 CEST Stefan Bader wrote:
On 06.07.19 17:22, Moritz Warning wrote:
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 aws kernel is intended to be used on instances in the Amazon cloud. There is no wifi hardware present on those instances, so it generally makes no sense to have those modules.
Yes, but then please don't compile it in. Otherwise other modules (which make sense on a server) build against functions from cfg80211 and *don't* end up with a nop-stub - just because the actual implementation was compiled as part of the cfg80211 module (but not shipped).
As Jens pointed out the missing modules are in linux-modules-extra not in linux-modules (the former is not installed by default).
Who is Jens and where did he point something out?
On Saturday, 6 July 2019 17:22:01 CEST Moritz Warning wrote:
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.
It looks to me like Moritz checked it (I didn't) and they were not available for his aws kernel.
Kind regards, Sven
On 10.07.19 10:28, Sven Eckelmann wrote:
On Wednesday, 10 July 2019 10:23:21 CEST Stefan Bader wrote:
On 06.07.19 17:22, Moritz Warning wrote:
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 aws kernel is intended to be used on instances in the Amazon cloud. There is no wifi hardware present on those instances, so it generally makes no sense to have those modules.
Yes, but then please don't compile it in. Otherwise other modules (which make sense on a server) build against functions from cfg80211 and *don't* end up with a nop-stub - just because the actual implementation was compiled as part of the cfg80211 module (but not shipped).
As Jens pointed out the missing modules are in linux-modules-extra not in linux-modules (the former is not installed by default).
Who is Jens and where did he point something out?
On Saturday, 6 July 2019 17:22:01 CEST Moritz Warning wrote:
The module linux-modules-extra-4.15.0-1032 installs the following files:
Sorry, I meant Moritz ^
/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.
It looks to me like Moritz checked it (I didn't) and they were not available for his aws kernel.
Kind regards, Sven
On Wednesday, 10 July 2019 10:56:36 CEST Stefan Bader wrote: [...]
As Jens pointed out the missing modules are in linux-modules-extra not in linux-modules (the former is not installed by default).
Who is Jens and where did he point something out?
On Saturday, 6 July 2019 17:22:01 CEST Moritz Warning wrote:
The module linux-modules-extra-4.15.0-1032 installs the following files:
Sorry, I meant Moritz ^
But he said something else. Or maybe I misunderstood him.
I think Moritz meant that he didn't find the cfg80211.ko for his kernel. And thus cannot run batman-adv due to the missing dependency (which was introduced because the kernel was compiled with cfg80211 but the cfg80211.ko was then not shipped).
I also just tried to find linux-modules-extra-4.15.0-1032 but there are only following packages in bionic:
* linux-modules-extra-4.15.0-1032-azure * linux-modules-extra-4.15.0-1032-gcp * linux-modules-extra-4.15.0-1032-gke
There is none which looks like it is for aws (something like linux-modules-extra-4.15.0-1032-aws).
Kind regards, Sven
On 10.07.19 11:56, Sven Eckelmann wrote:
On Wednesday, 10 July 2019 10:56:36 CEST Stefan Bader wrote: [...]
As Jens pointed out the missing modules are in linux-modules-extra not in linux-modules (the former is not installed by default).
Who is Jens and where did he point something out?
On Saturday, 6 July 2019 17:22:01 CEST Moritz Warning wrote:
The module linux-modules-extra-4.15.0-1032 installs the following files:
Sorry, I meant Moritz ^
But he said something else. Or maybe I misunderstood him.
I think Moritz meant that he didn't find the cfg80211.ko for his kernel. And thus cannot run batman-adv due to the missing dependency (which was introduced because the kernel was compiled with cfg80211 but the cfg80211.ko was then not shipped).
I also just tried to find linux-modules-extra-4.15.0-1032 but there are only following packages in bionic:
- linux-modules-extra-4.15.0-1032-azure
- linux-modules-extra-4.15.0-1032-gcp
- linux-modules-extra-4.15.0-1032-gke
Sorry for the late reply. This was discussed internally now and we will be working on getting this resolved (by starting to ship modules-extra for aws, too).
-Stefan
There is none which looks like it is for aws (something like linux-modules-extra-4.15.0-1032-aws).
Kind regards, Sven
Yes this is what I meant. Thank you all for addressing this.
On 7/15/19 6:04 PM, Stefan Bader wrote:
On 10.07.19 11:56, Sven Eckelmann wrote:
On Wednesday, 10 July 2019 10:56:36 CEST Stefan Bader wrote: [...]
As Jens pointed out the missing modules are in linux-modules-extra not in linux-modules (the former is not installed by default).
Who is Jens and where did he point something out?
On Saturday, 6 July 2019 17:22:01 CEST Moritz Warning wrote:
The module linux-modules-extra-4.15.0-1032 installs the following files:
Sorry, I meant Moritz ^
But he said something else. Or maybe I misunderstood him.
I think Moritz meant that he didn't find the cfg80211.ko for his kernel. And thus cannot run batman-adv due to the missing dependency (which was introduced because the kernel was compiled with cfg80211 but the cfg80211.ko was then not shipped).
I also just tried to find linux-modules-extra-4.15.0-1032 but there are only following packages in bionic:
- linux-modules-extra-4.15.0-1032-azure
- linux-modules-extra-4.15.0-1032-gcp
- linux-modules-extra-4.15.0-1032-gke
Sorry for the late reply. This was discussed internally now and we will be working on getting this resolved (by starting to ship modules-extra for aws, too).
-Stefan
There is none which looks like it is for aws (something like linux-modules-extra-4.15.0-1032-aws).
Kind regards, Sven
b.a.t.m.a.n@lists.open-mesh.org