路由器刷固件常用命令Openwrt 之mtd/mtd_write烧写固件

路由器刷固件常用命令Openwrt 之mtd/mtd_write烧写固件

在我们日常使用手机时,路由器是一个必不可少的环节,相信目前仍有许多新手不懂如何设置路由器,其实关于路由器的设置在网上有很多,只要稍微的搜索一下即可出来一大波教程,今天我们不讨论如何设置路由器,我们来谈谈关于路由器刷机的小知识还有相关固件的介绍。

1.【查看当前系统分区信息】

cat /proc/mtd

显示:

dev: size erasesize name

mtd0: 00050000 00010000 “u-boot”

mtd1: 00020000 00010000 “u-boot-env”

mtd2: 00f80000 00010000 “firmware”

mtd3: 00107440 00010000 “kernel”

mtd4: 00e78bc0 00010000 “rootfs”

mtd5: 00810000 00010000 “rootfs_data”

mtd6: 00010000 00010000 “art”

其中,mtd2就是固件分区(firmware)

2.【备份固件firmware】

dd if=/dev/mtd2 of=/tmp/firmware_backup.bin

然后用winscp登陆路由器tmp目录,将固件文件firmware_backup.bin保存到电脑中。

3.【恢复固件firmware】

先用winscp将固件文件firmware_backup.bin传至路由器tmp目录,然后:

#mtd -r write /tmp/firmware_backup.bin firmware

即可恢复,恢复完成路由器会自行重启

4.【备份恢复Openwrt路由器配置】

dd if=/dev/mtd5 of=/tmp/overlay.bin

先用winscp将备份文件overlay.bin传至路由器tmp目录,然后:

mtd -r write /tmp/overlay.bin rootfs_data

sysupgrade -b /tmp/back.tar.gz

sysupgrade -f /tmp/back.tar.gz

5.【恢复Openwrt路由器默认设置】

