水星路由器 Mercury MER1200G刷机教程,Archer C5V4刷回原厂固件,串口(TTL)刷机,需要一个USB转TTL工具

1、 准备工作:

硬件工具:

1、USB转TTL CH340模块
2、2.54mm间距4P单排排针
以上东西网上购买即可,2个加起来不到5块钱,还包邮。

软件工具:

1、sscom5.13.exe
2、tftpd32.exe
3、路由器原厂固件
文件下载地址: 提取码:v58c 点击前往

步骤

首先先拆开路由器,在下图画红圈的位置,有4个圆孔,分别是路由器的VCC,RX,TX,GND引脚,就是通常用的串口。在这个位置还有连个银色的焊点,用少量的锡丝短接2个焊点,然后用4P单排排针插入4个圆孔,用电洛铁在电路板背面将排针焊接上。
在这里插入图片描述
4个接口如下图,RX和TX有可能反了,后续步骤串口如果无输出,对调一下就可以了,VCC可以不焊,因为过程用不到。
在这里插入图片描述

开始刷机

a) 电脑网线插入路由器的任意一个LAN接口
b) USB转TTL模块连接电脑和路由器,插上TTL的三根线GND、RX、TX,然后插上路由器的电源。
c) 设置电脑的网络地址为192.168.1.10,255.255.255.0,192.168.1.1,网址不能改其它的,路由器Archer C5V4固件BootLoader中固定的,不能变。
d) 开启PC上的的TFTP服务器软件(tftpd32.exe)
共享网址:192.168.1.10:69
点击Browse设置官方固件所在文件夹
e) 打开Serial工具(sscom5.13)
因为这个软件可以随时调波特率,本款路由器TTL发送的时候需要用115200波特率,接收的数据却是128000波特率。
2、 下载(刷机)模式
路由器电源拔掉,重新上电,迅速在sscom5.13软件界面不断按下数字键4,进入下载(刷机)模式。
在这里插入图片描述

不同路由器固件停止键不一样,Archer C5V4固件按4,原厂固件上电后按Ctrl + B进入下载(刷机)模式。
在这里插入图片描述
SSCOM5.13软件操作
在这里插入图片描述
控制台波特率改为115200,逐条发送以下指令:
// 上传固件到路由器运行内存
tftp 0x80060000 mtd9_firmware.bin
// 擦除flash的内容
erase 0x0 +0x1000000
// 从内存复制数据到flash中
cp.b 0x80060000 0x0 0x1000000
// 重启路由器
reset

大功告成!!!

mtd9_firmware.bin是路由器原厂固件。

知识扩展:
3、 刷机指令:
a) 查看设置环境变量:
printenv
setenv ipaddr 192.168.0.3
setenv serverip 192.168.0.20
b) 恢复系统分区(rootfs)
// 从TFTP服务器下载文件到路由器闪存
tftp 0x80060000 mtd2_rootfs.bin
// 擦除起始位置为0x190000长度为0xBA0000的Flash内存
erase 0x190000 +0xBA0000
// 从闪存0x80060000复制到内存0x190000,长度为0xBA0000
cp.b 0x80060000 0x190000 0xBA0000
// 重启
reset
c) 恢复其它分区:
tftp 0x80060000 mtd1_kernel.bin
erase 0x40000 +0x150000
cp.b 0x80060000 0x40000 0x150000

erase 0xD30000 +0x2D0000
tftp 0x80060000 mtd3_device-info.bin
cp.b 0x80060000 0xD30000 0x10000
tftp 0x80060000 mtd4_firmware-info.bin
cp.b 0x80060000 0xD40000 0x10000
tftp 0x80060000 mtd5_tddp.bin
cp.b 0x80060000 0xD50000 0x10000
tftp 0x80060000 mtd6_log.bin
cp.b 0x80060000 0xD60000 0x20000
tftp 0x80060000 mtd7_rootfs_data.bin
cp.b 0x80060000 0xDF0000 0x200000
tftp 0x80060000 mtd8_art.bin
cp.b 0x80060000 0xFF0000 0x10000

tftp 0x80060000 mtd9_firmware.bin
erase 0x0 +0x1000000
cp.b 0x80060000 0x0 0x1000000

reset

踩坑指南:
1、 擦除内核后修复之路:
a) 想刷入breed,不敢擦原来的bootloader,把内核擦掉了,把breed写入内核的位置,结果开不了机,用USB转TTL连接,波特率128000,引导内核的时候回显:
Bad Magic Number,FFFFFFFF
b) 然后自动回到Uboot控制台:
拯救内核:
1、首先,设备线全拔了,等下重新插
2、然后,插上TTL的三根线GND、RX、TX
3、电脑无关网卡禁用,只留一个有线网卡,插入电脑网线,网线另一端插入路由器的5号LAN接口
4、打开Tftpd32软件,点击Browse设置mtd1_kernel.bin所在文件夹
5、SSCOM软件打开,波特率设置为128000,串口打开,插入路由器电源,按下电脑的Crtl + B,如无意外,界面如下:
6、网缆被拔出变成了未识别网络

