写在救砖之前
路由器TTL救砖,好多网友反映看到信息,无法选择,眼睁睁的看启动菜单滚过去,一次又一次。
详细的视频教程我已经上传到西瓜、今日头条和哔哩哔哩。估计就这两个网站能接受几百兆的视频
视频地址如下:
【路由器黄灯救砖--保姆级教程 - 今日头条】https://m.toutiao.com/is/RVCre3D/
保姆级救砖教程---路由器黄灯,解决无法选择启动选项众多实操小技巧
就在回忆实操记录发布之前,我发现了一个资料。
[OpenWrt Wiki] OpenWrt 安全模式
先交代犯罪过程:
刷完了某个大神的老毛子(俄国人)固件(pandavan)跟潘多拉(PandoraBox)固件可不是一回事,一个扩展名是.trx 另一个是.bin,一般在PB-BOOT里可以通刷。
然后,刷到了最新版的“大大”大神改的固件,设置页面感觉有点卡,后来发现另外一个界面好看点的固件,就想刷刷试试。
在怕打完固件里升级这个固件,上传—写入都很正常,然后重启就变黄灯常亮了,重启、重置、res都不行。网线连接,电脑获取不到IP.
成了黄灯常亮砖。
(以下教程针对黄灯常亮砖,只针对小米路由器3,小米路由器3的其他版本没试过!)
第二天,又耐不住寂寞,刷了个pb-boot带潘多拉系统的小米路由器3,本来好好的,想回复成小米官方,意图再刷别的固件试试。结果在恢复过程中,变砖。
这里要介绍一下,“乐*川”的”小米路由器3潘多拉固件刷机教程”在简书和某网站上,有刷潘多拉的方法,还有回刷官方的教程,等我另一个小米3刷成砖了,到评论区一看一排排的尸体。。。。,但是应该是刷机方法有问题,请大家注意了,这台机器回忆录写完,开始录视频,做保姆教程。
提醒大家,不是追求大而全的功能软件,最好先刷pb-boot(我找到最新的是2019版本的,好像跟2018的兼容问题),否则,你不会来看我的TTL救砖回忆录。
一个月以前,咱还是啥都不懂,再刷完了7-8个路由器,同型号的-------小米3,一发不可收拾。
基本步骤
感觉好简单,但是我弄了一个星期!!!!
注意:我的教程只能解决黄灯一直亮的问题,(灯不亮、红灯请参考实验)
准备工作
硬件准备:
1.淘宝购买:USB转TTL-CH340模块、杜邦线、排针。
我买的是一套的,某大神帖子给的链接。
USB转TTL USB转串口下载线CH340G模块
(加上运费12块,正好一套,3.3V和5V的都有了。
记住这个牌子的,因为这个牌子或者是CH340G的问题,让我那天夜里弄到2点也没弄好,一堆乱码,没有一个能看懂的字,后来查阅大量资料,终于知道啥原因了。这也是为啥要选putty软件的原因。)
收到以后是这样的
2.网线
3.选配
USB延长线(注意供电问题)、带开关的电源插座、一个会计用的计算器
这个妙用我回头排视频再说。哈哈哈哈
软件准备:
必备:putty tftp 刷机固件(最好是潘多拉和老毛子的,不要用OPENWRT的。) CH340串口驱动程序
选配:Xshell 串口助手软件 secureCRT 这几个软件功能貌似跟PUTTY一样,但是我强烈建议用PUTTY,后边你就知道为啥了。
系统准备:
关闭防火墙、杀毒软件、尤其是360
最好断开外网或者其他网络连接,否则会出现莫名其妙的问题
开始干活:
然后撬开四周的卡扣,建议从天线那边往下撬,剥离扇热壳,漏出整个电路板
2. 用网线把电脑连接路由器的lan口连接,路由器先不通电,连接USB转接ttl的线路:
TTL端RX接路由器TX,TTL端TX接路由器RX,GND接GND,剩下一个不接
USB口插到电脑的U口,注意(最好插到电脑主板上的U口,防止电源问题;最好就插着一个口,不要随意换,换的话记住后边软件填写端口的时候,跟着变动。)
ttl 插在板子上即可,最好焊接,购买ttl转usb下载线时,记得叫店家赠送,一头是公头一头是母头的杜邦线,如果两头都是母头的,要用针脚插到路由器相应的孔里,最好要4个一排。
借图
电脑开机(路由器不通电),U口就通电了,这个电路会显示一大一小两个红灯。这说明接触正常(连接主板的针脚,王教授用的会计专业计算器顶住,只要接触紧密没事就好,这时候连接电路板的那个小红色灯常亮就对了),留下一个3.3V的口不用插。
2. 驱动安装
usb转ttl必要软件,不然无法通过ttl连接路由器写入命令,win7以上系统会自动安装,买这个小电板,卖家直接发了驱动连接。安装好之后在设备管理器里看一下端口号,我这里是COM4
修改好ip后在tftp软件选项中选中server interfaces 为 192.168.1.3
借图,中文版的。
我用的英文版的。
这里注意
(因为这个不标准的频率,所以我推荐使用这个PUTTY软件,其他几个软件根据教程来看,无法输入这种不标准的频率,只有115200可以选择)
例如:
串口助手软件
需要拼手速的时候,可以用这个,但是要保证波特率能对上,要不显示的一堆乱码,不知道要干
如上图的样子。
正式开始救砖:
之前,先说说王教授的惨痛经历吧,接通电源以后,就见到哗啦啦一群字符快速往下滚过,然后停顿了一会儿出现“…………………………………….”这时候按键啥都没用,然后又出来一屏的反馈信息,滚动。最后光标定住,还是不能用,不能输入。显示的信息是:
“ -KKKKKK?????jjjj jj-------KKKKKK??¥on jj”5aμ.'?2¥? a±¥1-?¨??Veò3Z?é 4?2i??R ?.=== Fì?.ì?[Y[K?é 128 M?1W?)¥?a5}====??OOOOOR HHHr…1‘ page?3Zˉê’?¢8, ad?.b?1?4?
?μá?¢??CP??–??=?M?j!i#### ?Y.W?+?? memorù?¥é??±&j‰??eso…ys:4, ì??íéé32b¢??…± é32768 ?OOêê= test.?íY[K?ó?ˉV?’?jM? 1..OK…reìk…??} ?é ?·–á000?
Pì¥X???ose the?o…ys:4, lé?Y./§&b¢??…±é?μM&“¨?
?é…?¥?n:
??L'b?…‘3^.Wμ???to?“”5vé?¢QA1??C’òb?…‘syó′Y[?‘?then wré?Y¢?Flá?1
9o?ê+‘B?ˉb?…‘?é code ?¨YYV?±?¥??C¢ò*1?ébo?′?μμ…1‘line i?′Y.V 2¥…???R
??chooó??R oé¥?? to Flaó¨2¥…T???R ? ??C&'??í??#£?¨??¥1?[XV[?‘??ZX2±…í?1
.Don?????1?)μ2??..rá+1‘}?¢,????rr.?'z??íé′???b?unt:20°°R
Imá§Yr…μ?é? í‰K&Jμ…Tù°Y'j%AM Linux??Y.?±IíXVBbéμ… compreó?VI"…?…SéoY'’??4930 L??=?&&ij )
‘‘é?ss: 80°?000?*1?é? Poin?o??’…440
..........?..?...?...?.....?.....?...?........?..?.........?...??............?.? ..?.?..?........?..?........???....?.....??............?.?....?.?..?.?....?..?.? .......?.¤$¢é…1í?erring?£??é?±?ˉb¥1?á¨X..??.....?.?.?.......?.??........?....?.? ## Givé?b¥1?á-Y[?K!*9Uastarte??é?HLinux version 3.4.113 (padavan@hms) (gcc versi on 7.4.0 (crosstool-NG 1.24.0) ) #1 Tue Jul 6 00:25:11 UTC 2021?a1
MediaTek SoC: MT7620A, RevID: 0206, RAM: DDR2, XTAL: 20MHz
CPU/OCP/SYS frequency: 580/193/193 MHz
prom memory:128MB
CPU revision is: 00019650 (MIPS 24KEc)
Determined physical RAM map:
memory: 08000000 @ 00000000 (usable)
Zone PFN ranges:
Normal 0x00000000 -> 0x00008000
Movable zone start PFN for each node
Early memory PFN ranges
0: 0x00000000 -> 0x00008000
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: console=ttyS0,115200n8 root=/dev/mtdblock4 rootfstype=squas hfs
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Writing ErrCtl register=00060cfa
Readback ErrCtl register=00060cfa
Memory: 126236k/131072k available (2827k kernel code, 4836k reserved, 562k data, 192k init, 0k highmem)
NR_IRQS:40
console [ttyS0] enabled
Calibrating delay loop... 385.02 BogoMIPS (lpj=770048)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
bio: create slab at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [mem 0x20000000-0x2fffffff]
pci_bus 0000:00: root bus resource [io 0x10160000-0x1016ffff]
pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
pci 0000:00:00.0: BAR 0: can't assign mem (size 0x80000000)
pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
pci 0000:00:00.0: BAR 9: assigned [mem 0x20100000-0x201fffff pref]
pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff 64bit]
pci 0000:01:00.0: BAR 6: assigned [mem 0x20100000-0x2010ffff pref]
pci 0000:00:00.0: PCI bridge to [bus 01-01]
pci 0000:00:00.0: bridge window [mem 0x20000000-0x200fffff]
pci 0000:00:00.0: bridge window [mem 0x20100000-0x201fffff pref]
PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
Switching to clocksource MIPS
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP: reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
squashfs: version 4.0 (2009/01/31) Phillip Lougher
msgmni has been set to 246
io scheduler noop registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x10000c00 (irq = 20) is a 16550A
Ralink GPIO driver initialized. Number of GPIO: 73, GPIO mode: 00101B1D
loop: module loaded
!!! nand page size=2048, addr len=4
Creating 9 MTD partitions on "ra_nfc":
0x000000000000-0x000000040000 : "Bootloader"
0x000000040000-0x0000000c0000 : "BootEnv"
0x0000000c0000-0x000000600000 : "Factory"
0x000000600000-0x000000740000 : "Kernel"
0x000000740000-0x000001600000 : "RootFS"
0x000001600000-0x000001680000 : "Config"
0x000001680000-0x000001700000 : "Storage"
0x000001700000-0x000008000000 : "RWFS"
0x000000600000-0x000001600000 : "Firmware_Stub"
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky
Ralink APSoC Ethernet Driver v3.2.4 (raeth)
raeth: PDMA RX ring 256, PDMA TX ring 512. Max packet size 1536
raeth: NAPI support, weight 32
raeth: Byte Queue Limits (BQL) support
PPP generic driver version 2.4.2
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPTP driver version 0.8.5
usbcore: registered new interface driver libusual
nf_conntrack version 0.5.0 (16384 buckets, 32768 max)
xt_time: kernel timezone is -0000
Bridge firewalling registered
gre: GRE over IPv4 demultiplexor driver
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP: cubic registered
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
L2TP core driver, V2.0
PPPoL2TP kernel driver, V2.0
8021q: 802.1Q VLAN Support v1.8
ASUS NVRAM, v0.08. Available space: 131072. Integrity: Signature FAILED!
List of all partitions:
1f00 256 mtdblock0 (driver?)
1f01 512 mtdblock1 (driver?)
1f02 5376 mtdblock2 (driver?)
1f03 1280 mtdblock3 (driver?)
1f04 15104 mtdblock4 (driver?)
1f05 512 mtdblock5 (driver?)
1f06 512 mtdblock6 (driver?)
1f07 107520 mtdblock7 (driver?)
1f08 16384 mtdblock8 (driver?)
No filesystem could mount root, tried: squashfs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,4)”
光标到这里就不动了。
尤其是最后两行,让我找了好多资料,也没研究个所以然。
本来想放弃,后来发现波特率的问题,让我换了个角度看问题。
某位大神的某个帖子“注意:如果串口打印有乱码,无法进入启动模式,可能是有些 USB 转 TTL 芯片(如 CH340)波特率有误差导致,可以将波特率改为 117200 或其他波特率尝试。推荐使用 FT232R USB 转 TTL 芯片。”
我把波特率改成了117200,路由器断电,然后没有了乱码,显示出来正常的启动信息。
“U-Boot 1.1.3 (VORTEX)
Board: Ralink APSoC DRAM: 128 MB
Power on memory test. Memory size= 128 MB...OK!
relocate_code Pointer at: 87fb8000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
!!! nand page size = 2048, addr len=4
..============================================
Ralink UBoot Version: 4.2.S.1
--------------------------------------------
ASIC 7620_MP (Port5<->None)
DRAM_CONF_FROM: Auto-detection
DRAM_TYPE: DDR2
DRAM component: 1024 Mbits
DRAM bus: 16 bit
Total memory: 128 MBytes
Flash component: NAND Flash
Date:Apr 15 2016 Time:17:46:32
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768
##### The CPU freq = 580 MHZ ####
estimate memory size =128 Mbytes
Please choose the operation:
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Entr boot command line interface.
9: Load Boot Loader code then write to Flash via TFTP. 0
3: System Boot system code via Flash.
Booting System 2
..ranand_erase_write: offs:40000, count:20000
.Done!
done
## Booting image at bc600000 ...
Image Name: MI-3
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 23349307 Bytes = 22.3 MB
Load Address: 80000000
Entry Point: 802ba440
................................................................................ ............................................”
借图
这几个选项,基本上也是一闪而过,根本不给你机会选择,我想了各种办法,比如说一直按着2键,接通电源,还是一闪而过,不过查看记录,发现有效果,至少选择了2选项了,而且显示出来(Y/N),只不过没机会按住,反正各种方法都徒劳,不多说了,多说都是泪啊。
然后,有一度怀疑人生,考虑便宜把路由器出来或者拆机用零件。
各类方法,如“此时输入tpl三个字母中断启动”、“Ctrl+C”什么的,全部都没用。
第二天,有查了查资料,搞清楚这几个选项是啥意思,就又了想法。
各个选项的解释:
[1]将刷机包(initramfs版)用TFTP刷入RAM中启动(这种方式刷入的系统断电就会失效)
[2]将刷机包(factory版)用TFTP刷入ROM中启动(一般用这个刷固件)
[3]直接启动系统
[4]命令行模式,一般用来设置环境来进行U盘刷机
[7]通过TTL替换当前uboot
[9]通过TFTP替换当前uboot
[注意]
- [7] [9]是刷breed或pd-boot用的,会替换当前uboot,刷uboot后再吧路由器刷成砖就会很麻烦了
- initramfs factory sysupgrade都是openwrt固件编译好后生成的固件
Initramfs版是用来刷入ram的
factory版是初次刷入openwrt用的(刷uboot用这个)
sysupgrade版是更新openwrt用的
作者:不l明l白
链接:https://www.jianshu.com/p/646c98a0a1b4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
路由器默认的是3,所以直接启动了额,因为我们的系统都有问题,所以问题来了。进不了系统,继续黄灯。
我开始实验按键其他选项,然后又参考了几个大神的救砖方法,发现点解决思路。
“通过TTL进入路由器uboot命令行
小米路由器第一次启动时,会往uboot 配置(nvram)里写入 uart_en=0 ,这样导致uboot引导后,不接受ttl输入,只能查看,从而没法从ttl刷机了。
解决方法:
如果小米路由器还能正常使用,给小米路由器通电,进入路由器管理界面,选择恢复出厂设置。
SecureCRT应该可以看到数据了,在uboot引导时候,不停按键盘 4 键(即进入uboot 命令行),如下
————————————————
版权声明:本文为CSDN博主「大风哥的博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/flyhorstar/article/details/95729059”
既然,4是命令行,那我就试试,然后按照如下操作,终于看到了一点希望。
解决问题的关键方法1.
路由器断电状态,配置好并打开putty的操作窗口不要动,然后关键的一步:按住数字键4不松手,另一个手按下排插的电源开关,路由器通电,然后,不到一秒钟就进到了命令行。
(谢天谢地,终于峰回路转有希望了)
借图,上边不是小米3的,大同小异。
然后,出现输入命令窗口
VORTEX #绿色光标块。
输入
通电后按4 然后输入:
setenv uart_en 1
saveenv
分成两行
输入完了,
输入 printenv 查看环境变量设置
看看有没有
serverip=192.168.1.3这个表述
其他很多信息,都是设置的路由器信息。
不方便贴出来。
我的在TTL的时候,电脑右下角连接图标一直是个小红叉叉。
如果没有,这个表述,继续键入命令
setenv serverip 192.168.1.3
在输入 printenv 查看环境变量设置
以上这个设置IP的操作,可能是误打误撞,产生的结果是,TFTP的上传固件,我没注意的时候,老是会变来变去,结果,在我进入刷机程序的时候,忘了查看TFTP的设置,居然也传上去了(每次路由器断电,TFTP的IP会变动)
解决问题的关键方法2.
路由器断电,PUTTY全程不用关闭,然后,按住数字键2不松手,给路由器送电,然后你就能看到,需要你输入(Y/N)的命令行。
当然,也有选择9的,暂时没明白2和9的差别,但是后边输入的命令一样,
以下是某位大神的刷机信息,我的信息被淹没在洪流中,没了。
“
hornet> setenv ipaddr 192.168.1.1 /*设置本机地址*/
hornet> setenv serverip 192.168.1.4 /*设置tftp服务器地址*/
hornet> tftpboot 0x80000000 abc.bin /*下载刷机固件*/
eth1 link down
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.4; our IP address is 192.168.1.1
Filename 'abc.bin'.
Load address: 0x80000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
######################################################
done
Bytes transferred = 3932160 (3c0000 hex) /*成功下载固件,记住括号里文件的大小,我这里刷的是官方的*/
hornet> erase 0x9f020000 +0x3c0000 /*擦除Flash,以0x9f020000为起点,往后0x3c0000个内存单位的空间,注意+号前面有空格*/
First 0x2 last 0x3d sector size 0x10000 61
Erased 60 sectors
hornet> cp.b 0x80000000 0x9f020000 0x3c0000 /*从0x80000000写入固件到0x9f020000,大小为0x3c0000*/
Copy to Flash... write addr: 9f020000
done /*刷机成功!*/
/*以上是刷机时的全程TTL信息*/
————————————————
版权声明:本文为CSDN博主「子瞻1992」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012567926/article/details/44281279
借图
看着这个画面基本上算是救砖成功,正在刷入固件。
然后,有点耐心的等一等,各种滚屏字幕,不要激动,有些地方会稍微停顿一下,直到最后光标不动了,然后你再看一下路由器的灯,变蓝,能搜索到WIFI信号,完工。
下图是,选择9的(借图)
以下是参考救砖教程的链接,部分回忆录借用图片,鸣谢各位大神。
小米路由4 拆机 ttl 刷breed - 小米无线路由器以及小米无线相关的设备 - 恩山无线论坛 - Powered by Discuz!
[UBOOT-TTL]小米路由器救砖或刷机指南(R3P为例) - 简书
R3P TTL 救砖简单教程 - 小米无线路由器以及小米无线相关的设备 - 恩山无线论坛 - Powered by Discuz!
小米路由器3 变砖 ttl 救砖,刷入padavan_haolangtaiye的博客-CSDN博客
小米路由器3/3G/4通过串口(ttl)刷机_七夕小子的博客-CSDN博客
OpenWrt学习笔记之刷机、救砖_子瞻-CSDN博客
斐讯Fir302b救砖教程_weixin_30455365的博客-CSDN博客
DB120WG砖机 TTL修复 +MENTOHUST 教程 - 教程方案专区 - OpenWrt中文网 - Powered by Discuz!
小米路由器3 U-Boot TTL 恢复及一些注意事项 - 小米无线路由器以及小米无线相关的设备 - 恩山无线论坛 - Powered by Discuz!
小米路由器3 TTL救砖后,并刷回官方,美滋滋! - 小米无线路由器以及小米无线相关的设备 - 恩山无线论坛 - Powered by Discuz!
连接TTL线后无法输入代码、不跑码乱码的解决方法_ZNDS资讯
最后,救砖没试过刷PB-BOOT,暂时没见到刷这个教程。
感觉能就回来就可以了,别想那么多。
补充,第二次救砖完毕总结。
视频开始漏掉一个比较重要的步骤,进行选择2,设置刷机前,一定要打开TFTP软件,并选择合适的刷机固件放到TFTP安装后的程序目录里边,命名成短的文件名。
按4键,不松手给路由器通电, 然后输入:
setenv uart_en 1
setenv serverip 192.168.1.3
saveenv
不放心,可以设输入 printenv 查看环境变量设置
然后,路由器断电,按住2键,送电,应该都可以了。
如果还是无法选择,一闪而过,把putty软件关闭,重新配置登陆,同时一定记住设置好TFTP软件。(一断电,这个软件容易恢复成127.0.0.1,注意!)
多重复以上动作,只要是黄灯,应该都没问题。