From 67e6461ad70d367fbd182911abe384a0b6f68a9a Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Fri, 17 Aug 2012 17:56:07 +0000 Subject: [PATCH] ramips: add board alias for the ALL0239-3G Generate image for the ALL0239-3G which can be flashed through the chipset-vendor SDK based firmware's web-interface and bootloader. The bootloader seems to ignore uImage checksum errors, but does complain about them once the 0xDEADC0DE was replaced by an actual JFFS2 page. I'm working on implementing fixtrx for uImage in the mtd package to solve this. Signed-off-by: Daniel Golle SVN-Revision: 33206 --- target/linux/ramips/base-files/etc/diag.sh | 1 + .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 1 + .../ramips/base-files/etc/uci-defaults/leds | 1 + .../base-files/etc/uci-defaults/network | 5 +++-- .../base-files/lib/preinit/06_set_iface_mac | 1 + target/linux/ramips/base-files/lib/ramips.sh | 3 +++ .../ramips/base-files/lib/upgrade/platform.sh | 1 + .../mips/include/asm/mach-ralink/machine.h | 1 + .../arch/mips/ralink/rt305x/mach-hw550-3g.c | 3 +++ target/linux/ramips/image/Makefile | 21 +++++++++++++++++++ 10 files changed, 36 insertions(+), 2 deletions(-) diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 6c86513755..4720130252 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -51,6 +51,7 @@ get_status_led() { fonera20n) status_led="fonera20n:green:power" ;; + all0239-3g|\ hw550-3g) status_led="hw550-3g:green:status" ;; diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index 2a405195c8..5dadd71018 100644 --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -53,6 +53,7 @@ case "$FIRMWARE" in ;; 3g-6200n | \ + all0239-3g | \ all0256n | \ all5002 | \ argus-atp52b | \ diff --git a/target/linux/ramips/base-files/etc/uci-defaults/leds b/target/linux/ramips/base-files/etc/uci-defaults/leds index 32fae2507c..c09751dadd 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/leds +++ b/target/linux/ramips/base-files/etc/uci-defaults/leds @@ -49,6 +49,7 @@ case $board in set_usb_led "fonera20n:orange:usb" set_wifi_led "fonera20n:orange:wifi" ;; + all0239-3g|\ hw550-3g) set_usb_led "hw550-3g:green:usb" ;; diff --git a/target/linux/ramips/base-files/etc/uci-defaults/network b/target/linux/ramips/base-files/etc/uci-defaults/network index e7e93345a0..106a61352c 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/network +++ b/target/linux/ramips/base-files/etc/uci-defaults/network @@ -152,9 +152,10 @@ ramips_setup_macs() wan_mac=$(ramips_get_mac_binary factory 32772) ;; + all0239-3g | \ w502u) - lan_mac=$(ramips_get_mac_binary factory 40) - wan_mac=$(ramips_get_mac_binary factory 46) + lan_mac=$(ramips_get_mac_binary factory 40) + wan_mac=$(ramips_get_mac_binary factory 46) ;; wl341v3) diff --git a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac index 7709b3b474..8c2b039547 100644 --- a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac +++ b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac @@ -34,6 +34,7 @@ preinit_set_mac_address() { mac=$(ramips_get_mac_binary devdata 46) ifconfig eth0 hw ether $mac 2>/dev/null ;; + all0239-3g |\ all0256n |\ all5002 |\ dir-615-h1 |\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index fb2a573bf3..b07f4e9466 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -50,6 +50,9 @@ ramips_board_name() { *"Edimax 3g-6200n") name="3g-6200n" ;; + *"Allnet ALL0239-3G") + name="all0239-3g" + ;; *"Allnet ALL0256N") name="all0256n" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 1b5d546439..d7380f0297 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -15,6 +15,7 @@ platform_check_image() { case "$board" in 3g-6200n | \ + all0239-3g | \ all0256n | \ all5002 | \ bc2 | \ diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h index d09bd4101d..89b437398e 100644 --- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h +++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h @@ -35,6 +35,7 @@ enum ramips_mach_type { RAMIPS_MACH_WL_330N3G, /* Asus WL-330N3G */ /* RT3052 based machines */ + RAMIPS_MACH_ALL0239_3G, /* ALL0239-3G */ RAMIPS_MACH_ARGUS_ATP52B, /* Argus ATP-52B */ RAMIPS_MACH_BC2, /* NexAira BC2 */ RAMIPS_MACH_DAP_1350, /* D-Link DAP-1350 */ diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-hw550-3g.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-hw550-3g.c index 4ebcefd523..b274b917da 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-hw550-3g.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-hw550-3g.c @@ -100,3 +100,6 @@ static void __init hw550_3g_init(void) MIPS_MACHINE(RAMIPS_MACH_HW550_3G, "HW550-3G", "Aztech HW550-3G", hw550_3g_init); + +MIPS_MACHINE(RAMIPS_MACH_ALL0239_3G, "ALL0239-3G", "Allnet ALL0239-3G", + hw550_3g_init); diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 344186361d..e7f4074786 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -60,6 +60,18 @@ define MkImageLzma $(call MkImage,lzma,$(KDIR)/vmlinux-$(1).bin.lzma,$(KDIR)/vmlinux-$(1).uImage,$(3)) endef +define MkCombineduImage + $(call PatchKernelLzma,$(2),$(3)) + if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt `expr $(4) - 64` ]; then \ + echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big"; \ + else if [ `stat -c%s "$(KDIR)/root.$(1)"` -gt $(5) ]; then \ + echo "Warning: $(KDIR)/root.$(1) is too big"; \ + else \ + ( dd if=$(KDIR)/vmlinux-$(2).bin.lzma bs=`expr $(4) - 64` conv=sync ; dd if=$(KDIR)/root.$(1) ) > $(KDIR)/vmlinux-$(2).bin.lzma.combined ; \ + fi ; fi + $(call MkImage,lzma,$(KDIR)/vmlinux-$(2).bin.lzma.combined,$(call sysupname,$(1),$(2)),$(6)) +endef + define CatFiles if [ `stat -c%s "$(1)"` -gt $(2) ]; then \ echo "Warning: $(1) is too big"; \ @@ -125,6 +137,10 @@ define BuildFirmware/GENERIC_8M/initramfs $(call BuildFirmware/Generic/initramfs,$(1),$(2),$(call mkcmdline,$(3),$(4),$(5)) $(call mkmtd/$(6),$(mtdlayout_8M))) endef +define BuildFirmware/UIMAGE_8M + $(call MkCombineduImage,$(1),$(2),$(call mkcmdline,$(3),$(4),$(5)) $(call mkmtd/$(6),$(mtdlayout_8M)),$(kernel_size_8M),$(rootfs_size_8M),$(7)) +endef + mtdlayout_edimax_3g6200n=192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,896k(kernel),2752k(rootfs),128k@0x3e0000(cimage)ro,3648k@0x50000(firmware) define BuildFirmware/3G6200N $(call BuildFirmware/Generic,$(1),$(2),$(call mkcmdline,$(3),$(4),$(5)) $(call mkmtd/$(6),$(mtdlayout_edimax_3g6200n)),917504,2818048) @@ -367,6 +383,10 @@ define Image/Build/Profile/3G6200N $(call Image/Build/Template/$(fs_squash)/$(1),3G6200N,3g-6200n,3G-6200N,ttyS1,57600,phys) endef +define Image/Build/Profile/ALL02393G + $(call Image/Build/Template/$(fs_squash)/$(1),UIMAGE_8M,all0239-3g,ALL0239-3G,ttyS1,57600,phys) +endef + define Image/Build/Profile/ALL0256N $(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_4M,all0256n,ALL0256N,ttyS1,57600,spi) endef @@ -513,6 +533,7 @@ endef ifeq ($(CONFIG_RALINK_RT305X),y) define Image/Build/Profile/Default $(call Image/Build/Profile/3G6200N,$(1)) + $(call Image/Build/Profile/ALL02393G,$(1)) $(call Image/Build/Profile/ALL0256N,$(1)) $(call Image/Build/Profile/ALL5002,$(1)) $(call Image/Build/Profile/ARGUS_ATP52B,$(1)) -- 2.30.2