TP-Link 703N刷OpenWrt的实践

本文详细介绍了如何将 TP-Link 的 703N 路由器刷入 OpenWrt 固件的过程,并实现通过无线网络控制 Arduino 设备。包括下载固件、通过路由器管理页面升级、初始设置、安装必要的软件包、连接 Arduino 设备以及配置 Ser2Net 等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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相连,且将PCIP设置为不为192.168.1.1的任意IP。这里假设为192.168.1.100,掩码为255.255.255.0通过PCtelnet 192.168.1.1后,若可连接。则大功成半。然后

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

B) SSH703Nssh 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,是本次刷机的主要目的)

因为703NROM很小,刷完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设备插入703usb口,查看/dev可发现有新设备被增加了。在Mega1280的场合,设备名为:/dev/ttyUSB0

6)Ser2Net的设置

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

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

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

然后,执行ser2net即可。

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

重要:系统恢复的方法

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

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

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

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

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

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

原链接见:http://www.openwrt.org.cn/bbs/forum.php?mod=viewthread&tid=13335


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芯片 的设计缺陷? 百撕不得骑姐啊!
原贴 http://www.right.com.cn/forum/thread-91571-1-1.html 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就是不稳定啊,没办法~~
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值