近日上网发现新神器,Sitecom WL-351/368 5口全千兆无线路由只要50块钱还包邮,忍不住入了一台,折腾了好几天终于修成了正果。
RT3052F 384Mhz的CPU和HG255d一样,内存32m,openwrt支持完善。 缺点就是flash只有4m而且没有USB扩展,这也是搞了我好几天的原因,需要不断精简固件。
机器买回来首先拆开外壳,把ttl插座焊上,接上ttl线。速率57600 8n1。
U-boot Ver:1.0.1.157 2010/05/17
Board: Ralink APSoC DRAM: 32 MB 2*16 MB
============================================
ASIC 3052_MP2 (Port5<->GigaSW)
Product Name: ESR9850
SDRAM CAS = 3(d1835272)
============================================
Please choose the operation:
1: Load system code to SDRAM via TFTP.
这个Uboot好像是阉割了,连选项都看不到。好在uboot所有的设备都是一样的,网上搜下就能搜到完整版,在看到第一行字的时候要马上按下相应选项。
按1.是tftp下载固件至目标板内存,并运行。适用openwrt的initramfs固件
按2.是tftp下载固件至目标板内存,写入目标版flash再运行。适用openwrt的squashfs-sysupgrade固件
按3或者不按就是引导flash内的系统,即默认选项。
谨慎起见,在刷机之前先备份下原版的系统。自己编译一个initramfs固件,引导时按1用tftp加载。
U-boot Ver:1.0.1.157 2010/05/17
Board: Ralink APSoC DRAM: 32 MB 2*16 MB
============================================
ASIC 3052_MP2 (Port5<->GigaSW)
Product Name: ESR9850
SDRAM CAS = 3(d1835272)
============================================
Please choose the operation:
1: Load system code to SDRAM via TFTP.
UbootDate[2010/05/17]UbootDate
UbootVer[1.0.1]UbootVer
1: System Load Linux to SDRAM via TFTP.
Please Input new ones /or Ctrl-C to discard
Input device IP (192.168.99.9) ==:
Input server IP (192.168.99.8) ==:
Input Linux Kernel filename (firmware.bin) ==:
进入了openwrt系统可以看到mtd分区
cat /proc/mtd
dev: size erasesize name
mtd0: 00030000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00010000 00010000 "factory"
mtd3: 000e0000 00010000 "kernel"
mtd4: 002d0000 00010000 "rootfs"
mtd5: 00010000 00002000 "rootfs_data"
mtd6: 003b0000 00010000 "firmware"
逐一备份,放到www目录,用浏览器下载下来。
dd if=/dev/mtd0 of=/tmp/u-boot.bin
dd if=/dev/mtd1 of=/tmp/u-boot-env.bin
dd if=/dev/mtd2 of=/tmp/factory.bin
dd if=/dev/mtd3 of=/tmp/kernel.bin
dd if=/dev/mtd4 of=/tmp/rootfs.bin
dd if=/dev/mtd5 of=/tmp/rootfs_data.bin
dd if=/dev/mtd6 of=/tmp/firmware.bin
cd /www
ln -s /tmp
备份完成之后可以安心刷机,只要不动uboot肯定砖不了。
openwrt官方早已在attitude_adjustment就支持这个设备了,可以直接下载官网上的ramips/rt305x/openwrt-ramips-rt305x-wl-351-squashfs-sysupgrade.bin 引导时按2直接刷入。
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/openwrt-ramips-rt305x-wl-351-squashfs-sysupgrade.bin
系统正常引导后会发现有线不通,只有无线能用。那是因为,默认使用了rt3052f内部的交换机,而接口是挂在外部的rtl8366rb交换机上的。所以接下来需要加载rtl8366rb交换芯片的驱动。由于有线没法用,所以只能用无线把驱动下载到目标板上。官网上下载4个文件
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/packages/kmod-libphy_3.3.8-1_ramips.ipk
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/packages/kmod-swconfig_3.3.8-1_ramips.ipk
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/packages/kmod-switch-rtl8366rb_3.3.8-1_ramips.ipk
http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/packages/kmod-switch-rtl8366-smi_3.3.8-1_ramips.ipk
用手提电脑搭建一个本地http或者ftp服务器。通过无线把4个文件下载进去,然后opkg安装之。这个机器的内部交换机5口是和外部rtl8366rb的交换机的5口相连的,cpu是连在内部交换机的6口。所以把内部交换机的5口起trunk,把vlan1和vlan2透传出来,vlan1就是lan口,vlan2是wan口,编辑/etc/config/network的switch部分,加入以下内容。
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option ports '5t 6t'
config switch_vlan
option device 'switch0'
option vlan '2'
option ports '5t 6t'
config switch
option name 'switch1'
<span style="white-space:pre"> </span>option reset '1'
<span style="white-space:pre"> </span>option enable_vlan '1'
config switch_vlan
option device 'switch1'
option vlan '1'
option ports '0 1 2 3 5t'
config switch_vlan
option device 'switch1'
option vlan '2'
option ports '4 5t'
重启下网络,就能正常使用了。
不过会发现可用空间非常小,无法安装我常用的东西,没办法,唯有自己编译一个了。
下载attitude_adjustment源码(目前trunk的rtl8366rb好像不能用),编译时选
Target System (Ralink RT288x/RT3xxx)
Subtarget (RT305x based boards)
Target Profile (Default Profile)
若要编译initramfs固件,在Target Images里面选ramdisk就可以了。编译时把rtl8366rb的驱动直接集成。在源码目录下新建files/etc/config/,直接把network的配置复制到这里。这样编译好之后vlan什么的就不用再自己搞了。
附上我编译的固件,刷机前要先改成短一点的文件名
initramfs.bin是ramfs固件,用来备份原版
openwrt-ramips-rt305x-wl-351-squashfs-sysupgrade.bin是attitude_adjustment 集成snmpd、openvpn、quagga-bgpd、radvd,都是我需要用到的软件,呵呵。没有luci,也没有opkg。刷完之后剩余空间只有16k。
0629-openwrt-ramips-rt305x-wl-351-squashfs-sysupgrade.bin 是石像鬼固件,集成snmpd,去掉了ipv6。
链接: http://pan.baidu.com/s/1c03WRxI 密码: l2ja
Enjoy !!
原文首发重水CSDN博客,转载请保留出处并保持文章完整!!
参考:
https://forum.openwrt.org/viewtopic.php?id=40150
http://wiki.openwrt.org/toh/sitecom/wl-351
http://www.right.com.cn/forum/thread-142418-1-1.html