RTL8188CUS usb wifi驱动移植到(arm-linux)
一、开发环境
linux主机:ubuntu-18.04
交叉编译器:gcc version 4.6.2 20110630 (prerelease)
wifi硬件:RTL8188CUS 迷你WIFI
WIFI驱动版本:rtl8192_8188CU_linux_v3.0.2164.20110715.rar(可以到我的资源中下载)
开发板kernel:linux-3.0.35
开发板:MarsBoard(imx6d)
二、内核配置
进入开发板kernel目录:
$ /home/ubuntu/marsboard/kernel/linux-3.0.35-src3482
$ make menuconfig
1)网络配置:
增加802.11协议栈的支持
Networking support->Wireless
--- Wireless | | <*> cfg80211 - wireless configuration API | | [*] nl80211 testmode command | | [ ] enable developer warnings | | [*] cfg80211 regulatory debugging | | [*] enable powersave by default | | [*] cfg80211 DebugFS entries | | [ ] use statically compiled regulatory rules database | | [*] cfg80211 wireless extensions compatibility | | [*] Wireless extensions sysfs files | | -*- Common routines for IEEE802.11 drivers | | [ ] lib80211 debugging messages | | <*> Generic IEEE 802.11 Networking Stack (mac80211) | | [ ] PID controller based rate control algorithm | | [*] Minstrel | | [*] Minstrel 802.11n support | | Default rate control algorithm (Minstrel) ---> | | [*] Enable mac80211 mesh networking (pre-802.11s) support | | [ ] Enable LED triggers | | [ ] Export mac80211 internals in DebugFS | | [ ] Select mac80211 debugging features --->
2)无线网卡配置
Device Drivers->Network device support->Wireless LAN
3)USB网卡配置
Device Drivers->USB support
注意:配置完成后,必须编译一次,因为单独编译USB wifi驱动需要用到内核里部分.o文件,我这里是执行make uImage 编译内核。
三、无线网卡驱动编译
修改MakeFile
vim MakeFile
配置,接下来需要增加一个平台信息,名字随便,内容主要包括指定编译器、内核源码目录:
CONFIG_PLATFORM_MARSBOARD = y# Marsboard imx6
ifeq ($(CONFIG_PLATFORM_MARSBOARD), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
# SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
ARCH ?= arm
CROSS_COMPILE ?= arm-none-linux-gnueabi-
KVER := $(shell uname -r)
#KSRC := /home/linux/marsboard/kernel/kernel_imx
KSRC := /home/ubuntu/marsboard/kernel/linux-3.0.35-src3482# MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
# INSTALL_PREFIX :=
endif
注意:内核版本必须和开发板上运行的Linux版本一致,否则加载驱动会提示Unknown symbol skb_put (err -22)等错误,该错误说明内核版本和实际不一致!!!
然后执行make,编译完成后会生成8192cu.ko文件,接着在开发板上加载
root@freescale /app$ insmod 8192cu.ko
这样驱动就是加载成功了,并且成功识别了无线网卡。
查看所有网卡:
root@freescale /app$ ifconfig -a
启动无线网卡
root@freescale /app$ ifconfig wlan0 up
root@freescale /app$ ifconfig
可以看到已经出现一个名为wlan0的无线网卡,但是要使用该网卡还需要wireless tools 工具。
root@freescale /app$ ping -I 192.168.3.38 www.baidu.com //-I是指定执行 ping 操作的网卡 IP 地址
通过ping命令来指定网卡的IP来ping通百度,接下来就可以利用wifi上网了!
若这里ping不通百度,请确保/etc目录下有resolv.conf文件(DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名),且该文件中保存有DNS服务器的IP地址(例如:nameserver 114.114.114.114 )
四、wireless tools 工具移植
wireless tools 是操作 WIFI 的工具集合,包括一下工具:
iwconfig:设置无线网络相关参数。
iwlist:扫描当前无线网络信息,获取 WIFI 热点。
iwspy:获取每个节点链接的质量。
iwpriv:操作 WirelessExtensions 特定驱动。
ifrename:基于各种静态标准命名接口。
wireless tools源码下载:wireless tools
wireless tools 工具只能连接开放或者WEP加密的AP,但是现在大多数WIFI都是WPA加密的,如果要连接这些WPA加密的WIFI,需要使用其他的工具(wpa_supplicant),这个后面会介绍。
以上wpa_supplicant、wireless tools在freescale开发环境ltib中都有编译,所以单独不进行编译了,编译好的文件系统已经自带。
iwlist wlan0 scan //扫描wifi
iwconfig wlan0 essid “201487” //连接热点"201487"
udhcpc –i wlan0 //动态获取ip -i指定网卡wpa_cli -i wlan0 scan //搜索附件wifi热点
wpa_cli -i wlan0 scan_result //显示搜索wifi热点
wpa_cli -i wlan0 status //当前WPA/EAPOL/EAP通讯状态
wpa_cli -i wlan0 ping //pings wpa_supplicant
有时候,当利用 udhcpc –i wlan0获取到ip之后,再次执行ifconfig可能会发现wlan0的ip依旧是空白,这是因为udhcpc只是请求一个ip可用的ip地址,但是这个地址并没有被写入到网卡设备中去,我们还需要一个配置文件来将申请到的ip地址写入设备。
配置文件如下:
#!/bin/sh# udhcpc script edited by Tim Riker <Tim@Rikers.org>[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1RESOLV_CONF="/etc/resolv.conf"
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"case "$1" indeconfig)/sbin/ifconfig $interface 0.0.0.0;;renew|bound)/sbin/ifconfig $interface $ip $BROADCAST $NETMASKif [ -n "$router" ] ; thenecho "Deleting routers"while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do:donefor i in $router ; doroute add default gw $i dev $interfacedonefiecho -n > $RESOLV_CONF[ -n "$domain" ] && echo search $domain >> $RESOLV_CONFfor i in $dns ; doecho adding dns $iecho nameserver $i >> $RESOLV_CONFdone;;
esacexit 0
将该文件命名为default.script,放在/usr/share/udhcpc目录下即可。
五、配置wifi连接路由器
root@freescale /app$ vim app.sh
echo "------->install 8192cu.ko driver------------->"
insmod /app/8192cu.ko
sleep 3echo "------->start wifi---------------------------->"
ifconfig wlan0 upecho "------->connect router device----------------->"
wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.confecho "------->dhcp ip------------------------------->"
udhcpc -i wlan0 &
wpa_supplicant.conf配置如下:
update_config=1
ctrl_interface=/etc/wpa_supplicant
network={ssid="201487"proto=WPA RSN WPA2key_mgmt=WPA-PSK WPA-EAPpairwise=TKIP CCMPgroup=TKIP CCMPpsk="xxxxx"
这样开发板启动后执行
RTL8188CUS usb wifi驱动移植到(arm-linux)相关推荐
- 嵌入式linux usb wifi驱动移植
文档名称:嵌入式linux usb wifi驱动移植 版本历史 版本号 时间 内容 v1.0b001 2012-6-18 初始版本,介绍在嵌入式 ...
- EP-N8530S USB WIFI 驱动移植
/************************************************************************ EP-N8530S USB WIFI 驱动移植* 说 ...
- usb wifi 驱动移植rtl5370
我用的wifi是tenda W311MI 150m无线usb网卡 内核版本2.6.37 架构cortex A8 首先去tenda官网下载驱动 移植过程: 1 修改内核配置选项 make clean m ...
- android usb wifi驱动下载,android 平台USB wifi驱动移植及使用
一. Android平台Wifi的基本代码路径 1. Wpa_supplicant源码部分 external/wpa_supplicant_6/ 生成库libwpa_client.so ...
- 海思平台上USB WIFI的移植与局域网无线调试和视频流预览-第5/11季视频课程-朱有鹏-专题视频课程...
海思平台上USB WIFI的移植与局域网无线调试和视频流预览-第5/11季视频课程-143人已学习 课程介绍 本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块), ...
- realtek+wifi+linux驱动下载,RealTek wifi 驱动移植说明_V1.0 PDF 下载
1. 驱动修改说明: 1. 修改驱动入口函数 一般来说,RealTek 的驱动,只需修改适合 RK 平台的入口函数就可以正常运行了,以下 分别对 USB WIFI 和 SDIO WIFI 驱动需要修改 ...
- Linux环境下使用WIFI模块:WIFI驱动移植
WIFI驱动移植 实验平台 内核版本:Linux-4.19.5 开发板:SAMSUNG JZ2440 WIFI模块:Ralink rt3070 查看WIFI设备的PID 直接将WIFI模块接到电脑的U ...
- 图文讲解 WiFi 驱动移植过程,很肝~
关注.星标公众号,直达精彩内容 来源:嵌入式基础学习 作者:小二 本篇文章打算对WiFi 驱动移植文章进行一次系统性的总结.复盘,分享一下自己的思考过程,遇到的问题等. 希望对您有点帮助??????? ...
- linux 混音处理 arm,alsa移植到arm linux嵌入式系统中
1 alsa-lib的移植 1.1 软件包下载 alsa-lib库:进入网站http://www.alsa-project.org/选择下载,在这里下载的是alsa-lib-1.0.22.tar. ...
最新文章
- 李名洋(1983-),男,中国电信股份有限公司云计算分公司数据分析师。
- kafka报错:Error writing out kafka.log:type=Log,name=LogStartOffset,topic=xx EofException
- HandlerInterceptor与MethodInterceptor
- [2019上海网络赛J题]Stone game
- log4j配置文件详解------自学
- photoshop高光,暗,中间调选区获取
- 速卖通关键词挖掘工具_谷歌优化关键词挖掘工具大全
- Ubuntu赋予root权限
- Dex.top新手使用教程
- 将无线鼠标改造成有线鼠标
- 如何制作一款Chrome浏览器扩展程序
- SLAM_视觉SLAM面试题及答案汇总
- git提交 [rejected] fetch first 解决办法
- C# 浅谈基于Wpf下的MVVM模式的设计思想
- R——关联规则分析(二 例题:中医证型的关联规则挖掘)
- 用VASP+VTST计算Raman光谱 (抛砖引玉)
- iPhone在线音乐盒,代码开源
- 深入了解bash与sh的区别
- 实习日志(总结一些前端知识)
- 跨境电商一周要闻:蜜淘获B轮$3000万融资