感谢支持
我们一直在努力

TP-Link 703N刷OpenWrt的实践

1)下载编译好的固件

从OpenWrt的官方站点https://openwrt.org/

http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr2543-v1-squashfs-factory.bin

固件分为squashfs和jiffs2两种文件系统。具体的区别是jiffs2将固件本身和后续安装的包会放置在一个分区内,因此可以充分利用空间。squashfs则将固件单独挂在在/rom分区,系统出现问题时,系统的恢复非常便利。推荐squashfs!关键时刻留有退路。

2)通过原有的路由器管理页面,进行固件升级。

注意重启没有完成前,不要关掉页面。

3)初始设置

A) password重置

默认的网段为192.168.1.*。将703N用网线和PC相连,且将PC的IP设置为不为192.168.1.1的任意IP。这里假设为192.168.1.100,掩码为255.255.255.0。通过PC,telnet 192.168.1.1后,若可连接。则大功成半。然后

将root的密码进行重置。因为要用telnet和SSH的缘故,windows上要安装putty和配置自带的telnet,便利起见,推荐直接使用安装linux的PC。

B) SSH到703N(ssh root@192.168.1.1)更改网络配置

默认情况下不开启wifi,另外需要连接到网络来安装软件,所以需要修正配置文件。

这里假设连接到另一路由器,来充当AP。(前提是DCHP的网段不一致,恰巧家里的路由器被我设为192.168.0.*网段了)如果是直接充当路由器,则设置类型需要设置为PPPoE。

— 修改/etc/config/network文件,将静态IP设置修改为DHCP。

config interface ‘lan’

option ifname ‘eth0’

option type ‘bridge’

option proto ‘dhcp’

#option proto ‘static’

#option ipaddr ‘192.168.1.1’

#option netmask ‘255.255.255.0’

#option ip6assign ’60’

— 修改/etc/config/wireless

将option disable 1 注释掉,开启wifi。

如果需要密码的场合,可如下设置

config wifi-iface

option device ‘radio0’

option network ‘lan’

option mode ‘ap’

option ssid ‘OpenWrt’

option encryption ‘psk2’

option key ‘12345678’    #这是wifi的密码

C) 重启之后,就可以搜索到名为OpenWrt的无线网络了。

4)软件安装

因为主要目的还是要用703N来控制arduino,因此必须要安装一些软件。

#opkg update  (获取包列表,就像apt-get update 和 yum update)

OpenMrt有这个非常赞,感觉好像在用Ubuntu一样,非常畅快,速度也好。

#opkg install kmod-us-serial-ftdi (USB转串口包,用于和arduino通讯)

#opkg install ser2net (串口转TCP,可通过TCP控制arduino,是本次刷机的主要目的)

因为703N的ROM很小,刷完OpenWrt只剩1.1M左右的空间,因此若有剩余空间,以下软件强烈推荐:

#opkg install luci      (Web管理界面)

#opkg install minicom  (串口调试)

安装完luci后,要手工重新启动uhttpd,/etc/init.d/uhttpd start。

可放入/etc/rc.local来做开机启动。

opkg的其他命令:

opkg remove <package>                删除包

opkg remove –aoturemove <package>  删除包并且删除所有关联依赖包

opkg list                            列出所有可安装的包(update的结果)

opkg list-installed                  列出所有的已安装包

opkg info <package>                  查看包信息

至此,703N刷入OpenWrt的流程就已结束。下面的流程与控制外设相关,与OpenWrt并无太多关联。

5)Arduino设备插入

将arduino设备插入703的usb口,查看/dev可发现有新设备被增加了。在Mega1280的场合,设备名为:/dev/ttyUSB0。

6)Ser2Net的设置

Ser2Net的功能与windows上的serProxy非常类似。它支持多种方式启动,比较便利的是

利用/etc/ser2net.conf配置文件,在其中追加

2222:raw:5:/dev/ttyUSB0:9600

然后,执行ser2net即可。

然后,通过telnet就可以无线控制arduino了!

重要:系统恢复的方法

途中有一次为了试图能够在703N上挂载普通usb,卸载了不上系统软件,甚至把UCI给卸载了,导致系统起来后没有SSH服务,只有DNS服务,几乎变砖。百般无奈下,终于有高人提供如下做法,真是柳暗花明,庆幸不已,否则只能TTL重刷了。

1)电源重启,在蓝灯开始闪烁的时候,按复位3秒 松开,蓝灯快速闪烁进入安全模式

2)用LAN口TELNET接入 192.168.1.1 ,然后执行firstboot命令。

按照命令提示清空了设置,重启。

3)再TELNET接入,重置ROOT用户口令,然后重启

4)重新加电,SSH接入 192.168.1.1 搞定。

赞(0) 打赏
转载请注明出处:服务器评测 » TP-Link 703N刷OpenWrt的实践
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