I am using i.MX6Q with Android R13.4.1 package on our board. I ported WiFi driver from Brocomm. The driver can be brought up in kernel. To do WiFi scan, I need to edit myandroid/device/fsl/imx6/sabresd/SabreSDBoardConfigComm.mk file and rebuild Android image. If I set WPA_SUPPLICANT_VERSION as native VER_0_8_X from Google, make will cause error -- no rules to make target `out/target/product/sabresd_6dq/obj/lib/libwpa_client.so. Can you help it out how to fix this issue?
Please paste you WiFi related config here, For NL80211 wpa_supplicant driver, you should including the BOARD_WPA_SUPPLICANT_PRIVATE_LIB driver.
I list my sample config here:
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
BOARD_WLAN_DEVICE := bcmdhd
WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/bcmdhd/parameters/firmware_path"
#WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/bcmdhd.ko"
WIFI_DRIVER_FW_PATH_STA := "/vendor/firmware/fw_bcmdhd.bin"
WIFI_DRIVER_FW_PATH_AP := "/vendor/firmware/fw_bcmdhd_apsta.bin"
WIFI_DRIVER_FW_PATH_P2P := "/vendor/firmware/fw_bcmdhd_p2p.bin"
#WIFI_DRIVER_MODULE_ARG := "firmware_path=/system/vendor/firmware/fw_bcmdhd.bin nvram_path=/system/vendor/firmware/bcmdhd.cal iface_name=wlan0"
WIFI_BAND := 802_11_ABG
And inherit bcm firmware makefile
$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk)
Below is my config for Wifi. Except firmware paths, I can't find differences. Could you check it and advise?
Can you also advise I should place all the related .bin and .ko files in position before I build Android image or after the build?
And can you show me the path of the bcm firmware makefile you mentioned? Thanks.
==================================================================================
# Wifi
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WLAN_VENDOR := BCM
# for bcm vendor
ifeq ($(BOARD_WLAN_VENDOR),BCM)
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
BOARD_WLAN_DEVICE := bcmdhd
WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/bcmdhd/parameters/firmware_path"
WIFI_DRIVER_FW_PATH_STA := "/system/etc/firmware/fw_bcm40181a0.bin"
WIFI_DRIVER_FW_PATH_P2P := "/system/etc/firmware/fw_bcmdhd_p2p.bin"
WIFI_DRIVER_FW_PATH_AP := "/system/etc/firmware/fw_bcmdhd_apsta.bin"
WIFI_DRIVER_MODULE_NAME := "bcmdhd"
#WIFI_DRIVER_MODULE_PATH := "/system/etc/firmware/bcmdhd.ko"
WIFI_DRIVER_MODULE_ARG := "iface_name=wlan firmware_path=/system/etc/firmware/bcm40181a0.bin nvram_path=/system/etc/firmware/nvram.txt"
endif
$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk)
Be sure dir external/wpa_supplicant_8 existed.
Hi, Raymond,
I am sure external/wpa_supplicant_8/ is existing and not built. Can you please also show me which file (and its path) I should put
" $(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk) " in? Thanks.
you can add " $(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk) " in
file device/fsl/imx6/sabresd-6dq.mk.
But I don't think it's why you can't complie libwpa_client.so. you can compile wpa_supplicant manually and let me
check result with command:
$mmm external/wpa_supplicant_8
After I put " $(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk) " in
file device/fsl/imx6/sabresd-6dq.mk, the issue still exists:
make: *** No rule to make target 'out/target/product/sabresd_6dq/obj/lib/libwpa_client.so', needed by 'out/target/product/sabresd_6dq/obj/SHARED_LIBRARIES/libhardware_legacy_intermediates/LINKED/libhardware_legacy.so'. Stop.
BTW, I don't find the file exists: hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk
Then I use $mmm external/wpa_supplicant_8: but nothing results:
scott@ubuntu:~/myandroid$ mmm external/wpa_supplicant_8
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=sabresd_6dq
TARGET_BUILD_VARIANT=user
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=UNKNOWN
BUILD_NUMBER=eng.scott.20131030.093641
============================================
No private recovery resources for TARGET_DEVICE sabresd_6dq
make: Entering directory `/home/scott/myandroid'
make: Nothing to be done for `all_modules'.
make: Leaving directory `/home/scott/myandroid'
I think it could be the makefile not set right. Can you please make sure of it? Thank you.
1.Please change your build type to eng,then try again;
My android platform version is 4.2.2, but it should not be key point here.
2.Execute following commands to ensure wpa_supplicant_8 Android.mk can be compiled(Replace XXX with your product name):
rm -rf out/target/product/XXX/obj/SHARED_LIBRARIES/libwpa_client_intermediates/
rm -rf out/target/product/XXX/obj/EXECUTABLES/wpa_supplicant_intermediates/
rm -rf out/target/product/XXX/obj/EXECUTABLES/wpa_cli_intermediates/
rm -rf out/target/product/XXX/obj/EXECUTABLES/hostapd_intermediates/
rm -rf out/target/product/XXX/obj/EXECUTABLES/hostapd_cli_intermediates/
Then recompile wpa_supplicant_8
$mmm external/wpa_supplicant_8
mmm external/wpa_supplicant_8
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.2
TARGET_PRODUCT=qpad_6dq
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.5.0-23-generic-x86_64-with-Ubuntu-12.04-precise
HOST_BUILD_TYPE=release
BUILD_ID=JDQ39
OUT_DIR=out
============================================
... useless message ignored...
No private recovery resources for TARGET_DEVICE qpad_6dq
make: Entering directory `/home/raymond/workspace/imx_jb'
Import includes file: out/target/product/qpad_6dq/obj/EXECUTABLES/hostapd_cli_intermediates/import_includes
target thumb C: hostapd_cli <= external/wpa_supplicant_8/hostapd/hostapd_cli.c
target thumb C: hostapd_cli <= external/wpa_supplicant_8/hostapd/src/common/wpa_ctrl.c
target thumb C: hostapd_cli <= external/wpa_supplicant_8/hostapd/src/utils/os_unix.c
target thumb C: hostapd_cli <= external/wpa_supplicant_8/hostapd/src/utils/eloop.c
target thumb C: hostapd_cli <= external/wpa_supplicant_8/hostapd/src/utils/wpa_debug.c
target thumb C: hostapd_cli <= external/wpa_supplicant_8/hostapd/src/utils/edit_simple.c
target Executable: hostapd_cli (out/target/product/qpad_6dq/obj/EXECUTABLES/hostapd_cli_intermediates/LINKED/hostapd_cli)
target Symbolic: hostapd_cli (out/target/product/qpad_6dq/symbols/system/bin/hostapd_cli)
Export includes file: external/wpa_supplicant_8/hostapd/Android.mk -- out/target/product/qpad_6dq/obj/EXECUTABLES/hostapd_cli_intermediates/export_includes
target Strip: hostapd_cli (out/target/product/qpad_6dq/obj/EXECUTABLES/hostapd_cli_intermediates/hostapd_cli)
Install: out/target/product/qpad_6dq/system/bin/hostapd_cli
Import includes file: out/target/product/qpad_6dq/obj/EXECUTABLES/hostapd_intermediates/import_includes
target thumb C: hostapd <= external/wpa_supplicant_8/hostapd/main.c
target thumb C: hostapd <= external/wpa_supplicant_8/hostapd/config_file.c
3.About hardware/broadcom/wlan
It's completed android open source repository from google source. If it does not exist, you should check your repo source tree carefully.
The original link is https://android.googlesource.com/platform/hardware/broadcom/wlan/
There still be directory hardware/broadcom/wlan/bcmdhd/firmware/bcm4330 even in tag android-4.0.4_r1.1 which is seems you are compiling
based on.
I made sure the paths you want me to clear are clear(actually those never established). then I build wpa_supplicant_8 again. Still, not working.
For hardware/broadcom/wlan, is it under myandroid/hardware/....?
I copied everything below, please advise as you can. Thank you.
scott@ubuntu:~/myandroid/out/target/product/sabresd_6dq/obj/SHARED_LIBRARIES$ ls
libc_intermediates libm_intermediates
libcutils_intermediates libpixelflinger_intermediates
libdl_intermediates libstdc++_intermediates
libEGL_intermediates libstlport_intermediates
libGLESv2_dbg_intermediates libui_intermediates
libhardware_legacy_intermediates libutils_intermediates
liblog_intermediates libz_intermediates
libmedia_intermediates
scott@ubuntu:~/myandroid/out/target/product/sabresd_6dq/obj/SHARED_LIBRARIES$ cd ..
scott@ubuntu:~/myandroid/out/target/product/sabresd_6dq/obj$ ls
include lib SHARED_LIBRARIES STATIC_LIBRARIES
scott@ubuntu:~/myandroid/out/target/product/sabresd_6dq/obj$ croot
scott@ubuntu:~/myandroid$ mmm external/wpa_supplicant_8
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=sabresd_6dq
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=UNKNOWN
BUILD_NUMBER=eng.scott.20131030.144906
============================================
No private recovery resources for TARGET_DEVICE sabresd_6dq
make: Entering directory `/home/scott/myandroid'
make: Nothing to be done for `all_modules'.
make: Leaving directory `/home/scott/myandroid'
scott@ubuntu:~/myandroid$ cd out/target/product/sabresd_6dq/obj/
scott@ubuntu:~/myandroid/out/target/product/sabresd_6dq/obj$ ls
include lib SHARED_LIBRARIES STATIC_LIBRARIES
scott@ubuntu:~/myandroid/out/target/product/sabresd_6dq/obj$ ls SHARED_LIBRARIES/
libc_intermediates libm_intermediates
libcutils_intermediates libpixelflinger_intermediates
libdl_intermediates libstdc++_intermediates
libEGL_intermediates libstlport_intermediates
libGLESv2_dbg_intermediates libui_intermediates
libhardware_legacy_intermediates libutils_intermediates
liblog_intermediates libz_intermediates
libmedia_intermediates
scott@ubuntu:~/myandroid/out/target/product/sabresd_6dq/obj$ croot
scott@ubuntu:~/myandroid$ cd hardware/
scott@ubuntu:~/myandroid/hardware$ ls
alsa_sound imx libhardware libhardware_legacy ril
scott@ubuntu:~/myandroid/hardware$
Well,can you find below setting in your BoardConfig.mk? If you use sabresd BoardConfig.mk,make sure your setting is right one we choose.
Bolded text is important for wpa_supplicant building.
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
BOARD_WLAN_DEVICE := bcmdhd
WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/bcmdhd/parameters/firmware_path"
#WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/bcmdhd.ko"
WIFI_DRIVER_FW_PATH_STA := "/vendor/firmware/fw_bcmdhd.bin"
WIFI_DRIVER_FW_PATH_AP := "/vendor/firmware/fw_bcmdhd_apsta.bin"
WIFI_DRIVER_FW_PATH_P2P := "/vendor/firmware/fw_bcmdhd_p2p.bin"
#WIFI_DRIVER_MODULE_ARG := "firmware_path=/system/vendor/firmware/fw_bcmdhd.bin nvram_path=/system/vendor/firmware/bcmdhd.cal iface_name=wlan0"
WIFI_BAND := 802_11_ABG
Presuming you're meaning myandroid/device/fsl/imx6/sabresd/SabreSDBoardConfigComm.mk.
I corrected wlan to wlan0, and my WIFI_DRIVER_MODULE_ARG is not commented. Also I add WIFI_BAND := 802_11_ABG.
Everything is set same as above then I built, but the issue exists. Thank you.
I don't think your WIFI setting is really right. Check your sabresd/BoardConfig.mk, how to including SabreSDBoardConfigComm.mk?
It's impossible to make external/wpa_supplicant_8 with proper WPA_SUPPLICANT_VERSION := VER_0_8_X
In file external/wpa_supplicant_8/Android.mk,you can find.
ifeq ($(WPA_SUPPLICANT_VERSION),VER_0_8_X)
include $(call all-subdir-makefiles)
endif
Finally,if wpa_supplicant_8 can't be compiled ,you should check your WPA_SUPPLICANT_VERSION := VER_0_8_X carefully.
Hi, Raymond,
I'm rather new to Android and I am not well aware in Android make tree. However, I can't locate sabresd/BoardConfig.mk in my path.
The WiFi vendor told me to modify the file /device/fsl/imx6/sabresd/SabreSDBoardConfigComm.mk as is.
Would this be the issue caused? Can you please help to make sure if my make tree is right? For sure I didn't change a bit on make tree since I installed FSL Android package.
Following please find my sabresd path. For the settings of VER_0_8_X, I will check it further.
scott@ubuntu:~/myandroid/device/fsl/imx6/sabresd$ ls
gpsreset.sh required_hardware.xml SabreSDBoardConfigComm.mk_o
init.rc SabreSDBoardConfigComm.mk SabreSDProductCommon.mk
init.rc~ SabreSDBoardConfigComm.mk~ ubi
init.rc_0 SabreSDBoardConfigComm.mk_0 vold.fstab
overlay SabreSDBoardConfigComm.mk_n~
Below is my device tree based on FSL android 4.2.2 release. I can't find directory device/fsl/sabresd which is your product directory.
Also I check my FSL ICS release, it's similar to current 4.2.2(JB) release.
device/
├── fsl
│ ├── arm2_6dq
│ ├── arm2_6sl
│ ├── common
│ ├── evk_6sl
│ ├── hdmidongle_6dq
│ ├── imx53_smd
│ ├── imx5x
│ ├── imx6
│ ├── sabreauto_6q
│ ├── sabresd_6dq
Anyway, you have to know how android product makefiles are constructed. e.g.
In my FSL device/fsl/imx6. There is a AndroidProducts.mk to denote how many products based on iMX6 processor. Below is my AndroidProducts.mk:
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/arm2_6dq.mk \
$(LOCAL_DIR)/arm2_6sl.mk \
$(LOCAL_DIR)/evk_6sl.mk \
$(LOCAL_DIR)/sabreauto_6q.mk \
$(LOCAL_DIR)/sabresd_6dq.mk \
$(LOCAL_DIR)/hdmidongle_6dq.mk \
You can guess that one of them is a product description makefile. Meanwhile,there should be a directory has the same name directory to include device
building makefiles. e.g. For product $(LOCAL_DIR)/sabresd_6dq.mk above.
device/fsl/sabresd_6dq directory is sabresd_6dq device building directory. In this dir, AndroidBoard.mk and BoardConfig.mk should be created generally.
Certainly, all makefiles can include extra makefile according to GNU standard.
This is why I want you check your BoardConfig.mk. If the file does not exist, your device/fsl may be corrupted. You can reconstruct from FSL release
package by yourself. I give you a demo tree for android product makefile makeup.
<company_name>
<board_name>
Android.mk
product_config.mk
system.prop
products
AndroidProducts.mk
<first_product_name>.mk
<second_product_name>.mk
Hi, Raymond,
Thanks for your elaboration.
My path should be right: device/fsl/imx6/sabresd/SabreSDBoardConfigComm.mk But I can't be sure how SabreSDBoardConfigComm.mk can be included to build. But if I don't set WPA_SUPPLICANT_VERSION := VER_0_8_X in this file, Android image can be built without error. I believe this file is effective. Can you also make sure you have such a file? if yes, can you try to change as WPA_SUPPLICANT_VERSION := VER_0_8_X to see if the build is OK. Thank you.
1.A file named BoardConfig.mk in your device/fsl/imx6/sabresd should be there. Otherwise check all fsl subdir and trying to find Board.config.mk.
If it still does not exist, you can check $ANDROID_TOP)/vendor subdir to find out Board.config.mk.
You should be noticed that BoardConfig.mk is entrance of Android building config.
2.Please paste all your BoardConfig.mk and its included Config makefile.
Anyway,I guess you changed something wrong which cause your wpa_client library can't be built properly.
Hi, Raymond,
I found five BoardConfig.mk. I pasted 4 of them as I think the one with imx53 is not related.
I found only /sabresd_6dq/BoardConfig.mk is associated with my build with device/fsl/imx6/sabresd/SabreSDBoardConfigComm.mk
and I denoted it below.
But only the file /sabreauto_6q/BoardConfig.mk has the wpa settings that I am working on.
Please see below. Thanks.
scott@ubuntu:~/myandroid/device/fsl$ find . -name BoardConfig.mk -print
./imx53_smd/BoardConfig.mk
./sabresd_6dq/BoardConfig.mk
./arm2_6dq/BoardConfig.mk
./arm2_6sl/BoardConfig.mk
./sabreauto_6q/BoardConfig.mk
-------------------------------------------------------------------------------
scott@ubuntu:~/myandroid/device/fsl/sabresd_6dq$ cat BoardConfig.mk
#
# Product-specific compile-time definitions.
#
include device/fsl/imx6/soc/imx6dq.mk
include device/fsl/imx6/sabresd/SabreSDBoardConfigComm.mk ( <-- Scott: looks like this is associated with my build now)
include device/fsl-proprietary/gpu-viv/fsl-gpu.mk
BOARD_KERNEL_CMDLINE := console=ttymxc0,115200 init=/init video=mxcfb0 video=mxcfb1:off video=mxcfb2:off fbmem=10M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0
ifeq ($(TARGET_USERIMAGES_USE_UBIFS),true)
#UBI boot command line.
BOARD_KERNEL_CMDLINE := console=ttymxc0,115200 init=/init video=mxcfb0 video=mxcfb1:off video=mxcfb2:off fbmem=10M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0 mtdparts=gpmi-nand:20m(bootloader),20m(bootimg),20m(recovery),-(root) gpmi_debug_init ubi.mtd=3
endif
TARGET_BOOTLOADER_CONFIG := 6q:mx6q_sabresd_android_config 6dl:mx6dl_sabresd_android_config
-----------------------------------------------------------------------------
scott@ubuntu:~/myandroid/device/fsl/sabreauto_6q$ cat BoardConfig.mk
#
# Product-specific compile-time definitions.
#
include device/fsl/imx6/BoardConfigCommon.mk
TARGET_BOOTLOADER_BOARD_NAME := SABREAUTO
BOARD_SOC_CLASS := IMX6
BOARD_SOC_TYPE := IMX6Q
PRODUCT_MODEL := SABREAUTO-MX6Q
USE_OPENGL_RENDERER := true
TARGET_CPU_SMP := true
WIFI_DRIVER_MODULE_NAME := "ar6000"
HOSTAPD_VERSION := VER_0_8_ATHEROS
WPA_SUPPLICANT_VERSION := VER_0_8_ATHEROS
BOARD_WLAN_ATHEROS_SDK := system/wlan/atheros/AR6kSDK.build_3.1_RC.563
BOARD_WPA_SUPPLICANT_DRIVER := AR6000
BOARD_WLAN_CHIP_AR6102 := true
BOARD_WLAN_CHIP_AR6003 := true
BOARD_WPA_SUPPLICANT_DRIVER := WEXT
# Select Wake on wireless mode for AR6003 suspend/resume policy
BOARD_WLAN_PM_SUSPEND := 2
BOARD_HAVE_VPU := true
HAVE_FSL_IMX_GPU2D := true
HAVE_FSL_IMX_GPU3D := true
HAVE_FSL_IMX_IPU := true
BOARD_MODEM_VENDOR := AMAZON
BOARD_HAVE_HARDWARE_GPS := true
USE_ATHR_GPS_HARDWARE := true
USE_QEMU_GPS_HARDWARE := false
#for accelerator sensor, need to define sensor type here
#BOARD_HAS_SENSOR := true
#SENSOR_MMA8451 := true
# for recovery service
TARGET_SELECT_KEY := 28
TARGET_USERIMAGES_USE_EXT4 := true
# atheros 3k BT
BOARD_USE_AR3K_BLUETOOTH := true
--------------------------------------------------------------------
scott@ubuntu:~/myandroid/device/fsl/arm2_6dq$ cat BoardConfig.mk
#
# Product-specific compile-time definitions.
#
include device/fsl/imx6/soc/imx6dq.mk
include device/fsl/imx6/arm2/BoardConfigArm2.mk
include device/fsl-proprietary/gpu-viv/fsl-gpu.mk
BOARD_KERNEL_CMDLINE := console=ttymxc0,115200 init=/init androidboot.console=ttymxc0
TARGET_BOOTLOADER_CONFIG := 6q:mx6q_arm2_android_config 6dl:mx6dl_arm2_config
---------------------------------------------------------------------------------
scott@ubuntu:~/myandroid/device/fsl/arm2_6sl$ cat BoardConfig.mk
#
# Product-specific compile-time definitions.
#
include device/fsl/imx6/soc/imx6sl.mk
include device/fsl/imx6/arm2/BoardConfigArm2.mk
include device/fsl-proprietary/gpu-viv/fsl-gpu.mk
USE_CAMERA_STUB := true
BOARD_HAVE_IMX_CAMERA := false
PRODUCT_MODEL := ARM2-MX6SL
BOARD_KERNEL_CMDLINE := console=ttymxc0,115200 init=/init androidboot.console=ttymxc0
TARGET_BOOTLOADER_CONFIG := mx6sl:mx6sl_arm2_android_config
WIFI_DRIVER_MODULE_NAME := "ar6000" HOSTAPD_VERSION := VER_0_8_ATHEROS WPA_SUPPLICANT_VERSION := VER_0_8_ATHEROS BOARD_WLAN_ATHEROS_SDK := system/wlan/atheros/AR6kSDK.build_3.1_RC.563 BOARD_WPA_SUPPLICANT_DRIVER := AR6000 BOARD_WLAN_CHIP_AR6102 := true BOARD_WLAN_CHIP_AR6003 := true BOARD_WPA_SUPPLICANT_DRIVER := WEXT # Select Wake on wireless mode for AR6003 suspend/resume policy BOARD_WLAN_PM_SUSPEND := 2
VER_0_8_ATHEROS does not match VER_0_8_X. That would be a problem if that is actually the makefile being used to define those variables.
I recently had a similar issue where I incorrectly set WPA_SUPPLICANT_VERSION := VER_0_8_x (lowercase x). During the build, some dependencies of libwpa_client only checked that WPA_SUPPLICANT_VERSION was defined, but libwpa_client (part of wpa_supplicant) would only build if the value was VER_0_8_X. That left the dependencies unsatisfied and I got similar "no rule to make" errors. You can see what versions your wpa_supplicant build supports by checking external/wpa_supplicant_8/Android.mk. For example, I have:
ifneq ($(filter VER_0_8_X VER_2_1_DEVEL,$(WPA_SUPPLICANT_VERSION)),) # The order of the 2 Android.mks does matter! # TODO: Clean up the Android.mks, reset all the temporary variables at the # end of each Android.mk, so that one Android.mk doesn't depend on variables # set up in the other Android.mk. include $(LOCAL_PATH)/hostapd/Android.mk \ $(LOCAL_PATH)/wpa_supplicant/Android.mk endif
Scorr
This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this discussion, or create another discussion.
Thanks,
Yixing
Scorr
Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help, please feel
free to reply with an update to this discussion.
Thanks,
Yixing
Just as you find out,each product BoardConfig.mk also including extra BoardConfig makefile.
include device/fsl/imx6/sabresd/SabreSDBoardConfigComm.mk ( <-- Scott: looks like this is associated with my build now)
Well, my last step is to check your device/fsl/imx6/sabresd/SabreSDBoardConfigComm.mk content about WIFI setting and how you lunch your android build.
We often build android by following steps:
$source build/envsetup.sh
$lunch
...
choose product you want.
BTW, I remembered you can't build android without WPA_SUPPLICANT_VERSION := VER_0_8_X. If so we can check which wpa_supplicant of your last build.
e.g. Check if dir out\target\product\XXX\obj\EXECUTABLES\wpa_supplicant_intermediates exist. If it does exist,
$cd out\target\product\XXX\obj\EXECUTABLES\wpa_supplicant_intermediates
$head ap.P
out/target/product/qpad_6dq/obj/EXECUTABLES/wpa_supplicant_intermediates/ap.o: \
external/wpa_supplicant_8/wpa_supplicant/ap.c \ <from here we can check which wpa_supplicant was built.>
build/core/combo/include/arch/linux-arm/AndroidConfig.h \
external/wpa_supplicant_8/wpa_supplicant/src/utils/includes.h \
external/wpa_supplicant_8/wpa_supplicant/src/utils/build_config.h \
bionic/libc/include/stdlib.h bionic/libc/include/sys/cdefs.h \
bionic/libc/include/sys/cdefs_elf.h \
bionic/libc/include/android/api-level.h \