rm -rvf /overlay/* && reboot

mtd -r erase rootfs_data

6.【刷新路由器固件】

先用winscp将固件文件xxx.bin传至路由器tmp目录,然后:

mtd -r write /tmp/xxx.bin firmware

刷新完成后路由器会自动重启。

先用winscp将固件文件xxx.bin传至tmp目录,然后:

sysupgrade /tmp/xxx.bin

华硕路由器Asus RT-ACRH17 OpenWrt,刷openwrt教程

华硕路由器刷OPENWRT教程

注:该教程整理自恩山论坛,因论坛内容较为繁琐,理解不便,特整理优化本文。

所需文件列表

解锁Bootloader的固件

【openwrt-ipq806x-asus_rt-acrh17-squashfs-flash-factory.trx】

opboot固件

【opboot-rt-acrh17-flash-v1.0.6.bin】

lean制作的openwrt固件

【openwrt-ipq40xx-asus_rt-acrh17-squashfs-sysupgrade.bin】

所需工具软件列表

SSH控制台工具

xshell 或 putty

SFTP文件传输工具

winscp

附,所需文件下载地址:

链接:https://pan.baidu.com/s/1Ocn-8O6Qo_EdXKbP8NjpUA 提取码:s9qy

1、备份出厂设置,防止变砖

  • 登陆路由器管理界面(初始化设置好路由器管理的账号密码)。 系统设置——Enable SSH 打开
  • 使用putty 登陆命令行控制台(路由的IP地址请查看路由器的LAN设置界面,用户名密码即为路由器管理设置的账号密码)
  • 找到ART分区,输入 cat /proc/mtd 查看
  • 使用dd命令,拷贝mtd3、mtd4到 tmp文件夹
  • cd /tmp
  • dd if=/dev/mtd3 of=/tmp/Factory.bin
  • dd if=/dev/mtd4 of=/tmp/Factory2.bin
  • 使用winScp 将tmp下的文件复制到电脑,自行保存好以备不时之需

2、原厂固件刷入 LEDE(用于解锁bootloader分区)

  • 在原厂固件升级界面,上传文件【openwrt-ipq806x-asus_rt-acrh17-squashfs-flash-factory.trx】(用户名:root,密码:password) 刷入即可。

3、刷入 opBoot

  • 使用winScp上传【opboot-rt-acrh17-flash-v1.0.6.bin】 到/tmp目录下
  • 使用 putty进入ssh后台,解锁bootloader分区。
  • mtd unlock /dev/mtd0
  • md5校验一下文件,防止变砖:md5sum /tmp/opboot-rt-acrh17-flash-v1.0.6.bin  校验得到的MD5值为 716a1501871687bf91af2064a475b72c (不同版本MD5可查看附注的历史版本链接)
  • 将opboot刷入bootloader分区: mtd -r write /tmp/opboot-rt-acrh17-flash-v1.0.6.bin Bootloader(如果成功,会出现Rebooting…字样)
  • 等待重启,如果要进入opboot,请在接通电源前按住WPS按钮8秒以上(1.0.2之前的版本为复位按钮)

附注: opboot的历史版本链接 http://www.mleaf.org/downloads/rt-acrh17/opboot/

4、刷入openwrt

  • 进入opboot之后,在更新固件界面选择固件【openwrt-ipq40xx-asus_rt-acrh17-squashfs-sysupgrade.bin】,点击更新,更新完等待重启即可。

 后记:

– 本文刷入的 openwrt 其实是网友自行根据lean大的git仓库编译而来, 大家也可以参考恩山的编译贴,自行编译所需刷机包。

– 另外,2019.6月,lean更新了 acrh17 刷梅林的包,在分享的网盘中可以看到对应文件,需要的可以刷入试试,据说很稳。

– 这里还有一个更简便的刷机方式,不经过opboot中转,https://hceasy.com/rt-acrh17-openwrt-firmware/

 

本文参考来源:

– [ASUS 华硕] RT-ACRH17 免拆机刷不死OpBoot教程

– 新人小白,华硕RT-ACRH17原厂备份ART

– Lean R8.1.12 Asus RT-ACRH17 openwrt固件[附上编译过程]

– [2019-06-07] 全球首发!原创高通梅林 RT-ACRH17 发布!内置 Fullcone 和 软件中心

 

如何编译符合自己路由器的的OpenWrt固件

前言:

玩OpenWrt已经快两年了,最早接触是因为CHDBITS,选择了G300NH2来搭载,发现性能较差,之后就更换为AG300H使用官方原版挂种100下载速度700kb+稳定运行,后来先后购入了乐视小米ipad后就有了越来越多的想法,安装了各种插件,过一段时间更新后发现有问题,然后只有重新刷,每次都很繁琐,5月以来使用了很多基友的包(已经集成了很多插件)发现不大稳定,所有萌发了自己编译符合自己AG300H的固件来。

一、准备工作

1、ubuntu+1 VM虚拟机什么都可以

2、固件获取:svn://svn.openwrt.org/openwrt/branches/barrier_breaker  你需要什么版本的就下载什么版本

二、更新系统软件

1、使用 root 账户登录 ubuntu

2、使用 apt-get update 更新组建

3、安装编译需要的组件(如下\绿色是aria2编译需要的组建)

apt-get install g++
apt-get install libncurses5-dev
apt-get install zlib1g-dev
apt-get install bison
apt-get install flex
apt-get install unzip
apt-get install autoconf
apt-get install gawk
apt-get install make
apt-get install gettext
apt-get install gcc
apt-get install binutils
apt-get install patch
apt-get install bzip2
apt-get install libz-dev
apt-get install asciidoc
apt-get install subversion

apt-get install texinfo

apt-get install sharutils

apt-get install ncurses-term

apt-get install git-core

apt-get install sphinxsearch

apt-get install libtool

apt-get install sphinx-common

apt-get install libssl-dev

apt-get install libsqlite3*

apt-get install intltool

apt-get install libiconv*

apt-get install gstreamer-0.10*

apt-get install glib2.0

apt-get install libxml2-dev

apt-get install qemu

sphinxsearch libtool sphinx-common

4、退出 root身份  (exit)

5、新建一个账户  adduser openwrt    sodu openwrt

5、为了防止文件读写权限造成问题,需要将源码copy到openwet的根目录下进行所有操作

cd ~

cp -R /home/user/ ./

三、加载RA-MOD

1、添加ra-mod 编辑目录下的feeds.conf.defaul 注释掉原有的Luci 并加入

src-git ramod git://github.com/ravageralpha/my_openwrt_mod.git

2、执行以下命令

./scripts/feeds uninstall luci

./scripts/feeds update -a

./scripts/feeds install -a

./scripts/feeds install luci

./scripts/feeds update -a

./scripts/feeds install -a

svn update

这样就可以显示出来了,不然有些同学说我加了ra-mod的怎么不显示呀,或没有显示luci

四、进入订制界面

make defconfig

make menuconfig

五、按你的需求选择需要的功能

usbutils 

Garget—system—atherosar7xxx/ar9xxx 路由芯片
Target—profile—buffalowzr-hp-ag300h 我的路由型号
Base—system—block-mount USB挂载
                         libstdcpp 安装aria2需要
luci—collections—luci 添加luci界面
         applications—luci-app-ddns dns界面
                               luci-app-hd-idle 磁盘休眠控制界面
                               luci-app-multiwan 多拨控制界面
                               luci-app-qos qos界面
                               luci-app-samba samba界面
                               luci-app-ushare ushare界面
        translations—luci-i18n-chinese luci中文语言包
kernelmodules—filesytems—kmod-fs-ext4 硬盘ext4格式支持
                          nativelanguagesupport—kmod-nls-utf8 utf8支持??
                          usbsupport—kmod-usb-ohci Ohci控制器
                                               kmod-usb-storage 添加储存设备驱动
                                               kmod-usb-storage-extras 储存设备扩展
                                               kmod-usb-uhci Uhci控制器
                                               kmod-usb2 Uusb2.0
bootloaders—uboot-ar71xx-nbg460n_550n_550nh 默认
libraries—filesystem—libext2fs 硬盘格式化工具
               ssl—libopenssl 安装aria2需要
               libffmpeg-mini ushare需要
               libxml2 安装aria2需要
network—filetransfer—aria2 aria2(我没选)
                                    vsfpd ftp服务器
                                    multiwan 多拨软件
                                    ppp 默认
                                       ppp-mod-pppoe 默认
                                    samba36-server Samba共享
                                    wpad-mini 默认
multimedia—ushare ushare媒体共享

六、 编译

make v=99

第一次编译时间较久,make v=99最稳定。

5、完成 

编译完成后,编译好的固件在主文件夹/bin中,拷贝出来到自己要保存的文件夹中。以下命令是清理后以便于下次编译的。

清除缓存 make dirclean

彻底清理make distclean    或  make clean

编译单个包

编译一个单独的软件包(例如在cups软件包):

make package/cups/compile V=99

转载于:https://my.oschina.net/zj2055/blog/341550

OpenWrt编译后生成的bin文件:jffs2与squashfs、factory与sysupgrade

OpenWrt编译后会生成多个bin文件,比如

openwrt-ar71xx-generic-tl-wr841nd-jffs2-factory.bin      8126464
openwrt-ar71xx-generic-tl-wr841nd-jffs2-sysupgrade.bin     4980740
openwrt-ar71xx-generic-tl-wr841nd-squashfs-factory.bin   8126464
openwrt-ar71xx-generic-tl-wr841nd-squashfs-sysupgrade.bin  3538948

bin文件名称中有两种不同的格式,jffs2与 squashfs。这两种格式的固件区别在于,squashfs格式的bin文件安装后,会占用一定的空间来存放系统的一些必要文件,这些文件都只是可读的,其作用是帮助恢复系统。当OpenWrt崩溃时,可以基于这些文件,使用firstboot脚本重建初始系统,而jffs2则不会存储这样的文件,好处是节省了空间。一般使用squashfs格式的固件,方便恢复系统到初始状态。

每种格式都有两个文件,factory与sysupgrade,这两者的区别是,factory多了一些验证的东西,用于在原厂固件的基础上进行升级,如果已经是OpenWrt,直接使用sysupgrade文件即可。并且,在原厂固件的基础上进行升级时,首先使用factory文件,然后需要再次使用 sysupgrade文件,选择不保留原来配置进行升级。

官方下载的都分jffs2和squafs两种格式
jffs2文件系统格式是适合于断电的系统,不像FAT那样容易丢文件,因为路由器一般都容易突然断电。
官方的jffs2格式刷到路由器后就是一个jffs2分区,ROM本身和以后安装的软件都在这个分区里都可以读写。


而squafs格式则是把ROM压缩到了一个文件刷进路由器,然后剩下的空间格式化成jffs2并且优先于ROM文件,有点像WM手机上的情况。ROM只读分区挂在/rom下,而另一个可读写jffs2分区挂到/overlay,当/overlay下有和/rom同名的文件就优先读这个,相当于覆盖了ROM文件,实际上并没有覆盖。这种情况的优点是ROM压缩率高,可写分区就更大一点,其次只要备份/overlay就可以把ROM以为的所有文件都备份下来,以后全部还原就可以不用重新配置了。格式化/overlay分区就相当于恢复openwrt出厂设置了。

官方推荐squafs,因为这种格式就算配置乱了还可以恢复刷机后的出厂设置,二是压缩后节省空间。jffs2格式搞乱了就只能重刷了

(squashfs和jffs2区别是,squashfs本身会占用1M空间存放系统必要的文件,并且这些文件是只读的,当系统损坏时,可以执行firstboot恢复初始状态。jffs2,虽然剩余空间仍然为2M,但是openwrt本身占用的空间你也是可以支配的,换句话说系统本身是可以改写的。相对于squashfs方式,你将多出约1M左右的可支配空间,代价是需要删除一些系统的部件,而缺点是一旦系统崩溃,有可能你无法使用firstboot脚本重建初始系统。所以一般都下载squashfs的)

OPENWRT 镜像生成器ImageBuilder 使用方法及说明

注意:官方网站下载的ImageBuilder 在编译固件时会出错,提示“权限不够”,在命令前加sudo 后提示“Error 126”错误!只能自己编译 ImageBuilder 来用!自编译 ImageBuilder 时,先在linux 环境下设置好再编译,编译后就会包含个性设置!

 

一、操作步骤:

1、 下载ImageBuilder 压缩包

http://downloads.openwrt.org/snapshots/trunk/ar71xx/OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2

也可自己编译;

 

2、 解压ImageBuilder 压缩包

tar -xjvf OpenWrt-ImageBuilder- ar71xx_generic-for-Linux-x86_64.tar.bz2

 

3、 进入解压后文件夹

cd Openwrt-ImageBuilder-ar71xx_generic-for-Linux-x86_64

4、 查看默认软件包和硬件支持列表

make info

 

make info

Current Target: “ar71xx(Generic)”  (ar71xx目前支持75种路由型号)

Default Packages: base-files libc libgccbusybox dropbear mtd uci opkg hotplug2 netifd kmod-leds-gpiokmod-gpio-button-hotplug kmod-wdt-ath79 swconfig kmod-ledtrig-default-onkmod-ledtrig-timer kmod-ledtrig-netdev kmod-ath9k wpad-mini uboot-envtoolsdnsmasq iptables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall (默认有26个软件包,wr703n有28个包)
TLWR703:

TP-LINKTL-WR703N
kmod-usb-core kmod-usb2

 

5、 编译(8M固件增加39个软件包,x86增加55个包)

sudo make image PROFILE=x86PACKAGES=”block-mount librt luci luci-i18n-chinese luci-app-ddnsluci-proto-3g luci-app-hd-idle luci-app-p910nd luci-app-qos luci-app-sambaluci-app-upnp luci-app-wol  openvpnopenvpn-easy-rsa kmod-scsi-core kmod-scsi-generic kmod-fs-ext4 kmod-fs-ntfskmod-fs-vfat kmod-nls-utf8 kmod-nls-cp936 kmod-nls-cp437 kmod-usb-storage kmod-usb-storage-extraskmod-usb-ohci kmod-usb-uhci  kmod-usb2 kmod-usb-acmkmod-usb-serial kmod-usb-serial-ftdi kmod-usb-serial-pl2303 kmod-usb-serial-ch341kmod-usb-acm kmod-usb-printer kmod-video-core kmod-video-uvc mjpg-streamermotion ser2net badblocks e2fsprogs restorefactory coreutils transmission-daemontransmission-remote transmission-web vsftpd kmod-rtl8192se kmod-rt2800-usbkmod-rt2x00-usb kmod-rt2800-pci kmod-rt2x00-pci njit8021xclient njit8021xclient-webkmod-usb-hid” FILES=x86

 

本固件只适合已改机的8M/32M机器!
集成的软件有:luci,中文语言包,DDNS,硬盘休眠,openvpn,打印服务器,QOS,samba,upnp,relay,网络唤醒,USB挂载,硬盘格式支持(ntfs-3g/ext4/ntfs),UTF8编码,USB扩展支持,USB驱动,复位键支持,transmission下载工具,8187.3070等多种网卡驱动..

注意输入不要有错!前面输错了3个地方,找了很久!!!

 

编译前可以先从官方网站:http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/下载ipk文件并放到dl 文件夹里面以节省编译时间。放置文件出错一般是文件夹操作权限不够,除使用sudo命令外,还需要用chmod777 /home/submars/SDK 命令让文件夹获得最高的 777 权限。通过网络共享文件的方式复制到ubuntu中的文件(文件夹)只有普通用户权限,操作时需要sudo 命令提升权限!

 

编译过程中出现的错误和makefile文件中对应。

 

二、个性化设置方法:

1、在源码的menuconfig 菜单里设置好,再编译生成Imagebuilder,就会默认已经设置好的内容;

2、在Imagebuilder的根目录创建一个文件夹存放个性化的配置文件,然后在命令后面加上 FILES=文件夹名 就可以了。
rg. FILES = wr703n(常用的配置的文件的目录)

放在解压后的 imagebuilder 目录下就可以。
个性设置文件也可以直接复制Openwrt…/etc/config/*。

 

三、8M固件支持(新版本需要修改两个文件)
703n 最新SVN trunk版本更新很大,原来修改8m flash的结构体消失了

(1)/tools/firmware-utils/src/mktplinkfw.c 中代码:

static struct flash_layout layouts[] = {
{
.id               = “4M”,
.fw_max_len       = 0x3c0000,
.kernel_la       = 0x80060000,
.kernel_ep       = 0x80060000,
.rootfs_ofs       = 0x140000,
}, {
.id               = “4Mlzma”,
.fw_max_len       = 0x3c0000,
.kernel_la       = 0x80060000,
.kernel_ep       = 0x80060000,
.rootfs_ofs       = 0x100000,
}, {
.id               = “8M”,
.fw_max_len       = 0x7c0000,
.kernel_la       = 0x80060000,
.kernel_ep       = 0x80060000,
.rootfs_ofs       = 0x140000,
}, {
.id               = “8Mlzma”,
.fw_max_len       = 0x7c0000,
.kernel_la       = 0x80060000,
.kernel_ep       = 0x80060000,
.rootfs_ofs       = 0x100000,
}, {
/* terminating entry */
}
};

