Android wifi驱动的移植 realtek 8188
Android wifi驱动的移植
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-q3/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 <span style="font-family: Arial, Helvetica, sans-serif;">#wifi驱动使用的是NL80211, 这里当然就是NL80211而不是WEXT</span> 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 media_rw media_rw chown media_rw media_rw /data/media setprop vold.post_fs_data_done mkdir /data/misc/dhcp dhcp dhcp chown dhcp dhcp /data/misc/dhcp mkdir /data/misc/wifi/sockets wifi wifi service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan -c/system/etc/wifi/wpa_supplicant.conf #wifi驱动中是nl80211,这里也一样是nl80211 socket wpa_wlan dgram wifi wifi # android private socket group wifi inet disabled oneshot service dhcpcd_wlan /system/bin/dhcpcd -d -f /system/etc/dhcpcd/dhcpcd.conf wlan group system dhcp disabled oneshot service dhcpcd /system/bin/dhcpcd -d -f /system/etc/dhcpcd/dhcpcd.conf wlan group system dhcp disabled oneshot
到这里就移植结束啦
可一make源代码并烧写看看结果吧
关于wireless_tools的移植
很简单的, 将wireless_tools.xx.gz解压到android源代码的external目录中
然后 终端下 build/envsetup.sh && make iwconfig iwlist iwpriv #就好啦
Android wifi驱动的移植 realtek 8188的更多相关文章
- WIFI驱动的移植 realtek 8188
一般我们拿到的android源代码中wifi应用层部分是好的, 主要是wifi芯片的驱动要移植并添加进去. wifi驱动的移植, 以realtek的8188etv为例到官网下载相应的驱动, 解压后可以 ...
- android wifi驱动移植详细过程
转自:http://bbs.imp3.net/thread-10558924-1-1.html 对于刚入手android没多久的人来说,android wifi 驱动的移植确实还是有难度的,不过参考了 ...
- 嵌入式Linux USB WIFI驱动的移植
硬件平台:飞思卡尔MX258开发板 操作系统:Linux2.6.31 WIFI: RT2860 USB WIFI模组 交叉编译环境:gcc version 4.1.2 调试步骤: 第一步:测试U ...
- Android系统如何移植wpa_supplicant及wifi驱动
一.WPA_SUPPLICANT简介 1. 什么是wpa_supplicant wpa_supplicant is a WPA Supplicant for Linux, BSD, Mac OS X, ...
- Android平台开发-WIFI 驱动移植 -- 详细
一.WIFI的基本架构(代码路径) 1.WIFI Settings应用程序: packages/apps/Settings/src/com/android/settings/wif ...
- I.MX6 AW-NB177NF WIFI 驱动移植问题
/******************************************************************************** * I.MX6 AW-NB177NF ...
- EP-N8530S USB WIFI 驱动移植
/*********************************************************************** * EP-N8530S USB WIFI 驱动移植 * ...
- Android WIFI 启动流程(TIP^^)
前几天因为解决一堆Bug,没时间写.我不会每天都写,就是为了存档一些资料. 内容来源:工作中接触到的+高手博客+文档(Books)=自己理解 仅限参考^^ 此博客是上一个<<Android ...
- Android Wi-Fi基本操作
从用户角度看,Android Wi-Fi模块自下向上可以看为5层:硬件驱动程序,wpa_suppplicant,JNI,WiFi API,WifiSettings应用程序. 1.wpa_supplic ...
随机推荐
- 笔记-ORM-sqlalchemy
笔记-ORM-sqlalchemy 1. ORM 1.1. ORM框架简介 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发 ...
- Java集合——LinkedHashMap源码详解
个KV.LinkedHashMap不仅像HashMap那样对其进行基于哈希表和单链表的Entry数组+ next链表的存储方式,而且还结合了LinkedList的优点,为每个Entry节点增加了前驱和 ...
- AD高级规则设置
inpolygon 是所有的覆铜 ispad 是焊盘到焊盘的间距 IsVia 过孔间距 ispad and InComponent('S1') 设置某个器件的焊盘间距规则 ispad and H ...
- 8 实现10mins用户登录与注册
1.重新认识登录 2.实现登录功能 (1)Django 自带的authenticate, login模块 from django.contrib.auth import authenticate, l ...
- 10.bootstrap分页,点击哪个分页号,哪个分页号就active
1.分页,点击哪个分页号,哪个分页号就active <nav> <ul class="pagination"> <li><a href=& ...
- 记录下MoKee编译过程
纯属记录帖 关注和了解这个rom有段时间了. 最近有需要了解odex,折腾了几天还是在坑里. 索性,先编译下MoKee看看. 之前make过 4.2 和 5.1 ,刷到模拟器和N5里. 编译教程可以参 ...
- 每天一个Linux命令(5):rm命令
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链接文件,而原有文件保持不变. 语法 rm (选项)(参数) 选项 - ...
- 常用模块(time)
import time # data = time.time() # 获取时间戳# data = time.localtime() # 获取操作系统时间,也称本地时间,可传入时间戳# data = t ...
- 【志银】#define lowbit(x) ((x)&(-x))原理详解
分析下列语句 #define lowbit(x) ((x)&(-x)) 可写成下列形式: int Lowbit(x) { return x&(-x); } 例1:x = 1 十进制转二 ...
- HDU 4747 Mex ( 线段树好题 + 思路 )
参考:http://www.cnblogs.com/oyking/p/3323306.html 相当不错的思路,膜拜之~ 个人理解改日补充. #include <cstdio> #incl ...