1.1 下载驱动代码

官方网站()上需找自己匹配的型号的驱动,这里我们使用的是8192du型号的wifi芯片,所以下载匹配的wifi驱动,还有就是使用的linux内核要在官方所指定的版本范围内,这部分多于供应商的技术支持多沟通。

这里我们使用的linux内核为linux3.6.0的高版本内核,Realtek上支持的RTL8192DE-VC支持的linux版本Linux Driver for Kernel 2.6.18~2.6.38 and 3.0.2 ,而我们的linux3.6.0在linux支持的版本外,最终跟供应商沟通后获得新版本的驱动代码rtl8192DU_linux_v4.0.2_9377.20131113.tar.gz。

1.2 Wifi驱动的交叉编译

参考文档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。

这样就生成了支持linux3.6内核的wifi驱动模块了。

1.3 应用程序交叉编译

1.3.1  wpa_supplicant_hostapd-0.8_rtw_r6747.20130222交叉编译

1,进入wpa_supplicant_hostapd-0.8_rtw_r6747.20130222/wpa_supplicant目录下打开Makefile

2,在第4行添加CC = /home/guo/High-speed_Project/Tools/bin/arm-xilinx-linux-gnueabi-gcc

3,保存退出,make,生成wpa_cli,wpa_passphrase,wpa_supplicant。

1.3.2  wireless_tools.30.rtl交叉编译

1,进入wireless_tools.30.rtl目录下打开Makefile

2,修改如下:

CC = /home/guo/High-speed_Project/Tools/bin/arm-xilinx-linux-gnueabi-gcc

AR = /home/guo/High-speed_Project/Tools/bin/arm-xilinx-linux-gnueabi-ar

RANLIB = /home/guo/High-speed_Project/Tools/bin/arm-xilinx-linux-gnueabi-ranlib

3,保存退出,make,生成iwconfig,iwlist。

1.3.3  dhclient命令的交叉编译

源码下载地址

下载dhcp-3.1-ESV-R3, 解压后生成dhcp-3.1-ESV-R3目录,

进入该目录执行./configure,该命令生成work.linux-2.2目录。(这部分对机器的配置有要求)

进入这个work.linux-2.2目录后,在编译时指定我们的交叉编译器,

make "CC = /home/guo/High-speed_Project/Tools/bin/arm-xilinx-linux-gnueabi-gcc  -static"

生成的dhclient就是我们想要的了。

[root@localhost client]# file dhclient

dhclient: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, statically linked, not stripped

要使用到的文件有 命令dhclient,配置文件/dhcp-3.1-ESV-R3/client/dhclient.conf,

脚本文件/dhcp-3.1-ESV-R3/client/scripts/linux

修改 /dhcp-3.1-ESV-R3/client/scripts/linux为dhclient-script。

1.4 生成文件系统

拷贝驱动,命令,配置文件,脚本文件到文件系统下。

1,在根文件系统下创建一个目录wifi

2,把8192du.ko拷贝到/wifi目录下

把wpa_cli,wpa_passphrase,wpa_supplicant,iwconfig,iwlist,dhclient拷贝到/bin目录

把dhclient.conf,dhclient-script拷贝到/sbin目录下

3,创建/var/run

在/home/guo/High-speed_Project/script#下执行make rootfs,会在target目录下生成ramdisk8M.image.gz。

1.5 Wifi移植

1.5.1  配置linux3.6.0的内核

在linux源码目录下make menuconfig。

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

1.5.2  启动开发板测试

在启动的文件系统上会在/bin,/sbin,/wifi目录可以看到刚才放进去的配置文件,命令文件,脚本文件。

WEP模式

操作步骤如下:

1,进入/wifi目录下:insmod 8192du.ko

2,

ifconfig eth0 down //关掉eth0

ifconfig wlan0 up//打开wlan0

iwconfig wlan0 essid "Dragonwake" key 1111111111   //使用WEP密码,输入ssid及key

dhclient wlan0//动态获取wlan0的ip

ifconfig wlan0 192.168.1.103 netmask 255.255.255.0//配置ip与子网掩码

route add default gw 192.168.1.1//添加默认网关

3,测试:

ping

说明wifi模块已经连接上了无线路由,可以上网了

WPA模式:

操作步骤如下:

1,进入/wifi目录下:insmod 8192du.ko

2,加载驱动,配置网络设备

insmod 8192du.ko

ifconfig eth0 down

ifconfig wlan0 up

3,添加配置文件

touch /etc/wpa_supplicant.conf

在wpa_supplicant.conf文件中添加如下:

SSID为用户名,psk为密码。

4,后台运行程序

./wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -B

5,动态获取wlan0 ip

dhclient wlan0

6,收到设置网络参数

ifconfig wlan0 192.168.1.103 netmask 255.255.255.0

route add default gw 192.168.1.1

7,测试网络ping

这样wifi的安全模式下的WPE,WPA加密都实现了,wifi移植到此完成了。