static struct board_info boards[] = {
}, {
.id               = “TL-WR703Nv1”,
.hw_id               = HWID_TL_WR703N_V1,
.hw_rev               = 1,
.layout_id       = “4Mlzma”,     //只需将此处修改为8Mlzma
}, {
}

(2)在imagebuilder下面修改(如果用imagebuilder 来编译固件,需修改此处!)
/target/linux/ar71xx/image/Makefile

把703n最后的4Mlzma改成8Mlzma!

 

所有设置完成后用make defconfig检查,确保得到类似以下结果:

openssl-util………………………Open source SSL toolkit (utility) (PACKAGE_openssl-util) [Y/?] y

owipcalc………………………..Simple IPv4/IPv6 address calculator (PACKAGE_owipcalc) [N/m/y/?] n

OpenWrt提取系统镜像

前言:在路由器中flash了openwrt系统,并安装了许多软件及相关配置,现想将整个系统的镜像提取出来,并flash到另一台相同的设备中。

方法

1.先查看fireware分区所对应的mtd设备

## 输入命令
cat /proc/mtd

## 输出以下结果
dev:    size   erasesize  name
mtd0: 00030000 00001000 "u-boot"
mtd1: 00010000 00001000 "u-boot-env"
mtd2: 00010000 00001000 "factory"
mtd3: 007b0000 00001000 "firmware"  ## 关键
mtd4: 00180d87 00001000 "kernel"
mtd5: 0062f279 00001000 "rootfs"
mtd6: 003be000 00001000 "rootfs_data"

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2.备份固件文件到/tmp目录


