为什么要移植?开发板不是已经提供了无线驱动吗?

貌似是这样的。。本来是好用的。加入自己第三方驱动后发现WIFI用不了。。。最后发现飞凌提供的内核里面没有8189芯片的代码。。。问售后他们说那边是好的。这么到我这里就不行了呢?妈蛋。。。郁闷了。。。智能自己动手,把驱动移植进去。。。

1  找8189es芯片的原厂驱动代码:这里我找了N久,传到网盘里。。。

http://pan.baidu.com/s/1bn7Gz6n

2 解压拷贝

tar jxvf rtl8288EUS_rtl8189ES_linux_v4.1.8_9499.20131104.tar.tgz

修改文件夹名字:8189ES

拷贝:cp  -rf 8189ES   /opt/linux-3.0.1/driver/net/wireless/

3 修改配置,打包进内核。

代码默认是USB接口的。。。必须改成SDIO

修改文件:8189ES/Makefile

CONFIG_USB_HCI = n

CONFIG_SDIO_HCI = y
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_S3C6K4 = y
ifeq ($(CONFIG_PLATFORM_ARM_S3C6K4), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := arm-none-linux-gnueabi-
KVER  := 3.0.1
KSRC ?= /opt/linux-3.0.1
endif

修改8189ES/Kconfig ,为了能打包进kernel

config SDIO_HCI
tristate "sdio hci default y"
depends on USB
---help---
Help message of sdio hci

在/opt/linux-3.0.1/driver/net/wireless/Kconfig插入代码

source "drivers/net/wireless/8189ES/Kconfig"

在/opt/linux-3.0.1/driver/net/wireless/Makefile插入代码

obj-$(CONFIG_SDIO_HCI)        += 8189ES/

4 修改驱动部分代码:

.修改内核驱动文件,./drivers/net/wireless/rtl8189es/include/autoconf.h
4.1)去掉usb相关配置

#define CONFIG_USB_HCI
改成:
//#define CONFIG_USB_HCI
4.2)去掉usb发送接收相关配置

#ifndef CONFIG_MINIMAL_MEMORY_USAGE
#define CONFIG_USB_TX_AGGREGATION
#define CONFIG_USB_RX_AGGREGATION
#endif
改成:
/*#ifndef CONFIG_MINIMAL_MEMORY_USAGE
#define CONFIG_USB_TX_AGGREGATION
#define CONFIG_USB_RX_AGGREGATION
#endif*/
4.3)去掉wifi关断检测相关配置

#define SUPPORT_HW_RFOFF_DETECTED
改成:
// #define SUPPORT_HW_RFOFF_DETECTED
5.修改内核驱动文件,添加头文件包含:
5.1)修改./drivers/net/wireless/rtl8189es/hal/rtl8188e/sdio/rtl8189es_xmit.c文件,添加:
#include <rtw_xmit.h>
5.2)修改,./drivers/net/wireless/rtl8189es/include/rtw_xmit.h文件,添加:
#include <autoconf.h>
.修改内核驱动文件,添加数组定义./drivers/net/wireless/rtl8189es/os_dep/linux/sdio_intf.c文件
添加:
int ui_pid[] = {, , };

6 cp 8189ES/autoconf_rtl8189e_sdio_linux.h    /opt/linux-3.0.1

7编译后wifi正常工作。。。

但只要操作IO口,WIFI启动就会失败。。

最后看原理图发现SDIO与GPIO都用了GPP10,GP11

把 这2口去了。。完事大吉

  

