| #!/bin/sh |
| # |
| # |
| # Copyright (C) 2015 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # |
| # UDEV event helper script that sets the system's WiFi regulatory domain |
| # from VPD data. |
| |
| set -e |
| |
| # TODO(quiche): When fixing crbug.com/474657, we may need to remove |
| # toupper(). |
| country_code=$( |
| # Example output of dump_vpd_log --stdout: |
| # "initial_timezone"="America/Los_Angeles" |
| # "region"="us" |
| dump_vpd_log --stdout | |
| awk -F'=' \ |
| '/^"region"="[-0-9a-zA-Z.]+"$/ { |
| gsub(/"/, "", $2) |
| print toupper($2) |
| exit |
| }' |
| ) |
| |
| # TODO(quiche): Replace this code using the regions database and jq. |
| # crbug.com/474657. |
| country_code="${country_code%%.*}" |
| case "${country_code}" in |
| "LATAM-ES-419") |
| country_code="MX" |
| ;; |
| "NORDIC") |
| country_code="SE" |
| ;; |
| esac |
| |
| if [ -n "${country_code}" ]; then |
| iw reg set "${country_code}" |
| fi |