主题 : android2.3移植REDPINE wifi驱动的问题 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 59289
精华: 0
发帖: 62
金钱: 310 两
威望: 62 点
贡献值: 0 点
综合积分: 124 分
注册时间: 2011-11-22
最后登录: 2013-04-12
楼主  发表于: 2011-12-07 11:47

 android2.3移植REDPINE wifi驱动的问题

在移植REDPINE公司的wifi驱动时,其中有一步是:
~/android22/imx_51and/external/wpa_supplicant_6/ should have REDPINE
specific android wpa_supplicant.
这一步的意思是不是要将wifi驱动中的wpa_supplicant源码拷贝到android中external/wpa_supplicant_6/目录下进行编译呢

我这样做了之后编译的时候在external/wpa_supplicant_6/wpa_supplicant目录下并没用生成wpa_supplicant这个进程
还有在external/目录下wpa_supplicant和wpa_supplicant_6这两个目录有什么区别吗

有了解的能给点答案吗
技术人生
级别: 圣骑士
UID: 44407
精华: 0
发帖: 386
金钱: 1945 两
威望: 389 点
贡献值: 0 点
综合积分: 772 分
注册时间: 2011-04-25
最后登录: 2014-08-25
1楼  发表于: 2011-12-07 13:53
您的freescale 的imx51 應該早配置Android支持WIFI了吧?所以應該只要移植wifi module。如果沒有的話:

1.wpa_supplicant 應該在Android/external ,沒有的話,一樣放在Android/external ,並需修改

在Android/device/<vendor>/<platform>/BoardConfig.mk

參考:
http://blog.csdn.net/louiswangbing/article/details/6618734
http://blog.csdn.net/zhenwenxian/article/details/6624575

2.wpa_supplicant和wpa_supplicant_6:
wpa_supplicant:5.x 版
wpa_supplicant_6:6.x版

順便我想請問您
是否可以分享freescale的tether的做法....我是自己用命令模式iptables 實現在mini 6410
我想知道freescale的tether的GUI的部份,謝謝
[ 此帖被kazaya在2011-12-07 14:02重新编辑 ]
级别: 侠客
UID: 59289
精华: 0
发帖: 62
金钱: 310 两
威望: 62 点
贡献值: 0 点
综合积分: 124 分
注册时间: 2011-11-22
最后登录: 2013-04-12
2楼  发表于: 2011-12-08 14:30

 回 1楼(kazaya) 的帖子

非常感谢您的答复!!!
本人十足的菜鸟!望见谅
我移植REDPINE wifi驱动时用的平台是友善的ok6410,android2.3的系统,内核是linux2.6.36的,并不是freescale 的imx51 的平台,REDPINE公司提供的移植文档是基于imx51平台的。
对于文档提到的这一步:
~/android22/imx_51and/external/wpa_supplicant_6/ should have REDPINE
specific android wpa_supplicant.
我将wifi驱动提供的wpa_supplicant的源码复制到android2.3/external/wpa_supplicant_6中,然后执行友善的脚本./build-android进行编译,编译好之后查看bin目录下生成的wpa_supplicant进程到底是external/wpa_supplicant生成的还是external/wpa_supplicant_6生成的呢。
如果是external/wpa_supplicant它生成的那我应该如何配置编译我的wpa_supplicant

2、将驱动编译为module时,会生成2个.ko文件 如:A.ko和B.ko
      在BoardConfig.mk中那应该如何添加呢:
         WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/ar6000.ko"   这个地方不是只能指定一个.ko吗
         WIFI_DRIVER_MODULE_ARG := ""  #for example nohwcrypt
         WIFI_DRIVER_MODULE_NAME := "ar6000"  #for example wlan0
         WIFI_FIRMWARE_LOADER := ""    

3、对于你说的freescale的tether的做法,我也不是很理解,如果你需要的话我可以发给你我手上的资料。
技术人生
级别: 圣骑士
UID: 44407
精华: 0
发帖: 386
金钱: 1945 两
威望: 389 点
贡献值: 0 点
综合积分: 772 分
注册时间: 2011-04-25
最后登录: 2014-08-25
3楼  发表于: 2011-12-08 14:39
我也是初哥一個
1.在Android/device/<vendor>/<platform>/BoardConfig.mk

mini6410

# config.mk
#
# Product-specific compile-time definitions.
#

# The generic product target doesn't have any hardware-specific pieces.
TARGET_ARCH_VARIANT := armv6-vfp
TARGET_CPU_ABI := armeabi
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_PROVIDES_INIT_RC := true
TARGET_PROVIDES_UEVENTD_RC := true

BOARD_NO_RGBX_8888 := true
BOARD_HAS_LIMITED_EGL := true

# JS Engine
JS_ENGINE=jsc
ENABLE_JSC_JIT=true
BOARD_USES_OVERLAY := true
DEFAULT_FB_NUM := 4


# Customized map
TARGET_PRELINKER_MAP := vendor/friendly-arm/products/prelink-linux-arm.map

# Hardware 3D
TARGET_HARDWARE_3D := false

# Audio
BOARD_USES_ALSA_AUDIO := true
BUILD_WITH_ALSA_UTILS := true

# Camera
BOARD_CAMERA_LIBRARIES := libcamera
BOARD_S3CJPEG_LIBRARIES := libs3cjpeg

