Add a new WoWLAN API to enable net-detect as a wake up trigger. Net-detect allows the device to scan in the background while the host is asleep to wake up the host system when a matching network is found. Reuse the scheduled scan attributes to specify how the scan is performed while suspended and the matches that will trigger a wake event.
Showing the changes to include/uapi/linux (1 of 4 files). Show all
Unified · Split
| @@ -1686,6 +1686,7 @@ enum nl80211_commands { · 1685 unmodified lines | ||
| 1686 | 1686 | * |
| 1687 | 1687 | * @NL80211_ATTR_OPER_CLASS: operating class |
| 1688 | 1688 | * |
| 1689 | + * @NUM_NL80211_ATTR: total number of nl80211_attrs available | |
| 1689 | 1690 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1690 | 1691 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 1691 | 1692 | */ |
| @@ -2043,6 +2044,7 @@ enum nl80211_attrs { · 351 unmodified lines | ||
| 2043 | 2044 | /* add attributes here, update the policy in nl80211.c */ |
| 2044 | 2045 | |
| 2045 | 2046 | __NL80211_ATTR_AFTER_LAST, |
| 2047 | + NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST, | |
| 2046 | 2048 | NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 |
| 2047 | 2049 | }; |
| 2048 | 2050 | |
| @@ -3610,6 +3612,25 @@ struct nl80211_pattern_support { · 1561 unmodified lines | ||
| 3610 | 3612 | * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only, |
| 3611 | 3613 | * the TCP connection ran out of tokens to use for data to send to the |
| 3612 | 3614 | * service |
| 3615 | + * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network | |
| 3616 | + * is detected. This is a nested attribute that contains the | |
| 3617 | + * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It | |
| 3618 | + * specifies how the scan is performed (e.g. the interval and the | |
| 3619 | + * channels to scan) as well as the scan results that will | |
| 3620 | + * trigger a wake (i.e. the matchsets). | |
| 3621 | + * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute | |
| 3622 | + * containing an array with information about what triggered the | |
| 3623 | + * wake up. If no elements are present in the array, it means | |
| 3624 | + * that the information is not available. If more than one | |
| 3625 | + * element is present, it means that more than one match | |
| 3626 | + * occurred. | |
| 3627 | + * Each element in the array is a nested attribute that contains | |
| 3628 | + * one optional %NL80211_ATTR_SSID attribute and one optional | |
| 3629 | + * %NL80211_ATTR_SCAN_FREQUENCIES attribute. At least one of | |
| 3630 | + * these attributes must be present. If | |
| 3631 | + * %NL80211_ATTR_SCAN_FREQUENCIES contains more than one | |
| 3632 | + * frequency, it means that the match occurred in more than one | |
| 3633 | + * channel. | |
| 3613 | 3634 | * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers |
| 3614 | 3635 | * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number |
| 3615 | 3636 | * |
| @@ -3635,6 +3656,8 @@ enum nl80211_wowlan_triggers { · 19 unmodified lines | ||
| 3635 | 3656 | NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH, |
| 3636 | 3657 | NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST, |
| 3637 | 3658 | NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS, |
| 3659 | + NL80211_WOWLAN_TRIG_NET_DETECT, | |
| 3660 | + NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS, | |
| 3638 | 3661 | |
| 3639 | 3662 | /* keep last */ |
| 3640 | 3663 | NUM_NL80211_WOWLAN_TRIG, |