CONFIG_PLATFORM_I386_PC = n #修改的 CONFIG_PLATFORM_ARM_S5PV210 = y #添加的

ifeq ($(CONFIG_PLATFORM_ARM_S5PV210), y) EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN #-DCONFIG_MINIMAL_MEMORY_USAGE EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 #这个很重要的, 不添加的话android下的wpa_supplicant_8不能与驱动正常沟通啦, 也可以在autoconf_rtl8188e_usb_linux.h中修改, 我的是usb接口的wifi模块, sdio接口的是autoconf_rtl8189e_sdio_linux.h ARCH ?= arm CROSS_COMPILE ?= /opt/s210x/arm-2009q3/bin/arm-none-linux-gnueabi- #交叉编译工具 KVER:= 3.0.8 #内核版本 KSRC ?= /opt/x210_ics_rtm_v12/kernel/ #内核根目录 MODULE_NAME := wlan #模块名 endif

现在就可以make啦

wifi应用层的移植, xxx为你的硬件平台

将make得到的wlan.ko靠到android源代码根目录下的vendor/xxx/lib/modules 目录下.

看看android源代码根目录下的device/samsung/xxx目录和其子目录下有没有wlan.ko, 有的话就删除它, 并在相应的device.mk文件中删除相应的语句. (其实把移植的wlan.ko放在这里也行的啦)

下面的移植只关心c/c++代码和配置文件部分, 和java相关的不改

external目录下的wpa_supplicant_8是与驱动沟通的工具, android就是通过它来与wifi通信的, 我们只移植与wifi驱动包中不同的文件到这个目录下,

可以使用Meld(linux下的gui化文件比较工具)比较两个目录. hardware 和 system目录的移植方法也一样.

device/samsung/xxx目录是平台相关的目录, 这里主要修改BoardConfig.mk device.mk 和 init.xxx.rc(根据device中的PRODUCT_COPY_FILES 确定) 三个配置文件

在device.mk中的PRODUCT_COPY_FILES条目中添加一下代码

frameworks/base/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml

frameworks/base/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml

PRODUCT_PROPERTY_OVERRIDES :=

wifi.interface=wlan0

在BoardConfig.mk中添加一下代码

#Add for wifi BOARD_WIFI_VENDOR := realtek ifeq ($(BOARD_WIFI_VENDOR), ti) WPA_SUPPLICANT_VERSION := VER_0_8_X #BOARD_WPA_SUPPLICANT_DRIVER := WEXT # BOARD_WPA_SUPPLICANT_DRIVER := NL80211 #wifi驱动使用的是NL80211, 这里当然就是NL80211而不是WEXT BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_rtl BOARD_HOSTAPD_DRIVER := NL80211 #wifi驱动使用的是NL80211, 这里当然就是NL80211而不是WEXT BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_rtl BOARD_WLAN_DEVICE := rtl8192cu #BOARD_WLAN_DEVICE := rtl8192du #BOARD_WLAN_DEVICE := rtl8192ce #BOARD_WLAN_DEVICE := rtl8192de #BOARD_WLAN_DEVICE := rtl8723as #BOARD_WLAN_DEVICE := rtl8723au #BOARD_WLAN_DEVICE := rtl8188es WIFI_DRIVER_MODULE_NAME := wlan WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/wlan.ko" WIFI_DRIVER_MODULE_ARG := "" WIFI_FIRMWARE_LOADER := "" WIFI_DRIVER_FW_PATH_STA := "" WIFI_DRIVER_FW_PATH_AP := "" WIFI_DRIVER_FW_PATH_P2P := "" WIFI_DRIVER_FW_PATH_PARAM := "" endif

在init.xxx.rc中添加一下代码

on post-fs-data # we will remap this as /mnt/sdcard with the sdcard fuse tool mkdir /data/media 0775 media_rw media_rw chown media_rw media_rw /data/media setprop vold.post_fs_data_done 1 mkdir /data/misc/dhcp 0770 dhcp dhcp chown dhcp dhcp /data/misc/dhcp mkdir /data/misc/wifi/sockets 0770 wifi wifi service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c/system/etc/wifi/wpa_supplicant.conf #wifi驱动中是nl80211,这里也一样是nl80211 socket wpa_wlan0 dgram 660 wifi wifi # android private socket group wifi inet disabled oneshot service dhcpcd_wlan0 /system/bin/dhcpcd -d -f /system/etc/dhcpcd/dhcpcd.conf wlan0 group system dhcp disabled oneshot service dhcpcd /system/bin/dhcpcd -d -f /system/etc/dhcpcd/dhcpcd.conf wlan0 group system dhcp disabled oneshot

到这里就移植结束啦

可一make源代码并烧写看看结果吧

关于wireless_tools的移植

很简单的, 将wireless_tools.xx.gz解压到android源代码的external目录中

