安装SuperWRT系统

本教程以TP-Link的Atheros芯片的WR886n v5为例,教新手如何刷入一个已支持设备的固件。

下载设备固件请访问:这里 (没有支持你的设备?自由动手一下:hack it

新版本TP-Link系统请先参考:这里

老版本TP-Link系统请先参考:这里

通用系统刷机请先参考:这里

提醒:刷机有风险,设备可能变砖,需要使用专用工具及步骤恢复。完全不懂英文、或无基础电脑知识的爱好者还请慎刷。

新版本TP-Link更新系统

该方式需要的工具:有网口的电脑、USB转TTL、排针(还可能需要电烙铁及焊锡)

由于TP-LINK的新设备版本增加数字签名验证,所以目前仅可通过串口升级(不可使用网页升级)。(如果您希望直接烧写Flash,请参考这里

TP-LINK自身的uboot启动时会校验固件,所以,必须首先将uboot换为我们提供的uboot。

拆开设备外壳,连接串口(如不以后做开发,可以按图片的方式临时连接即可。如后续需要开发,可焊接排针到串口)。

注意:TP-Link有一些设备串口的排针与芯片之间的电阻可能没焊,需要先焊上,具体请参考相应设备的资料。

注意:如果使用USB转TTTL,TTL上的VCC为供电的,千万不要与设备连接。

在电脑上使用串口工具(示例图片中使用putty),设置串口速率为115200。

上面使用Putty工具可以在这里下载:Putty官网下载

注意:使用CH340串口用户可能会遇到问题,请参考这里

接好串口后给设备上电,出现 Autobooting in 1 seconds 时,输入tpl(部分新设备可能要输入slp),可进入uboot命令行(成功时会停留在这里,如果继续打印大量信息,说明进入了系统),输入时需要快速,如一次不成功,可重启再试(也可先复制好,然后右建粘贴)。

电脑与设备的网线连接好,断开其它网线。将电脑IP修改为192.168.1.10。

打开tftpd32,修改目录到固件所在位置。(TFTPD32可在这里下载:TFTPD32官网下载

在串口中输入以下命令:

# cp.b 0x9f000000 0x80060000 0x20000
# tftp 0x80060000 uboot_superwrt_tl_wr886n_v5.img
# erase 0x9f000000 +0x20000
# cp.b 0x80060000 0x9f000000 0x20000
# reset

注意:tftp命令成功后,才可输入后续命令。erase后,cp.b成功前切不可断电!!!

提醒:如果上面tftp命令失败,可能是你的系统防火墙拦截了请求,或者PC地址配置不对,请检查。

提醒:如果你使用uboot文件名与上面不同,请换成相应的文件名。Atheros的uboot对命令行编辑支持的不好,最好将准备好的命令直接粘贴。 

将电脑改为自动获取IP地址。将设备断电,电脑的网线连接设备LAN口,断开其它网线。按住Reset,插入电源,当LED由闪烁变为长亮,松开Reset键。

用浏览器访问Http://oplogin.com(或者http://192.168.17.1),进入管理网页。

提示:这时可以通过http://oplogin.com/file/flash地址来备份整个Flash。

在网页上传固件,设备重启后即完成。

老版本TP-Link更新系统

由于老版本没有数字签名校验,可以先刷入破解的固件版本,然后在该固件中刷入uboot。具体设备型号的操作方法,请参考网上相应刷入其它uboot的教程。

刷Flash方式

如果您有烧录器和电烙铁(或风枪),可以直接使用烧录器写入Bootloader。如下:

  1. 将Flash从设备中取下。
  2. 将原Flash内容读出来,备份好。
  3. 找到到设备对应的boot(以.img结尾)。
  4. 在读完原Flash内容基础上,将设备的Boot读入缓存区,但要注意,要去掉“加载前清空缓存区”的选项,如选择“不清空”。
  5. 然后将缓存区擦除并写入Flash。
  6. 焊好Flash。
  7. 参考上面教程中,刷入SuperWRT系统的部分完成后续步骤。

说明:这里未通过Flash变成器写入系统,是因为不同设备的系统分区位置可能不同。

通用系统刷机

从SuperWRT v0.2.2版本开始。我们提供了4M Flash镜像下载,可直接刷写SuperWRT版本到Flash(包含ART、MAC、Bootloader、Firmware)。建议使用4M Flash,如使用更大容量Flash,由于新booloader有自动扩充分区的功能,需重新刷入Firmware和ART及MAC。

使用Flash镜像时,我们建议使用原机的ART及MAC。

写入ART的方法如下:

  1. 进入Bootloader的恢复网页。(可使用以下方式:长按Reset按键,使用SuperWRT Device Tool通过网口中断、使用TTL输入httpd命令)
  2. 点击Debug按钮,进入Debug页面。
  3. 上传64k的ART文件到ff0000地址(如使用非Flash镜像版本,请按WLAN info中CAL地址写入小ART文件)。(如果使用2k ART,请按下方的WLAN info中CAL地址写入。)
  4. 点击Go。

更新MAC的方法如下:

  1. 进入Bootloader的恢复网页。(可使用以下方式:长按Reset按键,使用SuperWRT Device Tool通过网口中断、使用TTL输入httpd命令)
  2. 点击Debug按钮,进入Debug页面。
  3. 写入MAC地址的HEX值到ff0000(如使用非Flash镜像版本,请按WLAN info中MAC信息地址写入位置)。(如果有多个WLAN,请按下方的WLAN info中MAC信息地址写入。)
  4. 点击Go。

更详细与说明请参考:修改MAC地址及校准信息

TP-Link的Atheros芯片的WR886n v5 安装SuperWRT系统的更多相关文章

  1. 绿联Type-C千兆网卡AX88179芯片驱动(苹果Mac OSX系统)CM141丨CM179

    绿联Type-C千兆网卡AX88179芯片驱动(苹果Mac OSX系统)CM141丨CM179 下载地址:https://www.lulian.cn/download/6-cn.html AX8817 ...

  2. tplink wr886n v5.0 ttl 接线方法

    我的倒是有ttl信息,但是全是乱码,换过RX和TX,也换过串口速率都没用,附上TTL接线图. ==================================2016-11-02========= ...

  3. 1、CC2541蓝牙4.0芯片中级教程——基于OSAL操作系统的运行流程了解+定时器和串口例程了解

    本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...

  4. 揭秘TPM安全芯片技术及加密应用

    揭秘TPM安全芯片技术及加密应用 首发:http://safe.it168.com/a2012/0912/1396/000001396884.shtml 从2003年开始,重要数据丢失已经成为严重的信 ...

  5. Myeclipse安装svn插件(link方式)

    Myeclipse安装svn插件(link方式) 优点:1.离线安装2.非侵入式 演示版本 myeclipse--myeclipse8.6 svn--subeclipse-site-1.6.5.zip ...

  6. CCS v5 无法启动解决办法及Launchpad仿真器电脑无法识别解决方法

    安装ccs_setup_5.1.1.00028.exe后(无论是自己装eclipse还是在原来的基础上安装eclipse的插件),ccs5的应用无法打开,错误为:An error has occurr ...

  7. 红米1线刷救砖教程V5版(移动联通适用,线刷包永久有效)

    红米1线刷救砖教程V5版(移动联通适用,线刷包永久有效) 原文来自:http://www.miui.com/thread-1890972-1-1.html?mobile=2 ,加了些自己的经验. (我 ...

  8. stm32f103各个型号芯片之间程序移植(stm32的兼容问题)

    1.stm32f103系列的各个型号的芯片差别一般不大,都是一些flash大小不一样,一般是向下兼容(大容量芯片兼容中容量芯片)还有晶振大小不一样.                           ...

  9. 基因芯片与NGS区别[转载]

    转自:http://blog.sina.com.cn/s/blog_40d4ae110101fjzy.html 1 二代测序与基因芯片的区别与优缺点. 生物芯片相对第二代测序而言,优势在于价格便宜,便 ...

随机推荐

  1. eureka 注册中心

    1.eureka版本更新后,pom依赖名称变化 v1.2.7spring-cloud-starter-eureka-server v2.0.0spring-cloud-starter-netflix- ...

  2. AttributeError: 'dict' object has no attribute 'encode'

    首先这是一个很简单的 运行时错误: 错误分析: AttributeError:属性错误,造成这种错误的原因可能有: 你尝试访问一个不存在的属性或方法.检查一下拼写!你可以使用内建函数 dir 来列出存 ...

  3. TYPE=MyISAM 与 ENGINE=MyISAM 的区别(摘要版)

    TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句 (老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM). MySQL 5.1为向下 ...

  4. 2. 区分散列的 undef 值, 和手动赋值 0 不一样。1. 使用exists函数,散列中有这个键(必须是keys %hash 有这结果),则返回真值,

    2. 123 my %vertical_alignment;    124 $vertical_alignment{"subscripting"} = 0;    125 unle ...

  5. 【原】简单shell练习(一)

    1.交互式脚本 #!/bin/bash read -p "Enter your name:" name #read提示用户输入 echo "hello $name, we ...

  6. Java中List集合的遍历

    一.对List的遍历有三种方式 List<String> list = new ArrayList<String>(); list.add("testone" ...

  7. [转载]在网页中插入media,RealPlayer等控件

    [转载]在网页中插入media,RealPlayer等控件 (2012-11-02 20:27:43) 转载▼ 标签: 转载   原文地址:在网页中插入media,RealPlayer等控件作者:Mo ...

  8. vue列表排序实现中的this问题

    最近在看vue框架的知识,然后其中有个例子中的this的写法让我很疑惑 <!DOCTYPE html> <html> <head> <meta charset ...

  9. HTML5 history API与ajax分页实例页面

    <ul id="choMenu" class="rel cho_menu"> <li><a href="ajax.php ...

  10. 原生javascript实现call、apply和bind的方法

    var context = {id: 12}; function fun (name, age) { console.log(this.id, name, age) } bind bind() 方法会 ...