如果路由器可以正常上网的前提,我们可以ssh登陆路由器,直接在路由器的/tmp目录wget下载最新版固件并sysupgrade命令进行固件升级。
有时候,路由器无法上网,这时候,可以在电脑里下载好固件,再把固件复制到路由器,再sysupgrade升级或设置其他参数。
只要能进入路由器的安全模式,并ssh登陆路由器,一切都不是问题。
cd /opt
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr2543-v1-squashfs-sysupgrade.bin
scp openwrt-ar71xx-generic-tl-wr2543-v1-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
ssh root@192.168.1.1
cd /tmp
注意,升级后将无法上网,也没有LuCI网页界面可以设置,必须以命令行方式设置好上网参数。
如果在下面的实验中,命令行方式无法搞定路由器上网,就只能在电脑里下载好带luCI的固件,scp复制固件到路由器升级固件,然后以网页方式设置上网。
在进行这一步前,确保你熟练掌握以前部分教程。
root@OpenWrt:/tmp# sysupgrade -n openwrt-ar71xx-generic-tl-wr2543-v1-squashfs-sysupgrade.bin
参数 -n
表示升级时不保留原来的配置文件。固件刷好后会自动重启,这时要用前文教程讲过的方法进入OpenWrt安全模式,登陆路由器并重新设置root密码。
下面假设你已经登陆了路由器并设好了root密码。
root@OpenWrt: uci set network.wan.proto='pppoe'
root@OpenWrt: uci set network.wan.username='adslname'
root@OpenWrt: uci set network.wan.password='adslpassword'
root@OpenWrt: uci set network.wan.peerdns=0
adslname替换成你自己的拨号上网用户名,adslpassword替换成你自己的密码。
root@OpenWrt: uci set wireless.@wifi-device[0].channel=11
root@OpenWrt: uci set wireless.@wifi-device[0].txpower=17
root@OpenWrt: uci set wireless.@wifi-device[0].disabled=0
root@OpenWrt: uci set wireless.@wifi-device[0].country='CN'
root@OpenWrt: uci set wireless.@wifi-iface[0].mode='ap'
root@OpenWrt: uci set wireless.@wifi-iface[0].ssid='eastking-wr2543'
root@OpenWrt: uci set wireless.@wifi-iface[0].encryption='psk2'
root@OpenWrt: uci set wireless.@wifi-iface[0].key='wsjdw,8181'
- channel 信道
- txpower 功率
- disabled 是否启用无线
- ssid 名称,推荐后面以路由器型号结尾,这样调试多个路由器时不会混淆。
- encryption 加密方式
- key 无线密码,如果你照上文的设置不动,好处是忘记密码时可以上 http://www.github.com/softwaredownload/openwrt-fanqiang 来查看。
root@OpenWrt: uci set dropbear.@dropbear[0].GatewayPorts='on'
root@OpenWrt: uci set system.@system[0].zonename='Asia/Shanghai'
root@OpenWrt: uci set system.@system[0].timezone='CST-8'
root@OpenWrt: uci set dropbear.@dropbear[0].Port=22
root@OpenWrt: uci set dropbear.@dropbear[0].PasswordAuth=off
root@OpenWrt: uci set dropbear.@dropbear[0].RootPasswordAuth=off
- Port ssh默认端口就是22,可以改成其他的提高安全性
- PasswordAuth ssh是否启用密钥登陆。如果你改成off,又没有设置好ssh私钥和安装好LuCI,你将无法ssh方式登陆路由器,唯一的办法就是安全恢复模式登陆重新开始设置。
- RootPasswordAuth 是否允许root用密码登陆,如果已经设置好了ssh私钥就可以改成off增加安全性。
root@OpenWrt: /etc/init.d/dropbear restart
root@OpenWrt: /etc/init.d/system restart
root@OpenWrt: /etc/init.d/network restart
怎么样,有线和无线上网又都回来了吧!
注意,有的人在网上贴出了他的完整配置文件/etc/config/network 和/etc/config/wireless, 如果你复制他的文件覆盖你的文件,再修改用户名和密码,可能会出问题,因为不同路由器的硬件配置可能不同。