[OpenWrt Wiki] Huawei EchoLife HG556a (2024)

DSL will not work at all on devices with BCM63xx DSL chipset (due to unavailability of FLOSS driver for Broadcom chips). Consider this when choosing a device to buy, or when deciding to flash OpenWrt on your device because it is listed as supported.
See Broadcom DSL, Unsupported: DSL modem and Broadcom BCM63xx for details.

The HG556a was an adsl wifi router mainly distributed by Vodafone to their customers.

It comes in three versions A, B and C:

  • A, B versions have identical boards coming with an Atheros wifi chip and they only differ in the flash chip erasesize.

  • C version is quite different on the inside, coming with a totally different board, equiped with a Ralink wifi chip, and worse quality (no metal shieldings on the onboard chips). It is recomendable to put a heat sink over the Ralink wifi chip to avoid overheating (some users reported a fried wifi on this model)

VoIP/FXS not officially supported

[OpenWrt Wiki] Huawei EchoLife HG556a (2) It's a good idea to backup the cal_data area at the flash-chip. The WLAN calibration data is specific for your device. If you wipe it accidentally it will be difficult to restore, it cannot be restored by flashing back a vendor firmware. For doing this under Openwrt, mount a pendrive (after installing proper drivers for USB mass storage), and copy the cal_data partition into it, example:

mount /dev/sda1 /mnt
dd if=/dev/mtd4 of=/mnt/hg556a-cal_data-backup.bin
umount /mnt

Supported Versions

Version identification

Router version Board model Wifi chip Vdf Version* Serial number (first 5 digits) Flash chip erasesize** cal_data offset Flash chip***
A HG55VDFA VER.C Atheros AR9223 HG556AVDFA 30462, 30562, 30605, 30608, 30634 0x10000 0xf7e000 MX29LV128DB
B HG556BVDFA 30692, 30693, 31110, 31300 0x20000 0xefe000 S29GL128P10 or MX29GL128EH
C HG56BZRB VER.A Ralink RT3062F HG556CVDFA 30555, 30694, 30695, 31301, 31507, 31525, 31901, 31902, 31935, 32505 0x20000 0xeffe00

*) You can check the version from the OEM firmware executing the command: hwversion show

**) You can check the flash memory chip erasesize with the command (in openwrt): cat /proc/mtd

  • 0x20000 = 128 KiB

  • 0x10000 = 64 KiB

***) You can check the flash chip model with the command: dmesg | grep Manufacturer

Chip ID Flash chip
0x00227a MX29LV128DB
0x00227e MX29GL128EH
0x002101 S29GL128P10

The important parameters for choosing the correct OpenWrt file firmware are the flash chip erasesize, and cal_data offset. But it's harmless to flash an incorrect firmware, it won't brick it.

The GPIO4 and GPIO5 (input reading), are used by the OEM bootloader/firmware to identify the board model (GetHG556aBoardVersion)

GPIO4 GPIO5
0 0 HG55VDFA Atheros
1 1 HG56BZRB RaLink

You don't have to worry about these GPIOs, in OpenWrt they aren't used for anything.

Hardware Highlights

Installation

Since OpenWrt Chaos Calmer (migration to DTS), every version of this router (A, B, C) has its own firmware. See version identification to know your router version.

Old firmwares

Old firmwares

Warning: Versions 19.07.0 to 19.07.3 stable releases don't work. The router hangs while loading the kernel caused by an IRQ bug.


BUG fixed in 19.07.4: bcm63xx: mask interrupts on init

Warning: Any version between 17.01.5 and 18.06.3 (both included) causes a cal_data corruption, leaving the wifi not usable for any firmware unless you restore again this partition. See instructions below how to backup and restore the cal_data partition.

BUG fixed in 18.06.4: brcm63xx: drop linux,part-probe usage where possible.

Old firmwares:

These firmwares were fully tested, and they're known to work 100% ok. You should avoid them since they may contain unsolved security bugs. The links are provided here only for testing purposes.

Version Release date firmware link Notes kernel Tested
LEDE Reboot 17.01.4 r3560 2017 Oct http://downloads.lede-project.org/releases/17.01.4/targets/brcm63xx/generic/ LuCI included, USB and wireless drivers included, Based on OpenWrt 4.4.92
Chaos Calmer 2016-03-15 http://downloads.openwrt.org/chaos_calmer/15.05.1/brcm63xx/generic/ LuCI included, USB and wireless drivers included 3.18.23
Barrier Breaker 2014-10-02 openwrt-HW556-squashfs-cfe.bin All versions, LuCI included, USB and wireless drivers NOT included 3.10.49
Attitude Adjustment 2013-04-25 hg556a_backport_12.09.zip All versions, unofficial backport, LuCI included, USB and wireless drivers included 3.3
Backfire 2011-12-21 hg556a_ath_backport_10.03.1.zip Only for A, B versions, unofficial backport, USB and wireless drivers included 2.6.32

Install OpenWrt (generic explanation)

OEM easy installation

This section deals with how you install OpenWrt from the device freshly opened.

With this procedure you will flash the firmware using the bootloader web interface (foolproof)

  • Set a static IP on your computer, use 192.168.1.35 (or any compatible), and connect the ethernet cable to the router.

  • Unplug the router's power cord

  • Press the button labeled as RESTART, don't release it yet!

  • Plug the power cord

  • Wait 12 seconds or more

  • Release the RESTART button

  • Browse to http://192.168.1.1, you should see this screen:

  • Select the openwrt-HG556a-squashfs-cfe.bin firmware

  • Press Update Software to start the firmware update process

  • Wait for it to reboot

  • Telnet / ssh to 192.168.1.1 and set a root password, or browse to http://192.168.1.1 if LuCI is installed.

OEM installation using the TFTP method

  • Connect the serial TTL cable to send commands to CFE for loading the firmware via tftp.

  • Start a TFTP server in your PC. Copy the openwrt-HW556-squashfs-cfe.bin firmware to the server.

  • Set the IP at your pc to 192.168.1.35 (or any compatible), and connect the ethernet cable to the router.

This is a session of flashing via TFTP:

CFE> f 192.168.1.35:openwrt-HW556-squashfs-cfe.binLoading 192.168.1.35:openwrt-HW556-squashfs-cfe.bin ...Finished loading 2883588 bytesFlashing root file system and kernel at 0xbe020000: ~~~~~~~Flag: 3 baseAddr 0xbe000000 kernelAddr 0xbe020100 rootfsAddr 0xbe020100 tagFs 0x80800000 .......................Backup flag . ~~~~~~~Flag: 1 .*** Image flash done *** !Resetting board...

Firmwares > 8MB size return an error about CRC check:
Finished loading 8388608 bytes Illegal image ! Image crc failed.
CFE web interface should be used in this case.

Flash Layout

Please check out the article flash.layout. It contains an example and a couple of explanations.

partition name filesystem description
mtd0 CFE n/a bootloader
n/a n/a n/a firmware tag
mtd1 kernel RAM executable kernel
mtd2 rootfs squashfs root
mtd3 rootfs_data jffs2 configuration, install new packages
mtd4 cal_data n/a wifi calibration data
mtd5 nvram n/a OEM configuration data
mtd6 linux n/a OpenWrt upgrade

Backup and restore Wifi calibration data