然后 终端下 build/envsetup.sh && make iwconfig iwlist iwpriv #就好啦

android wifi驱动详解,Android wifi驱动的移植 realtek 8188相关推荐

  1. 视频教程-Android Studio 开发详解-Android

    Android Studio 开发详解 1999年开始从事开发工作,具备十余年的开发.管理和培训经验. 在无线通信.Android.iOS.HTML5.游戏开发.JavaME.JavaEE.Linux ...

  2. android 最新写法,详解Android 硬布局item的高级写法

    本文主要介绍了Android 硬布局item的高级写法,分享给大家,具体如下: 效果: 这种布局应该是非常常见了,且写的比较多. 今天简单探讨一下效果图中上下两种布局的写法. 比较 上下效果一致 行数 ...

  3. linux摄像头V4L2 subdev,linux 摄像头驱动 详解linux 摄像头驱动编写

    想了解详解linux 摄像头驱动编写的相关内容吗,feixiaoxing在本文为您仔细讲解linux 摄像头驱动的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:linux,摄像头驱动,下面 ...

  4. android 命令使用详解,Android下pm 命令详解

    作者:Sam (甄峰) sam_code@hotmail.com Sam在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这 ...

  5. android标签table,详解Android TableLayout表格布局

    表格布局的标签是TableLayout,TableLayout继承了LinearLayout.所以它依然是一个线性布局. 前言: 1.TableLayout简介 2.TableLayout行列数的确定 ...

  6. 【Android】Realm详解(Android 数据库Sqlite的完美替代者)

    介绍 Realm 是一个 MVCC (多版本并发控制)数据库,由Y Combinator公司在2014年7月发布一款支持运行在手机.平板和可穿戴设备上的嵌入式数据库,目标是取代SQLite. Real ...

  7. framebuffer驱动详解2——framebuffer驱动框架分析

    以下内容源于朱有鹏嵌入式课程的学习,如有侵权,请告知删除. 一.framebuffer驱动框架总览 1.驱动框架部分 (1)drivers/video/fbmem.c(主要的文件) 创建graphic ...

  8. android 系统设置向导,详解Android 手机卫士设置向导页面

    推荐阅读: 设置向导页面,通过SharedPreferences来判断是否已经设置过了,跳转到不同的页面 自定义样式 在res/values/styles.xml中 添加节点 在 在的文本里面,设置布 ...

  9. android 界面 edittext详解,Android EditText详解

    前言 很常用的控件EditText(输入框): 和TextView非常类似,最大的区别是:EditText可以接受用户输入.和前面一样,我们不一个个讲属性, 只讲实际应用.那么开始本节内容! 1.设置 ...

  10. convert android layout xml,详解Android之解析XML文件三种方式(DOM,PULL,SAX)

    1.xml文件代码 ${fq.content} ${fq.time} 2.XML网页效果图 3.Android代码 1.布局文件 xmlns:tools="http://schemas.an ...

最新文章

  1. 解决用户使用临时配置文件登陆WIN7的问题
  2. Python取top N相关的模块:heapq模块
  3. KDEWin Installer 0.9.8-1发布
  4. shiro系列一、认识shiro
  5. python max函数_Python max内置函数详细介绍
  6. 十六个 HTML,CSS,jQuery,WordPress等快速启动项目样板
  7. SQLServer数据库实例相关知识笔记
  8. python转义引号的作用_python传到前端的数据,双引号被转义的问题
  9. tcl学习---windows下安装及运行环境
  10. 在Windows2003 SP2上安装VS2005SP1遇到的问题
  11. IOS学习笔记6—Objective C—Foundation框架
  12. 圆环和环形是一样的吗_饼图太丑?只需3步,立马变身成好看的环形图!
  13. 基于Qt编写的在线音乐播放器
  14. Flac3d v3.00.251
  15. Shopee运营中如何规避账号安全风险?站斧超级浏览器防关联运营
  16. 从0开发豆果美食小程序——搜索组件
  17. 洛谷P3835 【模板】可持久化平衡树(FHQ Treap)
  18. 手把手带你做一个Python打飞机游戏
  19. 局部搜索(爬山法+模拟退火+遗传算法)
  20. MarkDown语法详解:标题、字体、列表、引用、图片、表格、代码、超链接、公式

热门文章

  1. java面试的职业规划怎么说_java面试技巧-职业规划有技巧
  2. FPGA/数字IC秋招笔试面试003——FSM有限状态机、三段式状态机(2022届)
  3. python 提取百度网盘下载_百度网盘直链提取工具下载
  4. Visio 使用心得
  5. ADS 2013 momentum仿真出错
  6. 用matlab做数据挖掘,matlab实现数据挖掘
  7. php函数-list函数
  8. 环评图件制作业务承接(生态影响评价)
  9. 【音频】I2S协议时序及使用粗解
  10. Matlab 函数文件简介