歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 給 TL-WR703N 安裝 OpenWrt 過程筆記

給 TL-WR703N 安裝 OpenWrt 過程筆記

日期:2017/2/28 14:22:32   编辑:Linux教程

在下的樹梅派2不幸被延期到年後才能發貨了,春節沒的折騰了怎麼辦?無意中在 Rpi2 的報道中讀到了關於 TL-WR703N 的消息,才想到還剩在箱底的她。思索著既然是春節,就做個好事情,將 OpenWrt 介紹給她!

主角介紹

TL-WR703N 是 TP 在 2011 年推出的一款便攜式 3G 路由器,具備一個可連接 3G 上網卡的標准 USB 口,802.11N 150M 無線網絡,microUSB 供電接口,搭載 Atheros AR7240 CPU 及 Atheros AR9331 芯片組。小巧省電,不到手掌心大,功耗不及 0.5W。

[OpenWrt]則是面向路由器等小型嵌入式設備的 Linux 發行版,可以使用 opkg 包管理器輕松擴展功能。截止本文發表時最新版本為代號是 Barrier Breaker 的 14.07 Final 版,使用 Linux Kernel 3.10 。

初次見面

單純刷入 OpenWrt 固件相當簡單,OpenWrt 提供了針對 TL-WR703N 的預編譯鏡像。大致步驟如下:

  1. 從 OpenWrt 官網下載對應型號的固件,由於這個時基於 AR7240 CPU 的,所以在名為 ar71xx 的目錄下尋找 wr703n 即可。

  2. 首次從官方固件轉換到 OpenWrt 固件,需要使用 factory鏡像。另外的sysupgrade用於從老版本的 OpenWrt 升級,這裡無須操心。

  3. 使用有線方式連接 WR703N 與電腦,然後在浏覽器中輸入 WR703N 的網絡配置 IP。驗證用戶名和密碼後,在左側選擇固件升級,然後選擇剛才下載的 OpenWrt 鏡像,確認寫入。若是固件不識別,嘗試將固件名稱縮短些,比如重命名為 openwrt.bin

  4. 耐心等待,大概快五分鐘後,它會自動重啟,此時迎接您的就是 OpenWrt 的 LuCI 管理配置界面了。

根據 Wiki 上的說明,似乎 V1.7 版的官方固件存在兼容性問題,刷入困難。筆者手上的 V1.2 版倒是一切順利,此外 14.07 Final 版的代號早已遠高於報告有問題的 Trunk,應該無須擔憂。

輕度調教

在呈現的登陸提示框下設定了 root 賬戶密碼後,名為 dropbear SSH 服務器就可以使用了。用任意 SSH 客戶端即可登陸進行配置工作

記得之前強調要用有線方式鏈接麼?因為 OpenWrt 的無線網絡默認是關閉的……

接下來根據個人需要分別設定無線網絡和有線網絡接口的功用,PPPoE、DDNS 什麼的都有,如有必要還可以配置下防火牆什麼。

如果您僅是想要 WR703n 繼續乖乖的做一個路由,至此就可以了。

如果想要進一步挖掘它的其他潛能,請繼續往下讀。

想要更多

順便浏覽下 opkg 軟件倉庫及 OpenWrt 的 Wiki,這款小小的設備的處理器還有很大的潛能。不過若是想要更多的話,首先要解決存儲空間的問題,否則一兩個額外軟件包就能占滿其僅有 4M 的閃存。而擴充容量最直接的方式就是插一個 U 盤!接下來要做的就是將 / 分區遷移到大容量的外接 U 盤上。

找一個空閒的 USB2.0 接口的 U 盤,注意太老的 USB 1.1 不認,格式化成 ext4 格式,插到 USB 接口上,然後在通過 SSH 在終端中執行以下步驟為系統添加外部 USB 大容量存儲設備支持:

opkg update opkg install kmod-usb-storage block-mount kmod-fs-ext4

亦可在 LuCI 的 Software 面板中操作。Wiki 中還建議在 U 盤中順道創建一個交換分區,可以根據您的接下來的具體應用考量。

然後用 mount 簡單嘗試下能否正常掛載,若是沒問題話,繼續。 假設 U 盤掛載到了 /mnt/sda1

mkdir -p /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -x
umount /tmp/cproot

之後用 vi 編輯 /etc/config/fstab 文件,仿照如下字段修改或添加:

config mount
       option target /
       option device /dev/sda1
       option fstype ext4
       option options rw,sync
       option enabled 1
       option enabled_fsck 0

保存退出,然後重啟 WR703n,然後用 df 看看 / 分區容量是不是增大了呢?

除了這裡描述的將整個 / 遷移到 U 盤的方法以外,還有一種僅將包含系統的 /overlay 分區遷移的方法,效果類似,不再贅述。

分享彼此

既然通過擴容獲得了足夠的空間,可以折騰的空間就大很多了,比如您首先可能想要的就是中文支持:

opkg install kmod-nls-utf8 luci-i18n-chinese

接下來就任憑您想像了。有趣的是,不知出於何種原因中文論壇有不少人求該款設備的應用,這裡還是建議直接從官方倉庫在線安裝比較好。

這裡,首先介紹使用 Samba 供局域網分享文件。

為了方便管理及配置,可以安裝 LuCI 的 Samba 管理模塊:

opkg install luci-app-samba

它會依著依賴關系安裝 Samba 3.6 版的服務器端。此外在 LuCI 界面上增加了 Service 分類,點擊下面的 Network Share 開始配置。

General Settings 下的內容非常直觀,主要是指定要共享的文件夾目錄以及新文件權限。值得修改的是 Edit Template 標簽中的內容。以下是幾個推薦修改的選項

unix charset = UTF-8  #中文支持
security = share #方便本地訪問

Wiki 頁面上用了不少篇幅在說明防火牆的配置,似乎並不適用於最新版本的默認防火牆配置:它默認就已經是僅允許局域網訪問。

全能下載

在測試 Samba 可以良好的實現包括手機、高清播放機及電腦之間的文件共享之後,我琢磨著要不再用它做下載好了。

OpenWrt 倉庫裡提供有 aria2transmission-daemon 兩個可以 BT 的下載軟件,其中後者甚至還有 LuCI 配置界面模塊。不過簡單比較了下,aria2 的內存占用要明顯少很多( 19% vs. 39%,空閒),考慮到僅有 32M 的內存,在下選擇了前者。

opkg install aria2

之後按照 RPC 方式將 aria2 以守護進程方式運行:

/usr/bin/aria2c --enable-rpc --rpc-listen-all -D -d [DOWNLOAD FOLDER]

省事期間,可以直接將這一句寫道 /etc/rc.local 中實現開機後自動運行,可以通過終端或者 LuCI 的 Startup 標簽頁操作。

aria2有不少前端,電腦上可以用WebUI,Android 手機則可以用Transdrone,配置都非常簡單,無需贅言。

若是將下載目錄指定為上述的 Samba 共享目錄的話,更可以實現下載內容整個局域網可見。

性能及測試

借助 OpenWrt,WR703n 的性能得以充分發揮,在經過了如上配置後,同時兩個 HTTP 下載及 Samba 大文件拷貝也不過僅僅消耗了其 50% 的 CPU 及 35% 的內存,意味著它還有不少潛力可以發揮。這一切都僅僅需要不到 0.5W 的功耗,實在是環保節能啊。

若是您手上也恰好這樣一個小設備,不妨也試試用 OpenWrt 折磨它吧~

參考閱讀

OpenWrt Wiki:TP-Link TL-WR703N

OpenWrt Wiki:USB Storage

OpenWrt Wiki:Rootfs on External Storage

OpenWrt Wiki: Samba

Copyright © Linux教程網 All Rights Reserved