zoukankan      html  css  js  c++  java
  • 编译适用于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


     -------------------------------------------------------------------------------------------------------------------

    下面以编译TP-LINK 741N的openwrt固件为例,只编译基本的功能:

    make menuconfig
    Target System---AR71xx/AR7240/AR913x/AR934x CPU型号
    Target Profile---TP-LINK 741
    LuCI—>Collections—– <*> luci 添加Luci
    LuCI—>Translations—- <*> luci-i18n-chinese   添加中文
    EXT----YES   
    make V=99    开始编译
    成功后在bin文件夹里有编译好的固件。


    ----------------------------------------------------------------------------------------------------------------------


    使用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文件,位于:feedspackages etaria2

    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

  • 相关阅读:
    如何使用WPF用户界面框架编译EasyPlayPro-Win版本网页无插件视频播放器?
    【解决方案】TSINGSEE青犀视频智慧校园解决方案
    TSINGSEE青犀视频开发rtp推流如何使用ffmpeg配置rtp打包模式?
    TSINGSEE青犀视频部署流媒体服务器如何通过分布式存储突破设备接入及存储瓶颈?
    mysql--存储引擎
    数据库-基本操作
    初识数据库
    mysql---索引
    数据类型--mysql
    mysql--权限问题
  • 原文地址:https://www.cnblogs.com/alan666/p/8312321.html
Copyright © 2011-2022 走看看