转载,侵删

7 无线wifi传输视频开发

MT7601的驱动源码提供了两种:AP模式和STA模式源码。此时我使用USB作为AP热点,电脑作为STA模式,并使用ORTP实现无线传输视频

7.1、AP模式下USB WIFI驱动移植

(1)准备wifi源码并将源码复制到ubuntu服务器下解压

源码在主机的:E:\winshare\HI3518EV200\MT7601_driver\下,此后打开Ubuntu终端,并执行以下命令:
cd /home/aston/sambashare[进入目标目录]
cp /mnt/hgfs/winshare/HI3518EV200/MT7601_driver/ ./ -rf[复制到ubuntu]
cd MT7601_driver/ap[进入AP模式源码目录]
tar -jxvf MT7601U_LinuxAP_3.0.0.1_20130802.tar.bz2[解压wifi源码]
cd MT7601U_LinuxAP_3.0.0.1_20130802/[进入源码目录]

(2)根据硬件条件对源码作出修改以适应硬件平台

步骤一:在include/rtmp_def.h中的1627行,修改完网络名始终为:wlan:
Sudo vi include/rtmp_def.h[打开目标头文件]
:1627[跳到1627行]
将下面的

#ifdef ANDROID_SUPPORT
#define INF_MAIN_DEV_NAME “wlan”
#define INF_MBSSID_DEV_NAME “wlan”
#else
#define INF_MAIN_DEV_NAME “ra”
#define INF_MBSSID_DEV_NAME “ra”
#endif

第一句和后面四句用//注释掉

(3)进入makefile目录,编译并修改错误

Cd ../Makefile ./ [进入源码根目录]
Make clean;make [清除并编译]
错误提示:linux/rt_profile.c:26:23: 致命错误: rt_config.h:没有这样的文件或目录
推测:cd os/linux [发现rt_profile.c]
Sudo vi rt_profile.c [打开 rt_profile.c源码文件]
: 26[跳转至第26行,发现#include "rt_config.h" ,即包含了rt_config头文件]
Cd ../../include [进入源码的头文件总目录,发现已经有了"rt_config.h"头文件,但是编译时找不到这个头文件,因此这个错误应该是编译没有把这个头文件链接包含进去,导致找不到这个文件 ]
解决:在./os/linux/config.mk中添加EXTRA_FLAGS
Cd os/linux
Sudo vi config.mk[打开wifi源码配置文件]
/DM6446[搜索关键字DM6446]
在DM6446平台架构之上添加HI3518E支持[1048行],如下:
ifeq ($(PLATFORM),HISI_3518E)
EXTRA_CFLAGS := $(WFLAGS) //指定预定义变量EXTRA_CFLAGS作为C编译器选项编译HI3518E源码树
endif
Cd ../../ [重新进入源码根目录]
Make clean;make [清除并编译]

(4)修改Makefile或者手工复制xx.ko到/home/aston/rootfs中

ls /os/linux/*.ko[发现os/linux/mt7601Uap.ko驱动已经生成]
sudo vi Makefile
/ko [搜索关键词ko]
将原来415行的内容改成:
cp -f $(RT28xx_DIR)/os/linux/mt$(MODULE)ap.ko /home/aston/rootfs [将生成的ko驱动挂载到 /home/aston/rootfs共享目录中]
Make[重新编译]
Cd /home/aston/rootfs[进入共享目录]
Ls [发现mt7601Uap.ko已经复制到了共享目录中去了]

7.2、AP模式下USB WIFI开发板部署

(1)测试wifi硬件是否能够正常使用

将开发板连上电脑,并进入Hilinux模式:
A:不插wifi时,串口输入命令lsusb,此时显示
Bus 001 Device 001:ID 1d6b:0002
Bus 001 Device 001:ID 1d6b:0001
B:现在插入wifi,会提示新高速USB设备002即hiusb-ehci.
这时执行命令:lsusb,发现新增加一个设备
Bus 001 Device 002:ID 148f:7601[这就是wifi设备,它的ID时002]

(2)将USB WIFU的AP模式驱动部署到开发板上

A:Ubunu:复制配置文件RT2870AP.dat文件到nfs共享文件夹中
Cd/home/aston/sambashare/MT7601_driver/ap/MT7601U_LinuxAP_3.0.0.1_20130802 [进入目标目录]
cp RT2870AP.dat ~/rootfs/ -f [将RT2870AP.dat复制到共享目录中]

B:Hilinux中执行命令建立目录
cd /mnt [进入mnt共享目录]
Ls [发现RT2870AP.dat已经复制进入了此目录]
mkdir -p /etc/Wireless/RT2870AP [建立目标目录]
cd /etc/Wireless/RT2870AP/ [ls查看此目录发现为空目录]
cp /mnt/RT2870AP.dat ./ [从共享目录中复制配置文件到当前目录]
Ls [RT2870AP.dat文件,说明复制成功了]
vi RT2870AP.dat [更改这个文件,因为默认没有密码,不安全,要改成带密码的,按照以下方式修改]
SSID=MT7601AP_WPA(这里的名字是在pc机上看到的连接ssid名)AuthMode=WPA2PSK(加密方式)
EncrypType=TKIP;AES(加密算法)
WPAPSK=1234567890(这个是密码)

C:insmod xx.ko安装USB WIFI驱动模块
cd /mnt/
insmod mt7601Uap.ko [装载驱动]
lsmod[在最前面发现了mt7601Uap驱动模块已经安装]
ifconfig -a[发现有eth0,lo和wlan0三个网卡,即有wlan0目标网卡生成,说明安装成功]

D:设置IP地址
ifconfig wlan0 192.168.0.100[设置无线网卡wlan0的IP地址]
ifconfig wlan0 up[唤醒无线网卡wlan0]
ifconfig [发现wlan0网卡的inet addr地址为192.168.0.100,证明设置成功,注此时eth0的ip地址时192.168.1.10,即开发板的有线网卡和无线网卡都在工作了,注ifconfig是查看已经工作的网卡,ifconfig -a是查看所有的网卡]
windows和开发板都有一个无线网卡和一个有线网卡,它们彼此独立,可以同时工作。开发板和主机windows要处在同一个网段[局域网]
无线:
windows: 192.168.0.30
AP: 192.168.0.100

E:用PC或手机的WIFI搜索看一下,是否有一个名为:MT7601AP_WPA的网络了,有了就成功了,但是输入密码之后会提示连接不成功[此计算机当前已将连接限制为MT7601AP_WPA],其实当前已经连接成功了,但是此时的AP还是不能访问外网,所以会提示有限的访问权限。
主机上选择打开网络共享中心,点击无线网络连接(MT7601AP_WPA),选择详细信息,发现自动分配的IP地址时169.254.158.163,子网掩码时255.255.0.0,即全部都是乱的,因此需要给PC端强制分配一个静态IP地址。

F:给PC强制分配静态IP
主机上选择打开网络共享中心,点击无线网络连接(MT7601AP_WPA),选择属性,选择Internet协议版本4(TCP/IPv4),选择"使用下面的IP地址",指定ip地址为162.168.0.30,指定子网掩码为255.255.255.0,点击确定,点击确定,确定,选择详细信息,发现此时的ip地址为192.168.0.30,子网掩码为255.255.255.0,证明设置成功了。然后关闭对话框。此时的开发板和window已经通过无线wifi连接通了。

8 效果

7 无线wifi传输视频开发的更多相关文章

  1. 通过BSSID和无线流量传输后门Payload

    本文将探讨无线接入点(AP)和BSSID(MAC地址AP).我们不借助文件系统加密和文件系统中(仅内存中)的硬编码Payload即可获得后门Payload,通过该方法可绕过所有的杀软,可以不使用Pay ...

  2. 13-H.264编码解码器的无线应用:1080P60 3D无线影音传输器

    H.264编码解码器的无线应用:1080P60 3D无线影音传输器 一.应用领域 家庭媒体娱乐中心 新闻现场采访 无线3D投影机 高清视频会议终端无线延长器 教学,医疗示教 考古,高档商业区域,监狱等 ...

  3. Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  4. Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  5. 浅谈iOS视频开发

     浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从 ...

  6. Android IOS WebRTC 音视频开发总结(六)-- iOS开发之含泪经验

    前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker): 1. IO ...

  7. 无线 WIFI 的13个信道频率范围

    目前主流的无线WIFI网络设备不管是802.11b/g还是802.11b/g/n 一般都支持13个信道.它们的中心频率虽然不同,但是因为都占据一定的频率范围,所以会有一些相互重叠的情况.下面是13个信 ...

  8. WebRTC 音视频开发

    WebRTC 音视频开发 webrtc   Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译 ...

  9. iOS 视频开发学习

    原文:浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我 ...

随机推荐

  1. RedHat Linux 5下不能使用fdisk的问题

    最近在用RedHat Linux5的时候,使用fdisk命令,遇到了下面的错误: bash:fdisk:command not found 在网上找了找,解决方案如下: 首先,这个错误的原因是因为fd ...

  2. iOS UI-IOS开发中Xcode的一些使用技巧

    一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编 ...

  3. c中gets函数使用可能导致缓冲区溢出

    头文件:#include <stdio.h> gets()函数用于从缓冲区中读取字符串,其原型如下:    char *gets(char *string); gets()函数从流中读取字 ...

  4. 信号处理函数的返回setjmp/longjmp

    信号处理函数可以正常返回,也可以调用其他函数返回到程序的主函数中,而不是从该处理程序返回. 正如ANSI C标准所说明的,一个信号处理程序可以返回或者调用abort.exit或longjmp(goto ...

  5. 高性能mysql-----MySQL_explain关键字分析查询语句(一)

    转载地址:https://www.cnblogs.com/xpp142857/p/7373005.html   MySQL_explain关键字分析查询语句 通过对查询语句的分析,可以了解查询语句的执 ...

  6. Oracle 从共享池删除指定SQL的执行计划

    ORACLE从共享池删除指定SQL的执行计划 2016-12-29 11:14 by 潇湘隐者, 2836 阅读, 0 评论, 收藏, 编辑 Oracle 11g在DBMS_SHARED_POOL包中 ...

  7. Dash:程序员的好帮手(转载)

    作为一名死coder,每天最常见的动作就是查看各种API文档,你一定也有过同时打开N个窗口(HTML.PDF.CHM),不停的在编辑器与文档之间切换的感受吧?怎么说呢,其实我很讨厌这种枯燥无味的动作, ...

  8. MyEclipse移动开发教程:设置所需配置的iOS应用(二)

    MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] 二.创建一个数字证书和私钥 2.2 生成证书签名请求和私钥文件 第一步是使用数字签名实用程序创建证 ...

  9. anu - react

    import { options } from "./util"; import { Children } from "./Children"; import ...

  10. net start mysql启动mysql,提示发生系统错误 5 拒绝访问 解决方法

    解决问题方法如下: 在dos下运行net  start mysql 不能启动mysql!提示发生系统错误 5:拒绝访问!切换到管理员模式就可以启动了.所以我们要以管理员身份来运行cmd程序来启动mys ...