第5季:海思平台USB WIFI无线网卡移植(2)

1 USB WIFI做sta模式的驱动移植和部署

源码包链接:

链接:https://pan.baidu.com/s/1QB7o0stSN8hrxb6OCgHzdA?pwd=kb6c 
提取码:kb6c 
--来自百度网盘超级会员V4的分享

1.1 源码修改

(1)用sta版本的driver,可以简单看一下区别

(2)修改makefile,参考AP模式下的修改点修改
我将我修改好的一份在这里分享给大家:
Makefile中的108行,修改自己的内核源码树的路径
Makefile中的435行,修改成自己的开发板rootfs挂载目录
在这里插入图片描述

链接:https://pan.baidu.com/s/1B-oFJJKtOIqVaTSYFkPwUg?pwd=xnm8 
提取码:xnm8 
--来自百度网盘超级会员V4的分享

(3)config.mk中修改,参考本季上篇文章AP模式下的修改点修改

(4)修改网卡名称为wlan

(5)make clean && make

2、部署驱动
(1)在开发板部署/etc/Wireless/RT2870STA/RT2870STA.dat
这个文件sta中的源码提供了
在这里插入图片描述
(2)部署ko驱动文件(可将其放在主机ubuntu,开发板nfs挂载的方式去使用)
也可将其放到开发板/home/目录下去使用
在这里插入图片描述
总结:整体上的操作类似于上篇文章中ap模式的移植,可参考上篇文章

2 移植wpa_supplicant

2.1 源码下载

(1)wpa_supplicant、openssl下载地址:

链接:https://pan.baidu.com/s/1agr_29T0xohqfoGGnA5dwA?pwd=qawh 
提取码:qawh 
--来自百度网盘超级会员V4的分享

2.2 移植openssl

(1)给openssl打补丁。把wpa_supplicant-2.5里面的patches文件夹下的openssl-0.9.8za-tls-extensions.patch文件拷贝到openssl-0.9.8za目录下,运行:

patch -p1 < openssl-0.9.8za-tls-extensions.patch

在这里插入图片描述
(2)修改Makefile

CC=arm-hisiv300-linux-gcc
AR= arm-hisiv300-linux-ar $(ARFLAGS) r
ARD=arm-hisiv300-linux-ar $(ARFLAGS) d
RANLIB=arm-hisiv300-linux-ranlib

INSTALLTOP = /tmp/openssl
OPENSSLDIR = /tmp/openssl

(3)make && make install

(4)如果报错

****Expected text after =item, not a number
****Expected text after =item, not a number
****Expected text after =item, not a number
****Expected text after =item, not a number

原因:OpenSSL 与 perl版本不兼容

解决方法:

rm -f /usr/bin/pod2man 

2.3 移植wpa_supplicant

(1)解压源码并进入主目录

cd wpa_supplicant-2.5/wpa_supplicant

(2)cp defconfig .config

(3)修改.config,在开头增加以下内容:
CC=arm-hisiv300-linux-gcc -L/tmp/openssl/lib
CFLAGS+=-I /tmp/openssl/include
LIBS+=-L/tmp/openssl/lib

(4)make		如果报错:
driver_nl80211.c:17:31: fatal error: netlink/genl/genl.h

修改.config 
将CONFIG_DRIVER_NL80211=y 注释掉即可

(5)继续make,生成wpa_supplicant和wpa_cli后整个移植成功完成

在这里插入图片描述

3 USB WIFI做sta模式的ORTP视频传输实验

3.1 部署wpa_supplicant

(1)将wpa_supplicant、wpa_cli丢到开发板/usr/bin目录下

(2)创建配置文件/etc/wpa_supplicant.conf,内容如下:

ctrl_interface=/var/run/wpa_supplicant

network={
ssid=" " #连接的路由器wifi名称
scan_ssid=1
key_mgmt= WPA-EAP WPA-PSK IEEE8021X NONE
pairwise=TKIP CCMP
group=CCMP TKIP WEP104 WEP40
psk=" " #wifi密码
}

3.2 sta模式的USB WIFI设置

(1)安装驱动 insmod mt7601Usta.ko

(2)设置静态IP地址
ifconfig wlan0 up
ifconfig wlan0 192.168.111.240

(3)开发板sta连接AP	(-dd打开调试信息)
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -dd &

(4)查看连接状态
wpa_cli -i wlan0 status      
(5)测试连接效果
route add default gw 192.168.111.249 dev wlan0 (配置网关)
ping 192.168.111.249		(网关AP)
ping 8.8.8.8			(google的dnw server)
echo 'nameserver 8.8.8.8' >> /etc/resolv.conf (设置dns,否则无法平通百度等网站)
ping www.baidu.com

3.3 ORTP视频传输测试

(1)修改LOCAL_HOST_IP 为192.168.111.118(和我的Widnows的连接WIFI自动分配的IP一样)

(2)编译得到sample并到开发板运行

(3)修改sdp中c=IN IP4 192.168.111.118,打开sdp播放
注:
AP:		192.168.111.249
PC:		192.168.111.118
开发板:  	192.168.111.240
ubuntu:	192.168.1.141

4 纯WIFI无线调试环境的搭建

4.1 原理

(1)UBUNTU和Windows桥接,这样ubuntu、windows、开发板三者都做sta,连同一个AP(即路由器)

(2)开发板事先移植部署好USB WIFI驱动、wpa_supplicant等

(3)开发板/etc/profile中设计好配置WIFI启动、连接AP、静态IP等命令

(4)开发板/etc/profile中设置让开发板通过无线mount虚拟机

4.2 实战

(1)先确认开发板部署好USB WIFI驱动、wpa_supplicant工具

(2)sample放到虚拟机ubuntu的共享文件夹中

(3)开发板/etc/profile中做好各种配置
文件末尾添加:

#ifconfig eth0 192.168.1.20
#mount -t nfs -o nolock 192.168.1.141:/mnt/hisilion_nfs /mnt
insmod /home/mt7601Usta.ko                       
ifconfig wlan0 up                          
ifconfig wlan0 192.168.111.240         
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &(相比于上边去掉了 -dd,不要打印调试信息)
route add default gw 192.168.111.249 dev wlan0  
cd /ko            
./load3518e -i -sensor ar0130 -osmem 32 -total 64
                                           
                 
         
//Ubuntu设置成桥接模式,ens33的ip地址设置成静态分配,由于wlan0的初始化还没有完成,下面的挂载可能失败                    
mount -t nfs -o nolock 192.168.111.242:/mnt/hisilion_nfs /mnt
cd /mnt    

(4)设置ubuntu桥接到windows的无线网卡,并给ubuntu设置静态IP地址

(5)开发板重启,看效果

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都要求支持无线网络连接功能,本课程主要是针对这方面开发技术讲解的。随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值