android wifi驱动详解,Android wifi驱动的移植 realtek 8188
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相关推荐
- 视频教程-Android Studio 开发详解-Android
Android Studio 开发详解 1999年开始从事开发工作,具备十余年的开发.管理和培训经验. 在无线通信.Android.iOS.HTML5.游戏开发.JavaME.JavaEE.Linux ...
- android 最新写法,详解Android 硬布局item的高级写法
本文主要介绍了Android 硬布局item的高级写法,分享给大家,具体如下: 效果: 这种布局应该是非常常见了,且写的比较多. 今天简单探讨一下效果图中上下两种布局的写法. 比较 上下效果一致 行数 ...
- linux摄像头V4L2 subdev,linux 摄像头驱动 详解linux 摄像头驱动编写
想了解详解linux 摄像头驱动编写的相关内容吗,feixiaoxing在本文为您仔细讲解linux 摄像头驱动的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:linux,摄像头驱动,下面 ...
- android 命令使用详解,Android下pm 命令详解
作者:Sam (甄峰) sam_code@hotmail.com Sam在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这 ...
- android标签table,详解Android TableLayout表格布局
表格布局的标签是TableLayout,TableLayout继承了LinearLayout.所以它依然是一个线性布局. 前言: 1.TableLayout简介 2.TableLayout行列数的确定 ...
- 【Android】Realm详解(Android 数据库Sqlite的完美替代者)
介绍 Realm 是一个 MVCC (多版本并发控制)数据库,由Y Combinator公司在2014年7月发布一款支持运行在手机.平板和可穿戴设备上的嵌入式数据库,目标是取代SQLite. Real ...
- framebuffer驱动详解2——framebuffer驱动框架分析
以下内容源于朱有鹏嵌入式课程的学习,如有侵权,请告知删除. 一.framebuffer驱动框架总览 1.驱动框架部分 (1)drivers/video/fbmem.c(主要的文件) 创建graphic ...
- android 系统设置向导,详解Android 手机卫士设置向导页面
推荐阅读: 设置向导页面,通过SharedPreferences来判断是否已经设置过了,跳转到不同的页面 自定义样式 在res/values/styles.xml中 添加节点 在 在的文本里面,设置布 ...
- android 界面 edittext详解,Android EditText详解
前言 很常用的控件EditText(输入框): 和TextView非常类似,最大的区别是:EditText可以接受用户输入.和前面一样,我们不一个个讲属性, 只讲实际应用.那么开始本节内容! 1.设置 ...
- 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 ...
最新文章
- 解决用户使用临时配置文件登陆WIN7的问题
- Python取top N相关的模块:heapq模块
- KDEWin Installer 0.9.8-1发布
- shiro系列一、认识shiro
- python max函数_Python max内置函数详细介绍
- 十六个 HTML,CSS,jQuery,WordPress等快速启动项目样板
- SQLServer数据库实例相关知识笔记
- python转义引号的作用_python传到前端的数据,双引号被转义的问题
- tcl学习---windows下安装及运行环境
- 在Windows2003 SP2上安装VS2005SP1遇到的问题
- IOS学习笔记6—Objective C—Foundation框架
- 圆环和环形是一样的吗_饼图太丑?只需3步,立马变身成好看的环形图!
- 基于Qt编写的在线音乐播放器
- Flac3d v3.00.251
- Shopee运营中如何规避账号安全风险?站斧超级浏览器防关联运营
- 从0开发豆果美食小程序——搜索组件
- 洛谷P3835 【模板】可持久化平衡树(FHQ Treap)
- 手把手带你做一个Python打飞机游戏
- 局部搜索(爬山法+模拟退火+遗传算法)
- MarkDown语法详解:标题、字体、列表、引用、图片、表格、代码、超链接、公式