TL-WR720N V3刷机OpenWRT

    在这个手机流量富余,WIFI无处不在的时代,TP-Link的TL-WR720N这种便携式路由的使用价值已极低,本着不浪费的原则,给它刷个OpenWRT做为家庭的旁路由可能也是一种出路,不过720N只有4M的运存,因此不得不拆腾一下。

    第一步,在Openwrt官网上查询一下设备的支持版本        17.01.X是LEDE和OpenWRT合并前,LEDE的最后一个版本,可以通过官方或是国内镜像进行下载,目前比较多用的是openwrt镜像包括以下几个:

清华大学:mirrors.tuna.tsinghua.edu.cn/openwrt

中科大:mirrors.ustc.edu.cn/openwrt

腾讯:mirrors.cloud.tencent.com/openwrt

     一般来说,直接下载.bin的固件可以进行刷机,但由于小内存的问题,直接装完含Luci的固件,设备将什么也做不了,几个分区都会变成只读状态,无法正常使用。WR720N在“3G”的模式下,可以使用外接USB设备,因此利用这个特点,可以外加一个U盘做为存储空间,解决小内存的问题。因此计划是自编译一个不含Luci的固件,把相关挂载的支持放进去,完成挂载后再安装Luci。

    第二步,自编译固件。通过ImageBuilder的方法,可以大大减少自编译的工作量,通过ImageBuilder包,把内核和要用的ipk做成固件,也可以加入自定义的一些修改。详细的方法可以自行搜索。

    WR720N需下载包是:https://archive.openwrt.org/releases/17.01.5/targets/ar71xx/generic/lede-imagebuilder-17.01.5-ar71xx-generic.Linux-x86_64.tar.xz

    编译环境我使用的是CentOS 7,VMware虚拟机。 

# 解压
$ tar -xvJf lede-imagebuilder-17.01.5-ar71xx-generic.Linux-x86_64.tar.xz
# 进入项目目录
$ cd lede-imagebuilder-17.01.5-ar71xx-generic.Linux-x86_64
# 查看所有PROFILE参数,包括packages
$ make info
# 看profile
$ make info |grep 720  
tl-wr720n-v3:
    TP-LINK TL-WR720N v3
tl-wr720n-v4:
    TP-LINK TL-WR720N v4
# 由于make image会下载需要的交叉编译环境,可以设置终端代理(根据自己的情况填入 host 和 port),下载无问题也可以不设
$ export http_proxy=http://[host]:[port]
$ export https_proxy=http://[host]:[port]
# 使用以下命令编译
$ make image PROFILE="tl-wr720n-v3" PACKAGES="kmod-usb-storage kmod-fs-ext4 e2fsprogs block-mount -firewall -ip6tables -iptables -kmod-ipt-nathelper -odhcp6c"

       编译过程中可能会有报错,主要是因为依赖库没有安装,根据相关的报错补齐就可以顺利完成。

Build dependency: Please install the GNU C Compiler (gcc)
yum -y install gcc
​
Build dependency: Please reinstall the GNU C Compiler - it appears to be broken
Build dependency: Please install the GNU C++ Compiler (g++)
Build dependency: Please reinstall the GNU C++ Compiler - it appears to be broken
yum -y install gcc-c++
​
Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)
yum -y install ncurses-devel
​
Build dependency: Please install a static zlib. (Missing libz.a or zlib.h)
yum -y install zlib-static
​
Build dependency: Please install the openssl library (with development headers)
yum -y install openssl-devel
​
Build dependency: Please install the Perl Thread::Queue module
yum -y install perl-Thread-Queue
​
Build dependency: Please install GNU 'patch'
yum -y install patch
​
Build dependency: Please install 'unzip'
yum -y install unzip
​
Build dependency: Please install 'bzip2'
yum -y install bzip2
​
Build dependency: Please install GNU 'wget'
yum -y install wget
​
Build dependency: Please install the Subversion client
yum -y install svn

     找了一个其他大神总结的,供参考。

     编译完成后在 ./bin/targets/ar71xx/generic/ 可以看到编译好的固件。

    刷新固件:lede-17.01.5-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin
    升级已有的 OpenWRT固件:lede-17.01.5-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin

    刷新固件的,连接以后,登录路由器,在系统升级页面选择刷机包,选择不配置,确定升级,在升级过程不可断电。升级结束后,就刷好了。

    已经升级过OpenWRT的,可以按以下步骤完成刷机:

  1. 通过scp lede-17.01.5-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin root@192.168.2.1:/tmp拷贝到路由器的/tmp目录
  2. 进入openwrt以后mtd write /tmp/lede-17.01.5-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin firmware刷入。
  3. 完成以后重启。reboot

    第三步,挂载U盘。刷机完成后,将设备的开关调到“3G”档,并插入U盘。U盘需提前改为EXT4分区,在WIN机器上可以用DiskGenius软件来完成。

    使用LAN口将WR720N接入网络,SSH登录192.168.1.1,用户名为:root

