OpenWRT刷机入门

这里默认我们的本地机器是用的Linux操作系统,这篇文章主要是提供刷固件的主要概念,所以在看完后可以自行根据提到的概念搜索不同操作系统下的做法:)

OpenWRT简介

首先这个名字是不是很有趣,WRT是啥?一般Open开头的开源软件基本上都是针对一个已经很知名的概念进行开源开发的比如OpenVPN,那这个WRT是个啥?这其实牵扯到OpenWRT的历史了,2003年Cisco花了$500M买下了一家公司叫做Linksys,它现在依旧还存在呢!当年它发布了一款路由器产品WRT54G,当时人们发现这产品的固件当中的一些Linux工具是属于GPL这个开源许可证!这不就意味着大家可以看到源码了吗!!!太棒了,简直!当然Linksys是不干的,可是它最后还是释出了源码。2004年一月份,OpenWRT的一个版本就基于这份释出的源码,横空出世。所以名字当中的WRT依据的就是当年这个戏剧性的产品。当然本质上OpenWRT是一个Linux内核外加上路由器芯片上的一些补丁以及网络接口的驱动。简而言之,OpwnWRT就是给路由器用的一个操作系统。

刷机第一步,更换OpenWRT引导程序(不死uboot)

这步的目的在于之后在玩OpenWRT的过程当中或多或少会反复刷OpenWRT,万一哪次刷的时候OpenWRT被玩崩溃了,192.168.1.1都上不去,那咋办!GitHub上的pepe2k基于一个google code上的开源项目重新编写了OpenWRT使用的引导程序uboot,让它能够在OpenWRT失效的时候提供依旧在192.168.1.1上刷固件的方式。具体的刷机步骤请看这篇英文博文或者这篇中文博文。注意哦,英文版的是针对TPLinkWR703N这款路由器,中文版是TPLinkWR720N的,而我们要根据自己的设备进行安装。不过,并不是所有设备都有这款不死uboot,毕竟人家一个人开发,哪能买这么多路由器放家里,是吧。不死uboot的使用方式在两篇博文当中都有提到。要补充的是:

  1. 在给路由器断电之后,按住rst(reset)键,再开电源。
  2. 如果按住rst3秒或者5秒或者7秒然后松开,成功之后路由器上的小灯会很急促的闪几下表示成功,然后就一直是灭的状态。所以如果没有看见它急促的闪烁,那就重新试一次吧。这东西也需要讲手感,多试试就熟了。

OpenWRT固件选择

怎么找到我们自己路由器所对应的OpenWRT固件呢!当然是去官网咯!这里面列出了所有OpenWRT支持的路由器,找到我们自己的,然后进入它这行最右边的Device TechData或者Device Page。它俩里面就会有对应的最新固件下载地址。由于每个路由器的网页都是由不同人维护的,所以没有说下载地址一定在那个网页的什么角落,只能自己花点时间去找咯。

OpenWRT刷机基本办法

最简单的刷机方式就是用浏览器登录192.168.1.1(或者我们自己给路由器设定的内网ip)然后在这个网页里面翻翻翻,找到更新固件。选择本地下载的固件,点击网页上的开始更新之类的按钮,一切都自动开始咯!
这种办法对应的linux命令行是:
先用scp将本地计算机的固件上传到路由器,举个例子,将固件传到192.168.1.1的/tmp/文件夹下:

scp /home/nihao/Downloads/OpenWrt-ImageBuilder-15.0
5.1-ar71xx-generic.Linux-x86_64/bin/ar71xx/openwrt-15.05.1-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin root@192.168.1.1:/tmp/

再用ssh登上路由器,最后用sysupgrade 去更新,继续上面的例子:

ssh root@192.168.1.1
sysupgrade /tmp/openwrt-15.05.1-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin 

路由器在安装完成后会自动重启。此时就需要我们在等待路由器小灯完全亮起后断开重连ssh。

OpenWRT刷机中级办法

有时候我们不见得一定能用路由器登录192.168.1.1,比如没有在路由器上开启这个http服务,或者防火墙设置的时候把80端口给挡死,或者为了节约路由器内存空间压根就没有在路由器上装这个http服务。那基本办法就没招了。不用怕,所有OpenWRT的系统都带了款叫做mtd的开源linux程序,它的功能是将二进制文件刷入嵌入式系统的MTD空间当中(MTD就是一个Linux系统中对一类存储介质的称呼,比如现在流行的SSD硬盘,嵌入式系统上多用MTD,毕竟没地方也没这个需求做一个PCIE或者SATA的接口,对吧)。我们就要利用这个mtd去刷固件!诶,是不是觉得mtd很眼熟,是的!在刷不死uboot的时候你已经用过这个命令辣,不难吧!不过具体怎么刷呢?
命令行当中操作:

  1. 首先开启ssh:

        telnet 192.168.1.1
        passwd

    登录路由,并且开启ssh!如果已经开了ssh请跳过。

  2. 用scp从本地计算机上将下载好的固件传入路由器的/tmp目录,假设我们将固件放在了/home/haha/openwrt.bin这个本地目录中。那么命令完成之后固件就会出现在路由器的/tmp/openwrt.bin这个位置。

        scp /home/haha/openwrt.bin username@192.168.1.1:/tmp
  3. 使用mtd刷固件,-r表示刷好之后自动重启路由器。

    mtd -r write /tmp/openwrt.bin firmware

