Changeset 38011


Ignore:
Timestamp:
2013-09-16T23:09:10+02:00 (4 years ago)
Author:
hauke
Message:

brcm47xx: Add support for Huawei E970

This patch adds support for Huawei E970 wireless gateway devices.
It has been tested on an E970 labelled as T-Mobile web'n'walk Box IV.
E960/B970 should work too, from what I know it's basically the same hardware.

The device has a Broadcom BCM5354 SoC and a built-in 3G USB modem.

It uses a hardware watchdog which needs GPIO-7 to be toggled at least
every 1-2 seconds. This patch uses gpio_wdt module (see my previous
patch today) to take care of this.

Tested and works: 3G wan, wlan+LED, VLAN config, failsafe using reset
button, image to be used for upgrade from OEM firmware's web interface

Link to the wiki page I've created: <http://wiki.openwrt.org/toh/huawei/e970>

Issue:

  • lzma-loader crashes, so gzipped kernel is used. Presumably due to watchdog reset during kernel decompress.

Signed-off-by: Mathias Adam <m.adam--openwrt@…>

Location:
trunk/target/linux/brcm47xx
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm47xx/config-3.10

    r37958 r38011  
    6060CONFIG_GPIO_DEVRES=y 
    6161CONFIG_GPIO_SYSFS=y 
     62CONFIG_GPIO_WDT=y 
    6263CONFIG_HARDWARE_WATCHPOINTS=y 
    6364CONFIG_HAS_DMA=y 
  • trunk/target/linux/brcm47xx/image/Makefile

    r37049 r38011  
    1414define Image/Prepare 
    1515        cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
     16        gzip -nc9 $(KDIR)/vmlinux > $(KDIR)/vmlinux.gz 
    1617ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) 
    1718        cat $(KDIR)/vmlinux-initramfs | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux-initramfs.lzma 
     
    5859define Image/Build/Edi 
    5960        $(STAGING_DIR_HOST)/bin/trx2edips $(BIN_DIR)/$(IMG_PREFIX)-$(1).trx $(BIN_DIR)/openwrt-$(2)-$(3).bin 
     61endef 
     62 
     63define Image/Build/Huawei 
     64        dd if=/dev/zero of=$(BIN_DIR)/openwrt-$(2)-$(3)-gz.bin bs=92 count=1 
     65        echo -ne 'HDR0\x08\x00\x00\x00' >> $(BIN_DIR)/openwrt-$(2)-$(3)-gz.bin 
     66        cat $(BIN_DIR)/$(IMG_PREFIX)-$(1)-gz.trx >> $(BIN_DIR)/openwrt-$(2)-$(3)-gz.bin 
    6067endef 
    6168 
     
    135142                -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma \ 
    136143                $(call trxalign/$(1),$(1)) 
     144        $(STAGING_DIR_HOST)/bin/trx -o $(BIN_DIR)/$(IMG_PREFIX)-$(1)-gz.trx \ 
     145                -f $(KDIR)/vmlinux.gz \ 
     146                $(call trxalign/$(1),$(1)) 
    137147        $(call Image/Build/$(1),$(1)) 
    138148        $(call Image/Build/Motorola,$(1),wr850g,1,$(1)) 
    139149        $(call Image/Build/USR,$(1),usr5461,$(1)) 
     150        $(call Image/Build/Huawei,$(1),e970,$(1)) 
    140151        $(call Image/Build/Chk,$(1),wgr614_v8,U12H072T00_NETGEAR,2,$(patsubst jffs2-%,jffs2,$(1))) 
    141152#       $(call Image/Build/Chk,$(1),wgr614_v9,U12H094T00_NETGEAR,2,$(patsubst jffs2-%,jffs2,$(1))) 
  • trunk/target/linux/brcm47xx/patches-3.10/980-wnr834b_no_cardbus_invariant.patch

    r37287 r38011  
    11--- a/arch/mips/bcm47xx/setup.c 
    22+++ b/arch/mips/bcm47xx/setup.c 
    3 @@ -120,6 +120,10 @@ static int bcm47xx_get_invariants(struct 
     3@@ -122,6 +122,10 @@ static int bcm47xx_get_invariants(struct 
    44        if (bcm47xx_nvram_getenv("cardbus", buf, sizeof(buf)) >= 0) 
    55                iv->has_cardbus_slot = !!simple_strtoul(buf, NULL, 10); 
Note: See TracChangeset for help on using the changeset viewer.