mt7601uusblinux,移植MT7601UAPLinux驱动⾄Orangepi-P。
。。
移植MT7601U AP Linux 驱动⾄Orangepi-PC2开发板
梦见祭祖闯客⽹ · 2018-09-03 · 技术交流
⼀ 前⾔
简单⼀下记录移植MT7601U AP Linux 驱动⾄Orangepi-PC2开发板的过程。
⼆ 环境描述
1、Orangpi-PC2开发板(Linux Orangepi 3.10.65 #12 SMP PREEMPT Sat Mar 4 18:05:52 CST 2017 aarch64 aarch64
aarch64 GNU/Linux)
2、wifi⽹卡(360 mini wifi ,芯⽚组MT7601U)
3、OrangePi-PC2开发SDK
4、MT7601U AP for Linux 驱动
三 移植过程
1、⾸先修改⼯程Makefile
下载的驱动中没有针对ORANGEPI-PC2平台的定制宏,这⾥需要⾃⼰⼿动添加:
[quote](1)在开始30⾏左右添加如下内容:
#PLATFORM: Target platform
PLATFORM = ORANGEPI_PC2
中秋 祝福(2)在200⾏左右添加如下内容:
ifeq ($(PLATFORM),ORANGEPI_PC2)
# Linux 3.10 Change to your local setting
LINUX_SRC = /work/orangePi/OrangePi_H5SDK/kernel
LINUX_SRC_MODULE = /work/orangePi/OrangePi_H5SDK/kernel/drivers/net/wireless/
CROSS_COMPILE = /work/orangePi/OrangePi_H5SDK/toolchain/gcc-linaro-aarch/bin/aarch64-linux-gnu-
endif
Note:我的SDK是放在/work/orangePi⽬录下的
(3)在400⾏左右将下⾯的内容
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
替换为
ifeq ($(PLATFORM),ORANGEPI_PC2)
$(MAKE) ARCH=arm64 CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
既又造句else
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
endif
[/quote]
2、修改驱动源码,⽀持360 wifi⽹卡
其实你懂得3[backcolor=initial]60 mini wifi的USB ID是ID 148f:760b,需要将该ID添加到rtusb_dev_id列表中,否则加载驱动后会探测不到⽹卡;[/backcolor]
[quote]
修改rtusb_dev_id.c⽂件的dev id列表如下:
/* module table */
USB_DEVICE_ID rtusb_dev_id[] = {
{USB_DEVICE(0x148f,0x6570)}, /* Ralink 6570 */
{USB_DEVICE(0x148f,0x7650)}, /* MT7650 */
番茄小说集{USB_DEVICE(0x148f,0x6370)}, /* Ralink 6370 */
{USB_DEVICE(0x148f,0x7601)}, /* MT 6370 */
{USB_DEVICE(0x148f,0x760b)}, /* 360 mini wifi */
{ }/* Terminating entry */
};
[/quote]
大阅兵几年举行一次3、修改申请的DMA内存⼤⼩,否则驱动会加载失败,提⽰如下错误:
[quote] --> RTMPAllocTxRxRingMemory
[ 74.801467] [ 74.807607] ---> RTMPFreeTxRxRingMemory
[ 74.811927] [ 74.816152] ERROR Failed to allocate memory - TxRxRing
[ 74.823792] [ 74.828817] rt2870: probe of 4-1:1.0 failed with error -1
[ 74.835193] usbcore: registered new interface driver rt2870
[/quote]
解决⽅法:将rt_linux.h中的BULKAGGRE_SIZE调整为10,rtmp_usb.h中的RXBULKAGGRE_SIZE调整为2; (备注:后续还需要定位⼀下为什么orangePi-PC2的DMA 内存剩下这么⼩)
4、编译驱动
直接使⽤make命令即可;
5、编译成功后会在os/Linux⽬录下⽣成mt7601Uap.ko内核模块,将该模块拷贝⾄Orangepi开发板上(我这⾥已经配置好了samba共享),并加载;
6、使⽤ifconfig命令配置该⽹卡,
[quote] ifconfig ra0 10.10.10.100
使⽤iwconfig命令应该会看到如下信息:
ra0 RTWIFI SoftAP ESSID:"RT2860AP"
Mode:Managed Channel=11 Access Point: 24:05:0F:64:BB:E9
Bit Rate=150 Mb/s
使⽤⼿机搜索⼀下周围的wifi热点,应该会发现名称为RT2860AP的热点;[/quote]
7、⾄此驱动部分移植完成,后续还需进⾏热点配置的调试;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论