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 43fda2f172aaab192783b7677f8a3e19e2be3097..78c9e945b33b25528896ff91ffb090fac63b48b1 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 c987a2567d045676a22439311f51effa5466979a..43d572692102074bbb1eab5f5e990df4acc14fdb 100755 (executable)
@@ -59,7 +59,6 @@ ramips_setup_interfaces()
                ;;
 
        freestation5 | \
-       w306r-v20 | \
        wcr-150gn)
                ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1"
                ;;
index 6235a7329dd4fea2524abc17d197c482cdeebb1b..7c8eb867cd7c201700fddcb4166a9db5903123f6 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 88b20fa3d8ecb6399722a5b836692e62b427627e..ebbc4b22450cb78d33437771df0b2e61c648fe4a 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