最近项目中使用了一个wifi模块,主控是mt7612u,为usb接口。使用的Linux版本为2.6.35,在编译驱动的过程中遇到不少问题,特在此记录。
获取源码
MTK官网驱动。包含Windows、Linux以及Mac下的驱动。
- 我修改的Github驱动。
添加新的Platform
在源码中内置了一些硬件平台的配置信息,如果没有适配于你所使用平台的信息,需要手动添加配置信息。
修改根目录的Makefile
在38行附近可以找到如下代码:
#PLATFORM: Target platform
PLATFORM = PC
#PLATFORM = 5VT
#PLATFORM = IKANOS_V160
下面我需要添加一个ARM架构的platform,并使之生效:
#PLATFORM: Target platform
#PLATFORM = PC
PLATFORM = ARM
#PLATFORM = 5VT
#PLATFORM = IKANOS_V160
注意,只能有一个platform生效,否则会出现冲突。
在111行附近,可以找到与平台相关的环境变量,主要包括内核源码路径和交叉编译器的路径:
ifeq ($(PLATFORM),5VT)
LINUX_SRC = /home/ralink-2860-sdk-5vt-distribution/linux-2.6.17