Quantcast
Channel: Wireless Connectivity
Viewing all articles
Browse latest Browse all 116964

Forum Post: RE: How to enable Wi-Fi Direct on Android 4.2, Pandaboard ES?

$
0
0

Hi, Abhijit

We get enabled Wi-Fi Direct on Android 4.2, Pandaboard.

Abstract

working fine: AOSP + OMAP4AJ.2.4(wi-fi lib, supplicant) + OMAP4AJ.2.2(wi-fi drv)
combination is so important

working so-so: AOSP + OMAP4AJ.2.4(wi-fi lib, supplicant) + OMAP4AJ.2.4(wi-fi drv)
p2p scan OK, p2p connect NG

1. Source

AOSP 4.2.1 - https://android.googlesource.com/platform/manifest -b android-4.2.1_r1
Kernel 3.0 - https://android.googlesource.com/kernel/omap.git kernel android-omap-panda-3.0
OMAP4AJ.2.4 - http://www.omappedia.com/wiki/4AJ.2.4_OMAP4_Jelly_Bean_Release_Notes (4AJ.2.4 is not panda, but omap)
OMAP4AJ.2.2 - http://www.omappedia.com/wiki/4AJ.2.2_OMAP4_Jelly_Bean_Panda_Notes

2. Kernel Modify

File: kernel/arch/arm/configs/panda_defconfig
Edit:
CONFIG_CFG80211=m
CONFIG_LIB80211=m
CONFIG_MAC80211=m
CONFIG_WL12XX_MENU=m
CONFIG_WL12XX=m
CONFIG_WL12XX_SDIO=m

3. Android Modify

3.0 reference
http://processors.wiki.ti.com/index.php/TI-Android-JB-PortingGuide#WLAN

3.1 File: android/device/ti/panda/BoardConfig.mk
- BOARD_WPA_SUPPLICANT_DRIVER := NL80211
- WPA_SUPPLICANT_VERSION := VER_0_8_X
- BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_wl12xx
- BOARD_WLAN_DEVICE := wl12xx_mac80211
+ USES_TI_MAC80211 := true
+ ifdef USES_TI_MAC80211
+ BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+ WPA_SUPPLICANT_VERSION := VER_0_8_X_TI
+ BOARD_HOSTAPD_DRIVER := NL80211
+ BOARD_WLAN_DEVICE := wl12xx_mac80211
+ BOARD_SOFTAP_DEVICE := wl12xx_mac80211
+ WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/wl12xx_sdio.ko"
+ WIFI_DRIVER_MODULE_NAME := "wl12xx_sdio"
+ WIFI_FIRMWARE_LOADER := ""
+ COMMON_GLOBAL_CFLAGS += -DUSES_TI_MAC80211
+ endif

3.2 File: android/device/ti/panda/device.mk
- frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml
+ frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
+ frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml

- PRODUCT_PACKAGES += \
- dhcpcd.conf \
- TQS_D_1.7.ini \
- calibrator
+ PRODUCT_PACKAGES += \
+ dhcpcd.conf \
+ hostapd.conf \
+ wifical.sh \
+ wilink7.sh \
+ TQS_D_1.7.ini \
+ TQS_D_1.7_127x.ini \
+ crda \
+ regulatory.bin \
+ calibrator

$(call inherit-product, device/ti/panda/wl12xx/ti-wpan-products.mk)
+ $(call inherit-product-if-exists, device/ti/proprietary-open/omap4/ti-omap4-vendor.mk)
+ $(call inherit-product-if-exists, device/ti/proprietary-open/wl12xx/wlan/wl12xx-wlan-fw-products.mk)

3.3 File: android/device/ti/panda/init.omap4pandaboard.rc
on boot
mount debugfs /sys/kernel/debug /sys/kernel/debug
chmod 0666 /dev/pvrsrvkm
+ # wi-fi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ insmod /system/lib/modules/compat.ko
+ insmod /system/lib/modules/cfg80211.ko
+ insmod /system/lib/modules/mac80211.ko
+ insmod /system/lib/modules/wl12xx.ko

# virtual sdcard daemon running as media_rw (1023)
service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
class late_start

