目标板:Hi3518

内核版本:linux3.0.8
 
1.修改makefile
#PLATFORM = PC     //注释掉
PLATFORM = HI3518     //支持平台

ifeq ($(PLATFORM),HI3518)
LINUX_SRC = /root/hi3518/linux-3.0.y     //内核路径
CROSS_COMPILE = /opt/hisi-linux-nptl/arm-hisiv100-linux/target/bin/arm-hisiv100nptl-linux- //工具链路径
endif

2.进入RT3070/include/rtmp_def.h

    #define INF_MAIN_DEV_NAME     "wlan"
    #define INF_MBSSID_DEV_NAME "wlan"

3.修改os/linux/config.mk使其支持wpa_suplicant(将‘n'变成'y')

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

4.在编译驱动前必须先编译image

问题一:

/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: error: unknown field 'private' specified in initializer
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: warning: initialization from incompatible pointer type
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: error: unknown field 'num_private' specified in initializer
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: warning: excess elements in struct initializer
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: warning: (near initialization for 'rt28xx_iw_handler_def')
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: error: unknown field 'private_args' specified in initializer
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: warning: excess elements in struct initializer
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: warning: (near initialization for 'rt28xx_iw_handler_def')
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: error: unknown field 'num_private_args' specified in initializer
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: warning: excess elements in struct initializer
/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.c:: warning: (near initialization for 'rt28xx_iw_handler_def')
]: *** [/root/hi3518/RT3070/os/linux/../../os/linux/sta_ioctl.o] 错误
]: *** [_module_/root/hi3518/RT3070/os/linux] 错误
]:正在离开目录 `/root/hi3518/linux-3.0.y'

问题原因:是因为在配置Makefile时,指定的内核在配置时不支持802.11的无线设备驱动。

解决办法:重新配置编译指定的Linux Kernel,将Device Drivers

   ==>Network deivce support
       ==>Wireless LAN
        ==><*> USB ZD1201 based Wireless device support,编译即可
问题二:
rt3070sta: module has no symbols (stripped?)
insmod: can't insert 'rt3070sta.ko': invalid module format

解决办法:不能对目标文件进行裁剪

rtusb init rt2870 --->
usbcore: registered new interface driver rt2870
如果出现以下报错,说明内核源码错了
rt5370sta: version magic '2.6.32.59 mod_unload ARMv4 ' should be '2.6.32.2-Frie'
insmod: cannot insert 'rt5370sta.ko': invalid module format

插入网卡,这个时候ifconfig是看不到网卡的,要启用网卡,用以下命令:

ifconfig ra0 up

wifi驱动移植的更多相关文章

  1. EP-N8530S USB WIFI 驱动移植

    /*********************************************************************** * EP-N8530S USB WIFI 驱动移植 * ...

  2. I.MX6 AW-NB177NF WIFI 驱动移植问题

    /******************************************************************************** * I.MX6 AW-NB177NF ...

  3. wifi 驱动移植范例

    .改Makefile:  里面没有dm6441平台的,我看到有dm6446的,所以就在这里改了 ifeq ($(PLATFORM),DM6446) LINUX_SRC = /root/work/lin ...

  4. android wifi驱动移植详细过程

    转自:http://bbs.imp3.net/thread-10558924-1-1.html 对于刚入手android没多久的人来说,android wifi 驱动的移植确实还是有难度的,不过参考了 ...

  5. Android平台开发-WIFI 驱动移植 -- 详细

    一.WIFI的基本架构(代码路径)     1.WIFI Settings应用程序:       packages/apps/Settings/src/com/android/settings/wif ...

  6. WIFI驱动的移植 realtek 8188

    一般我们拿到的android源代码中wifi应用层部分是好的, 主要是wifi芯片的驱动要移植并添加进去. wifi驱动的移植, 以realtek的8188etv为例到官网下载相应的驱动, 解压后可以 ...

  7. Android wifi驱动的移植 realtek 8188

    Android wifi驱动的移植 一般我们拿到的android源代码中wifi应用层部分是好的, 主要是wifi芯片的驱动要移植并添加进去. wifi驱动的移植, 以realtek的8188etv为 ...

  8. Android系统如何移植wpa_supplicant及wifi驱动

    一.WPA_SUPPLICANT简介 1. 什么是wpa_supplicant wpa_supplicant is a WPA Supplicant for Linux, BSD, Mac OS X, ...

  9. 基于ubuntu-2.6.35内核的SDIO-WiFi驱动移植

    一.移植环境:        1.主机:Ubuntu 10.10发行版        2.目标机:FS_S5PC100平台        3.交叉编译工具:arm-cortex_a8-linux-gn ...

随机推荐

  1. 【转】C# typeof()实例详解

    转自:http://www.cnblogs.com/lm3515/archive/2010/09/02/1815725.html typeof(C# 参考) 用于获取类型的 System.Type 对 ...

  2. 【题解】SCOI2007组队

    恩……为什么大家都这么执着于 \(O(n^{2})\) 的复杂度捏?如果接受 \(O(n^{2} + nV)\) 的复杂度,那这题可不是道**题吗( • ̀ω•́ )✧ 首先把所有的人按照身高排个序, ...

  3. POJ3041:Asteroids——题解

    http://poj.org/problem?id=3041 题目大意:激光可以干掉一整行或一整列陨石,求最少激光次数. —————————————————— 二分图匹配,对于每一个陨石将它的横纵坐标 ...

  4. C++中数组和vector

    本文基于邓俊辉编著<数据结构(C++语言版)(第3版)>.<C++ Primer(第5版)>以及网上的相关博文而写,博主水平有限,若有不妥处,欢迎指出. 一.数组 C++中数组 ...

  5. 20165218 学习基础和C语言基础调查

    个人技能及阅读心得 个人技能之绘画 绘画是我从很小便开始接触的,从最初的简笔画到国画.素描.水粉,大约也学了七八年.但是到了高中之后,就逐渐放下了. 记得当初学素描时,老师的一句话让我记忆犹新,她说, ...

  6. LG. 1003 铺地毯

    LG. 1003 铺地毯 题意分析 给出平面中地毯的左上角坐标和长宽,然后给出一点(x,y).求此点最上面是哪个地毯的编号,若没被覆盖则输出-1. 将所有地毯的信息存在一个结构体中,由于后埔地毯在上面 ...

  7. UVA.10881 Piotr's Ants (思维题)

    UVA.10881 Piotr's Ants (思维题) 题意分析 有一根长度为L cm的木棍,上有n只蚂蚁,蚂蚁要么向左爬,要么向右,速度均为1cm/s,若2只蚂蚁相撞,则蚂蚁同时调头.求解第T秒时 ...

  8. React获取组件实例

    1. 直接new Component() 组件本身也是class,可以new,这样的组件实例意义不大 componentInstance = new Component(); 2. ReactDOM. ...

  9. [bzoj 1594]猜数游戏

    主要是怎么处理矛盾 矛盾的条件有$2$种: 第一种是当把所有相等的$a$都全部找到后,他们并没有全联通,所以矛盾,因为没有两个是相同的 第二种是在2组$(l,r,a)$,$(l1,r1,a1)$中,$ ...

  10. mysql的cast()函数

    先来补个知识: decimal的用法: decimal(18,4)总长18位,包括1位小数点和4为小数,也就是说18-1-4=13整数位只有13位decimal(19,1)总长19位,17位整数,1位 ...