/** * enum iwl_mvm_vendor_cmd - supported vendor commands * @IWL_MVM_VENDOR_CMD_GET_CSME_CONN_INFO: reports CSME connection info. * @IWL_MVM_VENDOR_CMD_HOST_GET_OWNERSHIP: asks for ownership on the device. * This is useful when the CSME firmware owns the device and the kernel * wants to use it. In case the CSME firmware has no connection active the * kernel will manage on its own to get ownership of the device. * When the CSME firmware has an active connection, the user space * involvement is required. The kernel will assert the RFKILL signal with * the "device not owned" reason so that nobody can touch the device. Then * the user space can run the following flow to be able to get connected * to the very same AP the CSME firmware is currently connected to: * * 1) The user space (NetworkManager) boots and sees that the device is * in RFKILL because the host doesn't own the device * 2) The user space asks the kernel what AP the CSME firmware is * connected to (with %IWL_MVM_VENDOR_CMD_GET_CSME_CONN_INFO) * 3) The user space checks if it has a profile that matches the reply * from the CSME firmware * 4) The user space installs a network to the wpa_supplicant with a * specific BSSID and a specific frequency * 5) The user space prevents any type of full scan * 6) The user space asks iwlmei to request ownership on the device (with * this command) * 7) iwlmei requests ownership from the CSME firmware * 8) The CSME firmware grants ownership * 9) iwlmei tells iwlwifi to lift the RFKILL * 10) RFKILL OFF is reported to user space * 11) The host boots the device, loads the firwmare, and connects to a * specific BSSID without scanning including IP as fast as it can * 12) The host reports to the CSME firmware that there is a connection * 13) The TCP connection is preserved and the host has connectivity * * @IWL_MVM_VENDOR_CMD_ROAMING_FORBIDDEN_EVENT: notifies if roaming is allowed. * It contains a &IWL_MVM_VENDOR_ATTR_ROAMING_FORBIDDEN and a * &IWL_MVM_VENDOR_ATTR_VIF_ADDR attributes.
*/
/** * enum iwl_mvm_vendor_attr - attributes used in vendor commands * @__IWL_MVM_VENDOR_ATTR_INVALID: attribute 0 is invalid * @IWL_MVM_VENDOR_ATTR_VIF_ADDR: interface MAC address * @IWL_MVM_VENDOR_ATTR_ADDR: MAC address * @IWL_MVM_VENDOR_ATTR_SSID: SSID (binary attribute, 0..32 octets) * @IWL_MVM_VENDOR_ATTR_STA_CIPHER: the cipher to use for the station with the * mac address specified in &IWL_MVM_VENDOR_ATTR_ADDR. * @IWL_MVM_VENDOR_ATTR_ROAMING_FORBIDDEN: u8 attribute. Indicates whether * roaming is forbidden or not. Value 1 means roaming is forbidden, * 0 mean roaming is allowed. * @IWL_MVM_VENDOR_ATTR_AUTH_MODE: u32 attribute. Authentication mode type * as specified in &enum iwl_vendor_auth_akm_mode. * @IWL_MVM_VENDOR_ATTR_CHANNEL_NUM: u8 attribute. Contains channel number. * @IWL_MVM_VENDOR_ATTR_BAND: u8 attribute. * 0 for 2.4 GHz band, 1 for 5.2GHz band and 2 for 6GHz band. * @IWL_MVM_VENDOR_ATTR_COLLOC_CHANNEL: u32 attribute. Channel number of * collocated AP. Relevant for 6GHz AP info. * @IWL_MVM_VENDOR_ATTR_COLLOC_ADDR: MAC address of a collocated AP. * Relevant for 6GHz AP info. * * @NUM_IWL_MVM_VENDOR_ATTR: number of vendor attributes * @MAX_IWL_MVM_VENDOR_ATTR: highest vendor attribute number