*************一、直接操作发**********

步骤:1、去Realtek官网下载无线网卡驱动
下载地址:点击这里
2、驱动在压缩包中的driver目录(也是一个压缩包),将其解压到/opt/EmbedSky/linux-2.6.30.4/drivers/net/wireless下
3、将无线网卡驱动目录下Kconfig中的信息拷贝到上一级目录的Kconfig末尾
4、修改/opt/EmbedSky/linux-2.6.30.4/drivers/net/wireless目录下的Makefile:在最后加上
obj-$(CONFIG_RTL8192CU) += rtl8188C_8192C/            (这个是驱动的相对路径)
5、 配置内核
跳转到内核的目录 cd /opt/EmbedSky/linux-2.6.30.4
执行 make menuconfig
进入Device Drivers  --->
[*] Network device support  --->
Wireless LAN  --->
将这一项打上信号:<*> Realtek 8192C USB WiFi
保存
6、修改/opt/EmbedSky/linux-2.6.30.4\Makefile,

ARCH=arm

CROSS_COMPILE = arm-linux-

7、在/opt/EmbedSky/linux-2.6.30.4\driver\i2c\busses/i2c-piix4.c

添加 #include <linux/slab.h>

8、make zImage
去喝杯茶吧……
内核编译好了,烧进板子试试吧!

但是我实际操作时遇到很多问题,虽然得到了zImage但是出现下面情况:

make ARCH=arm; make ARCH=arm uImage

.......

WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'

【解决过程】

1。至今未找到根本原因是啥。去掉那个rtc驱动,再编译,就是正常的,加上它,编译就出现上述警告。

2.这里:

说,在make的时候,加上参数CONFIG_DEBUG_SECTION_MISMATCH=y',然后应该可以看到具体错在哪里,是哪里mismatch了。

自己去试了下:

make ARCH=arm CONFIG_DEBUG_SECTION_MISMATCH=y

然后,导致整个kernel都要重新编译。。。漫长的等待啊。。。。

最后编译过程中,输出了对应的错误原因:

LD      drivers/rtc/built-in.o
WARNING: drivers/rtc/built-in.o(.data+0xe4): Section mismatch in reference from the variable as353x_rtc to the function .devexit.text:as353x_rtc_remove()
The variable as353x_rtc references
the function __devexit as353x_rtc_remove()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

去看了下代码,具体涉及的代码为:

static int __devexit as353x_rtc_remove(struct platform_device *pdev)
{
。。。
}

static struct platform_driver as353x_rtc ={
.probe = as353x_rtc_probe,
.remove = __devexit_p(as353x_rtc_remove),
.driver = {
   .name ="as353x-rtc",
   .owner = THIS_MODULE,
},
};
意思就是,一个正常的变量as353x_rtc,去引用了as353x_rtc_remove函数,而这个函数是前面加了__devexit 修饰,即此驱动模块卸载的时候,就释放其内存占用,就不存在的函数,因此觉得mismatch,不匹配,其建议我们应该在这个变量as353x_rtc前面加上对应的修饰,比如__exit。

把__devexit可以换成__devinit 这是一个办法去解决

***************二、就是把驱动做成 .ko 文件 开机自动insmod上去****************

这篇我将介绍怎么配置开发板连上无线网,闲话少说,开始!

开发板:tiny2416

内核版本:linux-3.6

编译器版本:4.3.3

使用无线网卡芯片:rtl8192du

官网上下载一个rtl8192du驱动包,解压后参考文档Quick_Start_Guide_for_Driver_Compilation_and_Installation.pdf

步骤如下:

1,进入rtl8192DU_linux_v4.0.2_9377.20131025_beta目录下的Makefile,并了解框架

2,修改CONFIG_PLATFORM_I386_PC = n,添加CONFIG_PLATFORM_NEW_ARM = y

3,在合适的位置添加:

ifeq ($(CONFIG_PLATFORM_NEW_ARM), y)

EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN //支持小端

ARCH := arm //平台

CROSS_COMPILE := /home/guo/High-speed_Project/Tools/bin/arm-xilinx-linux-gnueabi-

//编译器路径

KVER  := 3.6.0     //内核版本

KSRC ?= /home/guo/High-speed_Project/kernel/linux-digilent-master   //内核路径

endif

4:保存退出,make ,生成8192du.ko。

5.注意了,友善提供的内核不支持socket。DHCP必需要支持SOCKET的内核,因此重新编译内核,选择支持SOCKET ,编译后下载到板子即可。

cp config_mini6410_n43 .config

make menuconfig

进入内核配置界面,内核配置中需要做的修改如下:

添加Packet socket支持

[*] Networking support  --->

Networking options  --->

<*> Packet socket

[*]   Packet socket: mmapped IO

添加 socket filter支持

[*] Networking support  --->

Networking options  --->

[*] Network packet filtering framework (Netfilter)  --->

--- Network packet filtering framework (Netfilter)

[ ]   Network packet filtering debugging (NEW)

[*]   Advanced netfilter configuration (NEW)

Core Netfilter Configuration  --->

< >   IP virtual server support (NEW)  --->

IP: Netfilter Configuration  --->

  

Device Drivers  --->

[*] Network device support  --->

[*]   Wireless LAN  --->

<*>   IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)

[*]     Support downloading firmware images with Host AP driver

6.防火墙内核配置参考  http://blog.csdn.net/hanzengyi/article/details/5991917   http://www.veryarm.com/568.html

7.make zImage

(可以使用

insmod 8192du.ko

ifconfig wlan0 up

start-wifi wpa2 用户名 密码

)

或者如下

1. 启用USB WIFI网上:

ifconfig wlan0 up

2、手动设置USB WIFI的IP

