diff options
author | Davide Garberi <dade.garberi@gmail.com> | 2019-03-02 13:23:14 +0100 |
---|---|---|
committer | Davide Garberi <dade.garberi@gmail.com> | 2019-03-02 13:56:05 +0100 |
commit | 95f4617bec43046ca6d418b606175978eea22be2 (patch) | |
tree | b9706466e41c6c85131d25696b7f7abf74c763ab /rootdir | |
parent | 56a0d4e8bca5cb53407e9d615ed5566e87f34c2b (diff) |
msm8996-common: Set the hardware wlan mac using wcg_mac_tool
* Bin extracted from ZUI
* Add init.wlan.sh to check if the mac address in wlan_mac.bin is already correct, if not correct it
* Run both the bins on boot completed as wcg can't run earlier
* Label both the bins and address their denials
Change-Id: I7a8001465ec9c3d69bd228efa57dddfdd8e3c6f3
Diffstat (limited to 'rootdir')
-rw-r--r-- | rootdir/Android.mk | 8 | ||||
-rw-r--r-- | rootdir/bin/init.wlan.sh | 24 | ||||
-rw-r--r-- | rootdir/etc/init.qcom.rc | 18 |
3 files changed, 50 insertions, 0 deletions
diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 6f61c5b..c7b6f0a 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -10,6 +10,14 @@ LOCAL_SRC_FILES := bin/init.qcom.sh LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.wlan.sh +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.wlan.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + # Common init scripts include $(CLEAR_VARS) diff --git a/rootdir/bin/init.wlan.sh b/rootdir/bin/init.wlan.sh new file mode 100644 index 0000000..36c0430 --- /dev/null +++ b/rootdir/bin/init.wlan.sh @@ -0,0 +1,24 @@ +#! /vendor/bin/sh + +# +# Copyright (C) 2019 The LineageOS 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. +# + +# Set the proper hardware based wlan mac +if [[ ! -f /persist/wlan_mac.bin ]] || [[ $(cat /persist/wlan_mac.bin | grep Intf0MacAddress | sed 's/Intf0MacAddress=//') != $(getprop sys.wifimac | sed 's/://g') ]]; then + wifi_mac=$(getprop sys.wifimac | sed 's/://g'); +echo "Intf0MacAddress=$wifi_mac +END" > /persist/wlan_mac.bin +fi; diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index dc95d51..5d1e1ae 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -574,6 +574,24 @@ service vendor.ppd /vendor/bin/mm-pp-dpps disabled writepid /dev/cpuset/system-background/tasks +service wcg_mac_tool /vendor/bin/wcg_mac_tool + class late_start + group root + user root + disabled + oneshot + +service wlan-sh /vendor/bin/init.wlan.sh + class late_start + user root + group root + disabled + oneshot + +on property:sys.boot_completed=1 + start wcg_mac_tool + start wlan-sh + on property:init.svc.vendor.hwcomposer-2-1=stopped stop vendor.ppd |