zenfone8: Build Wlan from source

Change-Id: I8060b25426f69a393c0757ebfec87293e2d23cf6
diff --git a/Android.mk b/Android.mk
index 81dd646..c01fbb7 100755
--- a/Android.mk
+++ b/Android.mk
@@ -142,10 +142,9 @@
 
 WIFI_FIRMWARE_SYMLINKS := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld
 $(WIFI_FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
-	@echo "Creating wifi firmware symlinks: $@"
+	@echo "Creating WiFi firmware symlinks: $@"
 	@mkdir -p $@
-	$(hide) ln -sf /vendor/etc/wifi/WCNSS_qcom_cfg.ini $@/WCNSS_qcom_cfg.ini
-	$(hide) ln -sf /mnt/vendor/persist/wlan_mac.bin $@/wlan_mac.bin
+	$(hide) ln -sf /vendor/factory/wlan_mac.bin $@/wlan_mac.bin
 
 ALL_DEFAULT_INSTALLED_MODULES += \
     $(RFS_MSM_ADSP_SYMLINKS) \
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 33baea8..edba777 100755
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -194,7 +194,7 @@
     q6_dlkm.ko \
     q6_notifier_dlkm.ko \
     q6_pdr_dlkm.ko \
-    qca_cld3_wlan.ko \
+    wlan.ko \
     qcom_edac.ko \
     qm1d1b0004.ko \
     qm1d1c0042.ko \
@@ -242,8 +242,6 @@
     xc4000.ko \
     xc5000.ko
 
-TARGET_MODULE_ALIASES += wlan.ko:qca_cld3_wlan.ko
-
 BOOT_KERNEL_MODULES := \
     msm_drm.ko
 
@@ -318,3 +316,18 @@
 include vendor/omni/sepolicy/sepolicy.mk
 include device/qcom/sepolicy_vndr/SEPolicy.mk
 BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
+
+# WiFi
+BOARD_WLAN_DEVICE := qcwcn
+BOARD_HOSTAPD_DRIVER := NL80211
+BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
+BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
+PRODUCT_VENDOR_MOVE_ENABLED := true
+WIFI_DRIVER_DEFAULT := qca_cld3
+WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
+WIFI_DRIVER_STATE_OFF := "OFF"
+WIFI_DRIVER_STATE_ON := "ON"
+WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
+WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
+WPA_SUPPLICANT_VERSION := VER_0_8_X
diff --git a/device.mk b/device.mk
index 591739c..283f5b8 100755
--- a/device.mk
+++ b/device.mk
@@ -324,7 +324,12 @@
 
 # Wifi
 PRODUCT_PACKAGES += \
-    android.hardware.wifi.supplicant@1.3.vendor
+    android.hardware.wifi@1.0-service \
+    hostapd \
+    libwifi-hal-qcom \
+    libwpa_client \
+    wpa_supplicant \
+    wpa_supplicant.conf
 
 # Wifi Display
 PRODUCT_PACKAGES += \
diff --git a/manifest_lahaina.xml b/manifest_lahaina.xml
index 483e06a..a196e64 100644
--- a/manifest_lahaina.xml
+++ b/manifest_lahaina.xml
@@ -210,16 +210,6 @@
         <fqname>@2.3::IUceService/com.qualcomm.qti.uceservice</fqname>
     </hal>
     <hal format="hidl">
-        <name>vendor.asus.wifi.hostapd</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IAsusHostapd</name>
-            <instance>default</instance>
-        </interface>
-        <fqname>@1.0::IAsusHostapd/default</fqname>
-    </hal>
-    <hal format="hidl">
         <name>vendor.goodix.hardware.biometrics.fingerprint</name>
         <transport>hwbinder</transport>
         <version>2.1</version>
diff --git a/omni.dependencies b/omni.dependencies
index 49c6c78..a01a76a 100644
--- a/omni.dependencies
+++ b/omni.dependencies
@@ -18,6 +18,13 @@
     "revision": "lineage-19.0-caf-sm8350"
   },
   {
+    "remote": "github",
+    "repository": "LineageOS/android_hardware_qcom_wlan",
+    "target_path": "hardware/qcom-caf/wlan",
+    "override": "platform/hardware/qcom/wlan",
+    "revision": "lineage-19.0-caf"
+  },
+  {
     "remote": "omnirom",
     "repository": "android_kernel_asus_sm8350",
     "target_path": "kernel/asus/sm8350",
diff --git a/prebuilt/vendor/etc/init/hw/init.qcom.rc b/prebuilt/vendor/etc/init/hw/init.qcom.rc
index fd85b6c..802b421 100644
--- a/prebuilt/vendor/etc/init/hw/init.qcom.rc
+++ b/prebuilt/vendor/etc/init/hw/init.qcom.rc
@@ -215,12 +215,6 @@
     chown system system /sys/class/sensors/apds9930-proximity/enable
     chown system system /sys/class/sensors/apds9930-proximity/poll_delay
 
-    # set wifi link file.
-    setprop wlan.driver.status unloaded
-    setprop vendor.wlan.softap.driver.status unloaded
-    setprop vendor.bluetooth.status off
-    setprop persist.vendor.asus.wlandriver.ver 2
-
     # Create directory used for display
     # for backward compatibility
     mkdir /persist/display 0770 system graphics
@@ -677,25 +671,6 @@
     group radio diag
     disabled
 
-service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-    -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \
-    -g@android:vendor_wpa_wlan0
-#   we will start as root and wpa_supplicant will switch to user wifi
-#   after setting up the capabilities required for WEXT
-#   user wifi
-#   group wifi inet keystore
-    interface android.hardware.wifi.supplicant@1.0::ISupplicant default
-    interface android.hardware.wifi.supplicant@1.1::ISupplicant default
-    interface android.hardware.wifi.supplicant@1.2::ISupplicant default
-    interface android.hardware.wifi.supplicant@1.3::ISupplicant default
-    interface vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendor default
-    interface vendor.qti.hardware.wifi.supplicant@2.1::ISupplicantVendor default
-    interface vendor.qti.hardware.wifi.supplicant@2.2::ISupplicantVendor default
-    class main
-    socket vendor_wpa_wlan0 dgram 660 wifi wifi
-    disabled
-    oneshot
-
 service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
     -iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
     -m/data/vendor/wifi/wigig_p2p_supplicant.conf \
diff --git a/proprietary-files-vendor.txt b/proprietary-files-vendor.txt
index 97a7039..3197480 100644
--- a/proprietary-files-vendor.txt
+++ b/proprietary-files-vendor.txt
@@ -124,7 +124,6 @@
 vendor/bin/hang_guard
 vendor/bin/hdcp1prov
 vendor/bin/hdcp2p2prov
-vendor/bin/hostapd_cli
 vendor/bin/hvdcp_opti
 vendor/bin/hw/android.hardware.authsecret@1.0-service-qti
 vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti
@@ -143,9 +142,7 @@
 vendor/bin/hw/android.hardware.sensors@2.0-service.multihal
 vendor/bin/hw/android.hardware.thermal@2.0-service.qti
 vendor/bin/hw/android.hardware.usb@1.2-service-qti
-vendor/bin/hw/android.hardware.wifi@1.0-service
 vendor/bin/hw/capabilityconfigstoretest
-vendor/bin/hw/hostapd
 vendor/bin/hw/qconfigservice
 vendor/bin/hw/qcrilNrd
 vendor/bin/hw/vendor.display.color@1.0-service
@@ -173,7 +170,6 @@
 vendor/bin/hw/vendor.qti.media.c2@1.0-service
 vendor/bin/hw/vendor.qti.sla.service@1.0-service
 vendor/bin/hw/vendor.qti.spu@1.1-service
-vendor/bin/hw/wpa_supplicant
 vendor/bin/ims_rtp_daemon
 vendor/bin/imsdaemon
 vendor/bin/init.asus.thermal_conf.sh
@@ -412,9 +408,6 @@
 vendor/etc/gnss_antenna_info.conf
 vendor/etc/gpfspath_oem_config.xml
 vendor/etc/gps.conf
-vendor/etc/hostapd/hostapd.accept
-vendor/etc/hostapd/hostapd.deny
-vendor/etc/hostapd/hostapd_default.conf
 vendor/etc/init.asus.nfc.JP.rc
 vendor/etc/init.qti.fm.sh
 vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc
@@ -432,8 +425,6 @@
 vendor/etc/init/android.hardware.sensors@2.0-service-multihal.rc
 vendor/etc/init/android.hardware.thermal@2.0-service.qti.rc
 vendor/etc/init/android.hardware.usb@1.2-service-qti.rc
-vendor/etc/init/android.hardware.wifi.supplicant-service.rc
-vendor/etc/init/android.hardware.wifi@1.0-service.rc
 vendor/etc/init/cnd.rc
 vendor/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc
 vendor/etc/init/dataadpl.rc
@@ -441,7 +432,6 @@
 vendor/etc/init/diagcommd.rc
 vendor/etc/init/dpmQmiMgr.rc
 vendor/etc/init/hang_guard.rc
-vendor/etc/init/hostapd.android.rc
 vendor/etc/init/hw/init.asus.usb.rc
 vendor/etc/init/hw/init.qcom.factory.rc
 vendor/etc/init/hw/init.qti.kernel.rc
@@ -1189,10 +1179,7 @@
 -vendor/etc/vintf/manifest/android.hardware.sensors@2.0-multihal.xml
 -vendor/etc/vintf/manifest/android.hardware.thermal@2.0-service.qti.xml
 -vendor/etc/vintf/manifest/android.hardware.usb@1.2-service.xml
--vendor/etc/vintf/manifest/android.hardware.wifi.hostapd.xml
--vendor/etc/vintf/manifest/android.hardware.wifi@1.0-service.xml
 -vendor/etc/vintf/manifest/c2_manifest_vendor.xml
--vendor/etc/vintf/manifest/manifest.xml
 -vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml
 -vendor/etc/vintf/manifest/power.xml
 -vendor/etc/vintf/manifest/vendor.pixelworks.hardware.display.iris-service.xml
@@ -2152,18 +2139,13 @@
 vendor/lib/libwfduibcsrc_proprietary.so
 vendor/lib/libwfduibcsrcinterface_proprietary.so
 vendor/lib/libwfdutils_proprietary.so
-vendor/lib/libwifi-hal-ctrl.so
-vendor/lib/libwifi-hal-qcom.so
 vendor/lib/libwms.so
-vendor/lib/libwpa_client.so
 vendor/lib/libwqe.so
 vendor/lib/libxditk_arch.so
 vendor/lib/libxditk_ditArchLIB.so
 vendor/lib/libxditk_ditBSP.so
 vendor/lib/libxml.so
 vendor/lib/libxtadapter.so
-vendor/lib/libxtwifi_server_protocol.so
-vendor/lib/libxtwifi_server_protocol_uri_v3.so
 vendor/lib/mediadrm/libwvdrmengine.so
 vendor/lib/modules/modules.blocklist
 vendor/lib/nfc_nci_nxp.so
@@ -2827,8 +2809,6 @@
 vendor/lib64/libkeymasterdeviceutils.so
 vendor/lib64/libkeymasterprovision.so
 vendor/lib64/libkeymasterutils.so
-vendor/lib64/libkeystore-engine-wifi-hidl.so
-vendor/lib64/libkeystore-wifi-hidl.so
 vendor/lib64/liblbs_core.so
 vendor/lib64/liblearningmodule.so
 vendor/lib64/liblistensoundmodel2.so
@@ -3069,11 +3049,7 @@
 vendor/lib64/libwebrtc_audio_preprocessing.so
 vendor/lib64/libwfddisplayconfig_proprietary.so
 vendor/lib64/libwfdhdcpcp.so
-vendor/lib64/libwifi-hal-ctrl.so
-vendor/lib64/libwifi-hal-qcom.so
-vendor/lib64/libwifi-hal.so
 vendor/lib64/libwms.so
-vendor/lib64/libwpa_client.so
 vendor/lib64/libwqe.so
 vendor/lib64/libwvhidl.so
 vendor/lib64/libxditk_DIT_Manager.so
@@ -3084,8 +3060,6 @@
 vendor/lib64/libxditk_ditBSP_JNI.so
 vendor/lib64/libxml.so
 vendor/lib64/libxtadapter.so
-vendor/lib64/libxtwifi_server_protocol.so
-vendor/lib64/libxtwifi_server_protocol_uri_v3.so
 vendor/lib64/ls_client.so
 vendor/lib64/mediadrm/libwvdrmengine.so
 vendor/lib64/nfc_nci_nxp.so
@@ -3120,7 +3094,6 @@
 vendor/lib64/unnhal-acc-htp.so
 vendor/lib64/vendor.asus.bspcam@1.0-impl.so
 vendor/lib64/vendor.asus.bspcam@1.0.so
-vendor/lib64/vendor.asus.wifi.hostapd@1.0.so
 vendor/lib64/vendor.display.color@1.0.so
 vendor/lib64/vendor.display.color@1.1.so
 vendor/lib64/vendor.display.color@1.2.so
diff --git a/regen-vendor.sh b/regen-vendor.sh
index f28bc9a..444ca9b 100755
--- a/regen-vendor.sh
+++ b/regen-vendor.sh
@@ -511,6 +511,7 @@
 
     # Manifest
     "etc/vintf/manifest_lahaina.xml"
+    "etc/vintf/manifest/manifest.xml"
     "etc/permissions/sku_shima/android.hardware.sensor.accelerometer.xml"
     "etc/permissions/sku_shima/android.hardware.sensor.compass.xml"
     "etc/permissions/sku_shima/android.hardware.sensor.gyroscope.xml"
@@ -1092,9 +1093,20 @@
     "lib64/hw/vendor.asus.vibrator.vibratorgovern@1.0-impl.so"
 
     # Wifi
+    "bin/hw/android.hardware.wifi@1.0-service"
+    "etc/init/android.hardware.wifi@1.0-service.rc"
+    "etc/vintf/manifest/android.hardware.wifi@1.0-service.xml"
     "bin/wifistresstest.sh"
     "etc/init/vendor.qti.hardware.wifi.wifilearner@1.0-service.rc"
     "lib64/vendor.qti.hardware.wifi.wifilearner@1.0.so"
+    "etc/vintf/manifest/android.hardware.wifi.hostapd.xml"
+    "lib64/vendor.asus.wifi.hostapd@1.0.so"
+    "bin/hostapd_cli"
+    "bin/hw/hostapd"
+    "etc/hostapd/hostapd.accept"
+    "etc/hostapd/hostapd.deny"
+    "etc/hostapd/hostapd_default.conf"
+    "etc/init/hostapd.android.rc"
     "etc/wifi/qca6390/WCNSS_qcom_cfg.ini"
     "etc/wifi/qca6750/WCNSS_qcom_cfg.ini"
     "bin/fstman"
@@ -1106,6 +1118,21 @@
     "etc/wifi/icm.conf"
     "bin/qsh_wifi_test"
     "bin/wifilearner"
+    "bin/hw/wpa_supplicant"
+    "etc/init/android.hardware.wifi.supplicant-service.rc"
+    "lib64/libkeystore-engine-wifi-hidl.so"
+    "lib64/libkeystore-wifi-hidl.so"
+    "lib/libwifi-hal-ctrl.so"
+    "lib/libwifi-hal-qcom.so"
+    "lib/libwpa_client.so"
+    "lib64/libwpa_client.so"
+    "lib64/libwifi-hal.so"
+    "lib64/libwifi-hal-ctrl.so"
+    "lib64/libwifi-hal-qcom.so"
+    "lib/libxtwifi_server_protocol.so"
+    "lib/libxtwifi_server_protocol_uri_v3.so"
+    "lib64/libxtwifi_server_protocol.so"
+    "lib64/libxtwifi_server_protocol_uri_v3.so"
 
 )
 ALL_SKIP_FILES=("${VENDOR_SKIP_FILES_COMMON[@]}" "${VENDOR_SKIP_FILES_DEVICE[@]}")
@@ -1129,11 +1156,8 @@
 as_module "etc/vintf/manifest/android.hardware.sensors@2.0-multihal.xml"
 as_module "etc/vintf/manifest/android.hardware.thermal@2.0-service.qti.xml"
 as_module "etc/vintf/manifest/android.hardware.usb@1.2-service.xml"
-as_module "etc/vintf/manifest/android.hardware.wifi@1.0-service.xml"
-as_module "etc/vintf/manifest/android.hardware.wifi.hostapd.xml"
 as_module "etc/vintf/manifest/c2_manifest_vendor.xml"
 as_module "etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml"
-as_module "etc/vintf/manifest/manifest.xml"
 as_module "etc/vintf/manifest/power.xml"
 as_module "etc/vintf/manifest/vendor.pixelworks.hardware.display.iris-service.xml"
 as_module "etc/vintf/manifest/vendor.pixelworks.hardware.feature.irisfeature-service.xml"