Просмотр исходного кода

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 <[email protected]>

SVN-Revision: 31557
Gabor Juhos 13 лет назад
Родитель
Сommit
b0449ccf04

+ 1 - 1
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"

+ 0 - 1
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"
 		;;

+ 2 - 2
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);

+ 13 - 0
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