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相連,且將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 [email protected])更改網絡配置

默認情況下不開啓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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章