找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 58202|回复: 176

【转帖】MT7620a/n OpenWrt下wifi驱动RT2860v2的移植过程...

 火... [复制链接]
发表于 2016-2-28 19:53 | 显示全部楼层 |阅读模式
本帖最后由 hello_limin 于 2018-10-11 11:45 编辑


开源无线驱动已经日臻完美,请大家移步到我的新帖子里阅览交流,谢谢




==================== ==============================


|                                                                                                                                            ||                                                                                                                                            |
|                                                                                                                                            |
感谢大神  @大茶园丁

核心内容已经在上述帖子中给出,我只是歇歇自己调试遇到的问题,以作总结之用。
我是纯小白,以前从没有做OpenWrt的移植过程

第一步
前言
机缘巧合,最近想整一下OpenWrt,手头也没合适的开发板,那么就地取材,选择了百度音乐盒作为测试板子。
根据网上的教程 SVN 下载最新的版本,这里用的是trunk,版本号为 :43790

至于怎么拉代码,准备工作可以 参考 2 http://lotors.me/2014/08/16/opcompilepro/  基础编译的部分就可以了


注:这一部分 (参考2)第一次make  之后 会下载很多的包,很多地方可能被墙掉了会报错,根据提示信息,一般手动下载之后拷贝到trunk/dl/下一般都能编译通过。

编译完成之后就是移植RT2860v2驱动了  具体步骤参考  参考1 。
第一步下载RT2860v2 驱动  这一部分可以通过参考1的网址下载  如果有GitHub的客户端可以点击右下角的 Clone in Desktop  如果没有就点击Download ZIP

第二步:拷贝文件和配置

将下载内容的 ralink 文件夹直接拷贝到
trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.14.26/drivers/mtd 下,版本不同可能路径不完全相同 请自行更改,
在------/driver/mtd文件加下打开Kconfig 在文件的最后加入
source "drivers/mtd/ralink/Kconfig"

打开Makefile 在开头的地方加入
obj-$(CONFIG_MTD_RALINK)    += ralink/
将rt2860v2 和rt2860v2_ap 两个文件夹拷贝到
trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.14.26/drivers/net/wireless下,
在/net/wireless 下打开Kconfig文件,在最后的地方加入
  source "drivers/net/wireless/rt2860v2_ap/Kconfig"
打开Makefile 在开始的位置加入

obj-$(CONFIG_RT2860V2_AP) += rt2860v2_ap/

第三步:配置内核  
在......../trunk 目录下 执行make kernel_menuconfig  具体的配置如下:
A:    Device Driver -->                      <\*> Memory Technology Device (MTD) support                        
                        ---> Ralink Flash Type support                             
                                --->  [\*] Ralink MTD support  