dd if=/dev/mtd3 of=/tmp/firmware_backup.bin

## 注意要及时从/tmp目录中拷贝到U盘或其他存储设备中,否则断电后会消失

  • 1
  • 2
  • 3
  • 4
  • 5

3.恢复、flash固件

恢复固件的方法:将firmware_backup.bin上传到/tmp目录中,然后执行


mtd -r write /tmp/firmware_backup.bin firmware

  • 1
  • 2
  • 3

此过程路由器将会重启

flash到其他设备的方法:直接在luci界面中升级固件选项flash即可。

 

TP-LINK TL-WR720N V3 OpenWrt 南浦月 固件下载

固件信息

系统名称 OpenWrt
路由型号 TP-Link TL-WR720N v3
固件版本 OpenWrt Barrier Breaker r35420 / LuCI Trunk (trunk+svn9664)
内核版本 3.7.5
编译时间 2013年2月2日
编译者 南浦月
TL-WR720NTL-WR720N

固件特性

调整:

  • 默认中文
  • 默认UTC+8时区
  • 默认Bootstrap主题
  • 默认无线开启

修正:

  • 修正实时信息界面的错别字(“链接”应作“连接”)

其他:

  • 默认使用自建软件源,解决安装内核模块时版本不一致的问题(配置文件在/etc/opkg.conf)

opkg配置opkg配置

下载地址

提供两个定制版本下载,一个usb扩展版,一个mini最小化版,原厂固件刷“factory”,已经是OpenWrt的刷“sysupgrade”。
usb版:
http://files.nanpuyue.com/openwrt/ar71xx/tl-wr720n-v3/usb/openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin
http://files.nanpuyue.com/openwrt/ar71xx/tl-wr720n-v3/usb/openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin
md5校验值:

a85c09fd6ee80661a7170c2cab145b3a    openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin7979c3ddaaea325b707f8d8e55ebb5ff    openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin

刷机前请仔细核对。
mini版:
http://files.nanpuyue.com/openwrt/ar71xx/tl-wr720n-v3/mini/openwrt-ar71xx-generic-tl-wr720n-v3-jffs2-factory.bin
http://files.nanpuyue.com/openwrt/ar71xx/tl-wr720n-v3/mini/openwrt-ar71xx-generic-tl-wr720n-v3-jffs2-sysupgrade.bin
http://files.nanpuyue.com/openwrt/ar71xx/tl-wr720n-v3/mini/openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin
http://files.nanpuyue.com/openwrt/ar71xx/tl-wr720n-v3/mini/openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin
md5校验值:

9dfdb11af85642d3d5b911a45db61a9d    openwrt-ar71xx-generic-tl-wr720n-v3-jffs2-factory.bin453122a31c987e9a9627de6cffae86f0    openwrt-ar71xx-generic-tl-wr720n-v3-jffs2-sysupgrade.bin2e57317dd55514b131fa2307ce2341ed    openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin9648d237485802f27b35b460fcd817f4    openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin

刷机前请仔细核对!
Image Builder:
http://s.yunio.com/mMriUr(云诺)
文件名:openwrt_image_builder_ar71xx_x64_2013-2-4.tar.gz

md5校验值:c1562373db6a340f84f566cd26b29a33

云诺注册邀请

https://www.yunio.com/index/url/code/UWcvTGJ3VkVraTdLRWlhaENJai9Wc1dpKzNxclFFRW05ZktiZ3VtaXpvZ1N0Ylpqa3FuR3RvQQ==

USB版固件设置U盘扩展

首先,我并不推荐exroot,这里介绍的方法是将U盘挂载到/overlay的方法。
先将U盘分区,这里提供的固件并没有集成分区工具,所以不能完成分区,当然你也可以不分区,这样整个U盘就是一个分区。
然后格式化要挂载的分区格式化为ext4,可以在Linux系统的电脑上完成,也可以在路由器上完成。假设这个分区是/dev/sda1(如果没有分区,它可能是/dev/sda),则使用下面的命令完成格式化:

mkfs.ext4 /dev/sda1

然后就可以将其挂载点设置为/overlay了:
挂载到overlay挂载到overlay
设置好后点“保存&应用”并重启即可,如果不想重启后其他设置恢复初始值,可以在重启前备份设置,并在重启后以恢复备份文件即可。
另外要注意的是,如果U盘没有被挂载到/overlay,而是/tmp/overlay-disabled,请删除/tmp/overlay-disabled/etc/extroot.md5sum后重启。

设置40MHz频宽

默认的无线是20MHz的频宽,我没有更改默认设置,但是这样无线速率最高只有150M的一半,如果想要150M的无线速率,要将频宽设置为40MHz:
OpenWrt-40MHzOpenWrt-40MHz
“HT模式”选“40MHz HT40-”和“40MHz HT40+”均可,下面的“强制40MHz频宽”不是必须的,但是不勾选的话可能造成客户端仍以20MHz频宽连接。

Image Builder使用方法

由于我是在64位系统上编译的,所以这个Image Builder也是64位的,使用时解压,终端进入解压所得文件夹。
显示帮助信息:

make help

上面提供下载的固件分别是用下面的命令生成的:
usb版

make image PROFILE="TLWR720" PACKAGES="luci luci-theme-bootstrap luci-i18n-chinese kmod-usb-storage kmod-usb-storage-extras kmod-usb2 kmod-fs-ext4 kmod-fs-ntfs kmod-fs-vfat e2fsprogs block-mount" FILES=files/

mini版

make image PROFILE="TLWR720" PACKAGES="luci luci-theme-bootstrap luci-i18n-chinese -kmod-usb2 -kmod-usb-core" FILES=files/

PROFILE=后跟的参数是要生成固件的路由器型号,使用make info可以查看可用型号列表,PACKAGES=后的参数是在默认软件包的基础上要添加或删除的软件包,软件包名前加减号表示删除,FILES=后则是要在固件中额外添加的文件。

相关文章
  • 1. TPLINK-WR720N刷openwrt
  • 2. TPLINK 3G+MINI WIFI路由器TL-WR703N刷OpenWRT固件教程
  • 3. OpenWRT刷固件
  • 4. TPLINK WR-703N刷openwrt心得
  • 5. tplink openwrt路由重置
  • 6. 编译Openwrt固件
  • 7. 烧写Openwrt固件
  • 8. 编译TPLINK WR703Nv1 8M trunk固件
  • 9. 固件挂载
  • 10. 利用OpenWRT的Image Builder修改生成不同大小ROM固件 4MB改8MB 为固件添加package
  • 更多相关文章…
  • (转)TP-LINK WR720N v3 刷OpenWrt

    Posted on 2018-09-13 17:41  ricks  阅读(18275)  评论(0)  编辑  收藏

    之前买了一台改过硬件的TP-Link WR841N-V7路由器,并且成功刷机OpenWrt也完成了翻墙,WR841N-V7的更多详情可以看这里,但是可能卖家焊接的有问题,导致老是听到滋滋滋高频率的赤耳声音,很不爽,因此无奈拿起之前的TL-WR720N V3,这台内存小,存储空间小的路由器,捣腾起来,没想到,踩了一天的坑,总算是完美翻墙。


    本文不会再提到坑的过程,有些地方稍微点下,主要是步骤。


    刷完并完成挂载后

    I. 选用固件

    II. 刷入目标OpenWrt

    没有刷过OpenWrt的路由器

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

    刷过OpenWrt的路由器

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

    III. 修改默认源为国内源

    替换为: http://mirrors.ustc.edu.cn/openwrt 这个源,速度飕飕的。
    最后几行是根据ShadowSocks安装该官方文档添加的源,方便后面shadowsocks安装。

    openwrt 使wget支持https下载

    添加ssl支持
    wget: SSL support not available, please install one of the libustream-.*[ssl|tls] packages as well as the ca-bundle and ca-certificatespackages.
    
    opkg update
    opkg install libustream-openssl
    opkg install ca-certificates

    1). ssh连上openWrt

    2). 修改/etc/opkg.conf文件内容为:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    dest root /
    dest ram /tmip
    lists_dir ext /var/opkg-lists
    option overlay_root /overlay
    src/gz barrier_breaker_base http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ar71xx/generic/packages/base
    src/gz barrier_breaker_luci http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ar71xx/generic/packages/luci
    src/gz barrier_breaker_packages http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ar71xx/generic/packages/packages
    src/gz barrier_breaker_routing http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ar71xx/generic/packages/routing
    src/gz barrier_breaker_telephony http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ar71xx/generic/packages/telephony
    src/gz barrier_breaker_management http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ar71xx/generic/packages/management
    src/gz barrier_breaker_oldpackages http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ar71xx/generic/packages/oldpackages
    #shadowsocks
    src/gz openwrt_dist http://openwrt-dist.sourceforge.net/releases/ar71xx/packages
    src/gz openwrt_dist_luci http://openwrt-dist.sourceforge.net/releases/luci/packages

    IV. 挂载u盘(参考加菲猫的博客进行调整,优化)

    1). 安装包

    1
    2
    opkg update
    opkg install kmod-usb-ohci kmod-usb2 kmod-fs-ext4 kmod-usb-storage block-mount kmod-nls-base kmod-nls-cp437 kmod-ipt-nat-extra iptables-mod-nat-extra

    ps: 安装过程中会提示: kmod: failed to insert /lib/modules/…的错误,不要管,回头重启就好了。

    2). 现在关闭路由器

    运行 df,会发现rootfs只剩下40k左右。

    3). 准备

    1. 格式化准备好的u盘为ext4,并插入路由器的usb口。
    2. 将路由器模式开关调为3g,开启路由器。
    3. 等到路由器灯不闪了,ssh登录路由器。

    4). 挂载操作

    1. 运行ls /dev/sda*,如果显示/dev/sda /dev/sda1 ...,说明u盘已经认出来了。否则拔出来格式化下。
    2. 接着运行
    1
    2
    block detect > /etc/config/fstab
    vim /etc/config/fstab

    修改内容为(uuid不要改动)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    config ‘global’
    option anon_swap ‘0’
    option anon_mount ‘0’
    option auto_swap ‘1’
    option auto_mount ‘1’
    option delay_root ‘5’
    option check_fs ‘0’
    config ‘mount’
    option target ‘/overlay’
    option uuid ‘4a639f83-8137-f649-0f2c-79d66189a4ca’
    option fstype ext4
    option options rw,sync
    option enabled ‘1’
    option enabled_fsck 0
    config ‘swap’
    option device ‘/dev/sda2’
    option enabled ‘1’

    接着把4M文件系统中的文件拷贝到u盘

    这么做附带是,能够从u盘重启失败,把u盘拔出来,还是可以通过路由器4M闪存进入系统操作

    1
    2
    3
    4
    5
    6
    7
    8
    mkdir /mnt/sda1
    mount /dev/sda1 /mnt/sda1
    mkdir -p /tmp/cproot
    mount –bind / /tmp/cproot/
    tar -C /tmp/cproot/ -cvf – . | tar -C /mnt/sda1 -xf –
    umount /dev/sda1
    umount /tmp/cproot
    echo option force_space >> /etc/opkg.conf

    重启路由器

    5). 挂载最后的配置

    1. 通过网页输入路由器ip进入luci
    2. 选择system->mount point,可以看到rootfs已经变为U盘的大小
    3. 最后的swap那边,勾选enable
    4. 在Mount points,找到/dev/sda1那行,点击删除
    5. 在Mount points后面点击添加
    6. 选择/dev/sda1,文件系统选择ext4,这时候会出来一个选项,设置为rootfs,选中它,再选中启用
    7. 保存并应用

    6). 挂载最终效果

    V. 安装chinadns和shadowscks

    参考 ShadowSocks安装

    1). 安装ipset

    1
    2
    opkg update
    opkg install ipset

    ps: 安装过程中如果提示kmod:failed to insert /lib/modules/...的错误不用管他。

    好了以后,重启路由器。

    2). ssh登录路由器,安装软件

    1
    2
    3
    4
    5
    6
    7
    8
    opkg update
    opkg install libpolarssl
    opkg install resolveip
    opkg install luci-i18n-chinese
    opkg install ChinaDNS
    opkg install luci-app-chinadns
    opkg install shadowsocks-libev-spec
    opkg install luci-app-shadowsocks-spec

    3). 通过路由器ip登录 luci,可以将luci修改为中文

    选用system -> system -> language 选择中文
    重启路由器

    VI. 配置shadowsocks和chinadns

    1). 通过路由器ip访问luci

    2). 配置ChinaDNS

    进入 服务->ChinaDNS 修改上游服务器为:

    1
    223.6.6.6,123.125.81.6,114.114.115.115,114.114.114.114,8.8.4.4,127.0.0.1:5151

    3). 配置Shadowsocks

    1. 进入 服务->ShadowSocks 配置好全局配置,UDP转发 选择勾选。
    2. UDP本地端口保证与ChinaDNS中 上游服务器 中设置的本地的端口一样: 5151。

    4). DHCP/DNS设置

    4个是为了保证稳定性,否则经常会出现解析失败导致网页无法打开,

    网络->DHCP/DNS设置->基本设置->DNS转发设置为:

    这里确实是#号

    1
    2
    3
    4
    127.0.0.1#5353
    127.0.0.1#5353
    127.0.0.1#5353
    127.0.0.1#5353

    基本设置->HOST和解析文件

    1. 忽略解析文件 打勾
    2. 忽略HOSTS文件 打勾

    5). 更新ChinaDNS过滤ip

    /etc/chinadns_chnroute.txt 替换为 服务->ChinaDNS中的 国内路由表 地址

    1
    2
    3
    opkg update
    opkg install libcurl curl
    curl ‘http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest’ | grep ipv4 | grep CN | awk -F\| ‘{ printf(“%s/%d\n”, $4, 32-log($5)/log(2)) }’ > /etc/chinadns_chnroute.txt

    计划,每天凌晨4点更新下

    1
    4 * * * curl ‘http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest’ | grep ipv4 | grep CN | awk -F\| ‘{ printf(“%s/%d\n”, $4, 32-log($5)/log(2)) }’ > /etc/chinadns_chnroute.txt

搭建openwrt本地源(8.7更新,使用openwrt的http服务)

本帖最后由 丰花 于 2015-8-9 21:32 编辑

众所周知,openwrt的ipk源速度很慢,而且还经常抽风,所以最近论坛里涌现出了一些好心人搭建的国内ipk源,来决解这一问题,但是别人的总归是别人的,虽然我相信好心人的人品,但是人品好不能决解各种意外不是吗?今天机房挂了,明天刷机网络没连上,后天。。。

所以拥有自己的ipk源才是最好的,而当中最好的当然是本地搭建的啦,

那么如何搭建属于自己的本地ipk源呢,为此google ,baidu了一下,发现已经后很多的前辈的教程:
树叶的blog           http://www.shuyz.com/setup-openwrt-package-src-mirror.html
还有这一篇           http://www.52pi.net/forum.php?mod=viewthread&tid=1419

下面是我的自己根据上面那两篇教程总结折腾的过程:
1、下载官方ipk
因为我拥有一个vps,所以我使用的是树叶的blog里面的py脚本把所有的ipk都抓取到后,下载回来的。当然你也可以使用idm来直接批量下载会本地,或者其他的下载工具。
 修改画红线的下载地址,下载到文件夹名就可以。

2、搭建本地http服务器(有两种方法)    1) 使用hfs搭建本地http服务器
官方地址:http://www.rejetto.com/hfs/?f=dl
使用hfs 的原因是无需安装,双击即用。
将第一步下载到本地的所有ipk都拖到hfs里面,hfs会自动生成一个本地地址。

2) 直接使用openwrt的http服务
单单只是路由的空间是不够存放400多M的ipk的,所以我们需要借助挂载的U盘,将ipk放到U盘上,然后一个个文件夹软链接到openwrt上的   /www  目录里
方法是:ln -s 源目录 目标软连接,
            ln -s /mnt/sda4/ar71xx/base /www/base        #我的U盘在openwrt上的目录是 /mnt/sda4

            

3、将第二步里生成的本地地址贴到  luci界面中  系统–软件包–配置,如图:
1)
 保存好后,ssh上去opkg update 再看看速度和时间。。

2)根据自己路由的地址,修改ipk源地址。比如我的路由是 192.168.1.1
   保存好后,ssh上去opkg update

3.PNG (52.78 KB, 下载次数: 0)

下载附件  保存到相册

2015-8-7 13:02 上传

到此属于你的本地ipk源已经搭建完成,enjoy{:soso_e100:}