7、控制台波特率改为115200,逐条发送以下指令:
tftp 0x80060000 mtd1_kernel.bin
erase 0x40000 +0x150000
cp.b 0x80060000 0x40000 0x150000
reset

发送指令后,接收的是乱码,波特率改为128000,接收会显示正常,但是发送的时候波特率一定要改回115200,要不然发送的指令不生效。
f) 至此内核拯救成功。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
TTL线刷机前的准备 1. 购买USBTTL线,价格一般在12到20之间。 2. 在PC上装好TTL线驱动(一定要先装驱动在将TTL线插到电脑上)。 3. 认识TTL线。TTL线一头是USB接口,另外一头一般有4个带杜邦头的插管,分别是GND、RX、TX、VCC,一般GND是黑色,VCC是红色,其他是RX和TX,不清楚的一定要咨询卖家。见下图,你手上的TTL线可能与我提供的图片不同。 4. 下载并安装SecureCRT v6.5.8.380 汉化版, SecureCRT-v6.58H.rar下载地址:http://u.115.com/file/f672fcb574安装好后,我们在PC windows上打开设备管理器,点开端口,我们能看到COM x已经作为TTL通信口。(根据每台电脑的具体情况,COM口会不一样,大多数会是COM2口,我自己的是COM5口,需要自己去设备管理器里查看) 如上图那样选中Prolific USB-to Serial Comm Port (COMx), 鼠标右键弹出菜单, 选择属性,然后如下图那样进行设置 5. 拆开机器。初看上去,设备的后盖一般是看不到螺钉的。但后盖4个角上一般都有4个圆形的海绵垫片,螺钉就藏在下面,请先去除之,然后拧开螺钉,打开后盖,我们就能看到电路板了。下面就请在电路上寻找TTL插针,4 个插针是并排的,一般而言,电路板上只有这样一组并排插针,所以并不难找。请注意并排插针的引脚标注GND,标有GND的插针就是GND。而靠近GND右边一般都是RXD插针,其他依次是TXD、VCC插针。请将TTL线的GND的细长型插管插到GND插针上。TTL线的RXD插到RXD插针上,TXD也如此办理。但VCC插针请不要插,千万小心。 上面我们描述的是一般规律,但也有例外。 RG100A-AA、DCHG-800-A、G120-T、HA910、H108Bv1.2电路板上TTL的GND右边依次是RXD、TXD、但VCC却在 GND左边,其详细接线图请参考chinadsl.net 站长yesdong提供的示意图: 6.将网线一段连入猫的LAN口,任意一个都可以,另一段连接电脑。设置电脑的IP地址为192.168.1.100 ,255.255.255.0 ,192.168.1.1  OK,到此我们的准备工作就做好了 下面我们就开始刷机过程。 刷机步骤 1. 重复检查准备工作。 2. 我们在PC上启动程序SecureCRT 选择菜单“文件”,然后选择快速连接,并按下图进行设置 SecureCRT快速连接 点击连接,我们就能看到如下界面: SecureCRT快速连接2 3. 然后打开电源,这时SecureCRT窗口会有E文滚动,当滚动到*** Press any key to stop auto run (1 seconds) ***,任意按下键盘任意一个键,就会进入CFE> ,这样我们就进入了CFE命令行界面。 4.CFE>e a 车 再输入y车(目的是清空flash) 这一步也有可能要输入用户名和密码,telecomadmin/telecomadmin 或者telecomadmin/nE7jA%5m 5.浏览器地址栏输入192.168.1.1,如果提示要用户名和密码则输入telecomadmin/telecomadmin 或者telecomadmin/nE7jA%5m,进入后会看到FW界面(忘记截图了,不过很简单的,都是中文) 6.1,到这一步要分两种情况对待了,如果你能确定你的CFE可以openwrt,直接进入6.2。 我现在只知道RG100A V1.1电信原版的CFE可以openwrt,其他不知。保险的方法是先至电信原版带CFE固件。我之前就在这个地方走了弯路,因为CFE不合适,不上openwrt的。我之前是DLINK固件。 RG100A V1.1电信原版带CFE下载地址(一定不要断电或者接触不良等突发状况,不然就只能JTAG了) 好原版固件后,会自动重启,按上面的方法进入CFE。再次e a,进入下一步。 6.2,e a后在浏览器进入192.168.1.1,这次要选择openwrt固件新了,openwrt固件不含CFE,不死的。这里有下载,LUCI3.12版 最新版本可去openwrt中文网查找。 7.设备完后会再次重启,我们也要再次进入CFE状态。 b        修改board ID、MAC地址、FLASH格式等等信息。 e         就是人们经常说的清nvram操作,输入e 车后会看到帮助信息。 i         清除配置文件。 r         run命令,启动已经好的系统。 我们先输入b,车(接上边说的,有些猫完2次FW后已经停在这个界面了)。 第一步是boardID,CFE会返所有支持的型号,输入型号后边的数字来定义,如果找不到你自己的设备,保持默认就好。 之后会让你修改MAC长度,一般为12,这里务必修改正确。 车后会让你输入MAC地址,一般会有个默认地址,按照列出的默认地址格式修改就可,当然嫌麻烦也可以不修改。 后边还有几项设置,一般不需要修改,一路车就好。 我的CFE启动信息及配置: CFE> Boot Address 0xbe000000 Initializing Arena. Initializing Devices. Parallel flash device: name AM29LV320MT|S29GL128-A, id 0x2201, size 16384KB Flash Layout: Boot[0,0xbe000000] Kern[1,0xbe020000]               AuxFS[95,0xbebe0000] Misc[125,0xbefa0000] PSI[127,0xbefe0000] Flash RootFS Partition Length: 12320768 CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHz CPU running TP0 Total memory: 33554432 bytes (32MB) Total memory used by CFE: 0x80401000 - 0x80529860 (1214560) Initialized Data:          0x8041E740 - 0x80421060 (10528) Board IP address                  : 192.168.1.1:ffffff00  Host IP address                   : 192.168.1.100  Gateway IP address                :    Run from flash/host (f/h)         : f  Default host run file name        : vmlinux  Default host flash file name      : bcm963xx_fs_kernel  Boot delay (0-9 seconds)          : 1  Board Id (0-8)                    : 96358VW  Number of MAC Addresses (1-32)    : 12  Base MAC Address                  : 见你的路由器背面,格式为XX:XX:XX:XX:XX:XX PSI Size (1-64) KBytes            : 64  Flash Block Size (1-128) in KBytes: 128  Auxillary File System Size Percent: 24  Main Thread Number [0|1]          : 0 再进行一下清除操作 输入“e n”,车 按提示输入y 车 清nvram 输入 i   车 按提示输入y 车 清除配置文件 完成了上述修改和清除操作后,输入 r 车 系统就会启动 不必关了电源再开。 到这里新完毕,如果顺利,你已经可以进入http页面了。 END 参考资料: OpenWrt刷机教程 http://www.openwrt.org.cn/hdwiki/index.php?doc-innerlink-OpenWrt刷机教程 [新手教学]TTL线修改CFE参数 和通过CFE固件的流程 http://www.chinadsl.net/thread-28078-1-2.html RG100A-AA、DCHG-800-A、G120-T、HA910、H108Bv1.2等设备的TTL接线图 http://www.chinadsl.net/viewthread.php?tid=30576&highlight=ttl
好的,那我来给您介绍一下如何使用 JavaScript 制作一个在线考试系统。 首先,我们需要确定考试的题目类型和数量,然后将这些题目存储在一个数组或对象中。比如,我们可以定义一个存储选择题的数组: ```javascript var questions = [ { question: "What is the capital of France?", choices: ["London", "Paris", "New York", "Tokyo"], correctAnswer: 1 }, { question: "What is the largest planet in our solar system?", choices: ["Saturn", "Jupiter", "Mercury", "Neptune"], correctAnswer: 1 }, { question: "What is the tallest mountain in the world?", choices: ["Mount Kilimanjaro", "Mount Everest", "Mount Fuji", "Mount Whitney"], correctAnswer: 1 } ]; ``` 然后,我们需要编写一个函数来显示每个问题和它们的选项。这个函数可以在 HTML 页面中创建一些元素(例如,`<div>`、`<p>`、`<ul>` 和 `<li>`),并将问题和选项插入到这些元素中。然后,当用户选择一个答案时,我们可以检查它是否正确,并将用户的得分存储在一个变量中。 ```javascript var score = 0; function displayQuestion(question) { var questionContainer = document.createElement("div"); questionContainer.innerHTML = "<p>" + question.question + "</p>"; var choicesList = document.createElement("ul"); for (var i = 0; i < question.choices.length; i++) { var choiceItem = document.createElement("li"); var choiceText = document.createTextNode(question.choices[i]); choiceItem.appendChild(choiceText); choiceItem.onclick = function() { if (i === question.correctAnswer) { score++; } nextQuestion(); }; choicesList.appendChild(choiceItem); } questionContainer.appendChild(choicesList); document.body.appendChild(questionContainer); } ``` 最后,我们需要编写一个函数来遍历问题数组,并显示每个问题。这个函数也可以在 HTML 页面中创建一个“下一题”按钮,当用户点击该按钮时,它会显示下一个问题。 ```javascript var currentQuestion = 0; function nextQuestion() { currentQuestion++; if (currentQuestion < questions.length) { document.body.innerHTML = ""; displayQuestion(questions[currentQuestion]); } else { document.body.innerHTML = "<p>Your score is " + score + " out of " + questions.length + ".</p>"; } } displayQuestion(questions[currentQuestion]); ``` 这样,我们就完成了一个简单的 JavaScript 在线考试系统。当用户完成所有问题后,它会显示用户的得分。当然,这只是一个简单的示例,您可以根据需要对它进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

toss007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值