当前位置: 首页 > 系统与网络 > 正文

[整理]编译适用于TP-Link WR703N的OpenWRT固件

编译适用于TP-Link WR703N TP-Link MR11U 以及使用AR9331芯片组的单WAN/LAN复用口的路由。

 

注:刷机有风险,刷机需谨慎。一般情况下是不会失败的,若无法通过捅Reset复位,断电,用牙签捅住Reset,上电,一段时间后指示灯会不断闪烁,将电脑网卡的IP设置为192.168.1.x(x除了网关外的任意值),子网掩码 255.255.255.0,网关 192.168.1.1 。之后telnet 192.168.1.1,输入firstboot 回车 复位。

 

首先,准备一个干净的Linux系统。这里以ubuntu为例。这里以服务器版,32位为例。建议使用32位系统编译。

下载地址(国内镜像):http://mirrors.163.com/ubuntu-releases/

 

终端,或者ssh下编译如下组件:

升级组件包
sudo apt-get update

安装编译需要的组件
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install texinfo
sudo apt-get install unzip
sudo apt-get install sharutils
sudo apt-get install subversion
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install git-core
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
sudo apt-get install sphinxsearch
sudo apt-get install libtool
sudo apt-get install sphinx-common
sudo apt-get install libssl-dev
sudo apt-get install libsqlite3*
sudo apt-get install intltool
sudo apt-get install libiconv*
sudo apt-get install gstreamer-0.10*
sudo apt-get install glib2.0
sudo apt-get install libxml2-dev
sudo apt-get install qemu

*64位系统需安装ia32-libs

一次性编译所有所需组件(上面为单个编译):
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev git-core gawk asciidoc libz-dev sphinxsearch libtool sphinx-common libssl-dev libsqlite3* intltool libiconv* gstreamer-0.10* glib2.0 libxml2-dev qemu

 

编译以上需下载的东西较多,建议选择国内的源进行。

 

使用非root用户登录,建立openwrt目录
mkdir openwrt

进入openwrt目录
cd openwrt

下载openwrt源码
svn checkout svn://svn.openwrt.org/openwrt/trunk

赋予trunk目录权限
sudo chmod -R 777 trunk

进入trunk目录
cd trunk

更新最新源码
./scripts/feeds update -a

安装最新源码
./scripts/feeds install -a

更新版本号
svn up

进入编译菜单
make menuconfig

编译
make V=99

清除编译过程产生的临时文件
make clean

恢复编译环境
make defconfig

 

使用WinSCP登录进行文件管理
编译适用于8M Flash的固件,需修改Makefile和mktplinkfw.c文件。

Makefile位于:target/linux/ar71xx/image
找到

$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0×07030101,1,8Mlzma))

将其中的4Mlzma替换成8Mlzma

