1#!/bin/sh
2#
3#
4# Copyright (C) 2015 The Android Open Source Project
5#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10#      http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#
18#
19# UDEV event helper script that sets the system's WiFi regulatory domain
20# from VPD data.
21
22set -e
23
24# TODO(quiche): When fixing crbug.com/474657, we may need to remove
25# toupper().
26country_code=$(
27  # Example output of dump_vpd_log --stdout:
28  # "initial_timezone"="America/Los_Angeles"
29  # "region"="us"
30  dump_vpd_log --stdout |
31  awk -F'=' \
32    '/^"region"="[-0-9a-zA-Z.]+"$/ {
33       gsub(/"/, "", $2)
34       print toupper($2)
35       exit
36     }'
37)
38
39# TODO(quiche): Replace this code using the regions database and jq.
40# crbug.com/474657.
41country_code="${country_code%%.*}"
42case "${country_code}" in
43  "LATAM-ES-419")
44    country_code="MX"
45    ;;
46  "NORDIC")
47    country_code="SE"
48    ;;
49esac
50
51if [ -n "${country_code}" ]; then
52  iw reg set "${country_code}"
53fi
54