第十六章:AP模式USB WIFI驱动移植

最近跳槽,忙着折腾新东西,所以也好久没更新博客了。虽然不知道现在的选择是对是错,但是总算跨出了第一步吧,就算是个坑,也得填平它。

使用到的硬件是联发科的MTK7601无线网卡

1、下载源码

源码路径:https://download.csdn.net/download/tainjau/10433501

首先将源码复制到ubuntu中实验目录,并解压开,这里我们用到的是ap模式。

所以解压MT7601U_LinuxAP_3.0.0.1_20130802.tar.bz2这个文件。我们这里解压之后放在了以下目录中:


2、修改移植

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

                                 

修改ap/MT7601U_LinuxAP_3.0.0.1_20130802文件夹下的主makefile。

            

修改完成之后,执行make clean清除原来的编译过的东西,再执行make,但是报错了,错误原因是找不到rt_config.h这个文件。

        

仔细一看是源码目录下的os/linux/rt_profile.c引用了这个头文件,但是在源码目录下的include中却能找到rt_config.h,初步怀疑是os/linux/目录下的config.mk有问题,需要修改。

         

修改完成之后,再次make,就会在os/linux/目录下生成mt7601Uap.ko文件,之后将其拷贝进开发板的文件系统中,加载就能使用。

           


3、部署到开发板

首先将上面编译好的RT2870AP.dat,复制到开发板的文件系统中的/etc/Wireless/RT2870AP目录下。

RT2870AP.dat文件在源码目录下。

   

复制完成后,还需要修改RT2870AP.dat这个文件,更改以下几个内容。

SSID=MT7601AP_WPA(这里的名字是在pc机上看到的连接ssid名)

AuthMode=WPA2PSK(加密方式)

EncrypType=TKIP;AES

WPAPSK=1234567890(这个是密码)

                   

修改完成RT2870AP.dat之后,就可以加载之前编译好的mt7601Uap.ko驱动了。

insmod mt7601Uap.ko

安装完驱动之后,执行ifconfig -a就可以看到以下信息,这就说明usb网卡安装成功了。

给网卡设置ip地址,这里我们设置ip地址为:192.168.0.100

ifconfig wlan0 192.168.0.100

这样用手机也可以找到咱们自己配置的usbwifi。但是连接不上,因为它上不了网。

                                

配置windows上的无线网卡的ip地址也在192.168.0这个网段,这里我们配置成192.168.0.30

      


4、测试用例准备

参考之前移植的ortp库,进行修改host端的ip地址。

参考帖子:https://blog.csdn.net/tainjau/article/details/80399872

修改Hi3518E_SDK_V1.0.3.0/mpp/sample/common目录下的sample_common_venc.c文件。

将LOCAL_HOST_IP为192.168.0.30。

修改完成之后,进入Hi3518E_SDK_V1.0.3.0/mpp/sample/venc目录下,执行make clean,然后再执行make,最后生成新的sample_venc文件,放在开发板文件系统中,将来就可以使用了。


5、测试实验

首先确认将sample_venc拷贝到了开发板文件系统中,拔掉网线(此时也可以重启下开发板以彻底消除前面的影响)。

之后将PC端WIFI连接 MT7601AP_WPA,输入密码 ks123456

确认了PC端设置无线网络的静态IP地址为:192.168.0.30

PC端cmd去ping 192.168.0.100,或者反过来开发板端ping PC的无线IP,确认可以进行通信。

最后开发板端执行 ./sample_venc 0

                                  

PC端打开vlc播放器,修改sdp配置,注意c=IN IP4 192.168.0.30,就能播放了。

                                              

猜你喜欢

转载自blog.csdn.net/tainjau/article/details/81281380