linux内核wifi,8192DU双频wifi模块移植到linux3.6.0内核
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内核相关推荐
- 双频WiFi手机的网速为何那么快?看完这篇你就懂了
最近,手机市场上双WiFi一词走红,很多旗舰手机都称自家搭载了双WiFi,网速会更快.那它的原理是什么呢?今天就为大家解析一下. 首先,一定要注意,双频WiFi和双路WiFi可不是一回事! 双频WiF ...
- 千兆双频无线服务器,详细介绍:千兆双频WiFi模块SKW78性能参数
众所周知,传统连接技术无法满足物联网智慧城市对于覆盖率广.数据传输快.成本适中的海量连接需求.而物联网的主要特征之一便是节点的海量性,人.服务器.物品.设备.传感器都是终端节点,数据流源源不断.因此覆 ...
- 网卡类WiFi模块系列三:USB接口双通道单/双频WiFi模块
WiFi模块主要有网卡类和AP类两大类.网卡类WiFi模块通信接口.通信信道.综合功能可以大体分成八大类:AP类的WiFi模块可以分为嵌入式AP模块(核心板方式,只引出接口pin脚)和AP主板(也就是 ...
- 信驰达推出RTL8720DN系列2.4G和5G双频Wi-Fi+蓝牙二合一模块
近日,领先的无线物联网通信模块厂商深圳信驰达科技RF-star推出了基于RTL8720DN SoC的2.4 GHz和5 GHz双频Wi-Fi蓝牙二合一模块-RF-WM-20DNB1. 图 1信驰达RF ...
- 产品升级丨计讯物联双5G+双频WiFi工业网关TG463震撼来袭
当前,国内政策和市场表现都将5G的应用列在工业领域的重要位置.由此可见,工业4.0的建设依托于通信技术的发展.面对工业领域设备.数据增长以及实时感知.决策和控制需求,计讯物联进一步优化升级双5G+双频 ...
- 【视频】R2S软路由扩展2.4|5G双频WiFi应用演示——02_Client模式
By Mcuzone 关键词:FriendlyElec R2S 软路由 Openwrt WiFi 双频 2.4G 5G Client Master 千兆以太网 概述:Friend ...
- 【视频】R2S软路由扩展2.4|5G双频WiFi应用演示——03_Master模式
By Mcuzone 关键词:FriendlyElec R2S 软路由 Openwrt WiFi 双频 2.4G 5G Client Master 千兆以太网 概述:Friend ...
- 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 ...
- 实时双频Wi-Fi如何实现下一代车内连接
实时双频Wi-Fi如何实现下一代车内连接 How real simultaneous dual band Wi-Fi enables next-generation in-vehicle connec ...
最新文章
- vs2008中常见错误解决方法汇总
- C#复制数组的两种方式,以及效率比较
- React的深入解密一
- Docker操作笔记(四)使用网络
- java actor_Akka笔记之Actor简介
- signal软件如何退出账号_好视通视频会议软件app下载|好视通视频会议软件 3.15.7.15 官方版...
- 定义咯一个枚举变量枚举变量怎么打印出来 linux c,以C语言的字符串形式输出枚举变量...
- Windows SDK编程 API入门系列(转)
- python3字典平均值_python3基础之字典
- OCJP试题分析第一章
- put url带参数_避免自己写的 url 被diss!建议看看这篇RESTful API简明教程!
- 系统设计(二)——TinyURL系统设计
- 鸿蒙适配手机时间,华为鸿蒙OS适配时间表出炉:麒麟9000最先,麒麟990第二
- 分享一份接口测试项目(非常值得练手)
- 机器学习7-逻辑斯蒂回归实现西瓜数据集2.0的二分类
- 通过添加dns加速访问app store
- 微信内分享链接防红办法-微信域名防封技术系统的实现方案
- Win10 微软拼音开启小鹤双拼的两种方法
- MDF,LDF格式文件还原数据库
- MacBook Pro 时间机器备份(完美解决连接移动硬盘无反应)
热门文章
- WPS-Word:尾注中的参考文献四个字没显示在导航窗格或目录中,是因为算作尾注内容了
- Android书籍代码资源
- Windows10安装rdkit
- MySQL中 auto_increment如何修改初始值和步长【亲测】
- 【报错记录】RuntimeError: don‘t know how to restore data location of torch.FloatStorage (tagged with CPU)
- 免费相对安全的远程控制软件
- TF1-项目搭建配置及用户登录
- 过河问题(图、BFS)
- Spark内存管理-UnifiedMemoryManager和StaticMemoryManager
- ARM核心板,三星S5P4418核心板