飞凌OK6410开发板SDIO无线8189WIFI模块驱动移植的更多相关文章

  1. 移植Mplayer到OK6410开发板

    移植Mplayer到OK6410开发板 作者:vasage 项目需要,需要将Mplayer移植到开发板上,所以今天花了一下下午成功移植,其中参考很多文档,后发现许多文档陈旧,些许文档有少量错误,所以这 ...

  2. [资料分享]迅为iTOP4412开发板-SDIO WiFi移植文档

    本文转自迅为:http://www.topeetboard.com 概述 近期需要把WiFi无线网络功能移植到iTOP-4412 开发平台,查阅了相关资料,经过一段时间的研究.调试,终于成功的将WiF ...

  3. [转载非常好的文章]JLink+GDBServer调试S3C6410裸板的初始化代码 For OK6410开发板

    要调试裸板,有两种初始化方法,一个是用烧好的uboot初始化,再有就是直接用JLink+GDBServer初始化.代码参考了网上的资料,根据手头的OK6410开发板做了修改.整体代码如下: # Con ...

  4. 使用arm开发板搭建无线mesh网络(二)

    上篇博文介绍了无线mesh网络和adhoc网络的区别,这篇文章将介绍无线mesh网络的骨干网节点的组建过程.首先需要介绍下骨干网节点的设计方案:每个骨干网节点都是由一块友善之臂的tiny6410 ar ...

  5. 使用arm开发板搭建无线mesh网络(一)

    由于项目的需要,老板让我使用arm开发板(友善之臂的tiny6410)搭建无线mesh网络.一般而言,无线自组织网络的网络设备都是由用户的终端设备来充当,这些终端设备既要处理用户的应用数据,比如娱乐, ...

  6. OK6410开发板系统安装---嵌入式回归第二篇

    1. 嵌入式系统须要被安装到开发板的nandflash上 或者 SD卡上 2. 须要安装的嵌入式Linux系统能够分三个部分 watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...

  7. 基于Neptune开发板的键盘蓝牙模块DIY指南

    目录: 1.下载开发板程序2.安装USB串口(CH340)驱动3.安装烧写工具4.烧写开发板程序 本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用 ...

  8. 【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔(2019-11-04)

    说明: 1.本教程重在BSP驱动包设计方法和HAL库的框架学习,并将HAL库里面的各种弯弯绕捋顺,从而方便我们的程序设计. 2.本次工程延续以往的代码风格,从底层BSP驱动包到应用代码,变量命名,文件 ...

  9. 小白自制Linux开发板 三. Linux内核与文件系统移植

    上一篇完成了uboot的移植,但是想要愉快的在开发板上玩耍还需要移植Linux内核和文件系统. 1.Linux内核 事实上对于F1C100S/F1C200S,Linux官方源码已经对licheepi ...

随机推荐

  1. Redis应用场景(转)

    (来源:http://www.cnblogs.com/shanyou/archive/2012/09/04/2670972.html) Redis常用数据类型 Redis最为常用的数据类型主要有以下五 ...

  2. css盒子模型层级3D图

    作为前端开发工程师,大家都应该知道盒子模型.下面用一张图来表达3D盒子模型的层级关系 大家可以看到background-color 在background-image的下一层.这个希望对大家有帮助

  3. JavaScript基础--小案例:在网页指定位置弹出错误信息(十二)

    案例分析:点击按钮后,在网页上指定区域,提示错误信息!5秒后,错误信息提示自动消失! <script languag="javascript" type="text ...

  4. JS form表单图片上传

    // 点击file 类型的input 触发的方法 function changesProvider(){ // fileProvider -> input中的name属性值 var f = do ...

  5. Python学习路程day13

    JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. ...

  6. 更新包地址安装新版node.js

    # apt-get update # apt-get install -y python-software-properties software-properties-common # add-ap ...

  7. sublime开发php必备工具集合(mac)

    sublime开发php必备工具集合(Mac) 相关链接:http://benmatselby.github.io/sublime-phpcs/ 目标: 直接在sublime中运行php代码 按PSR ...

  8. NullReferenceException UnityEngine.Transform.get_localPosition

    NullReferenceException  UnityEngine.Transform.get_localPosition unity程序中,需要取得GO自身的Transform,出现如上空异常, ...

  9. LINUX下如何开启FTP服务器

    1.首先应开启linuxh环境下的FTP service,过程如下:   http://www.witech.com.cn/news/Article_Show.asp?ArticleID=48    ...

  10. netfilter-IPv4实现框架分析(一)

    基于Linux-2.6.30版本,具体实现net\ipv4\netfilter目录下,入口文件为net\ipv4\netfilter\iptable_filter.c,入口/出口函数为模块的init函 ...