In theory each wifi chip (it doesn't matter if they are exactly the same model) has its own wifi calibration data. In this router the data is stored in an area of the flash chip. This area is the cal_data partiton in OpenWrt firmwares.

  • Without the cal_data, wifi will not work

  • The WLAN calibration data is specific for your device, i.e. cal_data from another device will most likely not work

  • If you wipe it accidentially it will be difficult to restore

  • It cannot be restored by flashing back a vendor firmware

→ It's a good idea to backup this partition before flashing OpenWrt.

Backup cal_data partition

There is an easy way if you flash from stock firmware. Use the method “OEM easy installation” to flash 17.01.4 version, cal_data is not destroyed, and wifi is fully functional. Then use a few simple commands.

First identify the cal_data partition

cat /proc/mtd

Results depending on the router model.

HG556a-Adev: size erasesize namemtd0: 00020000 00010000 "CFE"mtd1: 00136eb0 00010000 "kernel"mtd2: 00d89050 00010000 "rootfs"mtd3: 00b40000 00010000 "rootfs_data"mtd4: 00ec0000 00010000 "linux"mtd5: 00100000 00010000 "cal_data"mtd6: 00020000 00010000 "nvram"HG556a-Bdev: size erasesize namemtd0: 00020000 00020000 "CFE"mtd1: 00136eb0 00020000 "kernel"mtd2: 00d89050 00020000 "rootfs"mtd3: 00b40000 00020000 "rootfs_data"mtd4: 00ec0000 00020000 "linux"mtd5: 00100000 00020000 "cal_data"mtd6: 00020000 00020000 "nvram"HG556a-Cdev: size erasesize namemtd0: 00020000 00020000 "CFE"mtd1: 00136e58 00020000 "kernel"mtd2: 00d890a8 00020000 "rootfs"mtd3: 00b40000 00020000 "rootfs_data"mtd4: 00ec0000 00020000 "linux"mtd5: 00100000 00020000 "cal_data"mtd6: 00020000 00020000 "nvram"

now backup the mtd that matches to the cal_data partition, mtd5 in all of them.

dd if=/dev/mtd5 of=/etc/cal_data_HG556.bin

Use WinSCP to transfer the cal_data backup file to your computer.

We will copy the file cal_data_hg556.bin to the folder “/etc” in the router and we will have it available to restore the calibration data.The problem is that the partitions are protected and can not be modified, to do so we will have to install the kmod-mtd-rw module, which allows us to modify the partitions if we execute the command insmod mtd-rw i_want_a_brick=1.

If you lost your calibration data, here is the cal_data partitions for the three models:cal_data_hg556a_a_b_c.rar

Restore cal_data partition

If you have installed version 17.01.4 on a router with the original firmware and everything went well, it is not necessary to restore the calibration data. But if you have already lost the calibration data, download cal_data_hg556a_a_b_c.rar and follow these instructions:

First of all, transfer the cal_data_hg556.bin file into your router with WinSCP to “/etc” folder.

The router has to have access to the internet, then we access the router by SSH and execute

opkg updateopkg install kmod-mtd-rw

With this we install the necessary module to unprotect the partitions, then execute

insmod mtd-rw i_want_a_brick=1

We can now modify the data of the partition cal_data.

Optional: If you have installed the snapshot version, it will be useful to have Luci

opkg install luci

Then we check the partition mtd(x) that contains the calibration data by executing:

cat /proc/mtd

mtd5 in all models, so finally

dd if=/etc/cal_data_hg556.bin of=/dev/mtd5 *File names are case sensitive
  • Restart OpenWrt and check if wifi works.

Upgrading OpenWrt

generic.sysupgrade

If you have already installed OpenWrt and like to reflash for e.g. upgrading to a new OpenWrt version you can upgrade using the mtd command line tool. It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.

LuCI Web Upgrade Process

  • Browse to http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/ LuCI Upgrade URL

  • Upload image file for sysupgrade to LuCI

  • Wait for reboot

Terminal Upgrade Process

  • Login as root via SSH on 192.168.1.1

  • Use the following commands to upgrade

    cd /tmp/wget http://downloads.openwrt.org/releases/18.06.8/targets/brcm63xx/generic/openwrt-18.06.8-brcm63xx-generic-HG556a-A-squashfs-cfe.bin # adapt to your version (A/B/C) of this devicesysupgrade /tmp/openwrt-18.06.8-brcm63xx-generic-HG556a-A-squashfs-cfe.bin # adapt to your version (A/B/C) of this device
  • If sysupgrade does not support this router, use the following commands

    cd /tmp/wget # adapt to your version (A/B/C) of this devicemtd write /tmp/openwrt-18.06.8-brcm63xx-generic-HG556a-A-squashfs-cfe.bin linux && reboot # adapt to your version (A/B/C) of this device

CFE Upgrade Process

This is a clean and safe upgrade, using the booloader web interface. Just use the OEM installation procedure.

Cleaning old garbage

If after upgrading OpenWrt you get the message:

jffs2: Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes 

And you can't save changes. Or you are unsure if old data is messing your new firmware. Enter OpenWrt failsafe mode if needed. Then execute this command:

mtd -r erase rootfs_data

Original firmware

These are the default administrator passwords in the OEM firmware

Firmware user password
new firmwares advanced advanced
all emtest zbbtest
spanish versions admin VF-EShg556
irish versions admin VF-IRhg556
kiwi versions admin VF-NZhg556

If you want back to the OEM firmware, once you installed OpenWrt, you can use the OpenWrt Luci web interface for flashing it as a regular firmware.

Basic configuration

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

As default some firmware versions doesn't include wireless drivers. For installing these drivers first give OpenWrt internet access (see Basic_internet_configuration or switch_ports_for_vlans) and execute:

  • if your router has an Atheros wifi chip:

    opkg updateopkg install kmod-ath9k
  • or, if your router version has a Ralink wifi chip

    opkg updateopkg install kmod-rt2800-pci
  • you may also want to install USB drivers

    opkg install kmod-usb-ohci kmod-usb2
  • If you are using a trunk version, you may want to install luci:

    opkg install luci/etc/init.d/uhttpd enable

Specific Configuration

Interfaces

The default network configuration is:

Interface Name Description Default configuration
br-lan LAN & WiFi 192.168.1.1/24
eth0 LAN ports (1 to 4) bridged
wlan0 WiFi bridged (disabled)

Basic internet configuration

You can set a basic internet configuration with uci commands. Assuming your main router (gateway) has the IP 192.168.1.1 (the most common). Follow these steps.

  1. Connect only the ethernet cable from the HG556a to your computer, and telnet it or ssh.

  2. Execute these commands

    uci set network.lan.ipaddr=192.168.1.254uci set network.lan.netmask=255.255.255.0uci set network.lan.gateway=192.168.1.1uci set network.lan.dns='8.8.8.8 192.168.1.1'uci commit network
  3. You may also need to disable the dhcp server

    /etc/init.d/dnsmasq disable
  4. Reboot the HG556a

    reboot
  5. Connect an ethernet cable from the HG556a to the main router (gateway).

  6. Now the HG556a IP is 192.168.1.254, telnet or ssh it.

  7. Ping any internet address, or install a package

    opkg updateopkg install luci

Switch Ports (for VLANs)

This is an example to configure the switch: numbers 0-2 will be lan, labeled as Ports 1-3 on the unit, number 3 (LAN4) will be the Internet (WAN), 5 is the internal connection to the router itself. Don't be fooled: vlan0 = eth0.0, vlan1 = eth0.1 and so on.

Port label Switch port Mode
LAN1 0 lan
LAN2 1 lan
LAN3 2 lan
LAN4 3 Internet (WAN)
n/a 5t to CPU
# path: /etc/config/network# LAN4 = WANconfig interface loopback option ifname lo option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0config interface lan option type bridge option ifname eth0.1 option proto static option ipaddr 192.168.1.1 option netmask 255.255.255.0config interface wan option ifname eth0.2 option proto dhcp config switch eth0option enable1option reset1option enable_vlan 1config switch_vlanoption device eth0option vlan 1option ports "0 1 2 5t"config switch_vlanoption device eth0option vlan 2option ports "3 5t"

Main Core

The BCM6358 SoC has two CPU cores. Unfortunately Linux kernel can only manage one core. The TLB is shared between the two cores, and there isn't code to deal with this problem.

As default the second core is the main. Since the cores in BCM6358 have different features, with double icache in the first one, we may want to use it as the main one → more icache = better performance. The problem for using the core0 is the initialization, this task is made by the bootloader, not OpenWrt.

We can manually hex-edit the bootloader to force initialization of the first core as the Main thread. Or just use this utility in OpenWrt:

tp0set_1.0-1_brcm63xx.ipk
(looks like the binary is only compatible with Barrier Breaker or earlier versions of OpenWrt. Just flash Barrier Breaker, use the utility and then upgrade to the current lastest release). Tested dozen times with success.

Just install it and execute:

tp0set 0

then reboot the router.

This is a session of installing and executing tp0set

root@OpenWrt:/tmp# opkg install tp0set_1.0-1_brcm63xx.ipk Installing tp0set (1.0-1) to root...Configuring tp0set.root@OpenWrt:/tmp# tp0set 0setting TP0 main coreMTD Type: 3MTD total size: 20000 bytesMTD erase size: 20000 bytesEraseing Block 0Writting to /dev/mtd0...Done!!root@OpenWrt:/tmp#

This is what you will see in dmesg:

  • Before: [ 0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.

  • After: [ 0.000000] Primary instruction cache 32kB, VIPT, 2-way, linesize 16 bytes.

Some people reported +15∼20% extra performance with this change.

And this is the source code of tp0set

#include <stdio.h>#include <fcntl.h>#include <sys/ioctl.h>#include <mtd/mtd-user.h>#include <string.h>#define DATA_OFFSET 20#define RAWBYTES_LEN 4int main(int argc, char *argv[]){ mtd_info_t mtd_info; // the MTD structure erase_info_t ei; // the erase block structure int m; unsigned int rawBytes; //the bytes we want to write if (argc != 2) { printf("Usage: tp0set [0/1]\n"); return 1; } m = atoi(argv[1]); //convert argument to integer if( m == 1) { rawBytes = 0x10000000;printf("setting TP1 main core\n"); } else if ( m == 0 ) { rawBytes = 0x00000000;printf("setting TP0 main core\n"); } else { printf("only 0 or 1 allowed\n"); return 1; } unsigned char read_buf[0x20000] = {0x00}; // empty array for reading  int fd = open("/dev/mtd0", O_RDWR); // open the mtd device for reading and  // writing. Note you want mtd0 not mtdblock0 // also you probably need to open permissions // to the dev (sudo chmod 777 /dev/mtd0) ioctl(fd, MEMGETINFO, &mtd_info); // get the device info // dump it for a sanity check, should match what's in /proc/mtd printf("MTD Type: %x\nMTD total size: %x bytes\nMTD erase size: %x bytes\n", mtd_info.type, mtd_info.size, mtd_info.erasesize); lseek(fd, 0, SEEK_SET); // go to the first block read(fd, read_buf, sizeof(read_buf)); // read and store CFE in read_buf memcpy(read_buf + DATA_OFFSET, (unsigned char*)&rawBytes, RAWBYTES_LEN); //write some bytes to CFE ei.length = mtd_info.erasesize; //set the erase block size for(ei.start = 0; ei.start < mtd_info.size; ei.start += ei.length) { ioctl(fd, MEMUNLOCK, &ei); printf("Eraseing Block %#x\n", ei.start); // show the blocks erasing // warning, this might print a lot! ioctl(fd, MEMERASE, &ei); } printf("Writting to /dev/mtd0...\n"); //  lseek(fd, 0, SEEK_SET); // go back to first block's start write(fd, read_buf, sizeof(read_buf)); // write our modified CFE close(fd); printf("Done!!\n"); return 0;} 

Source code, only for compiling in the OpenWrt buildroot:

tp0set.tar.gz

The changes survives forever, no matter if we install a new firmware, even erasing totally the previous firmware, since this setting is stored in CFE itself.

Note: You can't use the first core as the Main thread with the OEM firmware, it will cause hardware failure when initializating VoIP hardware stuff.

Failsafe mode

failsafe_and_factory_reset

Openwrt failsafe: Power on the router, press the button RESTART repeatedly to enter failsafe mode (the power led starts blinking very fast)

CFE failsafe: This is for entering in the bootloader command line. Use a serial cable and press any key while loading CFE.

Hardware

Info

HG556a A, B (HG55VDFA VER.C) HG556a C (HG56BZRB VER.A)
Instruction set: MIPS
Vendor: Broadcom
bootloader: CFE
Board Id: HW556
System-On-Chip: BCM6358KFBG
CPU @Frq BMIPS4350 V1.0 @300 Mhz BMIPS Dual Core
Flash-Chip: Macronix MX29GL128EH
Macronix MX29LV128DB
Spansion S29GL128P10
MX29GL128EHT2I-90G
Flash size: 16 MiB
RAM: HY5DU121622DTP-J / DDR-333 ?
RAM size: 64 MiB
Wireless: Atheros AR9223 802.11b/g/n (onboard) Ralink RT3062F 802.11b/g/n (onboard)
Antenna: 2x onboard non detachable antennas, 2x MS-156 auxiliary connectors
switch: Broadcom BCM5325E w/ vlan support swconfig
Internet: ADSL2+, not supported in OpenWrt
VoIP: Zarlink Le88266DLC → drivers https://github.com/pgid69/bcm63xx-phone
USB: 1×2.0 SoC → 2×2.0 SMSC HUB USB2502-AEZG 1×2.0 SoC → 2×2.0 Genesys HUB GL850G
+ 1x 2.0 SoC + 1x 2.0 SoC
Power adapter: 12V DC 2A / APS24W-12V2A-EU
Serial: Yes
JTAG: Yes

Photos

Photo of front and back of the casing:

Opening the case

Note: This will void your warranty!

  • To remove the cover:

remove the screw hidden under the label at the back of the router
remove the router's foot
carefully separate both parts of the casing

Photo of PCB

HG556a A, B (HG55VDFA VER.C)

HG556a C (HG56BZRB VER.A)

Serial

port.serial general information about the serial port, serial port cable, etc.

Photo of PCB with markings

Versions A,B

This board version has also a second serial UART1 port available at GPIO29 (TXD1, see other GPIOs), RXD1 is the GPIO28 (at LAN4 red LED).

Version C

Use a serial TTL adapter to connect your PC with HG556a. With an USB adapter connect only TX, RX and GND.With Cutecom (or other serial console software), open /dev/ttyUSB0 (you must have right permissions).

Settings:

  • Baudrate: 115200

  • Data bits: 8

  • Parity: None

  • Stop bits: 1

JTAG

port.jtag general information about the JTAG port, JTAG cable, etc.

Photo of PCB with markings:

Versions A, B

10 pin header marked J400 (see back of board picture). Uses AVR JTAG layout. Broadcom CPU recognised by TJTAG version 3.0.1

Version C

These pins are also accesible on the other side of the board: hg556a_c-jtag2.jpg. Looks like this pinout is wrong or the JTAG isn't enabled (nTRST should be pulled low?).

There are several utilities that support BCM6358 for flashing via JTAG cable. In our examples we will use zJTAG (ver 1.8) with a WIGGLER buffered cable. It is also possible to use a DLC5 unbuffered cable, but not longer than 15 cm.

  • A command to check if our CPU is recognized:

    ./zjtag -probeonly /window:1e000000 /nompi /BE /wiggler
  • A session of bootloader backup:

    # ./zjtag -backup:custom /window:1e000000 /start:1e000000 /length:20000 /nompi /wiggler /BE ============================================== zJTAG EJTAG Debrick Utility v1.8 RC3 ============================================== cable=wiggler, cabletype=3 Detected IR chain length = 32 There are 1 device(s) in the JTAG chain IDCODE for device 1 is 0x0635817F (IR length:1) Probing bus ... Done Defined IR Length is 5 bits CPU assumed running under BIG endian CPU Chip ID: 00000110001101011000000101111111 (0x0635817F) *** Found a Broadcom manufactured BCM6358 REV 01 CPU *** - EJTAG IMPCODE ....... : 00000000100000011000100100000100 (0x00818904) - EJTAG Version ....... : 1 or 2.0 - EJTAG DMA Support ... : Yes - EJTAG Implementation flags: R4k MIPS16 MIPS32 Issuing Processor / Peripheral Reset ... Done Enabling Memory Writes ... Done Halting Processor ... <Processor did NOT enter Debug Mode!> ... Done Clearing Watchdog ... Done Loading CPU Configuration Code ... Skipped Probing Flash at Address: 0x1E000000 ...Detected Chip ID (VenID:DevID = C27E : 2101)*** Found a CFI Compatiable Flash Chip from Macronix - Flash Chip Window Start .... : 1E000000 - Flash Chip Window Length ... : 01000000 - Selected Area Start ........ : 1E000000 - Selected Area Length ....... : 00020000*** You Selected to Backup the CUSTOM.BIN ***=========================Backup Routine Started=========================Saving CUSTOM.BIN.SAVED_20150207_145734 to Disk...Done (CUSTOM.BIN.SAVED_20150207_145734 saved to Disk OK)bytes written: 131072=========================Backup Routine Complete=========================elapsed time: 35 seconds *** REQUESTED OPERATION IS COMPLETE ***

  • A session of restoring CFE

    # ./zjtag -flash:custom /window:1e000000 /start:1e000000 /length:20000 /wiggler /BE ============================================== zJTAG EJTAG Debrick Utility v1.8 RC3 ==============================================cable=wiggler, cabletype=3Detected IR chain length = 32There are 1 device(s) in the JTAG chain IDCODE for device 1 is 0x0635817F (IR length:1)Probing bus ... DoneDefined IR Length is 5 bitsCPU assumed running under BIG endianCPU Chip ID: 00000110001101011000000101111111 (0x0635817F)*** Found a Broadcom manufactured BCM6358 REV 01 CPU *** - EJTAG IMPCODE ....... : 00000000100000011000100100000100 (0x00818904) - EJTAG Version ....... : 1 or 2.0 - EJTAG DMA Support ... : Yes - EJTAG Implementation flags: R4k MIPS16 MIPS32Issuing Processor / Peripheral Reset ... DoneEnabling Memory Writes ... DoneHalting Processor ... <Processor Entered Debug Mode!> ... DoneClearing Watchdog ... DoneLoading CPU Configuration Code ... SkippedDetecting Flash Base Address...Read MPI register value : 1E00000CMPI register show Flash Access Base Addr : 1E000000Probing Flash at Address: 0x1E000000 ...Detected Chip ID (VenID:DevID = C27E : 2101)*** Found a CFI Compatiable Flash Chip from Macronix - Flash Chip Window Start .... : 1E000000 - Flash Chip Window Length ... : 01000000 - Selected Area Start ........ : 1E000000 - Selected Area Length ....... : 00020000*** You Selected to Flash the CUSTOM.BIN ***=========================Flashing Routine Started=========================Total Blocks to Erase: 1Erasing block: 1 (addr = 1E000000)...DoneLoading CUSTOM.BIN to Flash Memory...Done (CUSTOM.BIN loaded into Flash Memory OK)=========================Flashing Routine Complete=========================elapsed time: 174 seconds *** REQUESTED OPERATION IS COMPLETE ***

  • Backup the whole flash: ./zjtag -backup:custom /window:1e000000 /start:1e000000 /length:1000000 /wiggler /BE

  • Backup the calibration data: ./zjtag -backup:custom /window:1e000000 /start:1EEFE000 /length:2000 /wiggler /BE
    or for the flash chip MX29LV128DB: ./zjtag -backup:custom /window:1e000000 /start:1EF7E000 /length:2000 /wiggler /BE

If you're using the DL5 unbuffered cable replace /wiggler by /cable:4

It's also possible to use UrJTAG. It's faster compared with HairyDairymaid based software. Sometimes it fails to enter debug mode, but after several attempts, once entered debug mode, it works totally ok. Probably deleting the bootloader before using UrJTAG would help to enter debug mode. Using the nTRST pin would also help to enter debug mode.

  • The following is a session of flashing the bootloader using UrJTAG, it only took one minute included the verification:

    # jtag UrJTAG 0.10 #2051Copyright (C) 2002, 2003 ETC s.r.o.Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authorsUrJTAG is free software, covered by the GNU General Public License, and you arewelcome to change it and/or distribute copies of it under certain conditions.There is absolutely no warranty for UrJTAG.warning: UrJTAG may damage your hardware!Type "quit" to exit, "help" for help.jtag> cable wiggler ppdev /dev/parport0Initializing ppdev port /dev/parport0jtag> detect IR length: 5Chain length: 1Device Id: 00000110001101011000000101111111 (0x0635817F) Manufacturer: Broadcom (0x17F) Part(0): BCM6358 (0x6358) Stepping: V1 Filename: /usr/share/urjtag/broadcom/bcm6358/bcm6358jtag> endian big jtag> initbus ejtag_dmaImpCode=00000110001101011000000101111111EJTAG version: <= 2.0EJTAG Implementation flags: R4k ASID_6 MIPS16 DMA MIPS64Clear memory protection bit in DCRClear WatchdogPotential flash base address: [0x0], [0x1e00000c]Processor successfully switched in debug mode.jtag> detectflash 0x1e000000Query identification string: Primary Algorithm Command Set and Control Interface ID Code: 0x0002 (AMD/Fujitsu Standard Command Set) Alternate Algorithm Command Set and Control Interface ID Code: 0x0000 (null)Query system interface information: Vcc Logic Supply Minimum Write/Erase or Write voltage: 2700 mV Vcc Logic Supply Maximum Write/Erase or Write voltage: 3600 mV Vpp [Programming] Supply Minimum Write/Erase voltage: 0 mV Vpp [Programming] Supply Maximum Write/Erase voltage: 0 mV Typical timeout per single byte/word program: 8 us Typical timeout for maximum-size multi-byte program: 64 us Typical timeout per individual block erase: 512 ms Typical timeout for full chip erase: 524288 ms Maximum timeout for byte/word program: 64 us Maximum timeout for multi-byte program: 2048 us Maximum timeout per individual block erase: 4096 ms Maximum timeout for chip erase: 2097152 msDevice geometry definition: Device Size: 16777216 B (16384 KiB, 16 MiB) Flash Device Interface Code description: 0x0002 (x8/x16) Maximum number of bytes in multi-byte program: 64 Number of Erase Block Regions within device: 1 Erase Block Region Information: Region 0: Erase Block Size: 131072 B (128 KiB) Number of Erase Blocks: 128Primary Vendor-Specific Extended Query: Major version number: 1 Minor version number: 3 Address Sensitive Unlock: Required Process Technology: Bad value Erase Suspend: Read/write Sector Protect: 1 sectors per group Sector Temporary Unprotect: Supported Sector Protect/Unprotect Scheme: Bad value Simultaneous Operation: Not supported Burst Mode Type: Supported Page Mode Type: 8 word Page ACC (Acceleration) Supply Minimum: 9500 mV ACC (Acceleration) Supply Maximum: 10500 mV Top/Bottom Sector Flag: Uniform top boot device Program Suspend: Not supportedjtag> flashmem 0x1e000000 cfe6358-nvr.binChip: AMD Flash Manufacturer: Macronix Chip: Unknown (ID 0x227e) Protected: 0000program:flash_unlock_block 0x1E000000 IGNOREblock 0 unlockedflash_erase_block 0x1E000000flash_erase_block 0x1E000000 DONEerasing block 0: 0addr: 0x1E00F6EAverify:addr: 0x1E00F6EADone.jtag>

GPIOs

Buttons

hardware.button

The HG556a has four buttons:

BUTTON label Event (OEM) Openwrt name Openwrt code GPIO (A, B) GPIO (C)
? diagnostic help KEY_HELP 8 36
[OpenWrt Wiki] Huawei EchoLife HG556a (17) wifi on/off wlan KEY_WLAN 9 9
RESTART reboot restart KEY_RESTART 10 10
RESET reset reset KEY_CONFIG 11 11

Leds

System configuration: Leds

Label description GPIO (A, B) GPIO (C)
[OpenWrt Wiki] Huawei EchoLife HG556a (18) message 0 12
[OpenWrt Wiki] Huawei EchoLife HG556a (19) hspa 1 15
[OpenWrt Wiki] Huawei EchoLife HG556a (20) wifi n/a n/a
[OpenWrt Wiki] Huawei EchoLife HG556a (21) dsl 2 2
[OpenWrt Wiki] Huawei EchoLife HG556a (22) power 3 3
n/a all 6 n/a
LAN1 [OpenWrt Wiki] Huawei EchoLife HG556a (23) 12 0
[OpenWrt Wiki] Huawei EchoLife HG556a (24) 13 13
LAN2 [OpenWrt Wiki] Huawei EchoLife HG556a (25) 15 1
[OpenWrt Wiki] Huawei EchoLife HG556a (26) 22 22
LAN3 [OpenWrt Wiki] Huawei EchoLife HG556a (27) 23 23
[OpenWrt Wiki] Huawei EchoLife HG556a (28) 26 26
LAN4 [OpenWrt Wiki] Huawei EchoLife HG556a (29) 27 27
[OpenWrt Wiki] Huawei EchoLife HG556a (30) 28 28

Other

PCB markings location GPIO (A,B)
hg556a_ab-gpios-extra.jpg R427 4
R446 5
R906 25
R602 29
VIA-R415 30
hg556a_spi_le88266.jpg Le88266 24
32

GPIOs 25 and 29 are unused. GPIO29 can be converted to TXD1, for a second serial UART port after kernel patching → http://pastebin.com/qcjGAfJZ. GPIOs 4 and 5 are used by the bootloader to get the board model. For the GPIO30, we can safely cut the trace that goes to the memory flash chip.

location GPIO (C)
R446/R440 4
R476/R441 5
U400 6
R450 7
R906/R923/U900 25
R415 30
Le88266DLC/R433 32
R429/R939 34
R946/R430 37

SPI

Serial Peripheral Interface

The BCM6358 SoC has a SPI controller. The HG556a SPI pins are exposed on the board, at the place for a Si3050 chip which isn't soldered. We can use this SPI interface for connecting our own SPI stuff, but we need to build the kernel with the drivers and proper platform data code for registering the SPI device. This is the pinout:

This SPI interface is also connected to the Le88266 VoiP chip, but using the Slave Select 2 (GPIO32): hg556a_spi_le88266.jpg le88286-pinout.png

Code example for spidev kernel module board support, the added code is highlighted in green:

+static struct spi_board_info hw556_spi_info[] = {+{+.bus_num= 0,+.chip_select= 1,+.mode= 0,+.max_speed_hz= 781000,+.modalias= "spidev",+},+};static struct board_info __initdata board_HW556_B = {.name= "HW556_B",.expected_cpu_id= 0x6358,.has_uart0= 1,.has_pci= 1,.has_ohci0= 1,.has_ehci0= 1,.num_usbh_ports= 2,.has_caldata= 1,.caldata = {{.vendor= PCI_VENDOR_ID_ATHEROS,.caldata_offset= 0xefe000,.slot= 1,.endian_check= 1,.led_pin= 2,},},.has_enet1= 1,.enet1 = {.has_phy= 1,.phy_id= 0,.force_speed_100= 1,.force_duplex_full= 1,},+.spis = hw556_spi_info,+.num_spis = ARRAY_SIZE(hw556_spi_info),};

Or we can use the dts file instead:

};nvram@fe0000 {label = "nvram";reg = <0xfe0000 0x020000>;};};};+&lsspi {+status = "okay";++spidev@1 {+compatible = "lwn,bk4";+spi-max-frequency = <20000000>;+reg = <1>;+};+};&uart0 {status = "okay";};

