Search Linux Wireless

Re: [PATCH 0/5] Add support for AMT over WLAN

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

 



On Mon, Mar 22, 2021 at 10:44 PM Emmanuel Grumbach
<emmanuel.grumbach@xxxxxxxxx> wrote:

I messed up this series. Please drop it.
Resending.

>
> This patch series adds support for AMT over WLAN.
> Information about Intel Active Management Technology is
> available on the net, but in a nutshell, it is an application
> running on an embedded CPU in the chipset. This application
> can provide remote control to the system even when no OS is,
> present or not even installed. By control, we mean, KVM,
> the possibility to attach a remote driver, power up / down
> / reset the machine and other options.
>
> When the host uses wireless, the embedded CPU can't access
> the wireless device and hence, the traffic for AMT must be
> routed through the host. The AMT <-> WLAN driver interface
> is explained at lengh inside the patches. Basically, there
> is a memory region that is mapped to a PCI devices that can
> read / write to that memory and sends the data to the embedded
> CPU. The driver for this PCI device is mei. We needed to add
> code for that driver, those patches are in this series and
> need to be routed through wireless-drivers tree as requested
> by Greg KH.
> There is also a cfg80211 patch that I should have sent earlier
> to Johannes. I include this here. Hopefully, it'll not cause
> trouble.
>
> Note about how to use this new feature:
> In order to fully use this new feature, we need to add a few
> vendor commands that are not included in this series. The
> upstream process for those commands will take some more time
> but it is definitely planned. The motivation to use vendor
> commands as opposed to regular nl80211 APIs is that we do not
> expect any other vendor to need similar APIs. We had no control
> on the AMT APIs and this is why we needed to add vendor commands
> for flows that differ just a tiny bit from the regular flow. For
> example, AMT needs to know when we are associated, but it
> requires to know whether we are associated in WPA or in WPA2.
> This is not known to the kernel, so we, unfortunately, had
> to add a vendor command for this. This is just an example.
>
> Integration with the connection manager is required to be able
> to use this new feature.
> In case the device is controlled by AMT and is actively used
> by AMT, AMT will not release the device. To properly reflect
> this state, we report hardware RF-Kill to the stack, but we
> add a reason saying that we do not own the device. The
> connection manager can then check what AP AMT is connected to
> and signal to AMT that it can ensure the connetion to that
> same AP can be kept. AMT will then release the device allowing
> the host to connect to that AP. Doing this transition fast
> enough will allow not to break the TCP connections that AMT
> maintains.
>
> I worked with Ayala Beker on the iwlwifi part of this feature.
>
> Please do not apply those patches, they'll be part of a regular
> pull request from Luca.
>
> Johannes, feel free to pick the cfg80211 patch although then, it
> will require to merge mac80211-next into wireless-drivers-next so
> maybe it's better to route it through Kalle as well?
>
> Alexander Usyskin (1):
>   mei: bus: add client dma interface
>
> Emmanuel Grumbach (3):
>   cfg80211: allow to specifying a reason for hw_rfkill
>   iwlwifi: mei: add the driver to allow cooperation with CSME
>   iwlwifi: integrate with iwlmei
>
> Tomas Winkler (1):
>   mei: allow map and unmap of client dma buffer only for disconnected
>     client
>
>  drivers/misc/mei/bus.c                        |   67 +-
>  drivers/misc/mei/client.c                     |   20 +-
>  drivers/misc/mei/hw.h                         |    5 +
>  drivers/net/wireless/intel/iwlwifi/Kconfig    |   13 +
>  drivers/net/wireless/intel/iwlwifi/Makefile   |    2 +
>  .../wireless/intel/iwlwifi/iwl-nvm-parse.c    |   61 +
>  .../wireless/intel/iwlwifi/iwl-nvm-parse.h    |   11 +-
>  .../net/wireless/intel/iwlwifi/iwl-trans.h    |    2 +
>  .../net/wireless/intel/iwlwifi/mei/Makefile   |    8 +
>  .../net/wireless/intel/iwlwifi/mei/internal.h |   20 +
>  .../net/wireless/intel/iwlwifi/mei/iwl-mei.h  |  440 ++++
>  drivers/net/wireless/intel/iwlwifi/mei/main.c | 2026 +++++++++++++++++
>  drivers/net/wireless/intel/iwlwifi/mei/net.c  |  409 ++++
>  drivers/net/wireless/intel/iwlwifi/mei/sap.h  |  736 ++++++
>  .../wireless/intel/iwlwifi/mei/trace-data.h   |   69 +
>  .../net/wireless/intel/iwlwifi/mei/trace.c    |   15 +
>  .../net/wireless/intel/iwlwifi/mei/trace.h    |   62 +
>  drivers/net/wireless/intel/iwlwifi/mvm/fw.c   |    3 +-
>  .../net/wireless/intel/iwlwifi/mvm/mac80211.c |   42 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/mvm.h  |   70 +
>  drivers/net/wireless/intel/iwlwifi/mvm/ops.c  |  208 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/tx.c   |    7 +-
>  drivers/net/wireless/intel/iwlwifi/pcie/drv.c |   25 +
>  .../net/wireless/intel/iwlwifi/pcie/trans.c   |   16 +-
>  include/linux/mei_cl_bus.h                    |    3 +
>  include/net/cfg80211.h                        |   11 +-
>  net/wireless/core.c                           |    7 +-
>  27 files changed, 4322 insertions(+), 36 deletions(-)
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/Makefile
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/internal.h
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/iwl-mei.h
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/main.c
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/net.c
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/sap.h
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/trace-data.h
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/trace.c
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/trace.h
>
> --
> 2.25.1
>



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux