2006-11-30

Asus WL-500g 改機前言

手邊的這台 Asus WL-500g 無線頻寬分享器是當時辦 Sonet ADSL 送的贈品,當時換算了一下市價與其他贈品或方案比較,發現還蠻划算的,所以誤打誤撞就有了這個玩意。後來不經意發現這台分享器官方網站原來有釋出 GPL 的韌體原始碼,重點是有人開始改它並且釋出,從此就有了非官方版本的韌體出現。這類裝置核心都是 linux kernel 的 embedded system,本來只能用預設提供的介面 (Ex. Web) 來設定,修改過的韌體開放了完整的 linux 操作環境,所以使用者可以把分享器當作一台裝了 linux 的小電腦登入操作,進行各種修改和調整。

網路上找得到蠻詳盡的操作步驟文件,我也照了步驟修改完畢,中間還是有遇到一點問題需要修改,因此就把參考的文件用自己的方式重新翻譯改版,一方面作為自己改機的紀錄筆記,一方面也可以提供有需要的人參考。除了 WL500g,其他機種 (如 WL500b, WL500g Deluxe, WLHDD ..) 應該也大同小異,只是記得更新 firmware 的時候要抓到和裝置相對應的版本就行了。

這個記錄基本上也是根據 Oleg 的 firmwaremacsat 的 guides 來進行的,如果需要原文和相關資源可以到他們的網站和討論區找。由於是「筆記」,並不是完整操作手冊,所以會用比較精簡的方式紀錄改機流程以及該注意的部分,細節和背後該具備的知識這裡不再覆述。整個流程會包含(其中前 2-4 項有順序性和必要性,其他都是 optional 的):

  1. Asus WL-500g 硬體規格剖析
  2. Oleg 韌體更新與磁碟分割
  3. 基本環境設定 - ipkg 軟體套件系統安裝
  4. 更新 Asus WL-500g 的系統 C Library: uClibc
  5. SSH 伺服器設定
  6. 新增使用者群組及修改 Shell 啟動文件
  7. Samba 伺服器(網路芳鄰檔案分享)設定
  8. 支援 PHP 的網頁伺服器 (thttpd) 安裝設定
  9. 支援 PHP 的網頁伺服器 (lighttpd + FastCGI) 安裝設定
  10. 讓網頁伺服器支援 perl 的 CGI (microperl)
  11. 安全的 FTP Server: VSFTP
  12. 輕巧的 Mail Agent (esmtp)
  13. 安裝自動排程執行服務 (crontab)
  14. 設定流量監控網頁 (RRDTool)
  15. 其他應用程式補完

以上大部分是 macsat 的 guides 裡的內容,貪得無厭的我常常會亂裝一些有的沒的,也會一併記錄下來,放入最後一篇的其他應用程式補完。

機器本身的能力有限,加上並沒有提供全系列的 linux AP 支援 (要支援 MIPS CPU 版本的軟體才能裝),所以我並不會考慮去試一些 linux 上常見的 AP (像是 Apache、MySQL、常見的論壇和 Blog 程式、甚至在上面跑 BT 或驢子),純粹只是根據我個人的需求和興趣來安裝使用。如果我的 WL500g 又被我塞了什麼東西上去,這邊也會一併做更新。

回應: 46

Beast 提到...

實用的文章,讓我的WL-500G有重生的機會,
我也是和版大一樣,辦ADSL所送的AP,
期待新文章的出現喔,尤其是『支援 PHP 的網頁伺服器 (thttpd) 安裝設定』,
老早就想把這台設備當成網頁伺服器使用了!

Abin 提到...

謝謝支持,不過實際上我跑網頁伺服器的結果,效能並不好(機器太 weak 了),而且只要家裡網路有大流量的時候(emule),這台 AP 會有不定時當機的前科,嚇得我什麼都不敢跑,現在還不知道跟跑 Web 有沒有關係(佔用系統資源)。

神秘的水原誠 提到...

很有用哩
網路上的資料都蠻零散的
謝謝^^

Neo 提到...

之前我的 Asus WL-500g 跑大流量的 eMule 也常當機,後來更新韌體到 1.9.2.7 的版本,就很穩定不會當了,目前的速度可以到 上傳 220 KB/s、下載 35 KB/s,連續跑好幾天都沒問題!^^

Neo 提到...

對了,我的 eMule 版本是 v0.47c,最大連線限制設為 500,並打開 "選項 > 延伸 > 上載速度感應器 > [v] 自動地找出最佳上載限制" 的功能。

Abin 提到...

呵!你誤會了!我是因為在 WL-500g 上面裝太多軟體和跑太多程式,導致流量一大(例如跑 emule),WL-500g 會容易當掉。
我很久以前就換過 1.9.2.7 了,只要不在 WL-500g 上面跑太多服務,就不會當機(機器已經半年沒關過了),雖然 WL-500g 的彈性很多,可以亂裝軟體,但畢竟只是一台小 router,硬要當伺服器還是太累。
因此我後來另外買了一台 LinkStation 改機架站,搭配 10M/2M 的 FTTB,也是穩得很~
BTW, 我從來不用 Windows 上的 BT 和 eMule 軟體,我都是玩 Linux 的,不過還是謝謝你的分享~

george 提到...

可不可以講一下給 wl-500g 的 emule 程式要那裡找, 謝謝

Abin 提到...

首先,pkg list 並沒有可以讓 WL-500g 跑的 emule 程式。如果有人有辦法跑,那一定是自己弄原始碼編譯生出來的(這很困難)。
上面幾篇回應,有提到跑 emule,是家裡拿 WL-500g 當 router,又在家裡的「其他電腦」上跑 emule,當家裡網路的大流量封包經過 WL-500g 的時候,這台 router 可能會撐不住當掉。
我並沒有聽說 WL-500g 可以跑 emule (BT 或許有可能吧),不過就算能跑,它的硬體能力也推不動,請找其他強一點的裝置吧!(例如 LinkStation)

george 提到...

瞭解, 謝謝,
不過本來官版的 firmware 有 BT 的功能, 改機之後好像被拿掉了 ?

Abin 提到...

下指令 ipkg list 看一下,好像還有和 BT 有關係的 package,有勇氣的話可以去安裝測試一下 .. :)
不過就算真的順利裝好,執行正常,對硬體來說一定是很大的負擔,建議還是不要做虛功囉!(我連跑個 web server 一段時間都可能會當..)

Lijen 提到...

請問:
若有新版的韌體釋出,以ASUS的網頁韌體升級,是否先前所架設的一些服務都會歸零,要重新架設?

Abin 提到...

就原理來說,所有的服務「大多應該」可以繼續用。因為,改機的服務和軟體都是裝在 Flash 上面,服務都是開完機再去呼叫的。
但是,改機步驟的前幾個動作,因為會牽扯到部分設定必須寫回 ROM 裡 (像是防火牆、開機自動執行檔、SSH),更新新韌體那部分設定會因 ROM 的重置而消失,連帶 SSH、防火牆和開機自動執行檔也失效,你原先安裝放在 Flash 裡的服務就全部不會自動跑起來了。
所以,更新韌體會有部分設定和服務會失效,但不是「歸零」,只要手動去恢復會寫回 ROM 的那些設定,服務不用重裝就會都回來。
但是,還是強烈建議更新韌體就重裝軟體啦!就像你灌 XP 然後升級到 Vista,感覺上面裝過的應用程式還可以繼續用,但誰知道在新作業系統會不會有問題。

匿名 提到...

你好,我在網路上搜尋找到您的這篇相當有用的教學,但因我有iptv 的需求,因此可否請教使用 hack 的 firmware 是否有助於 multicast/broadcast 效能的提升,因為一般的 ap 對 broadcast/multicast 的傳輸效能都遠不如 unicast 的好,因此想藉此請教您,謝謝

Abin 提到...

實際上效能有沒有提昇我不確定,畢竟這台 Router 的 Hack,主要是提供自訂韌體功能的彈性,並且,會採用比原始韌體更新的應用程式、修正部分在 WiFi、PPPoE和防火牆的 Bug。
關於 Hack 的 Firmware 各版的 change history 請看這個網頁。我並沒有看到任何關於 iptv streaming 效率優化的調整。

匿名 提到...

謝謝您的指教,我有看過網站了,不過跟 multicast 有關的文章大多是俄文, 不過還是謝謝您的回答

匿名 提到...

站長你好
是否有試過wl-500g
的usb,外接usb hub
可否接一台printer
及一台usb hd

Abin 提到...

Wl-500g 外接 USB hub,然後多裝 USB device 這件事情我沒有試過,不過,我記得我看其他討論區有說過這樣會不大順利(認不到裝置),也因此,有人才會硬要自己另外銲出第二個 USB 接頭。
要接印表機,比較大的問題是驅動程式,可以先確定 Wl-500g 認得到你要用的該型號印表機後,再去試試看。這方面我沒有經驗,可能沒辦法分享。

Aven 提到...

Abin兄,網路上放眼望去您一直是ASUS WL系列中文改機資訊前輩,小弟用WL-500gp架一實驗網站,並使用PunBB提供WL改機交流討論,懇請Abin兄有空蒞臨指導。網址是 http://neture.homeip.net/digiland/viewforum.php?id=40

dreams的夢想大地 提到...

請問一下你用的是500gdx還是500g~~~不知道用500gdx在做一些應用服務的時候會部會比較好?

有沒有人可以改出multi pppoe~~~

PS:我的是500gdx

Abin 提到...

To Dreams:
我用的是 wl500g,也是這一系列最虛弱的機種,我有試過跑 Web,一整個龜速,加上它內建的是上古時代的 USB 1.1,我連外接硬碟都不想(慢~)。
聽說 gx 以後就比較好了,不過我還無幸去測試,現在我的 500g 就單純做防火牆和 router,至少這樣還撐得住。

Scarf 提到...

我在WL-HDD上执行 “ipkg.sh update”失败,因为我的ISP禁止我访问wl500g.dyndns.org(大概是在DNS上做了设置).(可以通过proxy访问)
有什么办法解决吗?

我想在我的LAN里面再建一个web server,把wl500g.dyndns.org上的内容放在里面,然后通过修改ipkg.sh使他能找到相应的文件,but 我还没找到IPkg.sh在哪里。

Abin 提到...

To scarf:
ipkg.sh 會去讀取 /etc/ipkg.conf 裡面關於 source 的來源網站,該設定於 Oleg 的韌體裡是指向 wl500g.dyndns.org,改什麼 ipkg.sh 是沒有用的。
所以你最好應該先想辦法讓你的機器可以訪問以上網址,如果你有辦法把整個以上網站都抓回來,那也只要改以上的 .conf,把網址改成你的機器才行。

Scarf 提到...

To Abin

该问题通过在hosts中增加wl500g.dyndns.org的IP地址 得到解决

匿名 提到...

大大您好,我最近在研究WL500GP,不過遇到了幾個問題點....

我已經在LINUX上面編譯好韌體了(1.9.2.7-8),

可是我用網頁的"韌體更新"他卻說版本錯誤...還是是因為我有更改檔名..

本來是叫做WL500W-1[1].9.2.7-8.trx 我改成WL500W-1.9.2.7-8.trx

應該是不會有這問題。

最後,我是想要利用這台的無線網路特性來蒐集用戶的訊號強度,

以往都是在用戶端蒐集AP的訊號強度,這次要反過來做,

peter大大能否提供我幾個方向去想...

Abin 提到...

你根本就用錯韌體了吧!
「我最近在研究WL500GP,不過遇到了幾個問題點....」「我改成WL500W-1.9.2.7-8.trx」,你應該用的韌體,是給 WL500GP 用的,檔名應該是 WL500GP 開頭的,怎麼會去下載 WL500W 的?請先抓正確對應你硬體的韌體,再去進行下一個動作吧!(下載網址在這裡
另外,peter大大是誰?!

cskingken 提到...

版主您好,我是1/1號提出問題的那個人,我是下載GPL_1927.zip還有韌體wl500gp-1.9.2.7-8.tar.bz2,編譯完之後,我去到/broadcom/src/gateway/mipsel-uclibc/下面去找.trx檔名的檔案,可是只有出現我打的WL500W-1.9.2.7-8.trx,韌體部分應該沒有下載錯誤。另外,peter是另一個論壇的人,我兩個切來切去,搞混了><

Abin 提到...

To cskingken :
1. 如果你是自己下載 GPL 原始碼、自行編譯想要研究使用,很抱歉,我沒有相關經驗,可能幫不了你,請您自己找國外論壇加入討論。
2. 我只能確定,我上面回應的下載連結裡,下載的 500gp 韌體 zip 解開來的是 gp 的 trx,用那個檔案去更新韌體應該是沒有問題的。

lcc@doya.url.com.tw 提到...

請問我依下列指令安裝ipkg
但日後又更改/opt下東西的路徑
之後不能更新或安裝程式
要如何去修正呢?
-----------------------
First thing to install is the ipkg package management system. mkdir /opt/tmp < enter >
mkdir /opt/tmp/ipkg < enter >
ipkg.sh update < enter >
ipkg.sh install ipkg < enter > Now update the packagelist for ipkg and install the nano text editor /opt/bin/ipkg update < enter >
/opt/bin/ipkg install nano < enter >

Abin 提到...

To lcc:
為什麼 ipkg 要放在 opt 下面,因為如果你用 Oleg 的韌體,Oleg 大大就已經把 ipkg 的 binary 執行檔編譯好放在特定的目錄,執行 /usr/bin/ipkg.sh 以後會幫你 copy 到 /opt/bin 下,做一些設定,這也是為什麼安裝 ipkg 時要先建一個 /opt/tmp/ipkg 的目錄,事後該目錄又是空的。
如果你動到 /opt 的路徑,導致 ipkg 或其他程式不正常,我不知道要怎麼「手動修正」,我建議你韌體更新再做一遍,因為光修正 ipkg,未來安裝或是程式更新都還是可能會碰到非預期的問題,可能不是光手動就能修正得完的。
如果你有興趣,可以去研究一下 ipkg,以及 Oleg 大大的 ipkg.sh,或許能找到手動修正的辦法。

小江 提到...

Abin大您好:
小弟有一事請教,小弟的wl-500gp也想刷機,但是刷完之後它內建的download master的功能還可以用嗎?他這個功能原本加上原廠的韌體非常不穩定(甚至不能跑),不知道刷了韌體之後,這個功能是否還在?

小江 提到...

Dear Abin,

再有一問題請教,我的wl-500g AP再插上cable後,發覺常會出現自動連線,然後再斷線,周而復始的這個問題。我已經刷完了韌體了,還是會有這個問題。請問是熱當嗎?還是AP本身已經有問題?

Abin 提到...

To 小江:
Oleg 的韌體是用華碩官方釋出的 GPL 版本韌體進行修改的,我刷完內建的功能一個都沒少,那是因為機器是我很久以前買的(市面上也沒有該型號了)。你所謂「內建 Download Master」的功能我沒看過,如果是後來 Asus 新增,沒有一併加入 GPL 韌體而且 Oleg 也沒包進去,那就不會有。我自己是沒有,但也沒試過 500GP 的韌體,所以不能確定。
不過你可以試試看,試之前先去下載 Asus 官方給 GP 用的最新版韌體,如果發現沒有還可以反刷回來。
至於會反覆斷線、自動連線,因素有很多,也有可能是 ISP 或線路的問題。所謂的「熱當」,顧名思義是用一段時間因為過度使用、散熱不良導致「當機」,當機以後就死掉了,不會還突然能正常自動連線。
Oleg 韌體的使用者已經成千上萬了,有些版本甚至比官方韌體更穩更好,如果不能排除問題,您只好刷回去原有的官方韌體,看看能不能改善。

匿名 提到...

大大你好,我想請問一下如果想要在sorce檔裡面加上自己想要的東西,應該要寫在那一個檔裡面,因為下載下來的sorce.rar裡面有好多東西,還有改完應該如何compiler??

Abin 提到...

To Anonymous:

我沒有自己 compile 過,都是用現成的 binary,所以沒辦法提供你什麼建議,抱歉。

匿名 提到...

我在網路上看見你對WL500gP的改機有所摸索,而且很多改機的人也對您的改機技術有所稱讚,小弟這陣子才開始摸索,

能否請教一下...

第一、我已經按照在數位天堂裡面所說的步驟,安裝好了Mrtg軟體,可以跑,而且有出現數個檔案,ex:xxxx.html xxxx.cfg

可是我用瀏覽器開的時候,卻半個東西都沒有..http://140.120.15.167/mrtg

第二、我的目的是要監視我的用戶端,主要是可以蒐集到用戶端髓發出的RSSI訊號,我有看過幾個tool,似乎都是可以用,

但是我不知道要怎麼直接安裝在WL500GP上面,因為上面的指令比較少,只有wget、ipkg來安裝,或者是ABin大大您有好的建議嗎???

我有參考了很多文獻,可是我一到AP上面做的時候卻又綁手綁腳的....

Abin 提到...

首先,我只有玩過 500g,500gP 是不同等級的機器,我沒機會用過。
「數位天堂裡面所說的步驟,安裝好了Mrtg軟體」,我不知道什麼「數位天堂」、什麼步驟,也沒裝過 MRTG,我只有在 500g 上裝過 RRDTool,如同此文所說,基本上應該是差不多的東西。
最後,「蒐集到用戶端發出的RSSI訊號」,我也不知道這是什麼,很抱歉。
基本上我的 500g 因為運算能力太差,我現在已經都把他打做單純有一點點防火牆功能的 router 而已,什麼監控的功能我有試圖玩過,後來因為跑不動頻頻死當而作罷,所以您的應用我可能幫不上什麼忙。

匿名 提到...

大大你好我的機種是wl 500g Deluxe 我安裝 Oleg 大大Firmware1.9.2.7-10後以Open PCMan 2007這套去開啟telnet://192.168.1.1在輸入帳號密碼後卻出現了[admin@WL-0013D492058B root]$請問我該如何改成php綱頁何服機?謝謝

Abin 提到...

To anonymous:
請按照教學一直操作到步驟八或九,你就會有一個 php 的伺服器了。
BTW, 由您的問題我覺得可能您連 telnet 和 http 兩種通訊協定和服務的差別還搞不清楚,改機之前請先搞清楚命令模式和網頁模式的差別,該做的功課還是要做(先去瞭解一下 linux),不是靠發問就能建立一個 php 伺服器的。

Herb 提到...

你真有耐心,一堆小白亂發問你還真的每個都回答......,佩服 XD

kevin 提到...

Asus WL-500g 的儲存裝置可以接usb flash disc嗎?
聽說一定要接硬碟,
用usb flash disc會有問題

Abin 提到...

To kevin:
我以上的系列文章都是把軟體裝在 USB flash disk 上,從來沒「聽說」有問題,不知道您的消息來源是什麼。

Khome 提到...

請問一下Abin大大
oleg的linux可以新增user跟group嗎?

Abin 提到...

To Khome:
當然可以,不過,沒有所謂的 adduser 或 addgroup 之類命令,請自行編輯 /etc/passwd 和 /etc/group 這個檔案來新增,最後手動更改密碼 (passwd user) 和建立使用者目錄。

匿名 提到...

請教 WL500g.Deluxe 有可能增加bt的功能嗎???

匿名 提到...

請問一下Abin大大:
如果更新韌體時更新到別種型號的韌體(機器是500G,更新到500GX的)
現在是燈號正常,PWR燈號沒在閃,但http://沒辦法連進去~~~
還有辦法改回來嗎???

Abin 提到...

我的 500G 已經壞掉丟到垃圾捅了,沒辦法再提供相關資訊。

張貼留言

歡迎留言或發表意見,不過要理性不做人身攻擊。匿名的朋友得到回應的速度會比較慢喔~
發問相關的禮貌和規矩請先參考這篇文章,不當留言、和本文無關的回應可能會被直接刪除無視喔!