The SPI controller is able to work with these speeds (kHz): 20000, 12500, 6250, 3125, 1563, 781(default), 391

  • Demo video connecting a SPI display, (781 kHz):


    using 20 MHz:

Unfortunatelly the bcm63xx SPI driver is a bit broken. Some stuff might not work.

VoIP

The HG556a has two FXS ports for connecting a phone, allowing to use VoIP features. The board has Le88266 VoiP chip, connected via SPI interface and using the Slave Select 2 (GPIO32), the RESET# pin is connected to the GPIO24.

Not officially supported, but some drivers are available (not tested):https://github.com/pgid69/bcm63xx-phone

bcm63xx-phone on Huawei HG556a works fine → see my post on https://github.com/pgid69/bcm63xx-phone/issues/15

Relays

The board is equiped with two AXICOM IM02N relays. One of them is controlled via GPIO14.

AXICOM IM02N
Vdcnom = 4.5 V Vdcmin = 3.38 VVdcmax = 10.8 VCoil power =140 mWCoil resistance = 145 ohmSwitching power 60 W / 62.5 VASwitching voltage 220 VDC / 250VACSwitching current 2 ANon-latching, Monostable

On the bottom side we can see clearer how these relays are wired

Debricking

generic.debrick

CFE Bootloader

  1. you could read about bootloader in general

