2010年6月25日 星期五

Asus wl500gp安裝firmware [OpenWrt Backfire 10.03]

        隨著版本的演進,OpenWrt Backfire 10.03已經在 2010年的4月7號公告發行了
https://forum.openwrt.org/viewtopic.php?id=24177 其中對我比較重要的消息,是終於可以用b43 driver,也就是我這wl500gp,終於可以用kernel 2.6系列的firmware了,之前因為driver還不夠完善,所以只能用kernel 2.4 的版本撐著。
        以下為在下的安裝方式,十分的粗魯與不安全,因為我是在機器仍然在線上運作下,直接ssh連進去,然後進到/tmp下,抓下新版的image檔,然後就直接下指令把現在online的系統蓋掉。他處理完後會自已重開,最重要的,千萬不要在他蓋到一半時幫他reboot。

        重安裝全的最後一眼 
















下指令下載image檔,然後直接蓋掉現有的系統(很危險,請記得備份&留個後路)
重開機完畢後,記得先telnet進去,改掉密碼,他ssh才會自已打開

用網頁重新設定對外連線,介面略有小小的不同,從wan改成internet這個比較親切的字眼,因為我是用固定IP,所以就乖乖的一個一個設定,如果是PPPoE,請在圖中的紅框選擇你的連線方式。
預設他的無線是關掉的,有需要的人請記得重新設定。




整個安裝過程超快的,也沒有遇到什麼問題。



openwrt安裝軟體套件

2.1 設定密碼
    重開機後可以用telnet登入,不用密碼,此時,使用passwd 這指令設定密碼,設定密碼後,telnet會關掉,
只剩ssh可用,一般也是用ssh進行連線控制,因為有加密,密碼不會被sniffer走。
    web是另外一個主要的管理介面,但是卻是沒有ssl加密,所以理論上密碼是會被sniffer走的。

2.2 安裝應用程式
    下列為指令列下操作,可直接複制文字,則到ssh console後批次執行
更新軟體列表
opkg update

剛灌完的初始狀態
連同os與基本的功能(ip shareing & wireless ap)約僅2mb大小,這機器有8mb,所以剩下的空間還"不少"
root@OpenWrt:~# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
rootfs                      1600               1600          0        100%   /
/dev/root                 1600               1600         0        100%   /rom
tmpfs                       15276             1112     14164        7%   /tmp
mini_fo:/tmp/root  1600               1600         0         100%  /tmp/root
/dev/mtdblock/4    5824                332      5492            6%  /jffs
mini_fo:/jffs            1600               1600         0          100%  /
你算了算會發現怎麼空間有16mb的,那個只是一個暫存的磁區,是從32mb的記憶體中切出來的,可不是真的空間,重開機就不見了。
寫在此磁區的好處,是不會耗損flash的壽命,而且空間大一點,速度也快一點。

註:你可以從路徑看到我安裝的套件for那個版本的,安裝軟體時請自行注意版本問題
快速安裝法,把下列的指令貼到ssh console上,要則到最後一行的空白行,那麼就會全部安裝(像批次檔一樣)
for usb tools--讓機器可以抓到隨身碟
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/kmod-usb-core_2.4.35.4-brcm-2.4-1_mipsel.ipk
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/kmod-usb-uhci-iv_2.4.35.4-brcm-2.4-1_mipsel.ipk
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/kmod-usb2_2.4.35.4-brcm-2.4-1_mipsel.ipk
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/kmod-scsi-core_2.4.35.4-brcm-2.4-1_mipsel.ipk
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/kmod-usb-storage_2.4.35.4-brcm-2.4-1_mipsel.ipk
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/kmod-fs-vfat_2.4.35.4-brcm-2.4-1_mipsel.ipk
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/libusb_0.1.12-2_mipsel.ipk
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/zlib_1.2.3-5_mipsel.ipk
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/usbutils_0.73-1_mipsel.ipk

for vpn 只會提示,需手動裝相依套件,下面是手動裝的列表
opkg install  http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/kmod-tun_2.4.35.4-brcm-2.4-1_mipsel.ipk
opkg install  http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/libopenssl_0.9.8i-3.1_mipsel.ipk
opkg install  http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/liblzo_2.03-1_mipsel.ipk
opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/openvpn_2.0.9-5.1_mipsel.ipk

root@OpenWrt:/www/file# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
rootfs                    1600      1600         0 100% /
/dev/root                 1600      1600         0 100% /rom
tmpfs                    15276      1144     14132   7% /tmp
mini_fo:/tmp/root         1600      1600         0 100% /tmp/root
/dev/mtdblock/4           5824      1728      4096  30% /jffs
mini_fo:/jffs             1600      1600         0 100% /
/dev/scsi/host0/bus0/target0/lun0/disc
                        500208       712    499496   0% /www/file
