#!/bin/sh /etc/rc.common
#
# Copyright (c) 2017 Qualcomm Technologies, Inc.
#
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.

START=08
STOP=98

create_ftm_modules_list() {
	rm -rf /etc/modules.d.ftm
	mkdir /etc/modules.d.ftm
	cd /etc/modules.d
	cp *bridge /etc/modules.d.ftm
	cp *bonding /etc/modules.d.ftm
	cp *cfg80211-linux /etc/modules.d.ftm
	cp *crypto-ocf /etc/modules.d.ftm
	cp *qca-ssdk-nohnat /etc/modules.d.ftm
	cp *hnat /etc/modules.d.ftm
	cp *qca-wifi-cfg80211 /etc/modules.d.ftm
	cp *iptunnel /etc/modules.d.ftm
	cp *iptunnel4 /etc/modules.d.ftm
	cp *iptunnel6 /etc/modules.d.ftm
	cp *qca-nss-dp /etc/modules.d.ftm
	cp *-l2tp /etc/modules.d.ftm
	cp *qca-nss-drv /etc/modules.d.ftm
	cp *sit /etc/modules.d.ftm
	cp *nat46 /etc/modules.d.ftm
	cp *bonding /etc/modules.d.ftm
	cp *qca-edma /etc/modules.d.ftm
	cp *qca-nss-drv-bridge-mgr /etc/modules.d.ftm
	cp *qca-nss-drv-l2tpv2 /etc/modules.d.ftm
	cp *qca-nss-drv-lag-mgr /etc/modules.d.ftm
	cp *qca-nss-drv-map-t /etc/modules.d.ftm
	cp *qca-nss-drv-pptp /etc/modules.d.ftm
	cp *qca-nss-drv-vlan-mgr /etc/modules.d.ftm
	cp *qca-nss-crypto /etc/modules.d.ftm
	cp *qca-nss-drv-ipsecmgr /etc/modules.d.ftm
	cp *qca-nss-drv-qdisc /etc/modules.d.ftm
	cp *qca-nss-cfi /etc/modules.d.ftm
	cp *qca-nss-drv-tun6rd /etc/modules.d.ftm
	cp *qca-nss-drv-tunipip6 /etc/modules.d.ftm
	cp *nf-conntrack /etc/modules.d.ftm
	cp *usb-f-diag  /etc/modules.d.ftm
	cp *diag-char  /etc/modules.d.ftm
	cd /
	mv /etc/modules.d /etc/modules.d.bk
	mv /etc/modules.d.ftm /etc/modules.d

	# dmesg disabled to avoid prints and reduce load time
	# dmesg would be enabled back in qcawifi.sh:ftm_qcawifi function
	dmesg -n1
}

boot() {
	local board_name
	[ -f /tmp/sysinfo/board_name ] && {
		board_name=$(cat /tmp/sysinfo/board_name)
	}
	is_ftm=`grep wifi_ftm_mode /proc/cmdline | wc -l`
	serverip=`grep -oh "serverip.*#"  /proc/cmdline  | awk -F '#' '{print $2}'`
	[ $is_ftm = 1 ] && [ -z "$serverip" ] && echo "ERROR: QSPR Serverip is not set" > /dev/console

	case "$board_name" in
	ap-hk*|ap-ac*|ap-cp*|ap-oa*)
		[ $is_ftm = 1 ] && [ -n "$serverip" ] && create_ftm_modules_list
	;;
	*)
	;;
	esac
}