With a serial console we can get some interesting info

About the version and build:

 CFE version cfe.d081.5003 for BCM96358 (32bit,SP,BE)Build Date: Wed Nov 11 10:36:35 CST 2009 (Lihua_68693)

And about the possible boards compatible with this CFE:

CFE> bPress: <enter> to use current value '-' to go previous parameter '.' to clear the current value 'x' to exit this commandBoard Id Name (0-11) HW6358GW_A ------- 0HW6358GW_B ------- 1HW550 ------- 2HW550_FXO ------- 3HW553 ------- 4HW556 ------- 5HW556aV2 ------- 696358VW2 ------- 796358VW-16 ------- 896358GW ------- 996358GW-16 ------- 1096358M ------- 11 : 5 

Borked Board ID:
If you play with the CFE settings you may end with messed Board ID which OpenWrt doesn't recognize, spite CFE itself is able to read it correctly

CFE version cfe.d081.5003 for BCM96358 (32bit,SP,BE)Build Date: Wed Nov 11 10:36:35 CST 2009 (Lihua_68693)Copyright (C) 2006 Huawei Technologies Co. Ltd.Boot Address 0xbe000000Initializing Arena.Initializing Devices.@w45260: Flash Manufacture id :c2@w45260Flash Device id :2201@w45260flipCFIGeometry:1Parallel flash device: name , id 0x2201, size 16384KB*** GetHG556aBoardVersion = <0> ***CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHzTotal memory: 67108864 bytes (64MB)Total memory used by CFE: 0x80401000 - 0x8052A510 (1217808)Initialized Data: 0x8041F3C0 - 0x80421B60 (10144)BSS Area: 0x80421B60 - 0x80428510 (27056)Local Heap: 0x80428510 - 0x80528510 (1048576)Stack Area: 0x80528510 - 0x8052A510 (8192)Text (code) segment: 0x80401000 - 0x8041F3B4 (123828)Boot area (physical): 0x0052B000 - 0x0056B000Relocation Factor: I:00000000 - D:00000000*** GetHG556aBoardVersion = <0> ***Board IP address : 192.168.1.1 Host IP address : 192.168.1.100 Gateway IP address : Run from flash/host (f/h) : f Default host run file name : vmlinux Default host flash file name : bcm963xx_fs_kernel Boot delay (0-9 seconds) : 1 Board Id Name : HW556 Psi size in KB : 64Number of MAC Addresses (1-32) : 14 Base MAC Address : 64:16:f0:dd:f1:fa Ethernet PHY Type : InternalMemory size in MB : 64CMT Thread Number : 1*** Press any key to stop auto run (1 seconds) ***Auto run second count down: 1\0x081\0x080boot kernel from be020100Code Address: 0x80010000, Entry Address: 0x80010000Decompression OK!Entry at 0x80010000Closing network.Starting program at 0x80010000[ 0.000000] Linux version 3.3.8 (dani@tool) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #2 Mon Feb 9 16:10:39 CET 2015[ 0.000000] Detected Broadcom 0x6358 CPU revision a1[ 0.000000] CPU frequency is 300 MHz[ 0.000000] 64MB of RAM installed[ 0.000000] registering 40 GPIOs[ 0.000000] gpiochip_add: registered GPIOs 0 to 39 on device: bcm63xx-gpio[ 0.000000] board_bcm963xx: Resetting USB PLL... done[ 0.000000] board_bcm963xx: Boot address 0xbe000000[ 0.000000] board_bcm963xx: CFE version: 100.48.56-49.46[ 0.000000] board_bcm963xx: unknown bcm963xx board: HW556_CW_B[ 0.000000] bootconsole [early0] enabled[ 0.000000] CPU revision is: 0002a010 (Broadcom BMIPS4350)[ 0.000000] Kernel panic - not syncing: unable to detect bcm963xx board

To solve it, enter in the CFE command line and first change the board ID to 96358GW, then reboot and change it again to HW556.

see → https://dev.openwrt.org/ticket/14063

Hardware mods

→ as a beginner, you really should inform yourself about soldering in general and then obtain some practical experience!

External antenna mod

On the HG55VDFA VER.C board there are two antennas. One is an Airgain A2430GN antenna (6dbi peak gain), the other is a crappy PCB antenna commonly used by manufacturers to save costs.

For this mod the PCB antenna is invalidated by cutting the signal trace on the board. Then just solder the pigtail cable with the signal wire before the cut, and the shield to any point near the small connector, or on the connector itself.

Buzzer mod

In this mod we will add an active buzzer (DC buzzer) to the router. We will use this simple circuit

The buzzer will be soldered to a LED on the board, this way we can control both at the same time.

Components:

  • Active buzzer, AKA DC buzzer.

  • 1 kohm resistor

  • 1 PNP transistor (2N3906 or other)

Solder the components on the board following the previous schematic:

Now configure the LED where the buzzer was soldered. Or use /sys/class/leds interface.

Example:

Install the morse led trigger:
opkg updateopkg install kmod-ledtrig-morse

Send an SOS to the world

echo morse > /sys/class/leds/HW556:green:lan4/triggerecho "SOS" > /sys/class/leds/HW556:green:lan4/message

more details at buzzer-mod

Firmware mods

Backports

Bootlogs

OEM bootlog

CFE version cfe.d081.5003 for BCM96358 (32bit,SP,BE)Build Date: Wed Nov 11 10:36:35 CST 2009 (Lihua_68693)Copyright (C) 2006 Huawei Technologies Co. Ltd.Boot Address 0xbe000000Initializing Arena.Initializing Devices.@w45260: Flash Manufacture id :c2@w45260Flash Device id :2201@w45260flipCFIGeometry:1Parallel flash device: name , id 0x2201, size 16384KB*** GetHG556aBoardVersion = <0> ***CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHzTotal memory: 67108864 bytes (64MB)Total memory used by CFE: 0x80401000 - 0x8052A510 (1217808)Initialized Data: 0x8041F3C0 - 0x80421B60 (10144)BSS Area: 0x80421B60 - 0x80428510 (27056)Local Heap: 0x80428510 - 0x80528510 (1048576)Stack Area: 0x80528510 - 0x8052A510 (8192)Text (code) segment: 0x80401000 - 0x8041F3B4 (123828)Boot area (physical): 0x0052B000 - 0x0056B000Relocation Factor: I:00000000 - D:00000000*** GetHG556aBoardVersion = <0> ***Board IP address : 192.168.1.1 Host IP address : 192.168.1.100 Gateway IP address : Run from flash/host (f/h) : f Default host run file name : vmlinux Default host flash file name : bcm963xx_fs_kernel Boot delay (0-9 seconds) : 1 Board Id Name : HW556 Psi size in KB : 64Number of MAC Addresses (1-32) : 14 Base MAC Address : 5c:4c:a9:6e:4a:a2 Ethernet PHY Type : InternalMemory size in MB : 64CMT Thread Number : 1*** Press any key to stop auto run (1 seconds) ***Auto run second count down: 110boot kernel from be9b2100Code Address: 0x80010000, Entry Address: 0x8022a018Decompression OK!Entry at 0x8022a018Closing network.Starting program at 0x8022a018Linux version 2.6.8.1 (root@IBM_x346) (gcc version 3.4.2) #2 Wed Jun 9 14:58:23 CST 2010@w45260: Flash Manufacture id :c2@w45260Flash Device id :2201@w45260flipCFIGeometry:1Parallel flash device: name , id 0x2201, size 16384KBTotal Flash size: 16384K with 128 sectorsBoard id is set HW556, ucHardwareType 0fInfo.flash_wlanparam_start_blk = 119fInfo.flash_wlanparam_number_blk = 1fInfo.flash_wlanparam_length = 0x2000fInfo.flash_wlanparam_blk_offset = 0x1e000HW556 prom initCPU revision is: 0002a010Determined physical RAM map: memory: 03f91920 @ 00000000 (usable)On node 0 totalpages: 16273 DMA zone: 16273 pages, LIFO batch:3 Normal zone: 0 pages, LIFO batch:1 HighMem zone: 0 pages, LIFO batch:1Built 1 zonelistsKernel command line: root=31:0 ro noinitrdbrcm mips: enabling icache and dcache...Primary instruction cache 16kB, physically tagged, 2-way, linesize 16 bytes.Primary data cache 16kB 2-way, linesize 16 bytes.PID hash table entries: 256 (order 8: 2048 bytes)Using 150.000 MHz high precision timer.Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)Allocating memory for DSP module core and initialization codeAllocated DSP module memory - CORE=0x81099cc0 SIZE=732896, INIT=0x0 SIZE=0Memory: 61212k/65092k available (1828k kernel code, 3816k reserved, 319k data, 76k init, 0k highmem)Calibrating delay loop... 299.00 BogoMIPSMount-cache hash table entries: 512 (order: 0, 4096 bytes)Checking for 'wait' instruction... unavailable.softirq policy:0softirq nice:0, prio:120NET: Registered protocol family 16Can't analyze prologue code at 801d7a94SCSI subsystem initializedusbcore: registered new driver usbfsusbcore: registered new driver hubNTFS driver 2.1.15 [Flags: R/O].Initializing Cryptographic APIPPP generic driver version 2.4.2NET: Registered protocol family 24Using noop io schedulerbcm963xx_mtd driver v1.0PCI: Enabling device 0000:00:0a.0 (0000 -> 0002)ehci_hcd 0000:00:0a.0: EHCI Host ControllerPCI: Setting latency timer of device 0000:00:0a.0 to 64ehci_hcd 0000:00:0a.0: irq 18, pci mem c0000300ehci_hcd 0000:00:0a.0: new USB bus registered, assigned bus number 1PCI: cache line size of 32 is not supported by device 0000:00:0a.0ehci_hcd 0000:00:0a.0: USB f.f enabled, EHCI 1.00, driver 2004-May-10hub 1-0:1.0: USB hub foundhub 1-0:1.0: 2 ports detectedohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)ohci_hcd: block sizes: ed 64 td 64PCI: Enabling device 0000:00:09.0 (0000 -> 0002)ohci_hcd 0000:00:09.0: OHCI Host ControllerPCI: Setting latency timer of device 0000:00:09.0 to 64ohci_hcd 0000:00:09.0: irq 13, pci mem c0002400ohci_hcd 0000:00:09.0: new USB bus registered, assigned bus number 2hub 2-0:1.0: USB hub foundhub 2-0:1.0: 2 ports detectedusbcore: registered new driver usblpdrivers/usb/class/usblp.c: v0.13: USB Printer Device Class driverInitializing USB Mass Storage driver...usbcore: registered new driver usb-storageUSB Mass Storage support registered.drivers/usb/serial/usb-serial.c: USB Serial support registered for Genericusbcore: registered new driver usbserial_genericusbcore: registered new driver usbserialdrivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0brcmboard: brcm_board_init entrySES: Button GPIO 0x8009 is enabledSES: LED GPIO 0x8009 is enabled@@Board@@ GetHarewareType = 0x0bcm963xx_serial driver v2.0u32 classifierNET: Registered protocol family 2IP: routing cache hash table of 512 buckets, 4KbytesTCP: Hash tables configured (established 4096 bind 8192)Initializing IPsec netlink socketNET: Registered protocol family 1NET: Registered protocol family 17NET: Registered protocol family 15Ebtables v2.0 registeredNET: Registered protocol family 8NET: Registered protocol family 20802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>All bugs added by David S. Miller <davem@redhat.com>cfi_flash_sched_init!!!VFS: Mounted root (squashfs filesystem) readonly.Freeing unused kernel memory: 76k freedusb 1-1: new high speed USB device using address 2hub 1-1:1.0: USB hub foundhub 1-1:1.0: 2 ports detectedinit started: BusyBox v1.00 (2010.06.09-07:05+0000) multi-call binaryAlgorithmics/MIPS FPU Emulator v1.5BusyBox v1.00 (2010.06.09-07:05+0000) Built-in shell (msh)Enter 'help' for a list of built-in commands.Loading drivers and kernel modules... fuse init (API version 7.8)fuse distribution version: 2.7.3atmapi: module license 'Proprietary' taints kernel.blaadd: blaa_detect entryadsl: adsl_init entryBroadcom BCMPROCFS v1.0 initializedBroadcom BCM6358A1 Ethernet Network Device v0.3 Jul 14 2010 19:38:55Config Ethernet Switch Through MDIO Pseudo PHY Interfacedgasp: kerSysRegisterDyingGaspHandler: eth0 registered eth0: MAC Address: 5C:4C:A9:6E:4A:A2DSP Driver: DSP init stubEndpoint: endpoint_init entryBOS: Enter bosInit Enter bosAppInit Exit bosAppInit BOS: Exit bosInit Endpoint: GetHarewareType <0>Endpoint: endpoint_init COMPLETEDdrivers/usb/serial/usb-serial.c: USB Serial support registered for option1usbcore: registered new driver optiondrivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1147eth0 Link UP.ip is 192.168.0.1mask is 255.255.255.0, ipbegin is 192.168.0.192, ipend is 192.168.0.254===7163=attrvalue is 2 set to 104===7163=attrvalue is 2 set to 104xmlGetDhcpHostNameNode(appName dhcphostname, objName Entry, attrName option12, attrValue Huawei-HG556a==MTU:psixml.cpp:xmlStartPppObjNode:14260:Mtu is 1492==xmlEndIgmpProxyNode(calling cfm to get appName igmpproxy, objName proxy_node)==MTU:psixml.cpp:xmlStartPppObjNode:14260:Mtu is 1492====IpExt:psixml.cpp:xmlGetPppAttr:14204:mac is ==value is 0BcmDb_setSecEnblCfg :fw_enable 0, inflt 0, outflt 0, macflt 0, macmngr 0, nat_enable 1===7163=attrvalue is 2 set to 104===7163=attrvalue is 2 set to 104xmlGetDhcpHostNameNode(appName dhcphostname, objName Entry, attrName option12, attrValue Huawei-HG556a==MTU:psixml.cpp:xmlStartPppObjNode:14260:Mtu is 1492==xmlEndIgmpProxyNode(calling cfm to get appName igmpproxy, objName proxy_node)==MTU:psixml.cpp:xmlStartPppObjNode:14260:Mtu is 1492====IpExt:psixml.cpp:xmlGetPppAttr:14204:mac is ==value is 0BcmAdsl_Initialize=0xC0066438, g_pFnNotifyCallback=0xC007F3F4AnnexCParam=0x7FFF7EA8 AnnexAParam=0x00003987 adsl2=0x00000003pSdramPHY=0xA3FFFFF8, 0x150EA5 0xDEADBEEFAdslCoreHwReset: AdslOemDataAddr = 0xA3FFBB64AnnexCParam=0x7FFF7EA8 AnnexAParam=0x00003987 adsl2=0x00000003dgasp: kerSysRegisterDyingGaspHandler: dsl0 registered atmapi: prioritize receive packetsip_tables: (C) 2000-2002 Netfilter core teamip_conntrack version 2.1 (508 buckets, 0 max) - 368 bytes per conntrackip_conntrack_pptp version 2.1 loadedip_nat_pptp version 2.0 loaded==> Bcm963xx Software Version: V100R001C10B050SP01 <==device eth0 entered promiscuous modebr0: port 1(eth0) entering learning statebr0: topology change detected, propagatingbr0: port 1(eth0) entering forwarding state*******go there ,the pOption66 is *******:*******go there the pOption67 is ********:*******go there the pOption160 is *******:getopt returned char ksetIndexName3pvc2684d: Interface "nas_0_44" created sucessfullysetIndexName3pvc2684d: Communicating over ATM 0.0.44, encapsulation: LLCsetIndexName3pvc2684d: Interface "ipa_0_34" created sucessfullysetIndexName3pvc2684d: Communicating over ATM 0.0.34, encapsulation: LLCOpen file fail in Function: BcmNtwk_initWandevice eth0 left promiscuous modebr0: port 1(eth0) entering disabled statedevice eth0 entered promiscuous modebr0: port 1(eth0) entering learning statebr0: topology change detected, propagatingbr0: port 1(eth0) entering forwarding statein bcmmac_initacbuf is nullinit syslog is endSean@WLAN CHIP Vendor=<Atheros>, ProductId=<0xff1d>ath_hal: 0.9.14.25 (<7>AR5212<7>, AR5416<7>, RF5111<7>, RF5112<7>, RF2413<7>, RF5413<7>, DEBUG<7>)ath_dfs: Version 2.0.0Copyright (c) 2005-2006 Atheros Communications, Inc. All Rights Reservedwlan: 0.8.4.2 (Atheros/multi-bss)ath_rate_atheros: Version 2.0.1Copyright (c) 2001-2004 Atheros Communications, Inc, All Rights Reservedath_pci: 0.9.4.5 (Atheros/multi-bss)ath_pci: CR-LSDK-1.3.1.71PCI: Enabling device 0000:00:01.0 (0000 -> 0002)Chan Freq RegPwr HT CTL CTL_U CTL_L DFS 1 2412n 20 HT20 1 0 1 N 1 2412n 20 HT40 1 0 1 N 2 2417n 20 HT40 1 0 1 N 3 2422n 20 HT40 1 1 1 N 4 2427n 20 HT40 1 1 1 N 5 2432n 20 HT40 1 1 1 N 6 2437n 20 HT40 1 1 1 N 7 2442n 20 HT40 1 1 1 N 8 2447n 20 HT40 1 1 1 N 9 2452n 20 HT40 1 1 1 N 10 2457n 20 HT40 1 1 1 N 11 2462n 20 HT40 1 1 1 N 12 2467n 20 HT40 1 1 0 N 13 2472n 20 HT40 1 1 0 Ndfs_init_radar_filters: dfs->dfs_rinfo.rn_numradars: 0DFS min filter rssiThresh = 21DFS max pulse dur = 131 tickswifi0: 11ng rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbpswifi0: 11ng MCS: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15wifi0: mac 47.2 phy 13.0<7> radio 12.0<7>wifi0: Use hw queue 1 for WME_AC_BE trafficwifi0: Use hw queue 0 for WME_AC_BK trafficwifi0: Use hw queue 2 for WME_AC_VI trafficwifi0: Use hw queue 3 for WME_AC_VO trafficwifi0: Use hw queue 8 for CAB trafficwifi0: Use hw queue 9 for beaconswifi0: Use hw queue 7 for UAPSDwifi0: Atheros 5416 Owl emulation: mem=0x10000000, irq=39 hw_base=0xb0000000wlan: mac acl policy registeredWlanSetupAll startkillall: hostapd: no process killedSIOCGIFFLAGS: No such devicewlanconfig: ioctl: No such devicewlNBwCap[1]wlNCtrlsb[-1]Set WLAN Radio = 1==DEBUG==Atheros_SetupOneVAP,4427==bWpaPskMode:1,m_wlMssidVar[AthIndex].wlWep:disabled.2xMaxPowerLevel: 30 (LEG)2xMaxPowerLevel: 28 (LEG)ath0Setting Max Stations:332xMaxPowerLevel: 28 (LEG)2xMaxPowerLevel: 28 (LEG)ath_newstate: Resetting VAP dfswait_run2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2412, Flags 10080, PF 0device ath0 entered promiscuous modebr0: port 2(ath0) entering learning statebr0: topology change detected, propagatingbr0: port 2(ath0) entering forwarding state2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2412, Flags 30080, PF 02xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2417, Flags 30082, PF 02xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2422, Flags 30082, PF 0br0: port 2(ath0) entering disabled stateSend SIG(1) to pid 402 on eth down2xMaxPowerLevel: 28 (LEG)ath_newstate: Resetting VAP dfswait_runbr0: port 2(ath0) entering learning state2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2412, Flags 10080, PF 0br0: topology change detected, propagatingbr0: port 2(ath0) entering forwarding stateE+E+E+E+E+hostapd is running.2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2412, Flags 30080, PF 0register normal.SIP: can't Retrieve psi object 11 in app Voice when DialPlan table size loading, errno 3SIP: can't Retrieve psi object 13 in app Voice when CallForward table size loading, errno 32xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2417, Flags 30082, PF 0iptables: Bad rule (does a matching rule exist in that chain?)iptables: Bad rule (does a matching rule exist in that chain?)2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2422, Flags 30082, PF 0original call init_spanish_mibiptables: Bad rule (does a matching rule exist in that chain?)iptables: Bad rule (does a matching rule exist in that chain?)2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2427, Flags 30082, PF 02xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2432, Flags 30082, PF 02xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2437, Flags 30082, PF 02xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2442, Flags 30082, PF 0BOS: Enter bosInit bosTimerInit2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2447, Flags 30082, PF 0Enter bosAppInit Exit bosAppInit BOS: Exit bosInit 2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2452, Flags 30082, PF 02xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2457, Flags 30082, PF 02xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2462, Flags 30082, PF 0[DMM]:Endpoit(3) receives an error digitmap string!, file = Dmm.c, line = 2371 UNSPT^2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2467, Flags 30082, PF 0SipMsgThread MsgThread pid=605------------------------------------------------------------ at 946684845.994999 *** Received signal 18 on thread with PID 601------------------------------------------------------------------------------------------------------------------------ at 946684846.059999 *** Received signal 18 on thread with PID 601------------------------------------------------------------------------------------------------------------------------ at 946684846.124999 *** Received signal 18 on thread with PID 601------------------------------------------------------------2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2472, Flags 30082, PF 0------------------------------------------------------------ at 946684846.199999 *** Received signal 18 on thread with PID 601------------------------------------------------------------Process[voice] set voip status to [1]Process[voice] set voip status to [0]<7>ath_newstate: Resetting VAP dfswait_run2xMaxPowerLevel: 28 (LEG)ath_chan_set: Changing to channel 2412, Flags 10080, PF 0kernel::endpoint_openkernel::endpoint_open COMPLETEDPstnInit Success!Created queue HDSP 00:00:46 CALLCLIENT: Initializing endpoints callSipClientMainvoipqosapi: sendto returned -1sipConfig: sipzParamp=0x7fff7150 sipzParamp->regname= line 59 file hsip.csipConfig: sipzParamp=0x7fff7150line 69 file hsip.csipConfig: &mgscb=0x1000e9f0line 82 file hsip.c00:00:46 CALLCLIENT: Initializing endpoints00:00:46 Endpoint will be initialized for country ESP (country code = 17)00:00:46 Endpoint Event task started with pid 628...00:00:46 Endpoint Packet task started with pid 629 ...Enter bosStartAppbosAppRootTask() - Is it morning already? Spawning app task (epoch #0)...bosAppRootTask() - Is it morning already? Spawning app task (epoch #0)...Enter TaskCreate aoAPTaskCreate - spawn new task aoAPExit TaskCreate AppResetDetectionEnable() - Enabled reset detection.Exit bosStartAppPLL init completed. PLL registers set to:PCM->pcm_pll_ctrl1 = 0x00020001 PCM->pcm_pll_ctrl2 = 0x0008492B PCM->pcm_pll_ctrl3 = 0x00001E1C Set up PCM registersChannel 0 assigned to timeslot 0Channel 1 assigned to timeslot 8Channel 2 assigned to timeslot 1Channel 3 assigned to timeslot 9Channel 4 assigned to timeslot 2Tx Desc (0xA29DE000): chan 0, buf 0, sts 0xe000, len 1280, bufp 0x29f4000 Tx Desc (0xA29DE008): chan 0, buf 1, sts 0x7000, len 1280, bufp 0x29f4510 Rx Desc (0xA28FF000): chan 0, buf 0, sts 0x8000, len 1280, bufp 0x36b7000 Rx Desc (0xA28FF008): chan 0, buf 1, sts 0x9000, len 1280, bufp 0x36b7510 initIudma: chan 0, descBase 0xa28ff000, descBaseIudma 0x28ff000initIudma: chan 1, descBase 0xa29de000, descBaseIudma 0x29de000PCM ENABLE INFO: DMA0 IRQ STATUS 0x00000000PCM ENABLE INFO: DMA0 IRQ MASK 0x00000005PCM ENABLE INFO: DMA1 IRQ STATUS 0x00000000PCM ENABLE INFO: DMA1 IRQ MASK 0x00000005PCM ENABLE INFO: PCM IRQ MASK 0x00000003PCM ENABLE INFO: PCM IRQ PENDING 0x00000007Enter TaskCreate CMT_EXCEPTION_ISTTaskCreate - spawn new task CMT_EXCEPTION_ISTExit TaskCreate regStatus (reg 12 sel 0) = 0x10008501 regStatus (reg 12 sel 7) = 0x00000101 regCause (reg 13 sel 0) = 0x00000000 regCause (reg 13 sel 7) = 0x00808000 regCMT (reg 22 sel 0) = 0xe30e1006 regCMT (reg 22 sel 1) = 0xe8008003 Kicking off secondary thread processor at entry point 0x81099D00...Secondary thread processor entry point at 0x81099d00Thread processor handshake. Secondary app initialized properly.Enter TaskCreate HTSKTaskCreate - spawn new task HTSKExit TaskCreate SUCCESS: Took semaphoreSUCCESS: Gave semaphoreINFO: MSPI POLLING MODEINFO: IRQ MASK 0xa0020424INFO: IRQ STATUS 0x400000INFO: BLOCK ENABLES 0x3e0320MSPI INITIALIZEDHG55VDFA DoControlRelayStatus: disconnect PSTN relay#########slicLe88221CalDcDc=CH[0]Read data from Rev ID register: 0x04, 0xB3@@@@@@@@@@@@SWcal=[0x1]####normalChan0Cal: 0x08 normalChan1Cal: 0x08DAA rstGpioPin=25, rlyGpioPin=14 DAA DBG: DAA read failed!!! DAA DBG: ISOCAP lock count = 0 Si3050 SLAC Initialised, Line side device = Si: 3010 (0xf)System dev rev: 0xf, Line dev rev: 0xfLine dev status: FDT:0x1, LCS: 0x1fDAA initialized with country code 17Detect FXO Chip Failed...Skip daa6358Si3050SetFlyMode due to Not Si3050 Detected.DAA Device Init completed...[19:38:34]Initialized DAA driver functions at location 0xc0205968boardHalInit6358: Initialization complete.boardHalInit completedEnter TaskCreate HRTBEATTaskCreate - spawn new task HRTBEATExit TaskCreate HEARTBEAT: Initialized!g_iRtcpInterval = 3000bosMsgQCreate: Created message queue VRGEVQ at address 0x6000c Enter TaskCreate VRGEVPRTaskCreate - spawn new task VRGEVPRExit TaskCreate Enter TaskCreate HCASTaskCreate - spawn new task HCASExit TaskCreate Enter TaskCreate DMAWTaskCreate - spawn new task DMAWExit TaskCreate *** gStartRxDesc[0] = 0xA28FF000 *** gBufferSizeBytes = 1280 *** gStartTxDesc[0] = 0xA29DE000 hal6358PcmInit 263 nextTxDesc = 0xA29DE000 hal6358PcmInit 263 nextTxDesc = 0xA29DE008 hal6358PcmInit 267 Ownership for TX desc not set. Use this buffer. PERF->IrqMask = 0xA0020424 PERF->IrqMask1 = 0x00800000 Default value for provItemId '226' did not existENDPT: hdspVhdOpen Secondary Connection VHD success. DSP 0, VHD (0x50) of type: 0x0ENDPT: Setting T.38 error correction mode for vhd 80 to 0x104ENDPT: hdspVhdOpen Secondary Connection VHD success. DSP 0, VHD (0x51) of type: 0x0ENDPT: Setting T.38 error correction mode for vhd 81 to 0x104ENDPT: hdspVhdOpen Secondary Connection VHD success. DSP 0, VHD (0x52) of type: 0x0ENDPT: Setting T.38 error correction mode for vhd 82 to 0x104ENDPT: hdspVhdOpen Secondary Connection VHD success. DSP 0, VHD (0x53) of type: 0x0ENDPT: Setting T.38 error correction mode for vhd 83 to 0x104bosMsgQCreate: Created message queue PSTN_CTL_EVQ at address 0x6800d Enter TaskCreate PSTNTaskCreate - spawn new task PSTNExit TaskCreate pstnCtlInit successfuldgasp: kerSysRegisterDyingGaspHandler: endpoint registered @@DoVrgEndptInit reInjecitonMode=<0x0>.00:00:50 Enter vrgEndptCasTimeParamControl... minHookFlash = 80, maxHookFlash = 250.ENDPT: EPTYPE_FXSENDPT: hdspVhdOpen Line VHD success. DSP 0, VHD (0x54) of type: 0x7Default value for provItemId '74' did not existDefault value for provItemId '75' did not existminHookFlash = 80.maxHookFlash = 250.Default value for provItemId '217' did not existDefault value for provItemId '41' did not existDefault value for provItemId '66' did not existDefault value for provItemId '58' did not existDefault value for provItemId '219' did not existENDPT: Initialization completed successfully for endpt 000:00:50 SIGNAL: endpt 0, cnx -1, evt 111 (TxGain), value 000:00:50 SIGNAL: endpt 0, cnx -1, evt 112 (RxGain), value 0ENDPT: EPTYPE_FXSENDPT: hdspVhdOpen Line VHD success. DSP 0, VHD (0x55) of type: 0x7Default value for provItemId '74' did not existDefault value for provItemId '75' did not existminHookFlash = 80.maxHookFlash = 250.Default value for provItemId '217' did not existDefault value for provItemId '41' did not existDefault value for provItemId '66' did not existDefault value for provItemId '58' did not existDefault value for provItemId '219' did not existENDPT: Initialization completed successfully for endpt 100:00:51 SIGNAL: endpt 1, cnx -1, evt 111 (TxGain), value 000:00:51 SIGNAL: endpt 1, cnx -1, evt 112 (RxGain), value 0ENDPT: EPTYPE_PSTNENDPT: hdspVhdOpen PSTN VHD success. DSP 0, VHD (0x56) of type: 0x6ENDPT: hdspVhdOpen Line VHD success. DSP 0, VHD (0x57) of type: 0x7Default value for provItemId '74' did not existDefault value for provItemId '75' did not existminHookFlash = 80.maxHookFlash = 250.Default value for provItemId '217' did not existDAA driver * for chan 2 is c0244f90Default value for provItemId '58' did not existDefault value for provItemId '219' did not existDAA driver * for chan 2 is c0244f90DAA driver * for chan 2 is c0244f90DAA: Skip cmd[1] due to on the fly <0>,<0>...ENDPT: Initialization completed successfully for endpt 200:00:51 RTP read thread started with pid 639 00:00:51 RTP read thread started with pid 640 00:00:51 RTP read thread started with pid 641 00:00:51 RTP read thread started with pid 642 00:00:51 RTCP thread started with pid 643 00:00:51 rtpInit: RTCP task created, taskId = 1435100:00:51 ccPstnInit: Init PSTN module with dial-plan = 00:00:51 gwPstnSignal: signal-67, action-0x1, value--1 ENDPT: Enable PSTN EC. ENDPT: ECAN Enabled for endpt 200:00:51 gwPstnSignal (call setup): value = 00:00:51 gwPstnSignal: signal-63, action-0x554890, value--1 vrgEndptSignal (EPSIG_PSTNCALLSETUP) 00:00:51 gwPstnSignal: signal-66, action-0x1, value--1 CMTD_CTL: Using default settingsCMTD_CTL: setFilterCoeff: filtSize79Seized PSTN line 2ConnectSB: connecting line2 and line0 DAA: Skip cmd[2] due to on the fly <0>,<0>...00:00:51 gwPstnSignal: signal-68, action-0x1, value--1 ENDPT: Disable PSTN EC. ENDPT: ECAN disabled for endpt 200:00:51 gwPstnSignal: signal-65, action-0x1, value--1 Released PSTN line 2DisconnectSB: disconnecting line0 and line2 DAA: Skip cmd[0] due to on the fly <0>,<0>...00:00:51 CALLCLIENT: Initialization complete callSipClientMain00:00:51 ccPublishSipEventCB: event 0 PSTN_CTL: cmtdCtlConfigFilter success vhd=0x56Enter TaskCreate TM56TaskCreate - spawn new task TM56Exit TaskCreate PSTN_CTL: timerTaskMain timer task started, timeout = 5000Get Resource file size = [779725]@@@@Voice@@@FXO Chip Dectected result = <0>.00:00:53 ====== HSPA voice Read Thread start ====== ======start No voice process 10 times=====mkdir: Cannot create directory `/var/mnt/USBDisk_1/twonkymedia.db': No such file or directoryDLNA:syscall.c:startDlna:5682:twonkymedia.db can't be created![10]initDeviceAssociation(entry): BcmCfm_ManageableDeviceTbl 0initDeviceAssociation(): fopen /var/udhcpd/manageable.device failed): return errorkill: Could not kill pid '65535': No such processScratch pad is not initialized.Enter TaskEnterShutdown (task=TM56) Exit TaskEnterShutdown (task=TM56) Enter bosTaskDestoryR, taskId = 82a38928PSTN_CTL: cmtdCtlDisable success vhd=0x56PstnEventCallback: PSTN_CTL_EVT_CPTONE_TIMEOUTNo scratch pad found. Initialize scratch pad...telnet function started!==DHCPD:files.c:write_dnsconf:498:====DHCPD:files.c:write_dnsconf:523:BUF[address=/#/192.168.0.1]==Can't get dns's pidURL Filer: open rule file failed!==DNS:option.c:read_opts:2064:conffile is /var/dnsmasq.conf====DNS:option.c:one_file:1870file is /var/dnsmasq.conf:====DNS:option.c:one_opt:968:arg is /#/192.168.0.1==BcmWL_createAutoCfgSwTsk Called...BcmWL_createAutoCfgSwTsk Success[1026]...Sean@WLAN CHIP Vendor=<Atheros>, ProductId=<0xff1d>==HTTPD:httpd.c:webmain:2996:ATHEROS:VHG====MTU:ifcuiweb.cpp:BcmWeb_getWanConInfo:1350:1492,1492,==NTWK_INTF wanObjIndex=2, attachToIndex=1IFC_ATM_VCC =255/65535NTWK_INTF wanObjIndex=3, attachToIndex=2IFC_ATM_VCC =0/44NTWK_INTF wanObjIndex=4, attachToIndex=3IFC_ATM_VCC =0/34Flash Write confliction, wait...Flash Write confliction, wait...<TR064>Line:150=====start up mac=5c:4c:a9:6e:4a:a2<TR064>Line:153=====syspwd=VF-EShg556Flash Write confliction, wait...Flash Write confliction, wait...NTWK_INTF wanObjIndex=5, attachToIndex=4IFC_ATM_VCC =0/33Flash Write confliction, wait...Flash Write confliction, wait...language option, user:es_ES admin:en_USIFC_ATM_VCC =255/65535IFC_ATM_VCC =0/44IFC_ATM_VCC =0/34IFC_ATM_VCC =0/33SSDP server socket OK!Found INETFound INETDevice=br0nmbd: not foundInit port is 80bcmIsDataPvc: ppp_255_65535_1 data ifcCwmp initing...paraattribute name is HG553VFbcmIsDataPvc: nas_0_44 data ifc(Data)PPP@WLAN CHIP Vendor=<Atheros>, ProductId=<0xff1d>Voice channel Query[CwmpReadLoadInfoFromFlash,230]=======acTmp:ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ========[CwmpReadLoadInfoFromFlash,245]=======pulErrCode:0,pcCmdkey:==========DEBUG==BcmSipRegisterQuery 7426==stsOld:0,stsHspa:0,iHspaDomain:0,usVoiceChannel:1,iSipChannel:0,iVoiceRegister:0,glbAdslRegState:0,glbHspaRegState:0sDeviceCount is 0 sSimExist is -1Voice channel Query==DEBUG==BcmSipRegisterQuery 7426==stsOld:0,stsHspa:0,iHspaDomain:0,usVoiceChannel:1,iSipChannel:0,iVoiceRegister:0,glbAdslRegState:0,glbHspaRegState:0sDeviceCount is 0 sSimExist is -1sigWanDownProcesscDataMode is 0AdslCoreEcUpdTmr: timeMs=1800225 ecUpdMask=0x40000

Openwrt bootlog

CFE version cfe.d081.5003 for BCM96358 (32bit,SP,BE)Build Date: Wed Nov 11 10:36:35 CST 2009 (Lihua_68693)Copyright (C) 2006 Huawei Technologies Co. Ltd.Boot Address 0xbe000000Initializing Arena.Initializing Devices.@w45260: Flash Manufacture id :c2@w45260Flash Device id :2201@w45260flipCFIGeometry:1Parallel flash device: name , id 0x2201, size 16384KB*** GetHG556aBoardVersion = <0> ***CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHzTotal memory: 67108864 bytes (64MB)Total memory used by CFE: 0x80401000 - 0x8052A510 (1217808)Initialized Data: 0x8041F3C0 - 0x80421B60 (10144)BSS Area: 0x80421B60 - 0x80428510 (27056)Local Heap: 0x80428510 - 0x80528510 (1048576)Stack Area: 0x80528510 - 0x8052A510 (8192)Text (code) segment: 0x80401000 - 0x8041F3B4 (123828)Boot area (physical): 0x0052B000 - 0x0056B000Relocation Factor: I:00000000 - D:00000000*** GetHG556aBoardVersion = <0> ***Board IP address : 192.168.1.1 Host IP address : 192.168.1.35 Gateway IP address : Run from flash/host (f/h) : h Default host run file name : vmlinux Default host flash file name : bcm963xx_fs_kernel Boot delay (0-9 seconds) : 1 Board Id Name : HW556 Psi size in KB : 64Number of MAC Addresses (1-32) : 14 Base MAC Address : 5c:4c:a9:6e:4a:a2 Ethernet PHY Type : InternalMemory size in MB : 64CMT Thread Number : 1*** Press any key to stop auto run (1 seconds) ***Auto run second count down: 1100x80010000/2739096 0x802acb98/159768 Entry at 0x8021e9f0Closing network.Starting program at 0x8021e9f0[ 0.000000] Linux version 2.6.39.4 (dani@tool) (gcc version 4.5.4 20110808 (prerelease) (Linaro GCC 4.5-2011.08) ) #22 Sat Dec 31 02:13:30 CET 2011[ 0.000000] Detected Broadcom 0x6358 CPU revision a1[ 0.000000] CPU frequency is 300 MHz[ 0.000000] 64MB of RAM installed[ 0.000000] registering 40 GPIOs[ 0.000000] board_bcm963xx: Boot address 0xbe000000[ 0.000000] board_bcm963xx: CFE version: 100.48.56-49.46[ 0.000000] bootconsole [early0] enabled[ 0.000000] CPU revision is: 0002a010 (Broadcom BMIPS4350)[ 0.000000] board_bcm963xx: board name: HW556[ 0.000000] Determined physical RAM map:[ 0.000000] memory: 04000000 @ 00000000 (usable)[ 0.000000] Initrd not found or empty - disabling initrd[ 0.000000] Zone PFN ranges:[ 0.000000] Normal 0x00000000 -> 0x00004000[ 0.000000] Movable zone start PFN for each node[ 0.000000] early_node_map[1] active PFN ranges[ 0.000000] 0: 0x00000000 -> 0x00004000[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256[ 0.000000] Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)[ 0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.[ 0.000000] Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes[ 0.000000] Memory: 62016k/65536k available (2144k kernel code, 3520k reserved, 369k data, 160k init, 0k highmem)[ 0.000000] NR_IRQS:128[ 0.000000] Calibrating delay loop... 299.26 BogoMIPS (lpj=598528)[ 0.036000] pid_max: default: 32768 minimum: 301[ 0.040000] Mount-cache hash table entries: 512[ 0.052000] NET: Registered protocol family 16[ 0.068000] changed ath9k regdomain to 0xff[ 0.072000] registering PCI controller with io_map_base unset[ 0.084000] bio: create slab <bio-0> at 0[ 0.092000] pci 0000:00:01.0: fixup device configuration[ 0.096000] pci-ath9k-fixup: Writing 0x0029168c to register 0x6000[ 0.100000] pci-ath9k-fixup: Writing 0x02800001 to register 0x6008[ 0.104000] pci-ath9k-fixup: Writing 0x2091168c to register 0x602c[ 0.108000] pci-ath9k-fixup: Writing 0x002a168c to register 0x5000[ 0.112000] pci-ath9k-fixup: Writing 0x02800001 to register 0x5008[ 0.116000] pci-ath9k-fixup: Writing 0x2091168c to register 0x502c[ 0.120000] pci-ath9k-fixup: Writing 0x05040cc0 to register 0x5064[ 0.124000] pci-ath9k-fixup: Writing 0x00033811 to register 0x506c[ 0.128000] pci-ath9k-fixup: Writing 0x0040073b to register 0x4004[ 0.132000] pci-ath9k-fixup: Writing 0x00000003 to register 0x4074[ 0.136000] pci-ath9k-fixup: Writing 0x01c20000 to register 0x4000[ 0.140000] pci-ath9k-fixup: Writing 0x00000044 to register 0x6034[ 0.144000] pci-ath9k-fixup: Device vendor 0x168c, id 0x0029[ 0.164000] pci 0000:00:01.0: BAR 0: assigned [mem 0x30000000-0x3000ffff][ 0.168000] pci 0000:00:01.0: BAR 0: set to [mem 0x30000000-0x3000ffff] (PCI address [0x30000000-0x3000ffff])[ 0.172000] Switching to clocksource MIPS[ 0.184000] NET: Registered protocol family 2[ 0.188000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)[ 0.196000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)[ 0.204000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)[ 0.212000] TCP: Hash tables configured (established 2048 bind 2048)[ 0.216000] TCP reno registered[ 0.220000] UDP hash table entries: 256 (order: 0, 4096 bytes)[ 0.228000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)[ 0.236000] NET: Registered protocol family 1[ 0.240000] audit: initializing netlink socket (disabled)[ 0.248000] type=2000 audit(0.248:1): initialized[ 0.256000] squashfs: version 4.0 (2009/01/31) Phillip Lougher[ 0.260000] JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.[ 0.272000] msgmni has been set to 121[ 0.276000] io scheduler noop registered[ 0.280000] io scheduler deadline registered (default)[ 0.288000] bcm63xx_uart.0: ttyS0 at MMIO 0xfffe0100 (irq = 10) is a bcm63xx_uart[ 0.296000] console [ttyS0] enabled, bootconsole disabled[ 0.296000] console [ttyS0] enabled, bootconsole disabled[ 0.312000] bcm963xx-flash bcm963xx-flash.0: 0x02000000 at 0x1e000000[ 0.316000] bcm963xx: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x00227e[ 0.328000] Amd/Fujitsu Extended Query Table at 0x0040[ 0.332000] Amd/Fujitsu Extended Query version 1.3.[ 0.340000] Using buffer write method[ 0.340000] Silicon revision: 10[ 0.344000] Address sensitive unlock: Required[ 0.352000] Erase Suspend: Read/write[ 0.356000] Block protection: 1 sectors per group[ 0.360000] Temporary block unprotect: Not supported[ 0.364000] Block protect/unprotect scheme: 8[ 0.368000] Number of simultaneous operations: 0[ 0.376000] Burst mode: Not supported[ 0.376000] Page mode: 8 word page[ 0.380000] Vpp Supply Minimum Program/Erase Voltage: 9.5 V[ 0.388000] Vpp Supply Maximum Program/Erase Voltage: 10.5 V[ 0.392000] Top/Bottom Boot Block: Uniform, Top WP[ 0.400000] number of CFI chips: 1[ 0.404000] bcm963xx_flash: Read Signature value of CFE1CFE1[ 0.408000] bcm963xx-flash bcm963xx-flash.0: CFE bootloader detected[ 0.416000] bcm963xx_flash: CFE boot tag found with version 8 and board type HW556[ 0.424000] bcm963xx_flash: Partition 0 is CFE offset 0 and length 20000[ 0.428000] bcm963xx_flash: Partition 1 is kernel offset 20100 and length dff00[ 0.436000] bcm963xx_flash: Partition 2 is rootfs offset 100000 and length d00000[ 0.444000] bcm963xx_flash: Partition 3 is ath_data offset e00000 and length 1e0000[ 0.452000] bcm963xx_flash: Partition 4 is nvram offset fe0000 and length 20000[ 0.460000] bcm963xx_flash: Partition 5 is linux offset 20000 and length de0000[ 0.468000] bcm963xx_flash: Spare partition is 340000 offset and length ac0000[ 0.476000] Creating 6 MTD partitions on "bcm963xx":[ 0.480000] 0x000000000000-0x000000020000 : "CFE"[ 0.488000] mtd: Giving out device 0 to CFE[ 0.492000] 0x000000020100-0x000000100000 : "kernel"[ 0.500000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only[ 0.512000] mtd: Giving out device 1 to kernel[ 0.520000] 0x000000100000-0x000000e00000 : "rootfs"[ 0.528000] mtd: Giving out device 2 to rootfs[ 0.532000] mtd: partition "rootfs" set to be root filesystem[ 0.540000] mtd: partition "rootfs_data" created automatically, ofs=340000, len=AC0000 [ 0.548000] 0x000000340000-0x000000e00000 : "rootfs_data"[ 0.556000] mtd: Giving out device 3 to rootfs_data[ 0.564000] 0x000000e00000-0x000000fe0000 : "ath_data"[ 0.568000] mtd: Giving out device 4 to ath_data[ 0.576000] 0x000000fe0000-0x000001000000 : "nvram"[ 0.584000] mtd: Giving out device 5 to nvram[ 0.588000] 0x000000020000-0x000000e00000 : "linux"[ 0.596000] mtd: Giving out device 6 to linux[ 0.608000] bcm63xx-wdt bcm63xx-wdt.0: started, timer margin: 30 sec[ 0.624000] TCP westwood registered[ 0.624000] NET: Registered protocol family 17[ 0.632000] 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>[ 0.636000] All bugs added by David S. Miller <davem@redhat.com>[ 0.648000] mtdblock_open[ 0.652000] ok^@[ 0.660000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.[ 0.668000] Freeing unused kernel memory: 160k freedawk: /proc/cpuinfo: No such file or directory[ 3.508000] roboswitch: Probing device eth0: found a 5325! It's a 5350.[ 4.576000] There is already a switch registered on the device 'eth0'- preinit -Press the [f] key and hit [enter] to enter failsafe mode- regular preinit -[ 9.076000] mtdblock_open[ 9.080000] ok[ 9.088000] mtdblock_release[ 9.092000] ok[ 9.172000] MTDSB: lookup_bdev() returned 0[ 9.176000] MTDSB: New superblock for device 3 ("rootfs_data")[ 9.224000] JFFS2 notice: (317) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked, 0 orphan) and 5 of xref (0 dead, 2 orphan) found.[ 9.256000] MTD_open[ 9.256000] MTD_ioctl[ 9.260000] MTD_ioctl[ 9.260000] MTD_closeswitching to jffs2- init -^@Please press Enter to activate this console. [ 12.756000] Compat-wireless backport release: compat-wireless-2011-11-29[ 12.760000] Backport based on wireless-testing.git master-2011-12-01[ 12.984000] cfg80211: Calling CRDA to update world regulatory domain[ 13.812000] cfg80211: World regulatory domain updated:[ 13.816000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)[ 13.824000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)[ 13.832000] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)[ 13.844000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)[ 13.852000] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)[ 13.860000] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)[ 14.532000] SCSI subsystem initialized[ 14.632000] There is already a switch registered on the device 'eth0'[ 15.028000] usbcore: registered new interface driver usbfs[ 15.036000] usbcore: registered new interface driver hub[ 15.048000] usbcore: registered new device driver usb[ 16.632000] PCI: Enabling device 0000:00:01.0 (0000 -> 0002)[ 16.640000] board_bcm963xx: Setting device platform data[ 16.652000] ath: eeprom contains invalid mac address: ff:ff:ff:ff:ff:ff[ 16.660000] ath: random mac address will be used: 66:94:cc:56:b8:3c[ 16.680000] ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xc02e0000, irq=39[ 16.692000] cfg80211: Calling CRDA for country: JP[ 16.852000] cfg80211: Regulatory domain changed to country: JP[ 16.860000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)[ 16.868000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm)[ 16.876000] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (N/A, 2000 mBm)[ 16.884000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm)[ 16.892000] cfg80211: (4910000 KHz - 4930000 KHz @ 10000 KHz), (N/A, 2300 mBm)[ 16.900000] cfg80211: (4910000 KHz - 4990000 KHz @ 40000 KHz), (N/A, 2300 mBm)[ 16.908000] cfg80211: (4930000 KHz - 4950000 KHz @ 10000 KHz), (N/A, 2300 mBm)[ 16.916000] cfg80211: (5030000 KHz - 5045000 KHz @ 10000 KHz), (N/A, 2300 mBm)[ 16.924000] cfg80211: (5030000 KHz - 5090000 KHz @ 40000 KHz), (N/A, 2300 mBm)[ 16.932000] cfg80211: (5050000 KHz - 5060000 KHz @ 10000 KHz), (N/A, 2300 mBm)[ 16.940000] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)[ 16.948000] cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (N/A, 2000 mBm)[ 16.956000] cfg80211: (5490000 KHz - 5710000 KHz @ 40000 KHz), (N/A, 2300 mBm)[ 16.996000] Button Hotplug driver version 0.4.1[ 17.972000] NTFS driver 2.1.30 [Flags: R/O MODULE].[ 18.520000] PPP generic driver version 2.4.2[ 18.752000] ip_tables: (C) 2000-2006 Netfilter Core Team[ 19.076000] NET: Registered protocol family 24[ 19.324000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver[ 19.328000] bcm63xx_ehci bcm63xx_ehci.0: BCM63XX integrated EHCI controller[ 19.336000] bcm63xx_ehci bcm63xx_ehci.0: new USB bus registered, assigned bus number 1[ 19.368000] bcm63xx_ehci bcm63xx_ehci.0: irq 18, io mem 0xfffe1300[ 19.384000] bcm63xx_ehci bcm63xx_ehci.0: USB 2.0 started, EHCI 1.00, overcurrent ignored[ 19.392000] hub 1-0:1.0: USB hub found[ 19.396000] hub 1-0:1.0: 2 ports detected[ 19.712000] nf_conntrack version 0.5.0 (971 buckets, 3884 max)[ 19.832000] usb 1-1: new high speed USB device number 2 using bcm63xx_ehci[ 20.220000] hub 1-1:1.0: USB hub found[ 20.232000] hub 1-1:1.0: 2 ports detected[ 20.636000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver[ 20.640000] bcm63xx_ohci bcm63xx_ohci.0: BCM63XX integrated OHCI controller[ 20.648000] bcm63xx_ohci bcm63xx_ohci.0: new USB bus registered, assigned bus number 2[ 20.656000] bcm63xx_ohci bcm63xx_ohci.0: irq 13, io mem 0xfffe1400[ 20.724000] hub 2-0:1.0: USB hub found[ 20.728000] hub 2-0:1.0: 1 port detected[ 21.008000] Initializing USB Mass Storage driver...[ 21.016000] usbcore: registered new interface driver usb-storage[ 21.020000] USB Mass Storage support registered.[ 21.232000] input: gpio-buttons as /devices/platform/gpio-buttons.0/input/input0[ 23.260000] eth0: link forced UP - 100/full - flow control off/off[ 23.692000] device eth0 entered promiscuous mode[ 23.780000] br-lan: port 1(eth0) entering forwarding state[ 23.788000] br-lan: port 1(eth0) entering forwarding state[ 27.972000] device wlan0 entered promiscuous mode[ 27.980000] br-lan: port 2(wlan0) entering forwarding state[ 27.984000] br-lan: port 2(wlan0) entering forwarding state[ 30.392000] device wlan0 left promiscuous mode[ 30.396000] br-lan: port 2(wlan0) entering forwarding state[ 30.688000] device wlan0 entered promiscuous mode[ 30.692000] br-lan: port 2(wlan0) entering forwarding state[ 30.696000] br-lan: port 2(wlan0) entering forwarding stateBusyBox v1.19.3 (2011-12-25 13:56:35 CET) built-in shell (ash)Enter 'help' for a list of built-in commands. _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ATTITUDE ADJUSTMENT (bleeding edge, r29606) ---------- * 1/4 oz Vodka Pour all ingredients into mixing * 1/4 oz Gin tin with ice, strain into glass. * 1/4 oz Amaretto * 1/4 oz Triple sec * 1/4 oz Peach schnapps * 1/4 oz Sour mix * 1 splash Cranberry juice -----------------------------------------------------root@OpenWrt:/#

