ramips: add board alias for the ALL0239-3G
authorGabor Juhos <juhosg@openwrt.org>
Fri, 17 Aug 2012 17:56:07 +0000 (17:56 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Fri, 17 Aug 2012 17:56:07 +0000 (17:56 +0000)
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 <dgolle@allnet.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33206 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ramips/base-files/etc/diag.sh
target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
target/linux/ramips/base-files/etc/uci-defaults/leds
target/linux/ramips/base-files/etc/uci-defaults/network
target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h
target/linux/ramips/files/arch/mips/ralink/rt305x/mach-hw550-3g.c
target/linux/ramips/image/Makefile

index 6c86513..4720130 100755 (executable)
@@ -51,6 +51,7 @@ get_status_led() {
        fonera20n)
                status_led="fonera20n:green:power"
                ;;
+       all0239-3g|\
        hw550-3g)
                status_led="hw550-3g:green:status"
                ;;
index 2a40519..5dadd71 100644 (file)
@@ -53,6 +53,7 @@ case "$FIRMWARE" in
                ;;
 
        3g-6200n | \
+       all0239-3g | \
        all0256n | \
        all5002 | \
        argus-atp52b | \
index 32fae25..c09751d 100755 (executable)
@@ -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"
                ;;
index e7e9334..106a613 100755 (executable)
@@ -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)
index 7709b3b..8c2b039 100644 (file)
@@ -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 |\
index fb2a573..b07f4e9 100755 (executable)
@@ -50,6 +50,9 @@ ramips_board_name() {
        *"Edimax 3g-6200n")
                name="3g-6200n"
                ;;
+       *"Allnet ALL0239-3G")
+               name="all0239-3g"
+               ;;
        *"Allnet ALL0256N")
                name="all0256n"
                ;;
index 1b5d546..d7380f0 100755 (executable)
@@ -15,6 +15,7 @@ platform_check_image() {
 
        case "$board" in
        3g-6200n | \
+       all0239-3g | \
        all0256n | \
        all5002 | \
        bc2 | \
index d09bd41..89b4373 100644 (file)
@@ -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 */
index 4ebcefd..b274b91 100644 (file)
@@ -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);
index 3441863..e7f4074 100644 (file)
@@ -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))