linux内核wifi,8192DU双频wifi模块移植到linux3.6.0内核相关推荐

  1. 双频WiFi手机的网速为何那么快?看完这篇你就懂了

    最近,手机市场上双WiFi一词走红,很多旗舰手机都称自家搭载了双WiFi,网速会更快.那它的原理是什么呢?今天就为大家解析一下. 首先,一定要注意,双频WiFi和双路WiFi可不是一回事! 双频WiF ...

  2. 千兆双频无线服务器,详细介绍:千兆双频WiFi模块SKW78性能参数

    众所周知,传统连接技术无法满足物联网智慧城市对于覆盖率广.数据传输快.成本适中的海量连接需求.而物联网的主要特征之一便是节点的海量性,人.服务器.物品.设备.传感器都是终端节点,数据流源源不断.因此覆 ...

  3. 网卡类WiFi模块系列三:USB接口双通道单/双频WiFi模块

    WiFi模块主要有网卡类和AP类两大类.网卡类WiFi模块通信接口.通信信道.综合功能可以大体分成八大类:AP类的WiFi模块可以分为嵌入式AP模块(核心板方式,只引出接口pin脚)和AP主板(也就是 ...

  4. 信驰达推出RTL8720DN系列2.4G和5G双频Wi-Fi+蓝牙二合一模块

    近日,领先的无线物联网通信模块厂商深圳信驰达科技RF-star推出了基于RTL8720DN SoC的2.4 GHz和5 GHz双频Wi-Fi蓝牙二合一模块-RF-WM-20DNB1. 图 1信驰达RF ...

  5. 产品升级丨计讯物联双5G+双频WiFi工业网关TG463震撼来袭

    当前,国内政策和市场表现都将5G的应用列在工业领域的重要位置.由此可见,工业4.0的建设依托于通信技术的发展.面对工业领域设备.数据增长以及实时感知.决策和控制需求,计讯物联进一步优化升级双5G+双频 ...

  6. 【视频】R2S软路由扩展2.4|5G双频WiFi应用演示——02_Client模式

    By Mcuzone 关键词:FriendlyElec  R2S  软路由  Openwrt  WiFi  双频  2.4G  5G   Client  Master  千兆以太网 概述:Friend ...

  7. 【视频】R2S软路由扩展2.4|5G双频WiFi应用演示——03_Master模式

    By Mcuzone 关键词:FriendlyElec  R2S  软路由  Openwrt  WiFi  双频  2.4G  5G   Client  Master  千兆以太网 概述:Friend ...

  8. ESP32-C5 简介:乐鑫首款双频 Wi-Fi 6 MCU

    www.espressif.com.cn/en/news/ESP32-C5 乐鑫的 ESP32-C5 是业界首款支持 2.4 和 5 GHz 双频 Wi-Fi 6 以及蓝牙 LE 的 RISC-V S ...

  9. 实时双频Wi-Fi如何实现下一代车内连接

    实时双频Wi-Fi如何实现下一代车内连接 How real simultaneous dual band Wi-Fi enables next-generation in-vehicle connec ...

最新文章

  1. vs2008中常见错误解决方法汇总
  2. C#复制数组的两种方式,以及效率比较
  3. React的深入解密一
  4. Docker操作笔记(四)使用网络
  5. java actor_Akka笔记之Actor简介
  6. signal软件如何退出账号_好视通视频会议软件app下载|好视通视频会议软件 3.15.7.15 官方版...
  7. 定义咯一个枚举变量枚举变量怎么打印出来 linux c,以C语言的字符串形式输出枚举变量...
  8. Windows SDK编程 API入门系列(转)
  9. python3字典平均值_python3基础之字典
  10. OCJP试题分析第一章
  11. put url带参数_避免自己写的 url 被diss!建议看看这篇RESTful API简明教程!
  12. 系统设计(二)——TinyURL系统设计
  13. 鸿蒙适配手机时间,华为鸿蒙OS适配时间表出炉:麒麟9000最先,麒麟990第二
  14. 分享一份接口测试项目(非常值得练手)
  15. 机器学习7-逻辑斯蒂回归实现西瓜数据集2.0的二分类
  16. 通过添加dns加速访问app store
  17. 微信内分享链接防红办法-微信域名防封技术系统的实现方案
  18. Win10 微软拼音开启小鹤双拼的两种方法
  19. MDF,LDF格式文件还原数据库
  20. MacBook Pro 时间机器备份(完美解决连接移动硬盘无反应)

热门文章

  1. WPS-Word:尾注中的参考文献四个字没显示在导航窗格或目录中,是因为算作尾注内容了
  2. Android书籍代码资源
  3. Windows10安装rdkit
  4. MySQL中 auto_increment如何修改初始值和步长【亲测】
  5. 【报错记录】RuntimeError: don‘t know how to restore data location of torch.FloatStorage (tagged with CPU)
  6. 免费相对安全的远程控制软件
  7. TF1-项目搭建配置及用户登录
  8. 过河问题(图、BFS)
  9. Spark内存管理-UnifiedMemoryManager和StaticMemoryManager
  10. ARM核心板,三星S5P4418核心板