目录
- 前言
- MT7601U驱动编译
-
- Makefile修改并编译
- MT7601U驱动部署
- MT7601U局域网图传
前言
WIFI模块与SoC的接口有多种,如SDIO、USB、串口(低带宽)等。
- AP(Access Poin,接入点t),一般指(有线或者无线的)路由器。
- STA(Station,站点),指的是连接到路由器的终端设备,比如手机笔记本等等。
USB-WIFI网卡选作AP、STA模式
USB-WIFI的模式选项,就是让你选择,你这(拥有USB-WIFI模块的)设备,是作为站点还是作为接入点。
- 如果它作为站点,那么它联网的时候就会去寻找一个接入点来接入网络。
- 如果是作为接入点,那么局域网中其他设备在联网的时候会接入它。
为什么不能用物联网wifi模块如esp8266这种串口模块?
这种只能传输控制信号,不能传输像视频流这样的大段数据的信号。
MT7601U驱动编译
在源码包
/include/rtmp_def.h
中的第1628行
直接将网卡名改为
wlan
Makefile修改并编译
MT7601U的源码在网上有很多个版本,可以将他配置成AP模式也可以配置成STA模式,需要将这两个分开
在Makefile的114行修改内核源码树目录
/home/test/Hi3518E_SDK_V1.0.3.0/osdrv/opensource/kernel/linux-3.4.y
然而此时编译还是会报错,接下来进行纠错
它说头文件找不着,这时候就去源码里找,文件在
/MT7601U_LinuxAP_3.0.0.1_20130802/os/linux
中,在源码包的头文件中也有
rt_config.h
。
既然文件存在,那么一定是Makefile中忘记加–i进行include目录的包含
在
/os/linux
中有一个config.mk文件
在1044行添加如下内容
ifeq ($(PLATFORM),HISI_3518E)
EXTRA_CFLAGS := $(WFLAGS)
endif
生成的目录在tftp服务器文件夹中,于是我们修改文件位置
编译
MT7601U驱动部署
1、首先确认usb设备工作,拔插usb wifi,设备被识别
拔插有反应说明没有问题
也可以使用
lsusb
指令查看板子上的usb设备
148f:7601就是网卡的设备号
2、在开发板中部署
/etc/Wireless/RT2870AP/RT2870AP.dat
,并修改以下几个配置
此配置文件在虚拟机的源码中,将之拷贝到板载目录
/etc/Wireless/RT2870AP/
(板载系统无此目录而需要自己创建)并作修改。
mkdir -p命令可以创建两层文件夹
然后修改默认的配置
SSID=xxxxx(此名字是在pc机上看到的wifi名字)
AuthMode=WPA2PSK(加密方式)
EncrypType=TKIP;AES
WPAPSK=xxxxxx(这个是密码)
3、装载驱动
4、查看网卡
注意,ifconfig只能看到打开状态下的网卡,加-a才能看到全部网卡
5、打开网卡
ifconfig wlan0 up
ifconfig wlan0 192.168.2.123
看到正确名称后,说明成功
6、给pc强制分配静态ip
MT7601U局域网图传
将pc连接上MT7601U的wifi并分配同网段地址后更改ortp局域网图传用例
修改host ip为vlc所在pc的ip地址,然后编译
将可执行文件放在开发板原生目录下,拔掉网线执行
修改windows中rtp传输的sdp配置文件,将开发板的ip地址写入进去
windows中的VLC可以成功接收到视频流