Notes

cal_data

In this table we can see the different geometry of flash chips:

GEOMETRY S29GL128P10 / MX29GL128EH MX29LV128DB
Boot Block Uniform, Top WP Bottom boot
region 0 0 1
sectors 0 - 127 0 - 7 8 - 262
erasesize 0x20000 0x2000 0x10000

The WIFI calibration data location (starts with 0xA55A) is displayed on bootup. . The fInfo.* values appear to be embedded in the kernel [OpenWrt Wiki] Huawei EchoLife HG556a (41)

Boot log reports:

MX29GL128EH | S29GL128P10

...Total Flash size: 16384K with 128 sectorsBoard id is set HW556, ucHardwareType 0fInfo.flash_wlanparam_start_blk = 119fInfo.flash_wlanparam_number_blk = 1fInfo.flash_wlanparam_length = 0x2000fInfo.flash_wlanparam_blk_offset = 0x1e000

Based on the geometry in the above table let's calculate the offset:

119*0x20000+0x1e000 = 0xEFE000

If we make a backup of whole flash via JTAG we see it's exactly located at the offset 0xEFE000

MX29LV128DB

...Total Flash size: 16384K with 263 sectorsBoard id is set HW556, ucHardwareType 0fInfo.flash_wlanparam_start_blk = 254fInfo.flash_wlanparam_number_blk = 1fInfo.flash_wlanparam_length = 0x2000fInfo.flash_wlanparam_blk_offset = 0xe000

