以下内容源于朱有鹏课程,如有侵权,请告知删除。

1、WIFI接口

  • WIFI模块与SoC的接口有多种,如SDIO、USB、串口(低带宽)等。

2、AP、STA

  • AP(Access Poin,接入点t),一般指(有线或者无线的)路由器。
  • STA(Station,站点),指的是连接到路由器的终端设备,比如手机笔记本等等。

3、USB-WIFI网卡选作AP模式、STA模式

  • USB-WIFI的模式选项,就是让你选择,你这(拥有USB-WIFI模块的)设备,是作为站点还是作为接入点。如果它作为站点,那么它联网的时候就会去寻找一个接入点来接入网络。如果是作为接入点,那么局域网中其他设备在联网的时候会接入它。

4、移植起点

(1)前置课程《USB-WIFI网卡在x210板子上的移植》

  • 此课程见https://blog.csdn.net/oqqHuTu12345678/article/details/78945699
  • 此课程中USB-WIFI网卡仅作station模式,它接入房间里的无线路由器来上网。

(2)USB WIFI网卡官方提供的驱动

(3)基于海思SDK中已经编译过的内核源码树来编译驱动

  • 因为板载系统的内核和用来编译驱动的内核源码树必须对应一致,这样编译出来的驱动才能在板载系统上安装与工作。

5、本课程内容

  • HI3518E+WIFI做AP,PC做STA,实现局域网内ortp视频传输
  • HI2518E+WIFI做STA,PC做STA,外部路由器做AP,实现局域网内ortp视频传
  • HI2518E+WIFI做STA,PC做STA,外部路由器做AP,实现全程无线调试(不用有线网卡)

6、USB-WIFI驱动源码

  • 网盘资源【提取码: p3e7】
  • 将Makefile替换掉压缩包里的Makefile。

7、假设的IP地址

无线 有线
windows 192.168.0.30 192.168.1.20
开发板 192.168.0.100  192.168.1.10
ubuntu 192.168.0.50 192.168.1.141

一、AP模式USB-WIFI网卡移植与测试

1、在虚拟机中合适目录解压

2、修改移植工作很简单

(1)在include/rtmp_def.h中1627行左右,修改网络名始终为:wlan。

  • 但其实不改也行,只是将来网络名字不叫wlan而是叫ra。

(2)将提供的Makefile替换掉原来的Makefile;

  • 注意路径问题,如果你自己的内核源码树的路径不是所提供的Makefile中规定的,则需要将所提供的Makefile里的内核源码树的路径修改下。

(3)此时执行make时报错(注意分析错误的过程,挺受启发的)。

  • 需要在./os/linux/config.mk中添加EXTRA_FLAGS;(即添加1044~1046所示的内容)

  • 报错原因是找不到某些头文件,但实际上在include目录中有这些头文件,为何还是找不到呢?在Make文件中有下面一句,即包含配置文件config.mk,进入到config.mk文件中查看,发现是flag的问题。因此要添加。

(4)执行make时依然出错,原因是缺少autoconf.h文件。

  • 海思SDK直接解压后得到的kernel中并没有包含此文件,因为(猜想的)在执行make distclean时删除了此文件。解决方法是重新单独编译kernel,可以获得此文件。
  • 解释见https://www.cnblogs.com/Suzkfly/p/11763948.html

(5)修改Makefile。

  • 因为Makefile文件规定将得到xx.ko文件放在/tftpboot中,但我们想用NFS将驱动拷贝到板载系统,因此修改Makefile,使其将生成的ko文件放到/root/all_qianrushi/rootfs/hisrootfs中。