mktplinkfw.c位于:tools/firmware-utils/src
找到

}, {
.id = “TL-WR703Nv1”,
.hw_id = HWID_TL_WR703N_V1,
.hw_rev = 1,
.layout_id = “4Mlzma”,

将其中的4Mlzma替换成8Mlzma

 

修改默认SSID,添加WIFI配置

修改mac80211.sh文件,位于package/mac80211/files/lib/wifi

option disabled 1改成0,默认开启wifi。

option disabled 0下添加

option htmode HT40+
option channel 1
option country CN
option noscan 1
option txpower 17

option htmode HT40+ 使用40MHz频宽,但只支持1-7信道。HT40-,支持5-13信道。HT20 支持1-13信道,20MHz频宽
option channel 1使用信道1,1-13之间。若有限定频宽,信道参考如上。
option country CN 设定wifi标准为中国
option noscan 1 强制使用40MHz的频宽
option txpower 17 发射功率为17dBm,大约50mW。不可设定过大,否则有烧毁PA的危险。

修改默认SSD:

config wifi-iface
option device   radio$devidx
option network  lan
option mode     ap
option ssid     MiMi
option encryption none

option mode ap,配置模式为AP。例如WDS之类。
option ssid     MiMi 我的默认SSID名为MiMi
option encryption none 是否开启加密
option network  lan 位于哪个接口的管理之下,默认lan。一般无需修改

 

修改用户名密码

默认情况下root是没有密码的,需设定密码才能开启ssh。
修改shadow文件,位于package/base-files/files/etc

root:$1$wEehtjxj$YBu4quNfVUjzfv8p/PBo5.:0:0:99999:7:::

将密码修改成admin。

 

修改路由连接数,优化网络参数

连接数默认情况下是1.6万多吧。可以选择性修改。
修改sysctl.conf文件,位于package/base-files/files/etc

net.netfilter.nf_conntrack_max=65535

65535自行替换。

 

修改主机名,设定时区

比如修改路由名字,设定时区等。
修改system文件,位于package/base-files/files/etc/config

config system
option conloglevel 8
option cronloglevel 8
option hostname MiMi
option timezone Asia/Shanghai
option timezone CST-8

config timeserver ntp
list server 0.openwrt.pool.ntp.org
list server 1.openwrt.pool.ntp.org
list server 2.openwrt.pool.ntp.org
list server 3.openwrt.pool.ntp.org
option enable_server 0

option hostname MiMi 设定主机名,这里MiMi是我设定的主机名。自行修改
option timezone Asia/Shanghai 时区设置为亚洲/上海
option timezone CST-8 正8区
list server 就是ntp服务器了。

 

集成Aria2 1.16.1

现在openwrt提供的还是1.16.0,这里需修改成支持1.16.1编译。

Aria2 1.16.1:aria2-1.16.1  下载后将后缀由zip改为tar.gz

1.修改Makefile文件,位于:feeds\packages\net\aria2

PKG_VERSION:=1.16.0

将1.16.0修改成1.16.1

PKG_MD5SUM:=1.16.1

后面添加上 aria2-1.16.0.tar.bz2的MD5值。我提供的文件是的md5值是:AD7E0575CE4A480EB54030E1D348E076

2.修改packages.index文件,位于:feeds

Source: aria2-1.16.0.tar.bz2

搜索aria2会发现Source: aria2-1.16.0.tar.bz2,将aria2-1.16.0.tar.bz2改为aria2-1.16.1.tar.bz2,并将aria2-1.16.1.tar.bz2放到trunk目录的dl目录下。

3.添加luci-app-aria2,这样方便在luci中对aria2的参数进行设定和管理
①下载 Source_luci-app-aria2 ,解压Source_luci-app-aria2.zip,将Source_luci-app-aria2文件夹改名为luci,上传到feeds/luci/luci

②修改luci.index文件,位于feeds
在luci-app-transmission中添加如下内容:

Package: luci-app-aria2
Submenu: 3. Applications
Version: trunk+svn-1
Depends: +PACKAGE_luci-app-aria2:aria2
Provides:
Build-Depends: lua/host
Section: luci
Category: LuCI
Title: aria2 configuration module
Maintainer: LuCI Development Team <luci@lists.subsignal.org>
Source:
Type: ipkg
Description: aria2 configuration module
http://luci.subsignal.org/
@@

③修改Makefile文件,位于feeds/luci/luci
添加如下内容:

$(eval $(call application,aria2,aria2 configuration module,\
+PACKAGE_luci-app-aria2:aria2))

13-12-26更新
新版本的Makefile文件位于feeds/luci/contrib/package/luci

④将luci aria2加入luci源码包
修改luci-trunk+svn9577.tar.gz文件,解压luci-trunk+svn9577.tar.gz到openwrt/t
使用命令:tar -zxvf luci-trunk+svn9577.tar.gz -C luci-trunk+svn9577

打开Source_luci-app-aria2文件,提取applications和po这两个文件夹覆盖到我们建立的t文件夹下,接着打包回去。
使用命令:tar -zcvf luci-trunk+svn9577.tar.gz luci-trunk+svn9577

⑤更新修改,终端或ssh中输入./scripts/feeds install -a,安装新源码,在menuconfig中luci-luci-Applications中便可以找到luci aria2了。勾选后会连network下的aria2一起安装。

 

汉化 transmission

下载我已经修改好的(汉化部分参考网络)transmission.po文件覆盖到 luci-trunk+svn9577/po/zh_CN 文件夹中。打包回去。过程参照上面 集成Aria2 1.16.1 部分
下载:transmission

 

修改WAN LAN口位置与MAC信息

移步:http://blog.ich8.com/post/3243

 

上次更新 2013-02-14
上次更新 2013-12-25
上次更新 2013-12-26
上次更新 2014-01-01
最后更新 2014-01-15
2013-12-25 更新内容 添加libssl-dev支持,若无则编译新版本可能会出现没有找到md5.h的错误。
2013-12-26 更新内容 注释新版openwrt luci Makefile文件位置位于feeds/luci/contrib/package/luci
2014-01-01 更新内容 添加libsqlite3* intltool libiconv* gstreamer-0.10*
2014-01-15 更新内容 添加glib2.0 libxml2-dev ia32-libs qemu

本文固定链接: http://blog.ich8.com/post/3222 | 霸王硬上弓's Blog

avatar
该日志由 霸王硬上弓 于2013年01月05日发表在 系统与网络 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: [整理]编译适用于TP-Link WR703N的OpenWRT固件 | 霸王硬上弓's Blog

[整理]编译适用于TP-Link WR703N的OpenWRT固件:目前有22 条留言

  1. avatar
    8楼
    jouson:

    你好,我编译了一个trunk的最新版,是BARRIER BREAKER (Bleeding Edge, r35724)的,wr703n v1.6.但是编译完成之后,只有有线能用,无线找不到,/etc/config下面也没有wireless的配置文件。但是下载你的130109的固件,又是能够找到无线的。是不是我编译的时候有些地方没有注意到?

    2013-02-22 01:24
    • 你好,你没有编译AR9K的驱动,所以找不到无线。kernel里面的无线去勾选AR9K驱动。

      2013-02-23 17:10
      • avatar
        magic886:

        你好 请问我下载最新版本的TRUNK源代码 里面找不到703N 怎么编译呢? 特别是想改UBOOT 可是在/target/linux/ar71xx/files/arch/mips/ar71xx/找不到 mach-tl-wr703n.c

        2013-05-02 21:50
      • avatar
        cainqin:

        ath9k.ko文件有,但在启动时提示加载失败。请问这为什么呀

        2013-10-05 15:38
  2. avatar
    7楼
    magic886:

    你好 请问我下载最新版本的TRUNK源代码 里面找不到703N 怎么编译呢? 特别是想改UBOOT 可是在/target/linux/ar71xx/files/arch/mips/ar71xx/找不到 mach-tl-wr703n.c 有解决办法吗??

    2013-05-02 21:51
    • 你好,新版本的是在source:trunk/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr703n.c这个位置。

      2013-05-06 22:29
  3. avatar
    6楼
    richard_Gao:

    请问这个文件luci-trunk+svn9577.tar.gz在哪里找?还有就是好像没有feeds/luci/luci这个文件夹了,makefile在feeds/luci文件家里

    2013-05-12 10:32
    • 1.这个编译的时候会自动下载,当然你手动svn也行,然后打包成tar.gz格式。
      2.安装可选包 ./scripts/feeds install -a

      2013-05-12 19:58
      • avatar
        magic886:

        你好请问 Aria2有最新版本的 1.16.3 了 请问能提供最新的LUCI-APP-ARIA2和 luci-app-transmission吗? 谢谢!

        2013-05-18 14:03
      • avatar
        w70599:

        1.会自动下载到哪里?手动svn、打包后,放在哪里?现在可能是因为[④将luci aria2加入luci源码包]做不下去,make menuconfig里看不到luci-app-aria2

        2013-06-27 22:06
        • 如果第四步不做的话make menuconfig里面也是可以看到的。前面3部中没做好吧?

          2013-07-01 00:11
  4. avatar
    5楼
    xucaiyi:

    求联系方式

    2013-09-04 16:52
  5. avatar
    4楼
    lihongtao:

    跪求一个703N,带离线下载的固件,最好默认网口是LAN口!!!
    邮箱:397463794@qq.com

    2014-03-31 13:27
  6. avatar
    地板
    hero_0:

    嗨,请教一下,我编译12.09版本的703n固件,因为我要3G拨号,然后需要将network配置文件进行添加3g interface的动作,但是在package/base-file/files/etc/config下面更改network配置档编译完成后没有改变配置档,请教下是怎么回事?因为我还将system里面主机名字改了,是成功的,为什么network改了却没有用?很奇怪!

    2014-04-18 09:53
    • 你没具体说明修改的内容…..教你一招
      找个带3G的OPENWRT,我之前一个版本不知道有没有带,配置好3G后进入SSH登陆路由,etc/config里面把network提取出来就行了,或者导出配置,然后用winrar打开 提取出network文件就行了。

      2014-04-18 22:45
  7. avatar
    板凳
    wzc_321:

    请教一下,我是trunk版的 压根就没有feeds/luci/contrib/package/luci这个目录 :cry:
    这是什么情况?

    2015-03-30 01:35
    • 新版的LUCI目录有所变化。此步骤略。

      2015-03-30 23:32
      • avatar
        wzc_321:

        额 谢谢啦 我也是刚去看源码才知道的 英文不好 去github要边查边看 :oops:

        2015-03-31 23:21
  8. avatar
    沙发
    wzc_321:

    亲 按照你的方法修改后编译的固件,连接wifi超时,并且没有获取到ip地址,luci界面也进不去,当然我也修改了wan口,连上有线也是白搭,求解?

    2015-04-05 01:02

发表评论

您必须 [ 登录 ] 才能发表留言!