近日上網發現新神器,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