From b0449ccf04eae59aec6f90493d5a563fa8b15eea Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Wed, 2 May 2012 19:17:59 +0000 Subject: [PATCH] ramips: W306R V2.0 - GPIO and Network fixes Fixed: GPIO typos and confirmed GPIO_BUTTON_RESET Fixed: Lan & Wan reversed: swaped "eth0.2" with "eth0.1" by removing a line(default is correct), and reversed the Lan/wan layout LLLLW to WLLLL. Added: image/Makefile now builds -factory.bin files. I am unsure of the accepted way to change the makefile but the name of the image needs to be 'linkn Kernel Image' in order to be accepted by the OEM firmware. Known issue: eth0 (internal switch i think has mac address: 00:11:22:33:44:55 but i think it should be same as the lan). Known issue: Pressing the reset button has no noticable effect, i would expect the router to boot failsafe if being pressed on boot, reboot if short press and reset all to default if long press. [juhosg: remove mtdlayout_W306R and use mtdlayout_4M instead] Signed-off-by: David Pearce SVN-Revision: 31557 --- target/linux/ramips/base-files/etc/diag.sh | 2 +- .../ramips/base-files/etc/uci-defaults/network | 1 - .../files/arch/mips/ralink/rt305x/mach-w306r-v20.c | 4 ++-- target/linux/ramips/image/Makefile | 13 +++++++++++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 43fda2f172..78c9e945b3 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -82,7 +82,7 @@ get_status_led() { status_led="v22rw-2x2:green:security" ;; w306r-v20) - status_led="w306r:green:sys" + status_led="w306r-v20:green:sys" ;; w502u) status_led="alfa:blue:wps" diff --git a/target/linux/ramips/base-files/etc/uci-defaults/network b/target/linux/ramips/base-files/etc/uci-defaults/network index c987a2567d..43d5726921 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/network +++ b/target/linux/ramips/base-files/etc/uci-defaults/network @@ -59,7 +59,6 @@ ramips_setup_interfaces() ;; freestation5 | \ - w306r-v20 | \ wcr-150gn) ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1" ;; diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-w306r-v20.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-w306r-v20.c index 6235a7329d..7c8eb867cd 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-w306r-v20.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-w306r-v20.c @@ -20,7 +20,7 @@ #include "devices.h" -#define W306R_V20_GPIO_LED_SYS 9 /* FIXME */ +#define W306R_V20_GPIO_LED_SYS 9 #define W306R_V20_GPIO_LED_WPS 13 #define W306R_V20_GPIO_BUTTON_RESET 10 @@ -57,7 +57,7 @@ static void __init w306r_v20_init(void) rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT); - rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_LLLLW; + rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_WLLLL; rt305x_register_ethernet(); ramips_register_gpio_leds(-1, ARRAY_SIZE(w306r_v20_leds_gpio), w306r_v20_leds_gpio); diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 88b20fa3d8..ebbc4b2245 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -220,6 +220,18 @@ define BuildFirmware/RTN10PLUS $(call BuildFirmware/Generic,$(1),$(2),board=$(3) $(call mkmtd/phys,$(mtdlayout_rtn10plus)),$(mtd_rtn10plus_kernel_part_size),$(mtd_rtn10plus_rootfs_part_size)) endef +define BuildFirmware/W306R_4M + $(call BuildFirmware/w306r,$(1),$(2),$(call mkcmdline,$(3),$(4),$(5)) $(call mkmtd/$(6),$(mtdlayout_4M)),917504,2949120) +endef + +define BuildFirmware/w306r + $(call PatchKernelLzma,$(2),$(3)) + mkimage -A mips -O linux -T kernel -C lzma $(call kernel_entry)\ + -n 'linkn Kernel Image' \ + -d $(KDIR)/vmlinux-$(2).bin.lzma $(KDIR)/vmlinux-$(2).uImage + $(call CatFiles,$(KDIR)/vmlinux-$(2).uImage,$(4),$(KDIR)/root.$(1),$(5),$(call imgname,$(1),$(2))-factory.bin) +endef + mtdlayout_whrg300n=192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,960k(kernel),2752k(rootfs),64k(user)ro,3712k@0x50000(firmware) define BuildFirmware/WHRG300N $(call Image/Build/Template/GENERIC_4M,$(1),whr-g300n,WHR-G300N,ttyS1,57600,phys) @@ -377,6 +389,7 @@ endef define Image/Build/Profile/W306R_V20 $(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_4M,w306r-v20,W306R_V20,ttyS1,57600,phys) + $(call Image/Build/Template/$(fs_squash)/$(1),W306R_4M,w306r-v20,W306R_V20,ttyS1,57600,phys) endef define Image/Build/Profile/W502U -- 2.25.1