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 22 set -e 23 24 # TODO(quiche): When fixing crbug.com/474657, we may need to remove 25 # toupper(). 26 country_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. 41 country_code="${country_code%%.*}" 42 case "${country_code}" in 43 "LATAM-ES-419") 44 country_code="MX" 45 ;; 46 "NORDIC") 47 country_code="SE" 48 ;; 49 esac 50 51 if [ -n "${country_code}" ]; then 52 iw reg set "${country_code}" 53 fi 54