no rules to make libwpa_client.so

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

no rules to make libwpa_client.so

9,134 Views
scottyu
Contributor I

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?

Labels (1)
0 Kudos
20 Replies

3,178 Views
raymondwang
Senior Contributor I

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)

0 Kudos

3,178 Views
scottyu
Contributor I

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

0 Kudos

3,178 Views
raymondwang
Senior Contributor I

$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk)


Be sure dir external/wpa_supplicant_8 existed.

0 Kudos

3,178 Views
scottyu
Contributor I

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.

0 Kudos

3,178 Views
raymondwang
Senior Contributor I

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

0 Kudos

3,178 Views
scottyu
Contributor I

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.

0 Kudos

3,178 Views
raymondwang
Senior Contributor I

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.

0 Kudos

3,178 Views
scottyu
Contributor I

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$

0 Kudos

3,178 Views
raymondwang
Senior Contributor I

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

0 Kudos

3,178 Views
scottyu
Contributor I

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.

0 Kudos

3,178 Views
raymondwang
Senior Contributor I

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.

0 Kudos

3,178 Views
scottyu
Contributor I

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~

0 Kudos

3,178 Views
raymondwang
Senior Contributor I

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
0 Kudos

3,178 Views
scottyu
Contributor I

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.

0 Kudos

3,178 Views
raymondwang
Senior Contributor I

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.

0 Kudos

3,178 Views
scottyu
Contributor I

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

0 Kudos

3,171 Views
remingtonfurman
Contributor II
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
0 Kudos

3,178 Views
YixingKong
Senior Contributor IV

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

0 Kudos

3,178 Views
YixingKong
Senior Contributor IV

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

0 Kudos

3,178 Views
raymondwang
Senior Contributor I

    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 \

0 Kudos