[Feature][T108][WIFI][task-view-1467]wifi i1880-SW debugging, unable to open the problem and add ap+sta mode support

Only Configure: No
Affected branch: LYNQ_SDK_ASR_T108_GXX-000_V05.03.01.01
Affected module: WIFI
Is it affected on IC: only ASR
Self-test: yes
Doc Update: no

Change-Id: Id6be55b4681e5cb38778d3abf9b95a0a54dae385
diff --git a/marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aic_bsp_driver.c b/marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aic_bsp_driver.c
index 23c7729..78db5b6 100755
--- a/marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aic_bsp_driver.c
+++ b/marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aic_bsp_driver.c
@@ -1784,7 +1784,8 @@
 	u32 btenable = 0;

 	u8 is_chip_id_h = 0;

 	int ret = 0;

-

+	if(sdiodev == NULL)

+		return -1;

 	mem_addr = 0x40500000;

 

 	testmode = aicbsp_info.cpmode;

diff --git a/marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aicsdio.c b/marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aicsdio.c
index c6ab6bf..a32f363 100755
--- a/marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aicsdio.c
+++ b/marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aicsdio.c
@@ -543,7 +543,7 @@
 	rockchip_wifi_power(0);

 #endif /*CONFIG_PLATFORM_ROCKCHIP2*/

 

-	return -1;

+	return 0;

 }

 

 static void aicbsp_platform_power_off(void)

@@ -593,6 +593,8 @@
 

 void aicbsp_sdio_release(struct aic_sdio_dev *sdiodev)

 {

+	if(sdiodev == NULL)

+		return;

 	sdiodev->bus_if->state = BUS_DOWN_ST;

 	sdio_claim_host(sdiodev->func);

 	sdio_release_irq(sdiodev->func);

diff --git a/marvell/linux/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_main.c b/marvell/linux/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_main.c
index d0ec1ab..d46e2f6 100755
--- a/marvell/linux/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_main.c
+++ b/marvell/linux/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_main.c
@@ -7033,6 +7033,9 @@
 	vif = rwnx_interface_add(rwnx_hw, "wlan%d", NET_NAME_UNKNOWN,

 								NL80211_IFTYPE_STATION, NULL);

 

+	vif = rwnx_interface_add(rwnx_hw, "wlan%d-vxd", NET_NAME_UNKNOWN,

+								NL80211_IFTYPE_STATION, NULL);

+

 	rtnl_unlock();

 

 	if (!vif) {

diff --git a/mbtk/Makefile b/mbtk/Makefile
index 8086279..21025f5 100755
--- a/mbtk/Makefile
+++ b/mbtk/Makefile
@@ -15,6 +15,12 @@
 			(cd $$i && echo "making $$i" && $(MAKE) ) || exit 1; \
 		fi \
 	done
+	@ if [ -e $(ROOT)/../marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko ]; then \
+		cp $(ROOT)/../marvell/linux/drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko $(ROOT)/rootfs/etc/wifi/; \
+	fi
+	@ if [ -e $(ROOT)/../marvell/linux/drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko ]; then \
+		cp $(ROOT)/../marvell/linux/drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko $(ROOT)/rootfs/etc/wifi/; \
+	fi
 	@echo "Success"
 
 clean:
diff --git a/mbtk/rootfs/etc/mbtk_wifi.sh b/mbtk/rootfs/etc/mbtk_wifi.sh
index f7494f4..c208c7e 100644
--- a/mbtk/rootfs/etc/mbtk_wifi.sh
+++ b/mbtk/rootfs/etc/mbtk_wifi.sh
@@ -99,7 +99,7 @@
 
 function wifi_sta_start()
 {
-	wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wifi/wpa_supplicant.conf -B
+	wpa_supplicant -Dnl80211 -iwlan0-vxd -c/etc/wifi/wpa_supplicant.conf -B
 	sleep 5s
 	
 	SSID=`cat $STA_NET_CONF | grep -w 'SSID'   | cut -d '=' -f 2`
@@ -120,7 +120,7 @@
 	wpa_cli -p/var/run/wpa_supplicant set_network 0 psk $str2
 	wpa_cli -p/var/run/wpa_supplicant select_network 0
 
-	udhcpc -i wlan0
+	udhcpc -i wlan0-vxd
 }
 
 function wifi_sta_stop()
diff --git a/mbtk/rootfs/etc/wifi/aic8800_bsp.ko b/mbtk/rootfs/etc/wifi/aic8800_bsp.ko
index 3c27bdd..66407e4 100755
--- a/mbtk/rootfs/etc/wifi/aic8800_bsp.ko
+++ b/mbtk/rootfs/etc/wifi/aic8800_bsp.ko
Binary files differ
diff --git a/mbtk/rootfs/etc/wifi/aic8800_fdrv.ko b/mbtk/rootfs/etc/wifi/aic8800_fdrv.ko
index 3ef1b91..b05dcfc 100755
--- a/mbtk/rootfs/etc/wifi/aic8800_fdrv.ko
+++ b/mbtk/rootfs/etc/wifi/aic8800_fdrv.ko
Binary files differ
diff --git a/mbtk/rootfs/etc/wifi/hostapd.conf b/mbtk/rootfs/etc/wifi/hostapd.conf
index cdcdab7..e72bfd2 100755
--- a/mbtk/rootfs/etc/wifi/hostapd.conf
+++ b/mbtk/rootfs/etc/wifi/hostapd.conf
@@ -1,3 +1,5 @@
+ctrl_interface=/var/run/hostapd
+ctrl_interface_group=0
 interface=wlan0
 #bridge=br0
 ssid=mbtk
diff --git a/package/network/services/lte-telephony/files/telinit b/package/network/services/lte-telephony/files/telinit
index 9483d76..0448df6 100755
--- a/package/network/services/lte-telephony/files/telinit
+++ b/package/network/services/lte-telephony/files/telinit
@@ -126,3 +126,4 @@
 		/usr/bin/audio_if &
 		}
 fi
+/etc/mbtk_wifi.sh ap start
\ No newline at end of file