移植MT76x8 私有WIFI驱动V4.1.0.0到Openwrt 18.06所遇到的坑

本文详细介绍了MT76xx系列路由芯片的WIFI驱动移植过程,包括宏定义处理、配置选项设置及源码修改等内容,对于希望提高OpenWrt系统下WIFI稳定性和速度的开发者具有很高的参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Openwrt系统,路由或者IOT网关方面,市面上能供个人或者小团队甚至小企业 ,可玩性高的也就MT76xx系列路由芯片了,其中很大一部分原因主要在于MTK的WIFI驱动管控不是很严格,相对较容易获取其WIFI驱动源码。

目前市场上的MT76x8板子,带私有WIFI驱动且性能较好的,大多停留都在Openwrt 15.05分支,内核相对来说较低(其实完全够用)。

随着Openwrt与LEDE的战火停息,双方交好,跟谈恋爱一样,其发展甚快,kernel版本也上升到4.14。但是很可惜啊,WIFI 驱动跟不上,官网的MT76 开源驱动,改善虽有,但稳定性尤其是带宽较低,大概只有10Mb左右,稳定性在18.02上好像有比较大改善。

鉴于之前项目中用到过MTK私有驱动V.4.1.0.0版本,速率和稳定性还不错(其实也就是市面上使用15.05分支的一些板子所用到的驱动,典型的比如wrtnode,widora等团队),最近也稍稍有空,因此就考虑把驱动移植一把试试看。

首先要做的就是搞定Makefile中那一些乱七八糟的宏定义,说实话,MTK的宏使用的真有点过分(不过能有更好的办法么)

我们先看一下编译源码所用的Makefile什么样(由于太长,截取部分)


EXTRA_CFLAGS = -Idrivers/net/wireless/mt_wifi/include \
				-Idrivers/net/wireless/mt_wifi/embedded/include \
				-Idrivers/net/wireless/mt_wifi/ate/include

ifeq ($(CONFIG_SUPPORT_OPENWRT),y)
EXTRA_CFLAGS = -I$(src)/../src/include \
				-I$(src)/../src/embedded/include \
				-I$(src)/../src/ate/include
DRV_NAME = mt7628
SRC_DIR = ../src/embedded
obj-m += $(DRV_NAME).o
else
EXTRA_CFLAGS = -Idrivers/net/wireless/mt_wifi/include \
				-Idrivers/net/wireless/mt_wifi/embedded/include \
				-Idrivers/net/wireless/mt_wifi/ate/include
DRV_NAME = mt_wifi
SRC_DIR = ../mt_wifi/embedded
obj-$(CONFIG_MT_AP_SUPPORT) += $(DRV_NAME).o
endif

########################################################
# Common files
########################################################
cmm_objs := $(SRC_DIR)/common/crypt_md5.o\
						$(SRC_DIR)/common/crypt_sha2.o\
						$(SRC_DIR)/common/crypt_hmac.o\
						$(SRC_DIR)/common/crypt_aes.o\
						$(SRC_DIR)/common/crypt_arc4.o\
						$(SRC_DIR)/common/mlme.o\
						$(SRC_DIR)/common/cmm_wep.o\
						$(SRC_DIR)/common/action.o\

ifeq ($(CONFIG_MT_MAC),y)
	EXTRA_CFLAGS += -DMT_PS
	spec_objs += $(SRC_DIR)/common/mt_ps.o
	spec_objs += $(SRC_DIR)/common/mt_io.o
	spec_objs += $(SRC_DIR)/tx_rx/txs.o
endif



########################################################
# AP feature related files
########################################################
ap_objs := $(SRC_DIR)/ap/ap.o\
            $(SRC_DIR)/ap/ap_assoc.o\
            $(SRC_DIR)/ap/ap_auth.o\
            $(SRC_DIR)/ap/ap_connect.o\
            $(SRC_DIR)/ap/ap_mlme.o\
            $(SRC_DIR)/ap/ap_sanity.o\
            $(SRC_DIR)/ap/ap_sync.o
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值