ifconfig wlan0 192.168.1.234 netmask 255.255.255.0

此处的IP要根据所要连接的AP的设置进行网段的指定。

3、在开发板的/tmp目录中为连接创建配置脚本wpa_supplicant.conf,参考内容如下:

wep加密方式:

ctrl_interface=/var/run/wpa_supplicant
        network={
        ssid="liuyan"    (连接的无线网SSID)
        key_mgmt=NONE     
        wep_key0="56789"    (无线网密码)
        wep_tx_keyidx=0
        priority=5
        auth_alg=SHARED
        }

wpa-psk加密方式:

ctrl_interface=/var/run/wpa_supplicant
network={
                ssid="max"    //填写无线网络的的用户名
                key_mgmt=WPA-PSK
                proto=WPA
                pairwise=TKIP
                group=TKIP
                psk="1234567890" //填写密码
}

4、使用wpa_supplicant启动连接:

wpa_supplicant -Dwext -iwlan0 -c/tmp/wpa_supplicant.conf -B

5、等待一下就会链接成功,测试

ping 192.168.1.1

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2013-08/88542.htm

使用rtl8192du安装无线驱动步骤的更多相关文章

  1. ubuntu安装无线驱动

    一.无线驱动的安装. 首先查看自己的网卡类型:lspci -vnn | grep 14e4 查看内核版本: -uname -r 去www.broadcom.com/support/802.11/lin ...

  2. CentOS 7 安装无线驱动

    一.确认网卡的版本 lspci | grep Network [root@bogon ~]# lspci | grep Network :) :) [root@bogon ~]# 二.下载网卡的驱动, ...

  3. centos 下安装显卡驱动步骤

    一. 先下载自己显卡对应的linux版本的驱动文件, 一般都是.run的一个文件. 二.如果是新安装的系统,先安装编译环境,gcc,kernel-devel,kernel-headers  (联网) ...

  4. fedora21安装无线驱动

    来源:http://www.2cto.com/os/201202/120249.html 一.导入rpmfushion源,使用第三方yum 源: su -c 'yum localinstall --n ...

  5. Kali Linux ——在无网络情况下安装无线网卡驱动

    1.背景: 今日刚刚开始学习kali linux,众所周知,安装完成后,系统是没有无线网卡驱动的,这就对学生党造成相当的困扰:校园网要连接有线是需要认证客户端的,而认证客户端只有windows端,如此 ...

  6. 安装Nvidia k80驱动步骤

    安装Nvidia k80驱动步骤 ------------------ 环境介绍: CentOS6 远程终端使用Xshell -------------------- 安装Nvidia k80驱动步骤 ...

  7. linux 下手动编译安装无线网卡驱动

    先参照 <本地yum源安装GCC >安装好gcc hp的笔记本上安装了CentOS6.3,没有安装无线网卡驱动,安装这个驱动,在Google上找了好多资料,最后终于解决了这个问题.在这里做 ...

  8. Ubuntu下用NdisWrapper安装网卡驱动

    下面是一个简单全面的使用NdisWrapper的指南.这是从Beginning Ubuntu Linux, Second Edition中提炼出来的. 这份指南是第8章的一部分.该章给出了在Ubunt ...

  9. 编译安装linux内核步骤

    编译安装linux内核步骤: 一.获取内核源码 源码网址:www.kernel.org 二.解压内核源码 首先以root帐号登录,然后进入/usr/src子目录.如果用户在安装Linux时,安装了内核 ...

随机推荐

  1. 微信小程序如何引用其他js文件

    1.我们先建立一个common.js文件,在common.js编写我们的程序, function myfunc() { console.log("myfunc....");} mo ...

  2. apache(httpd)配置

    1.简单配置 1 监听地址 2 主页目录 3 别名 4 目录访问的身份验证 5 https 6 MPM(under linux) * 配置文件中路径.文件名均不支持中文. <<<&l ...

  3. [UGUI]帧动画

    ImageFrameAnimation.cs using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [R ...

  4. jquery小效果:新浪游戏右侧导航菜单 (页面效果)

    偷盗:新浪游戏右侧导航菜单 http://games.sina.com.cn 效果: 随着页面的滚动,左侧页面的内容,和右侧的导航菜单的按钮文字对应: 点击右侧的导航按钮,左侧页面滚动到相应的内容 2 ...

  5. 30. linux用su oracle 切换用户报“连接数据库报-bash-4.1$”处理方式

    直接在-bash-4.1$后面加上export PS1="[\u@\h \w]"即可,如下: [root@localhost usr]# su oracle-bash-4.1$ e ...

  6. windows系统安装

    系统最新地址:https://www.microsoft.com/zh-cn/software-download/windows10

  7. [记录] 解决img的1px空白问题

    第一种解决方案:把img变成块元素:display:block: 第二种解决方案:修改一下它的垂直对齐方式:vertical-align:middle: 第三种解决方案:使用浮动,让他漂浮起来:flo ...

  8. OWASP安全编码规范快速参考指南

    0x00 原则 概览 开发安全的软件需要对安全原则有基本的了解.虽然对于安全原则的全面评估超出了本指南的范围,但是我们还是提供了一个快速的概览.软件安全的目标是要维护信息资源的 保密性 ,  完整性 ...

  9. epoll_wait 时 POLLERR 与 POLLIN 同时返回的现象解析(转)

    今天code review时,同事B对我代码中的poll()的处理做法提出了异议.于是做了些研究,还发现了一些好玩的故事. 异议的代码 我的代码是参考manpage写的,类似下面的做法.同事B说没有处 ...

  10. unity "[ ]"标签

    [CanEditMultipleObjects]//可多对象编辑 public class Collider2DEditor:Editor {} [SerializeField]//序列化私有属性 p ...