补充:1、如果你和我一样使用的是 chaos_calmer/15.05-rc2/ar71xx/nand 的源,
那么这里有我已经下载回来的,链接: http://pan.baidu.com/s/1kTGgZzh 密码: jfek
2、如果你使用的不是chaos_calmer的源,那么你只要去相应的ipk源里面的下载 OpenWrt-ImageBuilder-ar71xx-nand.Linux-x86_64.tar.bz2这个压缩包就可以,里面包含了相应版本的所有的ipk。
理论上,所有版本的OpenWrt-ImageBuilder压缩包里面都包含了该版本所有ipk的,但是不知道为什么chaos_calmer就没有包含,看包大小就知道啦{:soso_e137:}
最后,为了让更多的人看多并学会搭建本地ipk源,教程内容设置回帖可看{:soso_e113:}

Openwrt 国内源配置

第一步:获取国内软件源地址

中国科技大学教育网官方主镜像网站:

http://mirrors.ustc.edu.cn/

清华大学开源软件镜像站:

https://mirrors.tuna.tsinghua.edu.cn/

第二步:找到软件包路径

上面提到的两个网站中软件包所在的开源项目名称为lede(清华的那个里面有openwrt,里面只有15.xxx版本的),进入页面后会有OpenWrt 18.06.4的链接,但是这里有个坑需要跳一下:

  1. 进入链接以后默认路径是http://mirrors.ustc.edu.cn/lede/releases/18.06.4/targets ,这里只有一个软件目录在这里
  2. 其他的软件包路径在上一级目录(这个地方之前找了好久,还以为不对,原来需要到上一级),在http://mirrors.ustc.edu.cn/lede/releases/18.06.4/packages 里面

第三步:替换Openwrt软件源

方法一

进入系统直接修改配置文件

vim /etc/opkg/distfeeds.conf

对应路径替换为如下:
src/gz openwrt_core http://mirrors.ustc.edu.cn/lede/releases/18.06.4/targets/x86/64/packages
src/gz openwrt_base http://mirrors.ustc.edu.cn/lede/releases/18.06.4/packages/x86_64/base
src/gz openwrt_luci http://mirrors.ustc.edu.cn/lede/releases/18.06.4/packages/x86_64/luci
src/gz openwrt_packages http://mirrors.ustc.edu.cn/lede/releases/18.06.4/packages/x86_64/packages
src/gz openwrt_routing http://mirrors.ustc.edu.cn/lede/releases/18.06.4/packages/x86_64/routing
src/gz openwrt_telephony http://mirrors.ustc.edu.cn/lede/releases/18.06.4/packages/x86_64/telephony

方法二

进入openwrt的管理页面,选择 系统–>软件包–>配置OPKG,在opkg/distfeeds.conf部分替换对应国内源地址,最后点击保存即可openwrt opkg

第四步:更新软件包列表

在命令行直接执行:

opkg update

或者在管理页面点击更新列表openwrt opkg

使用命令更新:

中国科技大学教育网官方主镜像网站:

http://mirrors.ustc.edu.cn/

OpenWrt源教育网高速镜像站点:

http://openwrt.proxy.ustclug.org/

清华大学开源软件镜像站:

https://mirrors.tuna.tsinghua.edu.cn/

替换及还原方法:

以mirrors.tuna.tsinghua.edu.cn镜像站为例:

  1. sed i ‘s/downloads.openwrt.org/mirrors.tuna.tsinghua.edu.cn\/lede/g’ /etc/opkg/distfeeds.conf #替换
  2. sed i ‘s/mirrors.tuna.tsinghua.edu.cn\/lede/downloads.openwrt.org/g’ /etc/opkg/distfeeds.conf #还原

 

OpenWrt的web服务器 uhttpd

我们登录的路由器主界面就是通过这个软件指定了80端口来访问的。我们要添加自己额外的网站服务,那只需要重新定义一个端口即可。我定义了一个88端口作为网站端口。找到uhttpd的配置文件添加以下文字即可

1
2
3
4
config 'uhttpd' 'webfile'
list 'listen_http' '0.0.0.0:88'
option 'home' '/mnt/sda1/webfile'
option 'cgi_prefix' '/cgi-bin'

上面的配置我将网站的主目录指定到了我一盘的第一分区中的webfile文件夹中

这时你需要重启uhttpd程序,那么你的网站服务器就算搭好了。你把你的网站放入webfile文件夹中。直接通过您的域名:88就可以访问了。这个有什么用处呢就看个人发挥啦。网站类型太多了,目前正在搞苹果程序开发,也没时间去捣鼓网站的事情。网站既然搭好了也不能不用吧。直接丢了几首歌曲在里面。

如果直接丢一个网页进去,效果图如下:

具体步骤:

1、配置文件修改

在配置文件中增加:

1
2
3
4
config uhttpd 'webfile'
list listen_http '0.0.0.0:88'
option home '/root/sda1/webfile'
option cgi_prefix '/cgi-bin'

2、添加设计好的网页

包括htm文件和同名文件夹,可直接网上下载一个英文网页测试用。

3、添加index.html文件

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="refresh" content="0; URL=/cgi-bin/luci" />
</head>
<body style="background-color: black">
<a style="color: white; text-decoration: none" href="/cgi-bin/luci">LuCI - Lua Configuration Interface</a>
</body>
</html>

其中,”/cgi-bin/luci”处填写自己要跳转到的网页。例如可以添加

/CCTV%20News%20-%20China,%20World,%20Biz,%20Video,%20Live%20events%20-%20English_CCTV_com.htm

文件包括

4、保存,重启uhttpd

1
/etc/init.d/uhttpd restart

本文章由作者:佐须之男 整理编辑,原文地址: OpenWrt的web服务器 uhttpd

TP-Link WR703N升级64M内存+外接SMA天线+刷OpenWRT

TP-Link WR703N升级64M内存+外接SMA天线+刷OpenWRT(1)硬件介绍

这一系列博客主要涉及以下内容:

1、硬件升级改造

2、配置openwrt

3、挂载U盘EXTROOT

4、Goagent,你懂的

5、挂载摄像头

6、USB声卡

7、WR703N超频

8、与Arduino的应用

……还有很多应用,主要看业余时间了……

 

去年TP-Link WR703N 3G无线路由器刚推出来时,俺就马上买了一台,家用、出差带着确实很方便。因为这个路由采用了AR9331的方案,所以网上有很多对其进行改造刷机的文章。通过改造,这个小路由器可以当作BT机、网络摄像头、声卡…………

