[Feature]add MT2731_MP2_MR2_SVN388 baseline version

Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/src/connectivity/network_cfg/wifi_mac/Android.mk b/src/connectivity/network_cfg/wifi_mac/Android.mk
new file mode 100644
index 0000000..97990f0
--- /dev/null
+++ b/src/connectivity/network_cfg/wifi_mac/Android.mk
@@ -0,0 +1,9 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_MODULE := wifi_bt_mac_write
+LOCAL_MODULE_TAGS := optional
+LOCAL_CFLAGS += -Wall
+LOCAL_SRC_FILES := main.c
+LOCAL_C_INCLUDES = $(LOCAL_PATH)/../wifi_mac
+$(warning $(LOCAL_C_INCLUDES))
+include $(BUILD_EXECUTABLE)
diff --git a/src/connectivity/network_cfg/wifi_mac/COPYING b/src/connectivity/network_cfg/wifi_mac/COPYING
new file mode 100644
index 0000000..8acc0e7
--- /dev/null
+++ b/src/connectivity/network_cfg/wifi_mac/COPYING
@@ -0,0 +1,31 @@
+Copyright Statement:
+
+This software/firmware and related documentation ("MediaTek Software") are
+protected under relevant copyright laws. The information contained herein is
+confidential and proprietary to MediaTek Inc. and/or its licensors. Without
+the prior written permission of MediaTek inc. and/or its licensors, any
+reproduction, modification, use or disclosure of MediaTek Software, and
+information contained herein, in whole or in part, shall be strictly
+prohibited.
+
+MediaTek Inc. (C) <YEAR> All rights reserved.
+
+BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
+ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
+WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
+NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
+RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
+INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
+TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
+RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
+OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
+SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
+RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
+ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
+RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
+MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
+CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
diff --git a/src/connectivity/network_cfg/wifi_mac/Makefile b/src/connectivity/network_cfg/wifi_mac/Makefile
new file mode 100644
index 0000000..23d1f02
--- /dev/null
+++ b/src/connectivity/network_cfg/wifi_mac/Makefile
@@ -0,0 +1,23 @@
+#
+# Makefile for libwifitest
+#
+
+# definitions
+# ------------------------------------------------------------------------------
+CFLAGS				 = -pipe -g -Os $(EXTRA_CFLAGS)
+
+# library info
+# ------------------------------------------------------------------------------
+
+# wifitest tool info
+PROGRAM				 = wifi_bt_mac_write
+# objects
+# ------------------------------------------------------------------------------
+
+# compiling and linking
+# ------------------------------------------------------------------------------
+all: $(PROGRAM)
+clean:
+	-rm -f $(OBJS) $(LIB) $(PROGRAM)
+$(PROGRAM): main.c
+	$(CC) -L . -lm -o $@ $<
diff --git a/src/connectivity/network_cfg/wifi_mac/README b/src/connectivity/network_cfg/wifi_mac/README
new file mode 100644
index 0000000..f550023
--- /dev/null
+++ b/src/connectivity/network_cfg/wifi_mac/README
@@ -0,0 +1,27 @@
+This directory contains Wi-Fi test tool function
+
+
+WHAT IT DOES?
+=============
+It provide test tool for Wi-Fi HW related test
+
+
+HOW IT WAS BUILT?
+==================
+It needs the following libs from AOSP:
+1. libcutils
+
+and the following libs from MediaTek:
+1. libwifitest
+
+All source/dependency modules of this module are already put in
+'hardware/mediatek/wlan/wifi_hw_test_tool' folder.
+
+
+HOW TO USE IT?
+==============
+Files in this directory is used for Wi-Fi test tool
+
+
+All the source code of this directory were written by MediaTek co..
+
diff --git a/src/connectivity/network_cfg/wifi_mac/main.c b/src/connectivity/network_cfg/wifi_mac/main.c
new file mode 100644
index 0000000..0f3412f
--- /dev/null
+++ b/src/connectivity/network_cfg/wifi_mac/main.c
@@ -0,0 +1,141 @@
+
+/******************************************************************************
+*                         C O M P I L E R   F L A G S
+*******************************************************************************
+*/
+
+/******************************************************************************
+*                    E X T E R N A L   R E F E R E N C E S
+*******************************************************************************
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <signal.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/sendfile.h>
+#include <fcntl.h>
+#include <linux/types.h>
+#include <limits.h>
+#include <getopt.h>
+#include <errno.h>
+#include <time.h>
+
+/******************************************************************************
+*                              C O N S T A N T S
+*******************************************************************************
+*/
+/* !defined(ANDROID) */
+
+
+/******************************************************************************
+*                             D A T A   T Y P E S
+*******************************************************************************
+*/
+
+/******************************************************************************
+*                                 M A C R O S
+*******************************************************************************
+*/
+
+/******************************************************************************
+*                   F U N C T I O N   D E C L A R A T I O N S
+*******************************************************************************
+*/
+
+/******************************************************************************
+*                            P U B L I C   D A T A
+*******************************************************************************
+*/
+
+/******************************************************************************
+*                           P R I V A T E   D A T A
+*******************************************************************************
+*/
+char EEPROM_PATH[64] = "/data/misc/connectivity/EEPROM_MT7668.bin";
+
+/******************************************************************************
+*                              F U N C T I O N S
+*******************************************************************************
+*/
+int main(int argc, char *argv[]) {
+	FILE *fh = NULL, *frandom = NULL;
+	long random_value = 0;
+	int rc;
+	unsigned char uacEEPROMImage[6];
+
+	fh = fopen(EEPROM_PATH, "rb+");
+	if(fh != NULL) {
+		/*Check WIFI Mac address*/
+		fseek(fh, 0x4, SEEK_SET);
+		fread(uacEEPROMImage, sizeof(unsigned char), 6, fh);
+		if(uacEEPROMImage[0] == 0 && uacEEPROMImage[1] == 0 &&
+			uacEEPROMImage[2] == 0 && uacEEPROMImage[3] == 0 &&
+			uacEEPROMImage[4] == 0 && uacEEPROMImage[5] == 0)
+		{
+			//time(&timep);
+			/*Get Random value*/
+			frandom = fopen("/dev/urandom", "rb");
+			if (frandom == NULL) {
+				printf("Could not open /dev/urandom.\n");
+				return -1;
+			}
+			
+			rc = fread(&random_value, 1, sizeof(long), frandom);
+			fclose(frandom);
+	
+			//random_value = random();
+			printf("Time:%x\n", random_value);
+			uacEEPROMImage[0] = 0x00;
+			uacEEPROMImage[1] = 0x08;
+			uacEEPROMImage[2] = 0x22;
+			uacEEPROMImage[3] = random_value >> 16;
+			uacEEPROMImage[4] = random_value >> 8;
+			uacEEPROMImage[5] = random_value;
+
+			fseek(fh, 0x4, SEEK_SET);
+			fwrite(uacEEPROMImage, sizeof(unsigned char), 6, fh);
+		}
+
+		/*Check BT Mac Address*/
+		fseek(fh, 0x384, SEEK_SET);
+		fread(uacEEPROMImage, sizeof(unsigned char), 6, fh);
+		if(uacEEPROMImage[0] == 0 && uacEEPROMImage[1] == 0 &&
+			uacEEPROMImage[2] == 0 && uacEEPROMImage[3] == 0 &&
+			uacEEPROMImage[4] == 0 && uacEEPROMImage[5] == 0)
+		{
+			if (random_value == 0) {
+				frandom = fopen("/dev/urandom", "rb");
+				if (frandom == NULL) {
+					printf("Could not open /dev/urandom.\n");
+					return -1;
+				}
+			
+				rc = fread(&random_value, 1, sizeof(long), frandom);
+				fclose(frandom);
+			
+				uacEEPROMImage[0] = 0x00;
+				uacEEPROMImage[1] = 0x08;
+				uacEEPROMImage[2] = 0x22;
+				uacEEPROMImage[3] = random_value >> 16;
+				uacEEPROMImage[4] = random_value >> 8;
+				uacEEPROMImage[5] = random_value;
+			}
+			else {
+				uacEEPROMImage[0] = 0x00;
+				uacEEPROMImage[1] = 0x08;
+				uacEEPROMImage[2] = 0x22;
+				uacEEPROMImage[3] = random_value >> 16;
+				uacEEPROMImage[4] = random_value >> 8;
+				uacEEPROMImage[5] = random_value + 1;
+			}
+
+			fseek(fh, 0x384, SEEK_SET);
+			fwrite(uacEEPROMImage, sizeof(unsigned char), 6, fh);
+		}
+
+		fclose(fh);
+	}
+	return 0;
+}
diff --git a/src/connectivity/network_cfg/wifi_mac/wifi_bt_mac_write.service b/src/connectivity/network_cfg/wifi_mac/wifi_bt_mac_write.service
new file mode 100644
index 0000000..852f7d2
--- /dev/null
+++ b/src/connectivity/network_cfg/wifi_mac/wifi_bt_mac_write.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=wifi_bt_mac_write
+After=data-ubi-mnt.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=no
+ExecStart=/usr/sbin/wifi_bt_mac_write
+
+[Install]
+Alias=pwrwifid
+WantedBy=multi-user.target