B:Device Driver    -->
[\*] Network device support        
          --->  [\*]   Wireless LAN         
               ---><\*>   Ralink RT2860 802.11n AP support                  
                          [\*]     LED Support                    
                          [ ]     WSC (WiFi Simple Config)                  
                          [\*]     LLTD (Link Layer Topology Discovery Protocol)                    
                          [\*]     WDS                    
                          [\*]     MBSSID                  
                          [\*]       New MBSSID MODE                  
                          [\*]     AP-CLient Support                  
                          [\*]       MAC Repeater Support                  
                          [ ]     IGMP snooping                    
                          [ ]     NETIF Block                  
                          [ ]     DFS                  
                          [\*]     Carrier Detect                  
                          [ ]     DLS ((Direct-Link Setup) Support                  
                          [ ]     IDS (Intrusion Detection System) Support                  
                          [\*]     CoC Support                    
                         [ ]     Memory Optimization                  
                         [ ]     Video Turbine support                    
                         [ ]     802.11n Draft3                  
                         [ ]     Adjust Power Consumption Support                    
                         [ ]     Single SKU                        
                   Choose Power Design (Internal PA and Internal LNA)  --->                    
                [ ]   TSSI Compensation                  
                [ ]   Temperature Compensation

退出保存后 直接执行 make V=99

第四步:将编译成功的固件刷到板子中后,ifconfig ra0  会显示出ra0的设备信息,表示我们的驱动已经成功,并且启动了但是还是没有wifi 根据参考1 其提供了一个rt2860v2.sh这个文件要放到板子的/lib/wifi下,启动的时候会自动加载wifi驱动并且启动wifi。
这个shell 我不清楚直接拷贝到/lib/wifi 下是否可用,暂时没有验证。

我的做法是建立一个package的包,在编译的时候将这shell拷贝到/lib/wifi下。
建立package 的方法参考:
http://wenku.baidu.com/link?url=sj-XAHOHWcPaEvD7wIom4V9nYpURztSso9LxP1HXEPgvhSan7mf7_IbTPPxeAvVQ0xIdJj3ghuP5kOxDWQhXRmVOU0z0WuRZMJzL6KY1PDG

具体方法
先进到trunk/package下,
mkdir MyRT2860
cd MyRT2860
将rt2860v2.sh拷贝到当前目录
mkdir src

具体的结构如下


然后就是建立两个Makefile  在MyRT2860 下的Makefile 如下

include $(TOPDIR)/rules.mk
PKG_NAME:=MyRT2860
PKG_VERSION:=2015-1-3
PKG_RELEASE:=1
PKG_BUILD_DIR:= $(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
        SECTION:=utils
        CATEGORY:=Utilities
        TITLE:=MyRT2860 -- wifi general program
        MAINTAINER:=handawei
endef
define Package/$(PKG_NAME)/description
        wifi general program
endef
define Build/Prepare
        mkdir -p $(PKG_BUILD_DIR)
        $(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Package/MyRT2860/install
        $(INSTALL_DIR) $(1)/lib/wifi $(1)/bin
        $(INSTALL_DATA) ./rt2860v2.sh $(1)/lib/wifi
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/MyRT2860 $(1)/bin
endef
$(eval $(call BuildPackage,MyRT2860))


进入src文件夹
cd src
建立一个Makefile如下

OBJECTS = MyRT2860
all : $(OBJECTS)
PKG_NAME=docs


MyRT2860: main.o
        $(CC) $(LDFLAGS) $^ -o $@
main.o:main.c
        $(CC) $(CFLAGS) -c $<
.PHONY:clean
clean:
        @-rm *.o MyRT2860

完成保存。为了配合这个Makefile 建立一个main.c 这文件中是一个空函数
void main()
{
}
不然编译的时候会报错。

完成以上内容  回到trunk 目录下  make  menuconfig
Utilities-------->
            <*>MyRT2860.................................................RT2860--wifi general program

退出保存  编译之后就能够正常启动了

========================
相关文件打包下载,AP & SoC wireless driver update to 2.7.2.0.zip


游客,如果您要查看本帖隐藏内容请回复









我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-4-14 20:31 | 显示全部楼层
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-2-28 23:16 | 显示全部楼层
应该就是MTK的驱动,不过据说MTK的官方驱动有坑
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-10-20 10:46 | 显示全部楼层
接上,相关文件打包下载,rt2860v2-for-openwrt-mt7620-2.7.x.x.part05.rar
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-20 11:03 | 显示全部楼层
Mark 学习学习再学习
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-21 01:30 | 显示全部楼层
感谢楼主的分享,学习一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-21 01:43 来自手机 | 显示全部楼层
厉害,谢谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-26 19:42 | 显示全部楼层
  



      
RE: {转贴} MT7620a OpenWrt 下wifi驱动 RT2860v2 的移植全过程 [修改]
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-26 20:06 | 显示全部楼层
这都要隐藏啊……
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-28 02:50 | 显示全部楼层
huifukankan
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-28 13:21 | 显示全部楼层
其实你可以借鉴潘多拉处理办法。如果要中继的话还得STA驱动的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-28 14:22 | 显示全部楼层
xieixie dashi
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-29 01:25 | 显示全部楼层
不错,好东西
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-29 01:25 | 显示全部楼层
不错,好东西
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-29 01:30 | 显示全部楼层
感谢楼主,交叉编译时候确实有些问题很蛋疼,楼主做了很好的讲解
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-10-29 21:17 | 显示全部楼层
看看在哪里下载
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-25 10:25

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表