diff options
author | Chris Dearman <chris.dearman@imgtec.com> | 2016-02-25 11:21:51 -0800 |
---|---|---|
committer | Chris Dearman <chris.dearman@imgtec.com> | 2016-03-04 10:32:39 -0800 |
commit | b739414901d9cd13eda7c644e2873edf41fa9215 (patch) | |
tree | 6b3b828da4e8f8d5ae67234e10399e179480a643 | |
parent | 65d3e31da5517250a54351630afeaf35fee924ae (diff) | |
download | imagination-b739414901d9cd13eda7c644e2873edf41fa9215.tar.gz |
Set WiFi MAC addresses from OTP data
Bug:27479111
Change-Id: I44ede163dfed607d103fc81da2b21694976c5508
-rw-r--r-- | peripheral/wifi/uccp420/Android.mk | 10 | ||||
-rw-r--r-- | peripheral/wifi/uccp420/peripheral.mk | 8 | ||||
-rw-r--r-- | peripheral/wifi/uccp420/sepolicy/file_contexts | 1 | ||||
-rw-r--r-- | peripheral/wifi/uccp420/sepolicy/wifisetmac.te | 12 | ||||
-rw-r--r-- | peripheral/wifi/uccp420/uccp420.rc | 3 | ||||
-rwxr-xr-x | peripheral/wifi/uccp420/wifisetmac | 11 |
6 files changed, 44 insertions, 1 deletions
diff --git a/peripheral/wifi/uccp420/Android.mk b/peripheral/wifi/uccp420/Android.mk index 590659d..1471e52 100644 --- a/peripheral/wifi/uccp420/Android.mk +++ b/peripheral/wifi/uccp420/Android.mk @@ -32,4 +32,14 @@ LOCAL_MODULE_TAGS := optional include $(BUILD_SHARED_LIBRARY) +include $(CLEAR_VARS) + +LOCAL_MODULE := wifisetmac +LOCAL_SRC_FILES := wifisetmac +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_MODULE_PATH := $(TARGET_OUT)/bin + +include $(BUILD_PREBUILT) + endif diff --git a/peripheral/wifi/uccp420/peripheral.mk b/peripheral/wifi/uccp420/peripheral.mk index 708d995..97ea19e 100644 --- a/peripheral/wifi/uccp420/peripheral.mk +++ b/peripheral/wifi/uccp420/peripheral.mk @@ -14,6 +14,8 @@ # limitations under the License. # +LOCAL_PATH := hardware/bsp/imagination/peripheral/wifi/uccp420 + # UCCP420 WIFI Firmware UCCP420_WIFI_FW_SRC = vendor/bsp/imagination/peripheral/wifi/uccp420_firmware UCCP420_WIFI_FW_DST = system/vendor/firmware/img/uccp420wlan @@ -22,5 +24,11 @@ PRODUCT_COPY_FILES += \ $(UCCP420_WIFI_FW_SRC)/v4_5_8/MAC_LOADER.ldr:$(UCCP420_WIFI_FW_DST)/MAC_LOADER.ldr \ $(UCCP420_WIFI_FW_SRC)/v4_5_8/MCP_LOADER.ldr:$(UCCP420_WIFI_FW_DST)/MCP_LOADER.ldr +BOARD_SEPOLICY_DIRS += \ + $(LOCAL_PATH)/sepolicy + +DEVICE_PACKAGES += \ + wifisetmac + WIFI_DRIVER_HAL_MODULE := wifi_driver.$(soc_name) WIFI_DRIVER_HAL_PERIPHERAL := uccp420 diff --git a/peripheral/wifi/uccp420/sepolicy/file_contexts b/peripheral/wifi/uccp420/sepolicy/file_contexts new file mode 100644 index 0000000..c62793f --- /dev/null +++ b/peripheral/wifi/uccp420/sepolicy/file_contexts @@ -0,0 +1 @@ +/system/bin/wifisetmac u:object_r:wifisetmac_exec:s0 diff --git a/peripheral/wifi/uccp420/sepolicy/wifisetmac.te b/peripheral/wifi/uccp420/sepolicy/wifisetmac.te new file mode 100644 index 0000000..415a726 --- /dev/null +++ b/peripheral/wifi/uccp420/sepolicy/wifisetmac.te @@ -0,0 +1,12 @@ +# Domain for wifisetmac +type wifisetmac, domain; +type wifisetmac_exec, exec_type, file_type; + +brillo_domain(wifisetmac) +allow_crash_reporter(wifisetmac) + +allow wifisetmac shell_exec:file read; +allow wifisetmac proc:file write; +allow wifisetmac system_file:file execute_no_trans; +allow wifisetmac mtd_device:dir search; +allow wifisetmac mtd_device:chr_file { rw_file_perms }; diff --git a/peripheral/wifi/uccp420/uccp420.rc b/peripheral/wifi/uccp420/uccp420.rc index fe4657c..72a731a 100644 --- a/peripheral/wifi/uccp420/uccp420.rc +++ b/peripheral/wifi/uccp420/uccp420.rc @@ -1,5 +1,6 @@ -# bcsp configuration +# uucp420 configuration # Tell the kernel driver where to find the firmware on early-boot write /sys/module/firmware_class/parameters/path /vendor/firmware + exec /system/bin/wifisetmac diff --git a/peripheral/wifi/uccp420/wifisetmac b/peripheral/wifi/uccp420/wifisetmac new file mode 100755 index 0000000..08e845a --- /dev/null +++ b/peripheral/wifi/uccp420/wifisetmac @@ -0,0 +1,11 @@ +#!/system/bin/sh +# +# Initialize WiFi MAC addresses + +if [ -x /system/bin/proddata ]; then + mac0=`proddata read MAC_0` + mac1=`proddata read MAC_1` + echo "vif_macs=$mac0$mac1" > /proc/uccp420/params +fi + +exit 0 |