![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 0002 /* 0003 * Copyright (C) 2012-2014, 2018-2021 Intel Corporation 0004 * Copyright (C) 2013-2015 Intel Mobile Communications GmbH 0005 * Copyright (C) 2016-2017 Intel Deutschland GmbH 0006 */ 0007 #ifndef __VENDOR_CMD_INTEL_H__ 0008 #define __VENDOR_CMD_INTEL_H__ 0009 0010 #define INTEL_OUI 0x001735 0011 0012 /** 0013 * enum iwl_mvm_vendor_cmd - supported vendor commands 0014 * @IWL_MVM_VENDOR_CMD_GET_CSME_CONN_INFO: reports CSME connection info. 0015 * @IWL_MVM_VENDOR_CMD_HOST_GET_OWNERSHIP: asks for ownership on the device. 0016 * This is useful when the CSME firmware owns the device and the kernel 0017 * wants to use it. In case the CSME firmware has no connection active the 0018 * kernel will manage on its own to get ownership of the device. 0019 * When the CSME firmware has an active connection, the user space 0020 * involvement is required. The kernel will assert the RFKILL signal with 0021 * the "device not owned" reason so that nobody can touch the device. Then 0022 * the user space can run the following flow to be able to get connected 0023 * to the very same AP the CSME firmware is currently connected to: 0024 * 0025 * 1) The user space (NetworkManager) boots and sees that the device is 0026 * in RFKILL because the host doesn't own the device 0027 * 2) The user space asks the kernel what AP the CSME firmware is 0028 * connected to (with %IWL_MVM_VENDOR_CMD_GET_CSME_CONN_INFO) 0029 * 3) The user space checks if it has a profile that matches the reply 0030 * from the CSME firmware 0031 * 4) The user space installs a network to the wpa_supplicant with a 0032 * specific BSSID and a specific frequency 0033 * 5) The user space prevents any type of full scan 0034 * 6) The user space asks iwlmei to request ownership on the device (with 0035 * this command) 0036 * 7) iwlmei requests ownership from the CSME firmware 0037 * 8) The CSME firmware grants ownership 0038 * 9) iwlmei tells iwlwifi to lift the RFKILL 0039 * 10) RFKILL OFF is reported to user space 0040 * 11) The host boots the device, loads the firwmare, and connects to a 0041 * specific BSSID without scanning including IP as fast as it can 0042 * 12) The host reports to the CSME firmware that there is a connection 0043 * 13) The TCP connection is preserved and the host has connectivity 0044 * 0045 * @IWL_MVM_VENDOR_CMD_ROAMING_FORBIDDEN_EVENT: notifies if roaming is allowed. 0046 * It contains a &IWL_MVM_VENDOR_ATTR_ROAMING_FORBIDDEN and a 0047 * &IWL_MVM_VENDOR_ATTR_VIF_ADDR attributes. 0048 */ 0049 0050 enum iwl_mvm_vendor_cmd { 0051 IWL_MVM_VENDOR_CMD_GET_CSME_CONN_INFO = 0x2d, 0052 IWL_MVM_VENDOR_CMD_HOST_GET_OWNERSHIP = 0x30, 0053 IWL_MVM_VENDOR_CMD_ROAMING_FORBIDDEN_EVENT = 0x32, 0054 }; 0055 0056 enum iwl_vendor_auth_akm_mode { 0057 IWL_VENDOR_AUTH_OPEN, 0058 IWL_VENDOR_AUTH_RSNA = 0x6, 0059 IWL_VENDOR_AUTH_RSNA_PSK, 0060 IWL_VENDOR_AUTH_SAE = 0x9, 0061 IWL_VENDOR_AUTH_MAX, 0062 }; 0063 0064 /** 0065 * enum iwl_mvm_vendor_attr - attributes used in vendor commands 0066 * @__IWL_MVM_VENDOR_ATTR_INVALID: attribute 0 is invalid 0067 * @IWL_MVM_VENDOR_ATTR_VIF_ADDR: interface MAC address 0068 * @IWL_MVM_VENDOR_ATTR_ADDR: MAC address 0069 * @IWL_MVM_VENDOR_ATTR_SSID: SSID (binary attribute, 0..32 octets) 0070 * @IWL_MVM_VENDOR_ATTR_STA_CIPHER: the cipher to use for the station with the 0071 * mac address specified in &IWL_MVM_VENDOR_ATTR_ADDR. 0072 * @IWL_MVM_VENDOR_ATTR_ROAMING_FORBIDDEN: u8 attribute. Indicates whether 0073 * roaming is forbidden or not. Value 1 means roaming is forbidden, 0074 * 0 mean roaming is allowed. 0075 * @IWL_MVM_VENDOR_ATTR_AUTH_MODE: u32 attribute. Authentication mode type 0076 * as specified in &enum iwl_vendor_auth_akm_mode. 0077 * @IWL_MVM_VENDOR_ATTR_CHANNEL_NUM: u8 attribute. Contains channel number. 0078 * @IWL_MVM_VENDOR_ATTR_BAND: u8 attribute. 0079 * 0 for 2.4 GHz band, 1 for 5.2GHz band and 2 for 6GHz band. 0080 * @IWL_MVM_VENDOR_ATTR_COLLOC_CHANNEL: u32 attribute. Channel number of 0081 * collocated AP. Relevant for 6GHz AP info. 0082 * @IWL_MVM_VENDOR_ATTR_COLLOC_ADDR: MAC address of a collocated AP. 0083 * Relevant for 6GHz AP info. 0084 * 0085 * @NUM_IWL_MVM_VENDOR_ATTR: number of vendor attributes 0086 * @MAX_IWL_MVM_VENDOR_ATTR: highest vendor attribute number 0087 0088 */ 0089 enum iwl_mvm_vendor_attr { 0090 __IWL_MVM_VENDOR_ATTR_INVALID = 0x00, 0091 IWL_MVM_VENDOR_ATTR_VIF_ADDR = 0x02, 0092 IWL_MVM_VENDOR_ATTR_ADDR = 0x0a, 0093 IWL_MVM_VENDOR_ATTR_SSID = 0x3d, 0094 IWL_MVM_VENDOR_ATTR_STA_CIPHER = 0x51, 0095 IWL_MVM_VENDOR_ATTR_ROAMING_FORBIDDEN = 0x64, 0096 IWL_MVM_VENDOR_ATTR_AUTH_MODE = 0x65, 0097 IWL_MVM_VENDOR_ATTR_CHANNEL_NUM = 0x66, 0098 IWL_MVM_VENDOR_ATTR_BAND = 0x69, 0099 IWL_MVM_VENDOR_ATTR_COLLOC_CHANNEL = 0x70, 0100 IWL_MVM_VENDOR_ATTR_COLLOC_ADDR = 0x71, 0101 0102 NUM_IWL_MVM_VENDOR_ATTR, 0103 MAX_IWL_MVM_VENDOR_ATTR = NUM_IWL_MVM_VENDOR_ATTR - 1, 0104 }; 0105 0106 #endif /* __VENDOR_CMD_INTEL_H__ */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |