2007-05-26

LinkStation HG 硬體規格剖析

在買 LinkStation 之前,我也被各種不同版本類似的產品搞得頭昏眼花,每每都要比較一下型號和規格才知道彼此的差異。在 Buffalo @ NAS-Central 上面有強者做出相當詳細的比較表,還有圖片解說用來判斷不同版本,對此我也整理一下說明,讓大家更瞭解詳細規格的差異。先來幾張 LinkStation HG 美美的照片。(照片參考自 Mobile01,Ryan Lai 的大作,該文也是相當詳盡的介紹)

LinkStation 的「英姿」,看得到正面的開關按鈕、鏡面面版和 USB Port

從上向下的俯瞰照

LinkStation 的屁屁照。從上而下是風扇、重置鈕、GbE Port、USB Port 和電源插座。

在開始之前,先大概講一下有那些版本。撇開內建硬碟空間大小不談,除了 LinkStation 之外,日本還有另外一個產品叫做 Kurobox,規格和架構 LinkStation 幾乎一樣,只要的差異在它銷售的時候不像 Bufallo 一樣會強制內建一個硬碟,Kurobox 擺明了就是改機專用的網路外接盒,手邊有任何可用的硬碟都可以拿來用。反之 LinkStation 有內建硬碟,但是一旦你想拆殼換硬碟,一年保固就沒有囉!這樣說來 Kurobox 比較好用,但是我最後選擇 LinkStation 有兩個原因,第一,Buffalo 的產品比較好買,Kurobox 要請平行輸入的人帶才有辦法,第二,Buffalo 含硬碟的銷售比單買一個 Kurobox 外接盒划算很多(也可能是因為要平行輸入的關係),加上我手邊也沒有大硬碟,所以就買 LinkStation 囉!光就 LinkStation 來說台灣銷售也兩個版本(停售的就不說了),一個是標準 100M 網路介面的 LinkStation,另外一個是用 1 GbE 網路介面的 LinkStation HG (要從型號和規格來判斷,當然,不只是網路速度有差啦),而我買的是 HG 的版本,效能也比較快。最後,網路上還有最新最新的 LinkStation Pro,不過零售商架上我還沒看過(不過網購和官網都有),改機資源也沒有那麼多,所以規格再好也比較難吸引我。下面列一下我 LinkStation HG 的詳細硬體規格(我買容量是 160G,盒子裡內建是 WD1600BB,型號牌子就說不得準了):

CPU
266Mhz Freescale MPC8241 with MPC603e Motorola PowerPC core (PPC)
RAM
128MB ELPIDA DS2516APTA-75 SDRAM
ROM
4MB ST M29W320DT HG00
Net
10/100/1000Mb Realtek RTL8110S-32 PCI ethernet controller
USB
2.0 x 2 type A NEC D720101GJ (rear:/dev/usb/lp0, front:/dev/usb/lp1)
IDE
Silc0680acl144 OR IT8211 PCI IDE disk controller

然後補一張 LinkStation HG 脫光光主板照:

接下來是 LinkStation (V1 & V2), Kurobox, LinkStation HG, Kurobox HG, LinkStation Pro, Kurobox Pro 的混戰大比較:


LinkStation

Kurobox
LinkStation HG
Kurobox HG
LinkStaion Pro
Kurobox Pro
Model
HD-HLAN V1
HD-HLAN V2
KURO-BOX
HD-HGLAN
KURO-BOX/HG
LS-GL
KURO-BOX PRO
CPU
PowerPC
MIPS
PowerPC PowerPC PowerPC ARM9Core
ARM9Core
Clock
200MHz 400MHz 200MHz 266MHz 266MHz 400MHz 400MHz
RAM
64MB 64MB 64MB 128MB 128MB 128MB 128MB
ROM
4MB 4MB 4MB 4MB 4MB 4MB 256MB
USB
2.0 x 2
2.0 x 2 2.0 x 1
2.0 x 2 2.0 x 2 2.0 x 2 2.0 x 2
NET
10/100
10/100 10/100 10/100/1000 10/100/1000 10/100/1000 10/100/1000
Other





SATA
SATA + PCIe

從上面的比較表可以知道,只要 CPU 或周邊不一樣,改機用的韌體甚至軟體環境就會有差異,所以要認清楚自己用的硬體型號,並且找對了相對應的改機軟體和文章,才可以確保改機順利。此外,越高階、等級越好的機器代表如果拿來開個人伺服器,跑服務的效能應該也會更棒,但如果你需要這樣的裝置單純只是拿來做備份,或是網路硬碟空間共享的話,其實規格好壞差異就不大了(買最便宜的就夠了)。

入手 LinkStation HG 近一年來,發現市場價格和規格的波動非常小,這是小眾市場,價錢的抗跌性也比較好,要架設低耗電、安靜、有如此改機彈性的個人伺服器,除了弄一台 PC 之外,LinkStation 到現在都還是我覺得最好的選擇之一。

參考文章:
LS Hardware and Software information
Kurobox Hardware and Description
Mobile01: Buffalo LinkStation 家用網路硬碟機

2007-05-24

Bufallo LinkStation HG 改機前言

在玩過 Asus WL-500g 改機之後,覺得該硬體對於服務和儲存的需求有些不堪負荷,後來長期關注並勤做功課之後,終於入手了 Bufallo 的 LinkStation HG 160G。機器本身預設就是當作網路硬碟 (NAS, Network Attached Storage) 使用,對於大硬碟 (250G 以上)、網路存取 (Samba, FTP) 都有預設的支援和服務,運算能力和穩定性也相當不錯。不過如果搭配網路上網友們的 Hack,它不但強化了分享的能力,更能進一步轉型成個人伺服器使用。和我在 Hack Asus WL-500g 一樣,我也是借助了很多網友整理的文件和說明,一步一步地修改和改裝我的 LinkStation,讓它變成一台強大的個人伺服器。

改機資訊其實在 wyw 的 Kurobox/Linkstation 資訊討論區有很多的資源,站長也有整理相當完整的 PDF 文件,我也是參考這些文件進行改機的,只不過根據我自己的小小意見和經驗有做一些修改和註解,並且用我的 Blog 做一些整理,一方面自己反覆改機的時候可以當筆記來查詢,另一方面也可以分享給大家參考。再強調一次,大部分 Hack 的技術都是引用或參考各位網友強者的網頁和文章,我會詳細標註參考的來源和作者,內容雖然都會用自己的方式改寫,但是還是要尊重原作者的智慧。同樣的,這只是筆記,不會涉及太多基本觀念的介紹,這部份可以參閱鳥哥的 Linux 教學網站,或是 Debian 的中文討論區 (摩托學園),上面都有很多比我強 N 倍的神人可以傳授和解答。所有 Hack 的流程和內容大致包含:

  1. LinkStation HG 硬體規格剖析
  2. LinkStation 改機之韌體更新
  3. Debian 的安裝與設定 () ()
  4. Samba Server 網路芳鄰共享的設定
  5. AMP (Apache + MySQL + PHP) 的安裝設定
  6. FTP Server 的安裝設定 (vsftpd & proftpd)
  7. MLDonkey - 萬用 P2P 下載工具 (eMule, BT)
  8. LinkStation 的升級 Part1: 更換硬碟
  9. LinkStation 的升級 Part2: 支援 SATA 硬碟
  10. LinkStation 起死回生 via JTAG

以上大部分是參考 wyw 大大的改機文件,其餘的部分有的是其他網友的心得,加上我實際的經驗匯總起來的,如果有文章完成或新增標題,本文也會持續更新(不過不一定照順序喔)。這台個人伺服器上面可以玩的東西比 Asus WL-500g 多很多,只要不是把目標放在開大站,機器應該都還負擔得動。

整理這些文件主要的目的其實是方便自己查詢和記憶使用,我並不是什麼 Linux 強者、也沒能力去做更複雜或深入的改機,如果有什麼建議或問題可以一起討論,有其他心得可以分享更是歡迎。關於 LinkStation 的資源除了上面提到的中文 Kurobox/Linkstation 資訊討論區之外,還有國外的 Buffalo @ NAS-Central Wiki (很多圖片和規格從那邊來的),有時候很多問題可以在那邊找到答案,改機這條路雖然有趣,但是更多的部分要靠自己學習和摸索,如果只是沒由地亂問、或是像小白問些沒唸過書的問題,可能就沒人會理你囉!

回應: 4

 

2007-05-16

其他應用程式補完

在 Asus WL-500g 裡面提供的網路連線及相關工具其實不多,在此整理一些我安裝的工具和服務,大多不需要什麼設定,裝完就可以用了。

  1. FTP client: ncftp
  2. 如果你要抓檔案到 Router 來,除了用之前 Samba 的網路芳鄰分享之外,好像就沒有其他辦法。偏偏因為硬體的限制如果大一點的檔案編輯器就沒辦法處理,有些檔案只好在外面編輯後放進來。結果內建的韌體連 FTP 都沒有,只好自己裝。我裝的是我常用的 NcFTP (v3.2.0-2):

    ipkg install ncftp

    裝完以後執行檔會被複製到 /opt/bin 下面。現在你就有工具可以 ftp 出去抓檔了。用法:

    ncftp -u user [-p password] [-P port] host-ip/domain

    嫌這樣太麻煩,也可以自己建立站台列表(bookmark),以後連線也比較方便。

  3. WWW client: Lynx
  4. 文字模式要怎麼測試某個網站能不能連?用 Ping 的不一定準,因為有可能中間是因為 Proxy 的問題或對方關掉 Ping port,最直接的辦法還是用 Web client 連過去看看。文字模式還有 Web browser ?沒錯,這就是我常常用來測試 Web 的 Lynx。重點並不是能不能看到完整網頁,而是該網站連不連得上。安裝 (v2.8.6-1, 還會被裝上 bzip2 v1.0.4-1 & openssl v0.9.7m-1 & zlib v1.2.3-3):

    ipkg install lynx

    裝完以後執行檔同樣放在 /opt/bin 下面。用法和一般瀏覽器一樣,後面帶網址就好了:

    lynx http://domain-name:port

  5. 進階編輯器: Joe
  6. 說到 Joe 很多人應該很熟悉吧,編寫 code 的時候可以有顏色區隔,編寫時還會自動備份。安裝:

    ipkg install joe

    這樣會安裝 Joe (3.5-1) 以及所需的 termcap (1.3.1-2)。

  7. 簡單的資料庫: SQLite
  8. 之前有試過安裝 mySQL (4.1.20-1),裝是裝好了,還裝了一堆相依的套件,但每次跑每次都 ERROR,後來也體恤也許 mySQL 對 Asus WL-500g 太沈重,放棄!最後改裝 SQLite (3.3.16-1),沒想到一裝就裝好了:

    ipkg install sqlite

    看來好像還有一個叫 sqlite2 的,不過看版本還是裝 sqlite 比較保險。這是一個類似 Access 的資料庫軟體,功能很精簡,不像 mySQL 那麼強大(複雜),只要指定一個資料庫檔案就可以執行了:

    sqlite3 test.db

    進去之後和 mySQL 很像有提示符號 sqlite>,用 .help 可以列出所有操作的指令,一開始不知道從哪裡開始嗎?可以參照這篇文章

  9. ZIP 檔解壓縮工具: Unzip
  10. 韌體裡面已經內建了 tar 和 gzip  & gunzip 這些封裝和檔案壓縮工具,tar 也可以結合 gzip 一起做檔案的解壓縮 (tar -xvf),但是,如果你抓到一個附檔名是 .zip 的檔案,這兩個工具竟然是沒辦法處理?!所以,要另外裝 Unzip 來處理在 PC 上再常見不過的壓縮檔。

    ipkg install unzip

    這裡安裝的是 v5.52-1,用法很簡單:

    unzip 檔名.zip

  11. 網卡流量檢測工具: nload
  12. 想知道現在 router 對內對外的流量狀況嗎?nload 是一個能夠即時回報網路狀況的公用程式,只要指定介面,就會立即顯示該網路介面的動態。安裝:

    ipkg install nload

    使用時只要指定網路介面當參數。假設想看 500g 整個對內對外的總流量狀況,要指定看 eth1 介面的狀況(無線網路是 eth2):

    nload eth1

    就可以有詳細的數據統計。由於是即時動態監控,如果不看了,可以按 q 或 Ctrl+c 離開。

  13. USB 裝置檢查: USB utility
  14. 想知道自己的 USB 裝置插上 Wl500g 之後,倒底有沒有被認到,還是沒插好嗎?除了用 dmesg 來找,也可以安裝一個小公用程式;

    ipkg install usbutils

    以後要檢查 USB,包含 ID 和裝置的狀況,用命令 lsusb 就可以了。

  15. 不用資料庫的 Wiki: DokuWiki
  16. 官方網站在這裡。(還沒裝過)

  17. 不需資料庫的 Blog 系統: Simple PHP Blog
  18. 官方網站在這裡

  19. 精簡的討論區: PunBBS(可以用 SQLite 資料庫)
  20. 官方網站在這裡。(還沒裝過)

以上工具程式對系統不會有什麼影響,不過如果是後面的幾項服務(Blog, Wiki, BBS),就要先準備好 PHP ready 的環境,並且評估開啟服務後對整個系統的影響,畢竟 WL-500g 只是一台虛弱的電腦,讓它做太多事他可能會容易生氣和罷工的喔!

[補充]
除了另外安裝公用程式,系統內也有一些程式命令可以用,以下做一點整理:

  1. dmesg
  2. 這個命令是用來顯示裝置的所有硬體資訊,有點像 Windows 的裝置管理員,只不過都是文字敘述,要自己捲頁去找詳細資訊,或帶 grep 參數列出自己想看的東西。舉例說明,如果想看 CPU 型號,可以用:(大小寫有差異)dmesg | grep CPU,記憶體除了用之前有提過的命令 free,也可以用 dmesg | grep Memory,最後如果想看「硬碟」的資訊(這裡指的是外接的 USB 隨身碟),則是用 dmesg | grep hd,它就會列出目前接在系統上的硬碟大小和 Volume 名稱。執行的範例和結果如下:

    # dmesg | grep CPU
    CPU revision is: 00024000
    CPU: BCM4710 rev 0 at 125 MHz
    # dmesg | grep Memory
    Memory: 13840k/16384k available (1799k kernel code, 2544k reserved, 248k data, 68k init, 0k highmem)
    # dmesg | grep hd
    SCSI device sda: 521152 512-byte hdwr sectors (267 MB)

  3. nvram
  4. NVRAM 是一個儲存設定的記憶空間,有時候會發現即使更新韌體,怎麼會之前做過的設定還在?主要是設定有另闢專區保存,即使韌體重灌也不會消失。所以像是撥接設定、DHCP 或預設原廠提供的參數,都是儲存在這裡。這個命令是用來看 NVRAM 裡面的設定狀況,當然,也可以去更改它。如果要顯示所有現在的設定參數,用下面的命令:

    nvram show

    每行顯示的格式大概是「參數名稱=參數內容」,當然你也可以單看某個參數,指定「參數名稱」就行了。假設你想查看 Web 管理的 Port (http_lanport),命令是:

    nvram get http_lanport

    預設是 80,所以應該會看到「參數的內容」。如果想更改,一樣給定參數名稱,再指定參數內容就行了。假設我想把 80 改成 8080,命令如下:

    nvram set http_lanport=8080

    這樣改完,相當於網頁介面的 Apply 套用,不過下次開機可能就不見了,要保存設置,要另外下:

    nvram commit

    很多設定要重新開機才看得出效果,所以再手動 reboot 就好了。這個命令基本上就和透過網頁對 wl500g 做設定一模一樣,只不過是用命令模式,如果想備份設定,也可以把 nvram show 的結果保存起來,做未來 recover 使用。

回應: 5

 

2007-05-04

更新 Asus WL-500g 的系統 C Library: uClibc

其實 Hack 完 WL-500g 後,玩了一陣子發現會影響網路效能(甚至當機),後來還是回歸自然,讓它單純只做網路設備的工作,系統就很穩定地在運作中。不過不定期還是會看一看 Oleg 大大是不是又釋出新版 Firmware、又加了什麼新功能、解了什麼 bug,有空忍不住還還是會想去更新一下。適逢 1.9.2.7g於四月份釋出,我又打算「升級」之際,撇見一位匿名的熱心網友提醒,原來核心使用的 C Library 有了新版,而且號稱支援更多的軟體服務、能讓系統更穩定,趁著這次更新韌體,我就一併把這個 C Library 安裝和更新吧!

由於這個 Library 相當底層,所以如果你不是重裝系統,官方網頁建議你安裝完 uClibc 之後應該 re-install 你所有安裝過的服務(這樣,不會有問題吧),才能確保所有應用程式的穩定程度。對我來說這種「升級」的動作問題通常都很多,算了,我還是一整個重來吧(反正我有 Hack 文件整理在這個 Blog 上)。其實,安裝 Library 的動作對未來要裝其他應用程式在動作上沒有影響,不過在順序上,一定要在安裝任何應用程式之前,所以我整理過的文章會影響的部分,只有這篇:「基本環境的設定 - ipkg & post-boot」,因為我要用「更新版」的 ipkg、並且更改未來其他安裝軟體下載的 ipkg 網址,這樣才能確保未來安裝的應用程式都是用到新的 uClibc Library。變更的部分,從安裝 ipkg 開始,本來是執行:

ipkg.sh update
ipkg.sh install ipkg

改(記得前幾個步驟暫存目錄還是要建立)!我們手動下載比 Oleg 1.9.2.7g 更新版的 ipkg (0.99.149-2 -> 0.99.163-9),並且安裝:

wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-9_mipsel.ipk
ipkg.sh install ipkg-opt_0.99.163-9_mipsel.ipk

後面那個安裝的步驟會有一些錯誤訊息,可以忽略它。接下來手動下載 uClibc (uClibc-opt 0.9.28-12),並且安裝:

wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-12_mipsel.ipk
ipkg.sh install uclibc-opt_0.9.28-12_mipsel.ipk

同樣的,安裝過程會有錯誤訊息,一樣不用管它。原則上這樣就都裝好了,有了新版 ipkg 和 Library,系統應該就是升級完成,但是,我怎麼確保未來下載安裝的 package 都是支援 uClibc 的軟體和服務呢?這個時候,應該更改 ipkg 去更新、下載軟體的預設網址囉!要修改設定檔,這時候系統應該沒有像樣的編輯器,所以不得以還是先更新一下 package list:

ipkg update

然後安裝 nano 這個編輯器 (2.0.4-1,會一併被安裝 ncurses 5.6-1):

ipkg install nano

好,有了編輯器,我們才能去編輯 ipkg 的設定檔:

nano /opt/etc/ipkg.conf

找到裡面有一行:src/gz native http://ipkg.nslu2-linux.org/feeds/optware/oleg/native/stable,remark 這一行(在這行最前面加一個 #),然後補下面這一行:

src/gz optware http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable

意思就是請到這個目錄下檢查和下載可以用(for uClibc)的應用程式,並確定最後一行是:

dest root /

存檔離開,然後記得再更新 (ipkg update) 一次 package list,確保抓回來的 List 是最後版本就好了。到此裝好了 ipkg, uClibc 和 nano,請繼續這篇文章從建立/修改開機設定檔 (/usr/local/sbin/post-boot) 這個步驟做下去、設定完防火牆 (/usr/local/sbin/post-firewall)、更新 flash 重新開機,不但就完成了基本環境的設定,也一併安裝了最新的 C Library 囉!後面其他軟體和應用程式的安裝設定基本上都沒有影響,可以 follow 我其他 Asus WL-500g 的 Hack 文章繼續做下去~至於系統有沒有比較穩、應用程式有沒有比較多,我就懶得實際去測試和比較了,實際又遇到什麼狀況我再更新吧!

參考文章:
(我自己的) 基本環境的設定 - ipkg & post-boot
Optware-uClibcBuild

回應: 8