Based on the geometry in the above table let's calculate the offset again:

8*0x2000+(254-8)*0x10000+0xe000 = 0xF7E000

Tags

How to add tags

bcm63xx, bcm6358, 16Flash, 64RAM, 4Port, FastEthernet, hwVLAN, 3USB, 1WNIC, ath9k, 802.11bgn, NonDetachableAntenna, 2Ant, MIPS, MIPS32, 4Button, JTAG, Serial, SPI

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies

[OpenWrt Wiki] Huawei EchoLife HG556a (2024)
Top Articles
DailyMed - TOPCARE NASAL- oxymetazoline hydrochloride spray
DailyMed - TOPCARE NASAL- oxymetazoline hcl spray
Spasa Parish
Rentals for rent in Maastricht
159R Bus Schedule Pdf
Sallisaw Bin Store
Black Adam Showtimes Near Maya Cinemas Delano
Espn Transfer Portal Basketball
Pollen Levels Richmond
11 Best Sites Like The Chive For Funny Pictures and Memes
Things to do in Wichita Falls on weekends 12-15 September
Craigslist Pets Huntsville Alabama
Paulette Goddard | American Actress, Modern Times, Charlie Chaplin
What's the Difference Between Halal and Haram Meat & Food?
R/Skinwalker
Rugged Gentleman Barber Shop Martinsburg Wv
Jennifer Lenzini Leaving Ktiv
Justified - Streams, Episodenguide und News zur Serie
Epay. Medstarhealth.org
Olde Kegg Bar & Grill Portage Menu
Cubilabras
Half Inning In Which The Home Team Bats Crossword
Amazing Lash Bay Colony
Juego Friv Poki
Dirt Devil Ud70181 Parts Diagram
Truist Bank Open Saturday
Water Leaks in Your Car When It Rains? Common Causes & Fixes
What’s Closing at Disney World? A Complete Guide
New from Simply So Good - Cherry Apricot Slab Pie
Fungal Symbiote Terraria
modelo julia - PLAYBOARD
Abby's Caribbean Cafe
Joanna Gaines Reveals Who Bought the 'Fixer Upper' Lake House and Her Favorite Features of the Milestone Project
Tri-State Dog Racing Results
Navy Qrs Supervisor Answers
Trade Chart Dave Richard
Lincoln Financial Field Section 110
Free Stuff Craigslist Roanoke Va
Stellaris Resolution
Wi Dept Of Regulation & Licensing
Pick N Pull Near Me [Locator Map + Guide + FAQ]
Crystal Westbrooks Nipple
Ice Hockey Dboard
Über 60 Prozent Rabatt auf E-Bikes: Aldi reduziert sämtliche Pedelecs stark im Preis - nur noch für kurze Zeit
Wie blocke ich einen Bot aus Boardman/USA - sellerforum.de
Infinity Pool Showtimes Near Maya Cinemas Bakersfield
Hooda Math—Games, Features, and Benefits — Mashup Math
Dermpathdiagnostics Com Pay Invoice
How To Use Price Chopper Points At Quiktrip
Maria Butina Bikini
Busted Newspaper Zapata Tx
Latest Posts
Article information

Author: Gregorio Kreiger

Last Updated:

Views: 6750

Rating: 4.7 / 5 (57 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Gregorio Kreiger

Birthday: 1994-12-18

Address: 89212 Tracey Ramp, Sunside, MT 08453-0951

Phone: +9014805370218

Job: Customer Designer

Hobby: Mountain biking, Orienteering, Hiking, Sewing, Backpacking, Mushroom hunting, Backpacking

Introduction: My name is Gregorio Kreiger, I am a tender, brainy, enthusiastic, combative, agreeable, gentle, gentle person who loves writing and wants to share my knowledge and understanding with you.