RT3052F HOWTO.
RT3050F/RT3052F TODO
PPE NAT h/w acceleration |
PPE special target on if_rt |
PPE PPPoE h/w acceleration |
same |
if_rt instance support |
it have GMAC1 and GMAC2, so we can use it w/o sw VLANs |
if_rt Scatter/Gather support |
automatic Scatter/Gather packets, may help to faster replace packets header |
Invoke GDMA |
we can use generic DMA for memcpy |
Fix usb |
|
Fix rt2872 wireless |
HOST SIDE
Get a fresh copy of your "head"
svn co svn://svn.freebsd.org/base/head
cd to it:
cd head
Build mipsel toolchain and then kernel:
make KERNCONF=RT305X TARGET=mips TARGET_ARCH=mipsel kernel-toolchain buildkernel
cd to kernel build directory:
cd /usr/obj/mips.mipsel/${PATH_TO_DIR_WITH_HEAD}/sys/RT305X
Get kernel entry point:
readelf -h kernel | grep 'Entry point address:' Entry point address: 0x80001120
Next steps related for most D-Link boxes, but not always related to other devices
Make binary kernel from elf:
/usr/obj/mips.mipsel/${PATH_TO_DIR_WITH_HEAD}/tmp/usr/bin/objcopy -O binary kernel kernel.bin
Compress kernel with oldlzma (oldlzma - LZMA 4.17)
oldlzma e kernel.bin kernel.bin.oldlzma
Make U-Boot image:
uboot_mkimage -A mips -O linux -T kernel -C lzma -a 0x80001120 -e 0x80001120 -n 'FreeBSD Kernel Image' -d kernel.bin.oldlzma kernel.oldlzma.uboot
Then copy U-Boot kernel image to tftp server path (I use /tftpboot/ )
cp kernel.oldlzma.uboot /tftpboot/DIR-620/kernel.oldlzma.uboot
DEVICE SIDE
Break U-Boot to prompt, then load kernel image:
tftpboot 0x80800000 DIR-620/kernel.oldlzma.uboot
and start it:
bootm 0x80800000