newifi mini纯净版OpenWrt兼容内核固件,集成rt2860v2、mt76x2e驱动

时间:2022-02-05 23:38:54

http://lxf.me/291

http://clz.me/rt2860v2-package/

基于原生OpenWrt Barrier Breaker 14.07,使用SDK && ImageBuilder构建,与官方14.07内核兼容,可直接安装官方源任意软件包(包括内核模块)

尝试做这个事情主要是因为PandoraBox固件没有打包某些我需要的内核模块,因为都是3.10内核,有些ko是可以忽略警告强行安装的,但少部分ko因引用内核头文件config而无法二进制兼容(例如ipset,你懂的)。

友情提醒1:此固件不适合普通小白使用,需要对OpenWRT有一定的了解,具备初级的Linux折腾能力,至少要会用vim编辑network、wireless等配置文件,因为LuCI不支持配置rt2860v2驱动的无线参数。
友情提醒2:此固件是纯净版,不因任何用户喜好集成任何功能,需要各种功能的请自己opkg安装。

感谢泄漏驱动代码的有关单位以及lintel、dq等大神的贡献:https://github.com/qdk0901/openwrt-mt7620

已知问题:
1、无法通过LuCI配置无线。这是原版ralink驱动的硬伤,请参考下面的范例配置/etc/config/wireless。
2、5G驱动使用samba时会抽,PandoraBox也有这个问题,见http://www.right.com.cn/forum/thread-149292-1-1.html#pid936103

变更历史:

20141104 r2:
1、Port到14.07正式版(14.07-rc3无法正常使用USB)。
2、添加5G驱动kmod-mt76x2e。
3、无线配置脚本使用最新PandoraBox里的脚本。
4、恢复默认的USB软件包。
5、修复2.4G与5G的LED。

20141023 r1:
1、移除mac80211及rt2800相关的驱动。
2、添加rt2860v2驱动,修复了读取ROM的一处错误。
3、添加luci-i18n-chinese
4、移除ipv6相关软件包及uci初始化时写入的ipv6相关配置。
5、移除usb相关软件包(内核兼容用时再装)。
6、修正newifi mini的交换机接口定义。
7、初始ip地址为192.168.99.1(大多人买这个当从路由)
8、初始root密码为admin。

/etc/config/wireless范例:

config wifi-device 'ra0'
option type 'rt2860v2'
option mode '9'
option channel '6'
option txpower '100'
option ht '20+40'
option country 'US'
option disabled '0'

config wifi-iface
option device 'ra0'
option network 'lan'
option mode 'ap'
option ssid 'NEWIFI'
option encryption 'psk2'
option key 'xxxxxxxx'

config wifi-iface
option device 'ra0'
option network 'wwan'
option mode 'sta'
option ssid 'TPLINK'
option encryption 'psk2'
option key 'xxxxxxxx'

config wifi-device rai0
option type mt7612
option mode 14
option channel auto
option txpower 100
option ht 20+40+80
option country US

config wifi-iface
option device rai0
option networklan
option mode ap
option ssid NEWIFI_5G
option encryption psk2
option key xxxxxxxx

下载地址:openwrt-newifi-y1-r2-20141104

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

最近朋友给了一款电信的企业级AP,说让我玩玩。之前做过五年的企业级AP开发,对于AP还是有那么点热衷,但凡有机会还是要把玩一番的。

这款AP是智达康的ZN-7200-H500,自带的镜像就是基于openWRT开发的。但是功能不够丰富,还是自己动手定制一款实用的AP吧。

简单说一下编译过程:
1. 搭建编译环境
在自己的win7专业版机子上装上VMware虚拟机,虚拟机安装ubuntu 14.04
编译会用到但不限于以下组件、库
gcc 、g++ 、binutils 、patch 、bzip2 、flex 、bison 、make 、autoconf 、
gettext 、texinfo 、unzip 、sharutils 、subversion 、libncurses5-dev 、
zlib1g-dev 、gawk 、asciidoc 、libz-dev

sudo apt-get install x


2. 下载openwrt源码
终端进入自己需要存放工程的目录,执行如下操作
mkdir openwrt // 创建一个openwrt文件夹
cd openwrt    //进入openwrt文件夹
svn co svn://svn.openwrt.org/openwrt/trunk  //下载官网的源码trunk版本
cd trunk
./scripts/feeds update -a     //更新软件包
./scripts/feeds install -a    //安装软件包

3. 编译源码
make menuconfig //进入定制界面(里面可以选择芯片的型号,集成的组件等等,根据实际情况选择)

make V=99   (开始编译)
几点说明:
(1) 初次编译,主机需要联网,因为openwrt需要联网下载源码和库文件以及其他的一些组件。这个过程非常大的长,并且openwrt官网下载不稳定,偶尔会出现下载失败的情况。遇到下载失败的情况,可以手动下载相应的压缩文件,然后放到trunk/dl/目录下。

(2) 加速编译;如果自己的电脑性能做够强劲,可以多开辟几个进程用于编译,只要在编译的时候加上-jx(x是个人根据自己的电脑强弱,自己定义的数字,如笔者使用的是-j8)。一旦加上-jx,出错信息可能就不能够直观的看到出错信息了,这个时候就需要重新编译,加上V=99,不要加上-jx。如make V=99。

(3) 编译权限:openwrt建议非root权限下编译,这个在编译的时候会检查,否则不让编译。如果需要在root权限下编译,需要加上FORCE=1.


4. 生成镜像的存放路径。
编译生成的镜像会统一存放在trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620n/目录。

5. 定制适合自己单板类型的openwrt
上面4步仅仅是可以编译生成openwrt已经支持的一些路由器型号的镜像,如果自己的路由器不在支持列表里,那怎么办呢?很显然,openwrt的人是不可能穷尽所有的路由器,也不可能知道你的述求。所以,只能靠你自己了。这一步还是需要有一些知识积累和技能的。
首先,你需要对当前路由器的一些硬件特性明了,如:以太网口是几个,哪个口是上连口WAN口,哪几个是LAN口;无线接口是否需要跟有线LAN桥接;flash和内存的大小有多大......

什么?这些一点概念都没有,那么还是不要往下看了,等网友有人分享出来捡现成的吧!

在./target/linux/ramips/image/Makefile中,我们可以增加我们的一款路由器定制。
我们首先找到
“# MT7620N Profiles”
依葫芦画瓢,增加
Image/Build/Profile/ZDCH500=$(call BuildFirmware/Default16M/$(1),$(1),zdch500,ZDCH500)
记得同时在下面将ZDCH500增加进去,否则不出镜像 
ifeq ($(SUBTARGET),mt7620n)
define Image/Build/Profile/Default
    $(call Image/Build/Profile/ZDCH500,$(1))
endef

仅仅由上面的动作还不够,我们还需要提供相应的dts文件。
./target/linux/ramips/dts/ZDCH500.dts
该文件用于描述硬件的相关信息,如gpio、flash分区、usb等

6. 结束。

需要详细了解的网友,可以私下交流!

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

MT7620 OpenWRT所用的RT2860v2 WIFI驱动package


感谢dq、大茶园丁两位大神的提供的指导,以下package由dq打包,配置都是lintel的,感谢lintel的贡献。

因为两位的帮助,我们现在可以轻松的使用 MT7620-OpenWRT啦。

newifi mini纯净版OpenWrt兼容内核固件,集成rt2860v2、mt76x2e驱动

心怀感恩,传播分享,才是开源之道。

dq的github:https://github.com/qdk0901/openwrt-mt7620