Re: CSME firmware / host coexistence - grab the CSME connection info params




On Sat, 2022-02-26 at 23:37 +0200, Emmanuel Grumbach via
networkmanager-list wrote:
Hi,

I'd like to get some guidance on how to continue the implementation
of the CSME firmware coexistence.
We now need to fetch the connection parameters from CSME (through the
kernel). There is a vendor command API in the kernel. This works
above the nl80211 channel.

So should I include the header file in src/libnm-platform/wifi/nm-
wifi-utils-nl80211.c ?
OTOH, only recent kernels have this header, so what's the way to ask:
try to include this, if you don't have it, let's disable the feature?
Should I use this type of ifdef:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27)
?
Do you prefer to have a separate nm-wifi-utils-intel-vnd.c file since
it exists only as an Intel Vendor command?
Should I create a new handler in NMWifiUtilsClass for that purpose?

Then, the nm core code could use the NMWifiUtilsClass to fetch the
data when it sees that RFKILL is asserted with the reason =
"OS_NOT_OWNER".

Thanks :)

Hi,


Btw, what means "vendor" when you say "vendor command API"? It is kinda
important to us, is that the feature can be used with an upstream
kernel (without propritary modules -- and preferably only with upstream
modules).

yes, vendor commands API and those APIs are upstreamed.



Which header is this?

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/nl80211-vnd-intel.h?h=v5.17-rc6



Usually, we want to build a version of NetworkManager that supports
most features, regardless against which kernel (headers) it was build.
Because, you should be able to upgrade your kernel and get the feature
automatically. It means, we would rather fail at runtime, if kernel
doens't support it.
That means, we either add a fork of the header in `src/linux-headers`.
Alternatively, if we only require a few defines, you can copy them
directly to the source file where needed. It depends on how much is
needed.

Ok, the header is fairly short, so I guess we can copy and fail on
runtime if the kernel doesn't support?


If this gets fetched via nl80211, then  src/libnm-platform/wifi/nm-
wifi-utils-nl80211.c is the right place.


Thanks!

I'll try to get some time for this. This is still sort of a side
project for me, so, things can take time...


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]