# Wi-Fi
BOARD_HAVE_LIBWIFI := true
BOARD_WPA_SUPPLICANT_DRIVER := CUSTOM
#CONFIG_DRIVER_NL80211 := true
WPA_BUILD_SUPPLICANT := true
WPA_SUPPLICANT_VERSION := VER_0_5_X
CONFIG_CTRL_IFACE := y

# Bluetooth
BOARD_HAVE_BLUETOOTH := true

# GPS
BOARD_GPS_LIBRARIES :=gps.mini6410.so

# Media
BUILD_WITHOUT_PV := true
BUILD_WITH_FULL_STAGEFRIGHT := true


基本上,是採用平台內建的,不需要重build,除非您有特殊目的....例如CSR針對某些版本需要重新patch...

2.這篇是這樣加的
http://blog.chinaunix.net/space.php?uid=21091200&do=blog&id=1830743
级别: 侠客
UID: 59289
精华: 0
发帖: 62
金钱: 310 两
威望: 62 点
贡献值: 0 点
综合积分: 124 分
注册时间: 2011-11-22
最后登录: 2013-04-12
4楼  发表于: 2011-12-08 15:42

 回 3楼(kazaya) 的帖子

1、正如您所说的在Android/device/<vendor>/<platform>/BoardConfig.mk


# Wi-Fi
BOARD_HAVE_LIBWIFI := true
BOARD_WPA_SUPPLICANT_DRIVER := CUSTOM
#CONFIG_DRIVER_NL80211 := true
WPA_BUILD_SUPPLICANT := true
WPA_SUPPLICANT_VERSION := VER_0_5_X
CONFIG_CTRL_IFACE := y

修改为

# Wi-Fi
BOARD_HAVE_LIBWIFI := true
BOARD_WPA_SUPPLICANT_DRIVER := CUSTOM   ///这个地方是否要修改,改成我的驱动名字RSI
#CONFIG_DRIVER_NL80211 := true
WPA_BUILD_SUPPLICANT := true
WPA_SUPPLICANT_VERSION := VER_0_6_X           ////如果我要编译wpa_supplicant_6这个地方是否要这样修改,把版本5改成6
CONFIG_CTRL_IFACE := y

2、在BoardConfig.mk中添加:
      BOARD_HAVE_WIFI := true
      BOARD_WPA_SUPPLICANT_DRIVER := WEXT
在很多资料中看到以上两句,对于WEXT很不解。WEXT应该是内核提供的wifi驱动,竟然是wifi驱动移植,为什么这个地方还是使用的是WEXT呢而不是自己的wifi模块驱动呢。难道是WEXT的通用性
我现在的wifi模块驱动名是RSI,我是否要将修改为:
   BOARD_HAVE_WIFI := true
      BOARD_WPA_SUPPLICANT_DRIVER := RSI


问的都很基础,现在能力太菜了
望能得到指点
技术人生
级别: 圣骑士
UID: 44407
精华: 0
发帖: 386
金钱: 1945 两
威望: 389 点
贡献值: 0 点
综合积分: 772 分
注册时间: 2011-04-25
最后登录: 2014-08-25
5楼  发表于: 2011-12-08 15:51
Android/device/<vendor>/<platform>/BoardConfig.mk

用./build-android,產出android/out/target/product/<platform>

1.BOARD_WPA_SUPPLICANT_DRIVER := CUSTOM   ///这个地方是否要修改,改成我的驱动名字RSI

不建議,這樣您要改的地方,可能太多了.....GUI可能不能正常啟動(我曾修過,後來GUI出現問題,又修改回來)

2.WPA_SUPPLICANT_VERSION := VER_0_6_X
這個修改OK....

產出的rootfs可以應用於platform

Android/build/target/board/generic/BoardConfig.mk

3.

用make,產出android/out/target/product/generic

BOARD_HAVE_WIFI := true
BOARD_WPA_SUPPLICANT_DRIVER := WEXT

產出的rootfs可能不能應用於platform
[ 此帖被kazaya在2011-12-08 16:53重新编辑 ]
级别: 圣骑士
UID: 44407
精华: 0
发帖: 386
金钱: 1945 两
威望: 389 点
贡献值: 0 点
综合积分: 772 分
注册时间: 2011-04-25
最后登录: 2014-08-25
6楼  发表于: 2012-02-24 10:55
如果先前有build wpa_supplicant,之後要單獨build wpa_supplicant
1.要在刪除
<android>/out/out/target/product/<vendor>/obj/EXECUTABLES/wpa_cli_intermediates
<android>/out/out/target/product/<vendor>/obj/EXECUTABLES/wpa_supplicant_intermediates
<android>/out/out/target/product/<vendor>/obj/SHARED_LIBRARIES/libwpa_client_intermediates
2.修改Android.mk
如果是wpa_supplicant_6.:<android>/external/wpa_supplicant_6/wpa_supplicant/Android.mk

ifeq ($(WPA_BUILD_SUPPLICANT),true)

ifeq ($(WPA_BUILD_SUPPLICANT),false)

如果是wpa_supplicant_5.:<android>/external/wpa_supplicant/Android.mk
ifeq ($(WPA_BUILD_SUPPLICANT),true)

ifeq ($(WPA_BUILD_SUPPLICANT),false)

否則只會產出libwpa_client.so檔
[ 此帖被kazaya在2012-02-24 11:56重新编辑 ]