OpenWRT刷机终极办法

其实就是用不死uboot辣~所以请参照我们在第一节中提到这篇英文博文或者这篇中文博文

  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
20120905版4M固件: 1. 720N固件,基于703N修改。TP-Link原厂固件factory,已经是OpenWrt了就sysupgrade。 且固件后可直OpenWrt 703N、OpenWrt 720N、TP-Link 703N、TP-Link 720N固件,不用改固件头。 2. 4M固件,当然8M的flash也可以。 3. 支持MentoHUST(锐捷认证)、3G、NAS(仅支持ext4,不支持ntfs)、共享手机网络、MWAN2负载均衡、打印服务器、 远程唤醒、8187 3070、瑞银网卡,剩余200多K空间,具体见截图。 因试过4M空间集成脱机、NAS等有难度,故不再出4M的脱机固件,请用extroot扩展后自行安装。 4. MentoHUST没有条件测试,如不能自动获取IP,请把Web界面的DHCP script的值由“udhcpc -i”改成“udhcpc -renew”试试。 5. 关于extroot(既用U盘引导系统),没想到现在这么简单了。 简单说下:先把U盘在电脑里格式化成ext3或ext4。插上U盘,命令行运行blkid得到U盘的UUID值,复制到管理界面的相应UUID, 挂载选项“rw,sync”删掉后面的umask=000。然后勾上extroot和启用,文件系统选对应的ext3或ext4,保存应用OK。 重启下,看看剩余空间大了没,呵呵。 (umask=000只是为了让samba可写而加的参数。挂载USB存储设备时,如果不用samba请删之。) 6. 按住reset键30秒后led闪烁,60秒之前松开reset键则恢复出厂设置。 7. LAN/WAN两个网口正常。 8. 默认开启WiFi,无密码。 9. 支持模式切换开关,定义如下: AP: 开启共享手机网络、开启无线 3G: 关闭共享手机网络、开启无线 Router:关闭共享手机网络、关闭无线 10.解释下共享手机网络,OpenWrt官方称为USB Tethering,指openwrt路由器通过USB连接智能手机, 而智能手机的网络共享给openwrt使用。 目前固件只支持Android系统共享网络功能,而支持iPhone需要集成的软件太多,空间有限,如果出8M固件 再考虑吧。 Android本来就支持WiFi热点,可能有点画蛇添足吧,呵呵。我是偶然发现openwrt还支持这个功能, 所以就研究了下,也许在某些情况下这个功能还是有用的吧。 使用方法: a. 路由器模式开关切换至AP位置。 b. 用USB线连接路由器与手机。 c. 手机USB连接管理里面,选择 除了“内存卡读取”的其他模式,比如:选择“仅充电”; 然后在“设置”--“系统”里面找到“共享手机网络”,开启“USB绑定”就好了。 回到openwrt界面,会发现有个usb0的接口,已经自动获取了IP,这样openwrt就能使用手机 的网络了。 11.关于MWAN2负载均衡,效率还不错,还支持基于session的负载均衡,使用方法见/etc/config/mwan2里面的注释。 mwan2的作者新出了mwan3,有兴趣可以去看看:https://forum.openwrt.org/viewtopic.php?id=39052 12.703n可固件,但是完后lan口不能用。需先用无线连接,然后编辑/etc/config/network , 删除其中wan口配置,把lan的eth0改成eth1后,lan就可以用了。 如703n原厂固件web界面请factory,且需要先把固件标识改成07030101才能。 13.再说下打印服务器,没有测试,不知道这个版本能不能用,但20120803版有人试过可用,有需求请自行下载。trunk就是不稳定啊, 没办法~~ 14.刷机有风险,变砖本人概不负责。 吐糟一下,如3G有掉线问题,请看日志中是否出现“No response to 5 echo-requests”。 而解决这个问题,除了降低无线功率或者干脆关闭无线外,我是没找到其他更好的办法(可能和3G网卡有关)。 曾经尝试过换电源增强供电、用带外接电源的usb-hub,包括尝试TP-LINK原厂固件也一样掉线。还有修改/etc/ppp/options里 的lcp-echo-interval,把值改大点后是不掉线了,但是3G其实已经断流了,没什么意义。我用MU350网卡试过FW300R、FWR171-3G 还有720N这几个路由都是这样。不知道是TP-Link设计问题,还是td-scdma这种垃圾芯片功率过高的问题,或者Atheros芯片 的设计缺陷? 百撕不得骑姐啊!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值