ramips: W306R V2.0 - GPIO and Network fixes
authorGabor Juhos <juhosg@openwrt.org>
Wed, 2 May 2012 19:17:59 +0000 (19:17 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Wed, 2 May 2012 19:17:59 +0000 (19:17 +0000)
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 <david_18051985@hotmail.com>
SVN-Revision: 31557

target/linux/ramips/base-files/etc/diag.sh
target/linux/ramips/base-files/etc/uci-defaults/network
target/linux/ramips/files/arch/mips/ralink/rt305x/mach-w306r-v20.c
target/linux/ramips/image/Makefile

index 43fda2f..78c9e94 100755 (executable)
@@ -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"
index c987a25..43d5726 100755 (executable)
@@ -59,7 +59,6 @@ ramips_setup_interfaces()
                ;;
 
        freestation5 | \
-       w306r-v20 | \
        wcr-150gn)
                ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1"
                ;;
index 6235a73..7c8eb86 100644 (file)
@@ -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);
index 88b20fa..ebbc4b2 100644 (file)
@@ -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