最近想对这个名片大小的路由器改造一番,以便充分挖掘这个小东西的潜力。从网上查了一下。TP的马甲水星的迅捷都有一样的产品。它们的硬件设计完全一样,只是外观及界面和品牌不同。关键是TP马甲的价格要便宜一些。于是从网上选了水星的MW151RM3G路由器。

到手之后,连电都没加,马上拆开外壳。水星的这个3G路由器外壳要比703N好拆很多。

上面的图是水星MW151RM3G路由器的正反面PCB电路板。从图中可看到,路由器的版本是V1.1的。

这个路由器的内存,DDR的,容量是32MB

 

4MB Flash ROM。启动程序存在这里面。

 

Atheros的AR9331-AL1A处理器。主频400MHz

水星MW151RM3G路由器与TP-Link WR703N路由器的硬件基本是一模一样的。要想充分发挥这个路由器的潜质,网上硬件改的主要是从这几个方面着手:

1、升级原有的4MB SPI FLASH,可以升级到8MB,更大的Flash容量可以使Flash里装更多的程序;

2、升级RAM,从32MB升级到64MB。这样在带更多客户端时,CPU的压力会减小很多;

3、引出TTL针脚,可以通过TTL刷机或通过TTL与更多的硬件连接,完成别的应用;

4、AR9331 超频。主要是通过重新编译OpenWRT代码来实现。超频幅度很可观;

5、引出SMA天线插座。外接天线,可以在一定程度上扩大这个路由器的无线覆盖范围;

6、外扩USB HUB芯片,通过自带的USB接口,再加上USB HUB芯片,可以扩充这个路由器的USB接口数量,以便同时接更多的USB外设。这个功能也可以通过直接外接成品USB HUB来实现。USB接口丰富之后,可以接更多的USB设备,以完成更多的功能,如脱机下载、网络监控等。

 

硬件改造主要是上面六点。而在扩充内存、挂接EXTROOT之后,这个路由器就可能通过安装不同的软件,来实现更多功能。

 

TP-Link WR703N升级64M内存+外接SMA天线+刷OpenWRT(2)升级内存

一开始,是要先升级8M SPI FLASH和64MB DDR内存。

升级之前,当然要先做些功能。要查一下什么样的颗粒才是适合这个路由器的。DDR内存的型号可以在这里查到:http://wiki.openwrt.org/toh/tp-link/tl-wr703n.默认使用DDR400的内存芯片,当然DDR333超频到DDR400也是很稳定滴。

型号 厂商
DDR 32Mx16 HY5DU121622DTP-D43 Hynix
DDR 32Mx16 HY5DU121622CTP-D43 Hynix
DDR 32Mx16 HY5DU121622DTP-D43-C Hynix
DDR 32Mx16 H5DU5162ETR-E3C Hynix
DDR 32Mx16 K4H511638G-LCCC Samsung
DDR 32Mx16 K4H511638J-LCCC Samsung
DDR 32Mx16 A3S12D40ETP-G5 Zentel
DDR 32Mx16 NT5DS32M16BS-5T Nanya
DDR 32Mx16 P3S12D40ETP-GUTT Mira
DDR 32Mx16 MT46V32M16TG-6T:F Micron
DDR 32Mx16 MT46V32M16P-6T:F Micron
DDR 32Mx16 HYB25D512160CE-6 Qimonda
DDR 32Mx16 HYB25D512160CEL-6 Qimonda
DDR 32Mx16 HYB25D512160DE-6 Qimonda
DDR 32Mx16 HYB25D512160BE Infineon
DDR 32Mx16 EDD5116ADTA-6B-E Elpida

 

市面上这种老的DDR1颗粒肯定是不好找了。俺手里的老DDR1的内存,是8位的,也用不了。

不过在二手市场上,这种条子很普遍,价格也便宜。在中关村最常见的是现代HY5DU121622DTP-D43(DDR400)和HY5DU121622CTP-D43(DDR333)颗粒的条子。 

而8M的MX25XXXXX颗粒,型号是MX25L6445EM2I-10G。

升级DDR内存时,可以直接把703N原来的内存颗粒焊下来,把新的换上去即可。

而SPI FLASH颗粒,则需要先用别的编程器,把firmware写进去,然后再更换FLASH颗粒即可。

问题来了,俺手里现有的25XXX编程器是老式的,不支持。于是自己找电路图做了两个,谁知道人品很差。做的两个都没成功,而国外那个SPIFLASH编程软件的IO.DLL在WIN7下提示有问题……临近中秋国庆,从网上买是不太可能了。于是打算先不换SPI的FLASH芯片。

考虑到挂载USB设备后,可以加载EXTROOT,把程序都放到U盘或SD卡里,于是就暂时没有再换FLASH的想法了。

从二手市场买了几条现代HY5DU121622DTP-D43(DDR400)和HY5DU121622CTP-D43(DDR333)颗粒的台式机条子。用这种颗粒的内存条一般是512M的,单面,一条内存上有8个颗粒。在买的时候,有条件的话还是让卖家试一下机,以免出现问题都没处哭去,毕竟这种内存都有10年的历史了。现在想在身边找个用DDR1内存的电脑跟买彩票中奖的概率应该差不多。

手术步骤:

1、先把颗粒从内存条上用热风机吹下来,温度在350-370度就可以,速战速决。要不然高温可能会增加内存损坏的概率。

注意检查内存IC的脚,不要有焊锡粘连。

2、把703N的32MB内存用热风枪吹下来。加焊膏后,用烙铁把原来的焊盘清理一下,注意各脚之间不能有任何粘连。对准方向后,把64MB的内存颗粒脚与焊盘对齐,用热风枪焊好颗粒。

热风枪吹下的32MB DDR内存。

焊好的64MB DDR内存。

上面两个图片是清理焊膏后的效果图。手艺还不错吧,哈。

3、焊完内存颗粒之后,在加电之前,要拿放大镜仔细检查各脚之间是否有焊锡粘连,以及是否有虚焊等问题。

确认没任何问题之后,再加电。

上电之后,路由器正常工作。内存升级完成~~~~

下一步,就是要进行刷机操作了。当然,刷机操作在升级硬件之前也是可以滴。

http://iteyes.blog.sohu.com/240058202.html