記錄網路使用的log套件
darkstat 他會安裝相依套件
 opkg install http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/darkstat_3.0.708-1_mipsel.ipk

除了透過指令列外,因為他也有提供網頁介面,所以其實也可以連到他的管理介面進行裝
下面是從網頁進行的安裝,勾一勾再確Process就會自已下載安裝
安裝方便的client(從網頁設定)
luci-app-initmgr    設定開機執行的程式
luci-app-ntpc       同步時間的網頁設定介面
以便用sftp上傳檔案 
openssh-sftp-server 裝了以後就可以用sftp上傳資料

Asus wl500gp安裝firmware

1.1 diag mode
如果用tftp連不上,就要把進入diag mode的流程多試幾次,因為那代表沒有成功進行diag mode
下面是openwrt網站中找出來的操作方式,不過因為我慧根不夠,沒有試成功。


-------------------------------------------------------------------------------------------------------------------------------
Using diag mode
To install OpenWrt using TFTP or the ASUS firmware restoration tool you have to put the router in diag mode. To put the router in the diag mode, do this:

Unplug the router's power cord.
Confirm your PC is configured to request an address via DHCP.
Connect the router's LAN1 port directly to your PC.
Push the black RESTORE button using a pen or such, and keep the button pushed down.
Plug the power on while keeping the RESTORE button pushed for few seconds.
When you see a slowly blinking power light, you are in diag mode.
Now the router should accept an image via TFTP or via the ASUS firmware restoration tool.

-------------------------------------------------------------------------------------------------------------------------
tftp 192.168.1.1
tftp> binary
tftp> trace
tftp> put openwrt-brcm-2.4-squashfs.trx

1.2.failover mode
這是我測試時實際生效的方式,上面第一個方式我並沒有測成功
開機時按reset紐,進入電源燈快閃模式,此時可用telnet直接連進機器,不用密碼就是root
這本來是用來忘記密碼時,reset密碼用的,我卻是拿來重裝OS
在telnet後,打下面的指令下載並把image檔「安裝」好,只要兩個指令就解決了。
wget http://downloads.openwrt.org/kamikaze/7.09/brcm-2.4/openwrt-brcm-2.4-squashfs.trx
mtd write openwrt-brcm-2.4-squashfs.trx linux && reboot

IP分享器灌Linux

家裡的IP分享器可以安裝成linux,硬體規格如下
硬體:Asus wl-500gp
Architecture     MIPS
Vendor         Broadcom
Bootloader     CFE
System-On-Chip     Broadcom BCM94704
CPU Speed     266 Mhz
Flash size     8MiB (Spansion S29GL064M90)
RAM         32MiB (2* HY50U281622ETP-5, some older units have only 16MiB enabled)
Wireless     MiniPCI Broadcom 802.11b/g BCM4318 802.11 Wireless LAN Controller
Ethernet     Robo switch BCM5325
USB         2x USB 2.0
Serial         Yes
JTAG         No
           其實華碩本身出廠時就是用linux的os,只是我改裝的是網路上共通的一套Linux版本 openwrt(http://www.openwrt.org/)。此機器的特點是有兩個USB port可以外掛設備,所以可以加隨身碟增加存放空間。因為是linux,所以要裝的usb設備需要有支援linux才裝的上去,並不是每種usb設備都可以。

        畢竟他的硬體效能是非常有限的,最好專心使用其中幾個功能,不要想說同時當檔案伺服器,又要當vpn server,又要做防火牆,又要p2p抓檔案,又要當web server,還要當mysql
server (資料庫)。雖然他規格上的CPU是 266Mhz,但是他不是x86架構,所以不要類比到k6-266之類的效能。而且內建的flash只有8mb,記憶體只有32mb,都是很有限的。
       
         以openwrt來說,因為硬體的驅動是由社群解決,所以最好的方式是到https://forum.openwrt.org/看其他使用者的使用經驗,即使是相同的chip,也有可能因為廠商的不同,而有相容性的問題,畢竟這東西是由社群提供,而不是由硬體銷售公司提供的售後服務,最好確認別人使用上沒有問題,再進行安裝使用。
  
         比如以我這一台機器為例,他就分成兩個版本,兩個版本用的chip有所差異,變成有時v1是沒問題的,但是v2會遇到問題,以我這台的4318這個chip,之前只能用kernel 2.4的版本安裝,因為2.6的驅動還不夠完善,目前最後的backfire這個版本,似乎已解決之前的問題(還沒有實際測過)