+ service p2p_supplicant /system/bin/wpa_supplicant \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
+ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot

- service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -dd
- socket wpa_wlan0 dgram 660 wifi wifi
- disabled
- oneshot
+ service wpa_supplicant /system/bin/wpa_supplicant \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
- service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
- disabled
- oneshot
+ service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
+ class main
+ disabled
+ oneshot

service iprenew_wlan0 /system/bin/dhcpcd -n
disabled
oneshot

+ service dhcpcd_p2p /system/bin/dhcpcd -aABKL
+ disabled
+ oneshot
+
+ service iprenew_p2p /system/bin/dhcpcd -n
+ disabled
+ oneshot

- service dhcpcd_eth0 /system/bin/dhcpcd -ABKL
- disabled
- oneshot
+ service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL
+ class main
+ disabled
+ oneshot

service iprenew_eth0 /system/bin/dhcpcd -n
disabled
oneshot

+ service hostapd_bin /system/bin/hostapd -d /data/misc/wifi/hostapd.conf
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot

3.4 proprietary-open copy
OMAP4AJ.2.4 src: android/device/ti/proprietary-open
AOSP dest: android/device/ti

3.5 wpa_supplicant8_ti copy
OMAP4AJ.2.4 src: android/external/wpa_supplicant_8_ti
AOSP dest: android/external

3.6 libhardware_legacy replace
OMAP4AJ.2.4 src: android/hardware/libhardware_legacy/wifi/wifi.c
AOSP dest: android/hardware/libhardware_legacy/wifi/

3.7 android/hardware/libhardware_legacy/Android.mk edit
File: android/hardware/libhardware_legacy/Android.mk

LOCAL_SHARED_LIBRARIES := libcutils libwpa_client
LOCAL_INCLUDES += $(LOCAL_PATH)
+ #ifdef USES_TI_MAC80211
+ LOCAL_STATIC_LIBRARIES := libnl_2
+ LOCAL_C_INCLUDES += external/libnl-headers
+ #endif
LOCAL_CFLAGS += -DQEMU_HARDWARE
QEMU_HARDWARE := true

3.8 header file copy
OMAP4AJ.2.4 src: android/hardware/libhardware_legacy/nl80211.h AOSP
dest: android/hardware/libhardware_legacy

3.9 Wi-Fi Driver replace
OMAP4AJ.2.2 src: android/hardware/ti/wlan
AOSP dest: android/hardware/ti

3.10 netd replace
OMAP4AJ.2.4 src: android/system/netd
AOSP dest: android/system

4 build

4.1 kernel
$ make ARCH=arm panda_defconfig
$ make -j8 ARCH=arm uImage
$ make -j8 ARCH=arm modules

4.2 Wi-Fi Driver
$ export KERNEL_DIR=${YOUR_PATH}/kernel
$ export KLIB=${KERNEL_DIR}
$ export KLIB_BUILD=${KERNEL_DIR}

$ cd $MYDROID/hardware/ti/wlan/mac80211/compat_wl12xx
$ make -j8 ARCH=arm

$ cd $MYDROID/out/target/product/panda
$ mkdir -p system/lib/modules
$ cp $MYDROID/hardware/ti/wlan/mac80211/compat_wl12xx/compat/compat.ko system/lib/modules/
$ cp $MYDROID/hardware/ti/wlan/mac80211/compat_wl12xx/net/wireless/cfg80211.ko system/lib/modules/
$ cp $MYDROID/hardware/ti/wlan/mac80211/compat_wl12xx/net/mac80211/mac80211.ko system/lib/modules/
$ cp $MYDROID/hardware/ti/wlan/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/wl12xx.ko system/lib/modules/
$ cp $MYDROID/hardware/ti/wlan/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/wl12xx_sdio.ko system/lib/modules/

4.3 Android
$ cd $MYDROID
$ source build/envsetup.sh
$ lunch full_panda-eng
$ make -j8


this guide may be not correct,
i want to additional confirm someone, ^_^

;;; Wi-Fi Direct is OK. next, I want to get Miracast on Android 4.2, Panda;;;


Viewing all articles
Browse latest Browse all 116964

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>