准备工作
- 淘宝购买:USB转TTL-CH340模块、杜邦线、排针。
https://detail.tmall.com/item.htm?id=525204252260&spm=a1z09.2.0.0.19dc2e8doubZVx&_u=blagqs130b
https://detail.tmall.com/item.htm?id=556440560831&spm=a1z09.2.0.0.19dc2e8doubZVx&_u=blagqs9af4&skuId=3609082827939 - padavan固件下载地址:https://eyun.baidu.com/s/3pLMbUqR?errno=0&errmsg=Auth Login Sucess&&bduss=&ssnerror=0&traceid=#sharelink/path=%2F2019-7-2&parent_path=%2FPadavan
根据你的路由器型号,下载相应的版本,如:- 小米路由器3,下载:MI-3_3.4.3.9-099.trx
- 小米路由器3G和小米路由器4,下载:MI-R3G_3.4.3.9-099.trx
注:小米路由器4 和小米路由器3g的区别,就是阉割了128M内存和usb口,所以小米路由器4直接使用小米3g的版本即可。
- breed下载地址:https://breed.hackpascal.net/
小米路由器3不支持刷Breed,小米路由器4使用小米路由器3G版本的breed:breed-mt7621-xiaomi-r3g.bin 2018-12-29 18:02 103K - 电脑安装好TFTP软件
MAC下一款很好用的tftp软件:http://ww2.unime.it/flr/tftpserver/TftpServer.dmg
开始干活
-
焊接TTL接口排针
RX接路由器TX,TX接路由器RX,GND接GND,剩下一个不接。
-
连接好电脑、路由器、USB转TTL模块
用网线把路由器和电脑连接起来,电脑IP设置为192.168.1.3。
把Usb接口插入电脑,首先看看系统分配的是哪个串口号。然后配置好SecureCRT,选择这个串口设备,速率填写:115200。 -
通过TTL进入路由器uboot命令行
小米路由器第一次启动时,会往uboot 配置(nvram)里写入 uart_en=0 ,这样导致uboot引导后,不接受ttl输入,只能查看,从而没法从ttl刷机了。
解决方法:
如果小米路由器还能正常使用,给小米路由器通电,进入路由器管理界面,选择恢复出厂设置。
SecureCRT应该可以看到数据了,在uboot引导时候,不停按键盘 4 键(即进入uboot 命令行),如下: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. 7: Load Boot Loader code then write to Flash via Serial. 9: Load Boot Loader code then write to Flash via TFTP.
如果不成功,则看到引导原厂固件时候,会有提示擦除nvram(erase nvram),这时候果断拔电,再插上,就能成功进入 uboot命令行了
如果还不成功,就重复以上恢复出厂设置的操作。 -
让uart ttl口一直有效
进入uboot命令行以后,输入:
setenv uart_en 1
saveenv
如下图:
-
小米路由器4刷Breed
如果你是小米路由器3,请直接跳到第11步。
开启tftpd,把breed-mt7621-xiaomi-r3g.bin 重命名为1.bin(为了方便)
路由器拔电,再插电, 同时在引导界面按9,如下: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. 7: Load Boot Loader code then write to Flash via Serial. 9: Load Boot Loader code then write to Flash via TFTP. You choosed 9 9: System Load Boot Loader then write to Flash via TFTP. Warning!! Erase Boot Loader in Flash then burn new one. Are you sure?(Y/N) Please Input new ones /or Ctrl-C to discard Input device IP (192.168.31.1) ==: Input server IP (192.168.31.3) ==: Input Uboot filename (uboot.bin) ==:uboot.bin
设置IP,直接回车默认就行。第三个是输入要刷入的 TFTP 服务器上的文件名,回车后, 开始uboot刷机,如下:
TFTP from server 192.168.31.33; our IP address is 192.168.31.1 Filename 'uboot.bin'. TIMEOUT_COUNT=10,Load address: 0x80100000 Loading: Got ARP REPLY, set server/gtwy eth addr (00:xx:xx:xx:xx:xx) Got it ##################### done Bytes transferred = 105490 (19c12 hex) LoadAddr=80100000 NetBootFileXferSize= 00019c12 ..ranand_erase: start:0, len:20000 .(5192)offs=0 piece=0 piece_size=105490 rc=0 Done!
接着会直接引导breed
Boot and Recovery Environment for Embedded Devices Copyright (C) 2018 HackPascal <[email protected]> Build date 2018-12-29 [git-135bed9] Version 1.1 (r1266) DRAM: 128MB Platform: MediaTek MT7621A ver 1, eco 3 Board: Xiaomi R3G Clocks: CPU: 880MHz, DDR: 1200MHz, Bus: 293MHz, Ref: 40MHz Environment variables @ 00060000 on flash bank 0, size 00020000 Flash: Toshiba NAND 128MiB 3.3V 8-bit (128MB) on mt7621-nfi.0 mt7621-nfi.0: Found Fact BBT at block 1023 (offset 0x07fe0000) mt7621-nfi.0: Block 768 (offset 0x06000000) is marked as bad block in Fact BBT rt2880-eth: MAC address from EEPROM is invalid, using default settings. rt2880-eth: Using MAC address 00:0c:43:00:00:01 eth0: MediaTek MT7530 Gigabit switch Network started on eth0, inet addr 192.168.1.1, netmask 255.255.255.0 Press any key to interrupt autoboot ... 0
这样就完成了,breed刷好了
-
使用Breed界面,刷Padavan固件
- 把电脑ip设为192.168.1.2。
- 路由器断电,按住重启按纽,插电,等6-10秒,松开重启按纽。
- 在浏览器输入192.168.1.1,就可以打开Breed Web界面了。
固件更新,选择下载好的Padavan固件文件,开始刷机。
-
小米路由器4有坑,刷完Padava后,wan口是物理接口lan2口,需要把光猫线接lan2口。
Padavan 默认配置
路由器IP:192.168.123.1
管理账号:admin/admin
wifi密码:1234567890 -
小米路由器3刷Padavan固件
开启tftpd,把Padavan固件放到tftp目录。
路由器拔电,再插电,同时按2,如下: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. 选择 2 ,然后要马上按Y,才会进入tftp刷机模式。 2: System Load Linux Kernel then write to Flash via TFTP. Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Please Input new ones /or Ctrl-C to discard Input device IP (192.168.1.1) ==: Input server IP (192.168.1.3) ==: Input Linux Kernel filename () ==:
设置IP,直接回车默认就行。第三个是输入要刷入的 TFTP 服务器上的Padavan固件文件名。
回车后,如果你的输入都对的话,接下来就是自动的往路由器写入固件了,完成后,路由器会自动重启。