ASUS WL-500g Premium (WL500gP)

最近又买了个新的无线路由器 ASUS WL-500g Premium.

为啥说又呢,因为之前我已经有2个无线路由器了, 一个用了2年,一个用了1年, 而且都用的好好的:p

其实最初也就是打算买个移动硬盘而已, 但是我有2台笔记本, 插来插去也挺麻烦.
于是突发奇想移动硬盘上能不能带个网络接口, 插上网线, 整个网络都可以访问.
后来还真给我找着个带网口的硬盘盒(元谷PD-NDAS),
虽然性能不能跟动辄几万的文件服务器比, 不过价格才1k不到, 号称10MB/s的速度也可以接受.
刚打算买, 就发现华硕的这个强悍的路由器WL500gP了,
可以把普通的USB硬盘接在上面, 价格跟带网口的硬盘盒相当,
但是功能可就丰富太多了, 号称自动BT下载,
所以也不管原来的那两个路由器是啥心情了, 当即出手买了.

这个WL500gP有2个USB接口, 可以接任何USB接口的存储设备, 或者摄像头, 还可以接打印机.
接上之后整个网络里都可以通过Samba(网络邻居)和FTP访问存储或打印, 在外网也可以用FTP访问.
另外还支持自动BT,http, ftp下载, 可以关了电脑让路由器自己慢慢下,
而且可以在通过网页方式控制 (在外网也可以!)

更方便的是刷了oleg修改版的固件或者开源的OpenWRT,DD-WRT之类的固件之后,
可以telnet上去自己装任何软件(操作系统用的是Linux 2.4 kernel) , 所以这功能就可以随意扩展了.

其实总的来说就是台缩减版的电脑了, 266M的CPU, 32M的内存, 8M的flash, linux操作系统,
大概就是几年前的标配了吧.
不过我接上去的硬盘可就对比鲜明了,
我特地新买了个320G的硬盘(Seagate 企业级硬盘, 号称可以24X7不间断运作) ,
装在一个也是新买的3.5寸的硬盘盒(元谷PD-SATA)里面, 挂在WL500gP上,
这下BT起来可就无忧无虑了!

这周浏览了无数网站,论坛, 没日没夜地倒腾, 睡眠时间明显减少, 平均是1:30睡的!
反正老婆不在家, 没人管; 至于白天嘛, 嘘!

最终我把 bt, emule 通通装上去跑起来了, 周末开着跑了2天2夜, 很稳定.
峰值速度可以到200多KB/s (2Mbps的ADSL), 跟PC下载相当.

废话了一堆, 还是记录下具体的DIY过程吧, 省得以后忘记.

Firmware Selection

ASUS

对中文的支持比较好, 基本功能都可以在网页上控制, BT及HTTP, FTP下载有PC版本的软件支持.
缺点是没有开启telnet或ssh端口, 无法自己装软件.

oleg 修改版

oleg修改版基于ASUS官方的版本, 开启了telnet, 可以自己连上去装软件. 这是我正在用的版本.
oleg的代码可以在wl500g.info下载,自定义及重新编译的过程见 oleg

OpenWRT

DD-WRT

Firmware Upgrade

WL500gP刚拿到手的时候, 发现固件不是最新版的, 所以通过页面上的固件升级功能刷到了ASUS官方的最新版,
玩了一会儿, 发觉没法telnet,所以毫不犹豫地又刷成了oleg的修改版. 具体刷有2种方式.

刷新前

1. 保存 flashfs
可通过管理页面保存
刷新过程只会禁用, 而不会清除flashfs内容, 所以不保存也可, 但以防万一还是存一下好.
2. 保存settings, 清除settings
可通过管理页面保存
刷新过程并不会更改这些, 但是如果setting不兼容新的firmware的话, 有可能刷完重启后导致路由器不工作.
所以最好刷前将settings恢复到默认.
3. 保存 nvram设置 (不确定是否需要?)

nvram show > /opt/nvram.log

刷新

网页方式

只能用于路由器能正常显示管理页面的情况, 而且据说只能从旧的刷成新的, 反过来不行, 不过我没有碰到这种限制.

ASUS Firmware Restoration

如果网页不能显示, 或者路由器已经彻底当掉的话, 只能通过ASUS官方的Firmware Restoration软件恢复

1. 将WL500gP转换到restore 模式.
拔掉电源, 按住reset, 保持按住的同时, 插入电源, 待电源灯闪起来之后, 松开 reset, 此时路由器已处于restore模式.

注: restore模式的标志就是电源灯不断地闪烁.
一旦进入该模式, 即使关闭电源, 下次重新开启时仍然会处于restore模式, 直到完成restore.

2. 用网线将PC连至路由器的 LAN1 口, 并将PC设为动态获取IP

3. 禁用所有不使用的网络连接
这一步非常关键, Firmware Restoration工具需要通过网络连到路由器, 但是如果有多个网络连接的话, 会无法正确判断使用哪一个.
所以需要手工禁用所有不用的连接, 只保留restore使用的那一个.

4. 用软件上传固件.
开启PC上的ASUS Firmware Restoration 工具, 选择要刷的固件, 点上传.
此后会显示"正在连接到无线设备…", 然后上传数据, 之后?

5. 等待软件传输完毕, 路由器自动重启, 重启完成之后就ok了.

刷新过程细节说明

上传数据会被放在 /tmp/linux.trx,
之后系统会执行刷新:

write /tmp/linux.trx /dev/mtd/1

备份firmware 可以用:

dd if=/dev/mtdblock/1 > $1/first_config.trx

刷新过程开始后会关闭usb等设备, 但网络依然可以使用.
刷完会自动重启的, 如果没有, 那就手动重启下吧

刷新后

启用flashfs

flashfs enable

这一步执行完之后, 需要重启才能使 flashfs 有效

telnet 或 ssh

用putty之类的工具telnet到路由器上, 用管理员的用户名密码登录. 之后可以通过命令行装软件.
要支持ssh的话, 需要启动dropbear, 后面软件部分介绍.

系统管理

flashfs (刷新flash)

整个文件系统是在flash上的, 所以所有修改要保存必须运行flashfs.

命令说明

flashfs save 打包所有文件
flashfs commit 写入flash
flashfs enable 重新使能flash

常用方式

flashfs save && flashfs commit && flashfs enable

可以设置alias简化这3个命令的输入

alias flush="flashfs save && flashfs commit && flashfs enable"

/tmp/local

flashfs默认只保存/tmp/local这个目录,
如果需要保存其他目录的修改, 需要新建/tmp/local/.files文件, 在其中列出其他目录或文件.

目录

/opt 安装软件的默认目录
/tmp/harddisk USB mount的默认目录
/usr/local (-> /tmp/local) 本地目录

系统配置文件

/usr/local/etc/profile 用户启动脚本, 登入shell时会被 /etc/profile 调用
/usr/local/sbin/post-boot 启动后调用
/usr/local/sbin/post-firewall 启动防火墙后调用, 设置filter rule
/usr/local/sbin/ez-setup
按ez-setup button 超过3秒后, 电源灯开始闪烁, 此时松开button, 会自动执行ez-setup脚本
(刚开始, 我用它开关无线功能, 后来改成了挂载硬盘或者卸载硬盘)

挂载USB硬盘

插上USB硬盘之后, 系统会默认将其所有分区挂载到/tmp/harddisks/part*

如果需要(当然需要)自己定义, 可以在post-boot中自己加载,
系统启动时的自动挂载应该是在post-boot之后执行的,
所以如果在post-boot中已经挂载过了所有的分区,
那么系统就不会自动挂载任何分区到/tmp/harddisk了

安装 ipkg

ipkg用于控制软件包的安装卸载, 只要给package的名字, 就能够自动下载需要的软件包及其依赖的其它软件, 并自动安装.
oleg自带了一个ipkg.sh 脚本, 用法类似于ipkg命令, 差别在于它不会检测依赖关系. 没有ipkg之前, 先要用这个脚本来装.

安装步骤

A. 运行 ipkg.sh install ipkg 即可.
或者
B.
ipkg.sh install ipkg-opt
ipkg.sh install uclibc-opt
另外有个ipkg-web可以通过网页控制ipkg, 但不知怎么用. (ipkg.sh install ipkg-web)

常用命令

ipkg list

列出所有可安装软件

ipkg update

更新软件列表

ipkg install <package>

安装package
如果指定某个软件的名字, 则会去自动下载
如果要从本地的package安装, 需要指定路径.

ipkg list_installed

列出所有已安装软件

ipkg upgrade

这大概是日常使用最多的命令了: 更新本机上的所有软件至最新版本! 哈哈哈~~~

安装其他软件

[必装的]

samba2

vsftpd

cat /opt/etc/vsftpd.conf

xinetd

cat /opt/etc/xinetd

cron

类似于windows上的计划任务, 定时启动某些程序, tranmission需要用这个.

cat /opt/etc/crontab

transmission

需要以下2个软件的支持:

cron

logrotate

[可选的]

vim

nload

which

[自带的]

dropbear

stupid-ftpd

推荐使用vsftp, 更安全, 功能也强不少

ez-ipupdate

用在动态域名解析, 申请了动态域名之后, 可以用这个软件自动刷新IP

cat /usr/local/sbin/dyndns

常用命令

halt
关机. 会关闭USB设备, 电源灯, 但路由器仍然供电, WAN和LAN的灯还亮着.
reboot
重启

常用链接

产品硬件信息

WL500gP 产品介绍(ASUS官方)
WL500gP 产品规格(ASUS官方)
OpenWRT上WL500gP的详细资料
xbitlabs 有详细的内部拆解图片!

软件

  • OLEG软件列表

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

  • nslu2-linux.org 可以查找每个软件的使用说明

http://www.nslu2-linux.org/wiki/Optware/Packages?from=Unslung.Packages

  • OpenWRT 上软件包的主页

http://wiki.openwrt.org/OpenWrtDocs/Packages?action=show&redirect=OpenWrtPackages

论坛及教程

  • wl500g.info 上的WL500gP 论坛

http://wl500g.info/forumdisplay.php?s=0b6f3ead2e54161df58143cf95f8a9b2&f=61

  • macsat

http://www.macsat.com/macsat/component/option,com_smf/Itemid,50/

  • 关于WL-HDD的一个WIKI, 可以参考用在WL-500gP上, 不错的guide!

http://www.sprafly.com/wiki/Main_Page


相关话题

print RyanLeeRyanLee rev. 1 04 Jan 2008 15:21
自定义oleg版固件 Anonymous rev. 5 11 May 2019 03:35

子页面

引用页

评论


rating: 0+x

Add a New Comment
or Sign in as Wikidot user
(will not be published)
- +
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.