(6)执行make。

  • 生成的驱动是./os/linux/*.o所示的文件(主要mt7601Uap.ko文件)。
  • /root/all_qianrushi/rootfs/hisrootfs中也有一份(即mt7601Uap.ko)。

3、部署USB-WIFI驱动使之工作为AP

(1)确认模块被识别。

  • 先lsusb,然后插入USB WIFI模块,再lsusb,确认模块被识别了

(2)在开发板中部署 /etc/Wireless/RT2870AP/RT2870AP.dat,并修改以下几个配置。

此配置文件在虚拟机的源码中,将之拷贝到板载目录/etc/Wireless/RT2870AP/(板载系统无此目录而需要自己创建)并作修改。

  • SSID=WIFI_XJH(此名字是在pc机上看到的wifi名字)
  • AuthMode=WPA2PSK(加密方式)
  • EncrypType=TKIP;AES
  • WPAPSK=123456789(这个是密码)

(3)insmod mt7601Uap.ko安装USB WIFI驱动模块

(4)ifconfig -a看是否有wlan0

  • 如果只ifconfig命令,只能看到打开状态下的网卡。所以用ifconfig -a

(5)ifconfig wlan0 up, ifconfig wlan0 192.168.0.100来启动wlan0并设置其IP。

(6)ifconfig查看,确认wlan0工作正常

(7)用PC或手机的WIFI搜索是否有一个名为:MT7601AP_WPA的网络了,有了就成功了

(8)给PC强制分配静态IP

设置无线网卡的IP为:192.168.0.30

设置有线网卡的IP为:192.168.1.20

4、测试用例准备

(1)在ORTP版本的sample中,在/common/sample_common_venc.c中,修改LOCAL_HOST_IP为192.168.0.30

(2)在sample/venc/下执行make clean,再执行make,得到sample_venc。

这步居然出现了问题,折腾大半天死活得不到sample_venc文件。

1)首先make clean和make的时候,出现一个提示说缺少文件。

ls: cannot access ‘./hiwork/osdrvhi3518e.C01’: No such file or directory

由于编译得不到sample_venc文件,我以为是缺少该文件导致的。复制粘贴上网查询,有人说不影响编译结果的,的确如此,但得不到我需要的sample_venc文件,只得到sample_venc.o文件。

与我一样有强迫症的网友提供了方法:https://blog.csdn.net/PecoHe/article/details/89528018,即修改mpp目录下的那个Makefile.param,如图注释掉部分代码。

2)经过上面步骤后,执行make clean 和make时不再提示缺少文件,而且也得到了想要的文件。但将其放在板载系统上运行时出现下面图片所示的错误。

根据提示是初始化失败了。为何会失败呢?我只是在sample_venc.c 修改了通道数目为1,然后在common/sample_common_venc.c中修改了主机IP,而之前的RTP传输视频实验是成功的,对比之下,这次只是修改了主机IP,为何就出错了呢?我回到之前的实验,发现自己缺失一个步骤,这个步骤在之前的RTP传输视频实验中我做过了,因此之前的实验可以成功,但是因为我曾经重新执行过./sdk.cleanup和./sdk.unpack,所以那步骤的修改丢失了,而这次我修改了其他内容而唯独忘记这个步骤,因此出错。步骤是:由sample目录下的readme的第三点可知,需要对sample目录下的Makefile.param进行修改。如图箭头所示。

这两个参数的值会影响其他参数,从而影响结果。

这番折腾花费我蛮多时间的,只因为缺失一个修改步骤,得到教训:做实验时,如果没有沿用之前的设置,而是新建立项目内容时,要注意新旧文件内容对比,注意步骤是否完成。

(3)复制得到的sample_venc到/root/all_qianrushi/rootfs/hisrootfs。

5、测试实验

(1)开发板端:cp /mnt/sample_venc /home/,然后cd /home

  • 拔掉网线后不能再通过/mnt访问虚拟机的内容,所以要将用到的文件拷贝到板载系统中。

(2)拔掉网线

  • 证明是无线传输

(3)PC端WIFI连接WIFI-XJH,输入密码123456789

(4)PC端设置无线网络的静态IP地址为:192.168.0.30

(5)PC端cmd去ping 192.168.0.100,或者反过来开发板端ping PC的无线IP

  • 开发板ping PC端的时候,记得关掉PC端的防火墙(在cmd输入control选择关闭),否则ping不通的。

(6)开发板端执行 ./sample_venc

(7)PC端打开VLC,使用第3季中的sdp配置,注意修改c=IN IP4 192.168.0.100,就能播放了。

第五季1:AP模式USB-WIFI网卡移植与测试相关推荐

  1. 海思平台上USB WIFI的移植与局域网无线调试和视频流预览-第5/11季视频课程-朱有鹏-专题视频课程...

    海思平台上USB WIFI的移植与局域网无线调试和视频流预览-第5/11季视频课程-143人已学习 课程介绍         本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块), ...

  2. USB WIFI网卡在S5PV210上的移植和使用最全攻略(1)

    目录 一.本季文章将会带来那些干货 1.MT7601网卡驱动的移植 2.无线网卡的配置和使用 3.在自己定制的rootfs中移植USB WIFI 4.在自己定制的rootf中添加dhcp支持 二.项目 ...

  3. 嵌入式linux usb wifi驱动移植

    文档名称:嵌入式linux usb wifi驱动移植 版本历史 版本号        时间        内容 v1.0b001        2012-6-18        初始版本,介绍在嵌入式 ...

  4. USB WIFI网卡在S5PV210上的移植和使用最全攻略(2)

    目录 一.在自己制作的rootfs中移植网卡 1.确认自己制作的rootfs可正常工作并启动 2.需要的工具集确认 3.交叉编译iwconfig 二.移植wpa_supplicant并制作镜像 1.交 ...

  5. EP-N8530S USB WIFI 驱动移植

    /************************************************************************ EP-N8530S USB WIFI 驱动移植* 说 ...

  6. android的wifi网卡移植详细过程已经通用驱动的问题

    这里有一篇详细的教程,看完还有一个问题 就是android的wifi驱动移植,如果有wifi网卡的驱动代码,是一定需要对android系统本身的代码修改重写编译吗?就是说,有无可能不改变android ...

  7. 第五季2:STA模式USB-WIFI网卡移植与测试

    以下内容源于朱有鹏课程,如有侵权,请告知删除. 本课程实现内容: HI2518E+WIFI做STA,PC做STA,外部路由器做AP,实现局域网内ortp视频传 HI2518E+WIFI做STA,PC做 ...

  8. ESP8266_设置AP模式,WiFi名称密码

    1.AP(Access Point)访问接入点 ESP8266设置成AP模式,就等于了创建一个WiFi环境的无线局域网,知道这个WiFi名字和密码的终端设备就可以连接此WiFi: 可以想象,网络拓扑是 ...

  9. esp8266 接收udp广播_【零知ESP8266教程】AP模式下WIFI UDP协议通信示例

    [mw_shl_code=cpp,true]/********************************************************** *    文件: udp-serve ...

最新文章

  1. Mastering Algorithms with C中文版附带源码说明
  2. 影响堪比登月!谷歌等设计DL新方式让神经网络无限深无限窄
  3. python3(七)os模块
  4. Hibernate入门级实例
  5. 页面无任何操作30秒后退出1
  6. mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客
  7. dosubmit 成功不成功_什么是成功,不放弃!
  8. json-lib解析json之二维JSONArray
  9. 【优化算法】鼠群优化算法(RSO)【含Matlab源码 1462期】
  10. visio安装包大小,怎么判断安装那个版本?
  11. 三星Galaxy S4 刷入CWM Recovery和获取ROOT教程
  12. DHCPv6(dhcpv6配置)
  13. struts2拦截器的使用及作用
  14. i7 9750h和i7 8750h参数对比差多少
  15. 【有限元分析】有限元仿真分析与解析解的结果对比——以阶梯轴的静力分析为例
  16. python函数之任意数量的实参
  17. elk面试题_ELK 原理 使用 面试
  18. 如何用Python投机倒把几天“暴富”
  19. 购物栏置底 - uni-ui组件uni-goods-nav放在屏幕下方的办法
  20. 海尔计算机无法装win7系统,海尔自带Win10系统如何改成Win7系统?海尔台式机装win7详细步骤...

热门文章

  1. 回文数-时间变换-判断邮箱
  2. 1118. Birds in Forest (25)
  3. Linux 共享内存详解一
  4. C#实现反射调用动态加载的DLL文件中的方法
  5. ASP.NET MVC3 中的AJAX
  6. chrome扩展之3:一步步跟我学开发一个表单填写扩展
  7. windows7下安装php的imagick和imagemagick扩展教程
  8. shell 编程(难题分析)
  9. 正确使用PresentModalViewController
  10. XP访问Linux共享错误提示