ls /dev/sda*

    如果无显示,则U盘未识别到,请确认开关调到“3G”档且U盘是好的。如果只显示一个“/dev/sda”,说明U盘识别到了,但主分区没有识别到,请重新制作EXT4分区,正常应至少有一个“/dev/sda1”。

    编辑 /etc/config/fstab 文件,删除 config global 标签项以外的所有内容。完后逐条执行以下命令,或编写在sh后执行。

cd
DEVICE="$(sed -n -e "/\s\/overlay\s.*$/s///p" /etc/mtab)"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set fstab.rwm.device="${DEVICE}"
uci set fstab.rwm.target="/rwm"
uci commit fstab
DEVICE="/dev/sda1"
mkfs.ext4 ${DEVICE}
eval $(block info ${DEVICE} | grep -o -e "UUID=\S*")
uci -q delete fstab.overlay
uci set fstab.overlay="mount"
uci set fstab.overlay.uuid="${UUID}"
uci set fstab.overlay.target="/overlay"
uci commit fstab
mkdir -p /tmp/cproot
mount --bind /overlay /tmp/cproot
mount ${DEVICE} /mnt
tar -C /tmp/cproot -cvf - . | tar -C /mnt -xf - 
umount /tmp/cproot /mnt
reboot

   代码是能过uci手动进行挂载操作,完成后等待重启。

    U盘已经完成挂载,可以进行Luci的安装和其他软件包的安装了。 

    最后一步,安装Luci。安装前,更换国内源,编辑 /etc/opkg/distfeeds.conf 用国内源替换原地址。我这里用的是中科大的源。

src/gz reboot_core http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/targets/ar71xx/generic/packages
src/gz reboot_base http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/base
src/gz reboot_luci http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/luci
src/gz reboot_packages http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/packages
src/gz reboot_routing http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/routing
src/gz reboot_telephony http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/telephony
opkg update
opkg install luci

    至此,整个刷机工作完成,可以通过浏览器192.168.1.1通过网页进行路由器的设置了。

    PS:再记录一些其他的技巧。因为做为一个旁路由,固件刷入后需要更改默认的IP地址才能接入主路由,所以还涉及到一些通过uci命令去改变设置的需求。

    1、显示网络设置

uci show network

    这里显示的是OpenWRT下的网络接口设置,可以结合 ifconfig 命令的显示一起看

    2、修改IP、网关、DNS

uci set network.lan.ipaddr='192.168.1.2'
uci set network.lan.gateway='192.168.1.1'
uci set network.lan.dns='8.8.8.8'
uci commit network

    完成修改后,可以通过以下命令进行生效

/etc/init.d/network reload
/etc/init.d/network restart
ubus call network reload

最后,这篇东西也是我从很多大神的其他文章中学习来的,我只是搬运并综合了,结合我自己的操作实进行了调整。感谢以下作者的贡献:

Openwrt 手动编译加安装扩容教程——知乎 

OpenWrt系统网络配置和UCI命令详解——知乎

### TL-WR703N 路由器作为打印服务器的固件下载与定制 对于希望将 TP-LINK TL-WR703N 路由器改造为高效能打印服务器的需求,存在多种解决方案。其中一种成熟的选择是采用基于 OpenWRT 的自定义固件,特别是集成有 CUPS (Common UNIX Printing System) 服务的版本。 #### 固件特性 特定于 TL-WR703N 的 CUPS2.4.1 打印服务器固件 V3 提供了一个全面的功能集合[^3]。这款固件不仅支持标准的网络协议栈,还特别强化了对 USB 连接打印的支持能力。通过安装此固件,可以实现局域网内多台设备便捷访问并使用连接至路由器上的物理打印资源。 #### 获取途径 为了获取上述提到的优化过的固件文件,可以从专门维护该项目的开源平台 GitCode 上找到官方发布的最新稳定版镜像包进行下载: - **项目地址**: [https://gitcode.com/open-source-toolkit/eb645](https://gitcode.com/open-source-toolkit/eb645) 在此页面上会有关于此固件的具体说明文档以及详细的刷机指南帮助顺利完成整个过程。 #### 写前准备事项 考虑到硬件兼容性和稳定性,在执行任何操作之前建议先确认当前使用的 TL-WR703N 是否已经过适当修改来满足额外组件的要求(比如更大的存储空间)。如果打算进一步扩展功能,则可能还需要考虑增加外部USB接口或其他必要的配件以适应不同型号打印的需求。 #### 自定义调整选项 除了直接应用预编译好的二进制映像之外,有能力的技术人员也可以尝试自行编译适合自己环境下的个性化版本。这通常涉及到修改源码中的某些参数设定或是加入第三方插件增强原有特性。例如,可以通过启用或禁用某些不必要的后台进程和服务达到节省系统资源的目的;又或者是引入新的驱动程序确保更广泛的外设识别率。 ```bash make menuconfig # 编辑配置菜单选择所需模块 make V=s # 启动构建流程并显示详细日志信息 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值