These white routers were popular (2009-2015 period) in Estonia (ISP “Elion”, later “Telia”). By default, these board appear to use a custom bootloader (identical to BT HomeHub 2.0 Type A), used to boot “the Thomson linux kernel”.
As of 23 December 2018, specific OpenWrt image has not been made for TG784. At this point, information in this article is sufficient to flash and boot the HomeHub2A image openwrt-15.05.1-brcm63xx-generic-HomeHub2A-squashfs-cfe.bin with no network connectivity set up.
SoC | CPU Speed | Ram | Flash | Ethernet | USB | Wifi | Serial | JTag | VOIP | FXS |
---|---|---|---|---|---|---|---|---|---|---|
Broadcom 6358 | 300MHz | 64MiB | 16MiB | 4 x 10/100 | Yes | 11g | Yes | Yes | Yes | Yes |
→ Install OpenWrt (generic explanation)
First step is to replace the bootloader with CFE. See chapter "Flashing CFE bootloader".
Afterwards, set your IP to 192.168.1.x subnet (192.168.1.35 works well, for example), connect yourself to the red WAN port, browse to 192.168.1.1 and use the web utility to upload OpenWrt.
CFE bootloader has issues with the external switch connected to SPI and M29W128GL flash initialization.
As found by zx82 in this topic, the default flash initializations routines cause CFE to hang at “Initializing Devices”.
Workaround: Adding “flashFamily = FLASH_AMD;” to the start of cfi_flash_init in shared/opensource/flash/cfiflash.c is sufficient.
The switch initialization fails, returning “0xa0” values for everything. Forcing lower SPI speed with the following code snippet:
byte spiClock; spiClock = SPI->spiClkCfg; spiClock &= ~(SPI_CLK_MASK); // clear clock bits spiClock |= SPI_CLK_0_391MHZ; SPI->spiClkCfg = spiClock;
starts giving different responses other than “0xa0” and claims to successfully initialized the switch, however SoC crashes and starts throwing exceptions right after initialization.
Workaround: Use WAN port for flashing OpenWrt. In cfe/arch/mips/board/bcm63xx_ram/src/dev_bcm6348_eth.c select the “ENET_USE_EMAC1” define.
Bootloader can be flashed via JTAG. Tested using OpenOCD and tjtag-pi. The pinout used is following:
For tjtag, flashing the bootloader (using Raspberry Pi 1 B+) takes ~100 seconds. With Pi 2, ~60 seconds.
When using Raspberry Pi 2 or 3 and receiving “device not found” errors after running tjtag, use the fork designed for Raspberry Pi 3 and compile with Pi 3 parameter.
Note that the tjtag-pi needs word bytes swapped. If this is not already done, then it can be done using dd:
dd conv=swab if=cfe6358-nvr.bin of=CUSTOM.BIN
The following command is a good place to start to flash file “CUSTOM.BIN”:
./tjtag -flash:custom /nodma /window:be000000 /start:be000000 /length:20000 /fc:91
For OpenOCD, flashing the bootloader (using FTDI4232H) takes ~1 hour. The configuration file for BCM6358 is following (to achieve the ~1 hour period, it is necessary to up the adapter speed. 500kHz was used):
set _CHIPNAME bcm6358 set _CPUID 0x0635817F adapter_khz 10 jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUID set _TARGETNAME $_CHIPNAME.cpu target create $_TARGETNAME mips_m4k -endian big -chain-position $_TARGETNAME set _FLASHNAME $_CHIPNAME.flash flash bank $_FLASHNAME cfi 0xbe000000 0x01000000 2 2 $_TARGETNAME
The following command (over GDB) is a good place to start:
flash write_image erase unlock cfe6358-nvr.bin 0xbe000000 bin
The “unlock” and “bin” parameters are likely unnecessary, but have not been fully verified. If flashing does not start, instead throwing error “no QRY Try workaround w/0x555 instead of 0x55 to get QRY”, use this command and try flashing again:
mww 0xbe000000 0
Instruction set: | MIPS |
Vendor: | Broadcom |
bootloader: | CFE |
System-On-Chip: | BCM6358 |
CPU/Speed | BMIPS4350 V1.0 / 300 Mhz BMIPS Dual Core |
Flash-Chip: | S29GL128P90TFCR2 or M29W128GL |
Flash size: | 16 MiB |
RAM-Chip : | Elpida D5116AGTA-6B-E / DDR-333 or Hynix HY5DU121622DTP-D43 / DDR-400 |
RAM size : | 64 MiB |
Wireless: | Broadcom 4318 (mini-pci) |
Wireless standard: | 802.11b/g |
Ethernet: | Broadcom BCM5325 w/ vlan support swconfig. Configured via SPI |
WAN: | 1x SoC internal Ethernet PHY |
Internet: | G.DMT/ADSL/ADSL2+ |
VoIP: | ? |
USB: | 1x 2.0H |
Serial: | Yes |
JTAG: | Yes |
(photo credits to Kaar3l from this thread).
Accessing the serial from the 4-pin 2.00mm pitch header requires bridging the R80 and R81 pads on the bottom side of the PCB (located near SoC). Pinout:
Function | Pin |
---|---|
VCC | 1 |
Ground | 2 |
SoC Tx | 3 |
SoC Rx | 4 |
The WAN port of the board (red port) is directly connected to the EMAC1 (internal 10/100MBit Ethernet PHY).
Wireless is provided by BCM4318. Connection interface not verified.
This board uses an external BCM5325 switch. It's connected to the second internal EMAC (MII) at the SoC. The configuration is done over SPI using Slave Select 0 as also described in this thread. The MDIO pins (pins 1 & 2) do not appear to be connected (verification welcome, currently based on visual inspection).
The RESET# pin at the switch is wired to the GPIO15 at the SoC. We must set GPIO15 to HIGH state to pull the switch out of reset.
Board has two buttons. Both buttons are active low.
Label | GPIO | active |
---|---|---|
WPS | 11 | low |
Reset | 9 | low |
The LEDs are directly wired to GPIOs. The red Power LED has additional pull-up causing it to glow when SoC has not initialized the GPIO.
LED | GPIO | active |
---|---|---|
Power (G) | 25 | high |
Power (R) | 5 | high |
Ethernet | 31 | low |
Wireless (G) | 6 | high |
Wireless (R) | 22 | high |
Phone 1 | 29 | low |
Phone 2 | 26 | low |
Broadband | 28 | low |
Internet (G) | 24 | high |
Internet (R) | 23 | high |
WPS (G) | 7 | high |
WPS (R) | 4 | high |
DDR2 test... VCDL test. Decompressing Bootloader................................ Initialization sequence started. Version BL: 1.0.1 Reading cpu info...........bcm96358 tp0 revision 1 MIPS is in Big endian mode Icache : 32Kb Icachelinesize : 16 bytes Dcache : 16Kb Dcachelinesize : 16 bytes BCM config reg CP0 : e30e1006 Instruction cache enabled Data cache enabled Data cache is nonblocking C0_CONFIG reg = 80008083 standard TLB config Cacheable, write-back pfuncjmp = A0001840 Initialization sequence started. Reading cpu info...........bcm96358 tp1 revision 1 MIPS is in Big endian mode Icache : 16Kb Icachelinesize : 16 bytes Dcache : 16Kb Dcachelinesize : 16 bytes BCM config reg CP0 : e30e1006 Instruction cache enabled Data cache enabled Data cache is nonblocking C0_CONFIG reg = 80008083 standard TLB config Cacheable, write-back JTAG select tp0 BOOTING THE THOMSON LINUX KERNEL Starting the kernel @ 0x80014410 memsize=0x3F7D000Linux version 2.6.30 (gcc version 3.4.6) #1 Wed Nov 28 14:09:27 CET 2012 BCM63XX prom init Linux TP ID = 1 CPU revision is: 0002a010 (Broadcom4350) physical memory available : 65012 Kb memory reserved for GOMP core : 17408 Kb memory reserved for GOMP shared data : 4 Kb Determined physical RAM map: memory: 02e7a000 @ 00002000 (usable) Wasting 64 bytes for tracking 2 unused pages Zone PFN ranges: DMA 0x00000002 -> 0x00001000 Normal 0x00001000 -> 0x00002e7c Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000002 -> 0x00002e7c On node 0 totalpages: 11898 free_area_init_node: node 0, pgdat 80242b50, node_mem_map 81000040 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 4062 pages, LIFO batch:0 Normal zone: 61 pages used for memmap Normal zone: 7743 pages, LIFO batch:0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 11805 Kernel command line: root=31:0 ro noinitrd oot=/dev/mtdblock2 rootfstype=squashfs console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=squashfs wait instruction: enabled Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes. Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes NR_IRQS:128 PID hash table entries: 256 (order: 8, 1024 bytes) console [ttyS0] enabled Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Allocating memory for DSP module core and initialization code Allocated DSP module memory - CORE=0x8106c6c0 SIZE=1070000, INIT=0x0 SIZE=0 Allocated NMON module memory - CORE=0x81171a70 SIZE=1536000, INIT=0x0 SIZE=0 Memory: 42104k/47592k available (1909k kernel code, 5488k reserved, 348k data, 108k init, 0k highmem) Calibrating delay loop... 296.96 BogoMIPS (lpj=148480) Mount-cache hash table entries: 512 net_namespace: 584 bytes NET: Registered protocol family 16 registering PCI controller with io_map_base unset bio: create slab <bio-0> at 0 usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb pci 0000:00:09.0: reg 10 32bit mmio: [0xfffe1400-0xfffe14ff] pci 0000:00:0a.0: reg 10 32bit mmio: [0xfffe1300-0xfffe13ff] Bluetooth: Core ver 2.15 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered NET: Registered protocol family 1 squashfs: version 4.0 (2009/01/31) Phillip Lougher squashfs: version 4.0 with LZMA457 ported by BRCM JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc. msgmni has been set to 82 io scheduler noop registered (default) Gateway flash mapping flash: Found 1 x16 devices at 0x0 in 16-bit bank Amd/Fujitsu Extended Query Table at 0x0040 flash: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. flash mapping initialized Creating 4 MTD partitions on "flash": 0x000000040000-0x0000001c0000 : "userfs" 0x000000020000-0x000000040000 : "mtdss" 0x0000003c0000-0x000001000000 : "rootfs" 0x0000001c0010-0x0000003c0000 : "kernel" mtd: partition "kernel" doesn't start on an erase block boundary -- force read-only Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized brcmboard: brcm_board_init entry Serial: BCM63XX driver $Revision: 3.00 $ ttyS0 at MMIO 0xfffe0100 (irq = 10) is a BCM63XX ttyS1 at MMIO 0xfffe0100 (irq = 10) is a BCM63XX ttyS2 at MMIO 0xfffe0120 (irq = 11) is a BCM63XX TCP cubic registered NET: Registered protocol family 17 NET: Registered protocol family 15 Bluetooth: L2CAP ver 2.13 Bluetooth: L2CAP socket layer initialized VFS: Mounted root (squashfs filesystem) readonly on device 31:2. Freeing unused kernel memory: 108k freed init started: Bkserport: module license 'unspecified' taints kernel. Disabling lock debugging due to kernel taint nmon module: wasting memory! core_size=1275840 reserved=1536000 geniodb driver: Loading ... geniodb driver: Loading finished with SUCCESS Correcting RAC Address Range Disabled Data RAC on TP0 usyBox v1.00 (201Button char device has been created and initialized. 2.11.28-13:10+0000) multi-call binary init started: BusyBox v1.00 (2012.11.28-13:10+0000) multi-call binary Starting pid 107, console /dev/ttyS0: '/etc/init.d/rcS' InitialLoading GOMP firmware : /nmon/firmware/gomp.firm izing random number generator Mounting encrypted partitions ... insmod: loop.ko: no module by that name found Warning: assuming 'archivefs' is on mtdblock3 /etc/init.d/cryptomount: 25: /usr/sbin/fssetup: not found mount: Mounting /dev/loop0 on /archive failed: No such device or address Using /lib/modules/kserport.ko Using /nmon/nmon.ko loading geniodb kernel modules... Using /lib/modules/geniodb.ko loaded 3655 Kb @ 0x83046D94 Kicking off Forward Core at entry point 0x83046D94... Wait for completition.... Gateway GOMP -- CORE ID 1 initialization sequence started. pci 0000:00:09.0: firmware: requesting pots/ZZW6AA [BCM ADSL] Firmware load : 425404 425404 LMEM=(0xFFF00000, 42228) SDRAM=(0xA3FA0000, 383168) pci 0000:00:09.0: firmware: requesting phy b6w_init Calibrating delay loop... 299.00 BogoMIPS mpi: device 0x4318 found in PCI slot 1, function 0 (base 0x09000000) wl: srom not detected, using main memory mapped srom info (wombo board) Linux Driver Relay v0.1 Nov 28 2012 14:41:35 loaded veth0 (): not using net_device_ops yet Forwarding Adaptation Layer v0.1 Nov 28 2012 14:41:36 NET: Registered protocol family 3 NET: Registered protocol family 9 NET: Registered protocol family 6 NET: Registered protocol family 4 NET: Registered protocol family 5 NET: Registered protocol family 18 NET: Registered protocol family 25 insmod: rawstorage.ko: no module by that name found Device ipsec not present. voice will be loaded Using /lib/modules/endpointdd.ko Endpoint: endpoint_init entry Endpoint: endpoint_init COMPLETED Using /lib/modules/2.6.30/extra/pwrmngtd.ko modprobe: module l2cap not found. modprobe: failed to load module l2cap insmod: rawstorage.ko: no module by that name found Device ikanos not present. Starting pid 349, console /dev/ttyS0: '/etc/init.d/rc' Switching to RUNLEVEL 1 ... Disabling hotplug helper route: SIOC[ADD|DEL]RT: File exists linux application start ... wait for linux_appl to initialize (1) wait for linux_appl to initialize (2) wait for linux_appl to initialize (3) ************* ERROR RECORD ************* 000000:00:00.000000 Application NMON started after POWERON. ****************** END ***************** appl_init: BUILD VERIFIED! wait for linux_appl to initialize (4) wait for linux_appl to initialize (5) ?+?W?\[Z?X?Z??H? start fseventd ... fseventd is started. start storagepl ... storagepl is started start vfspl ... vfspl is started MVFS plugin started cifs plug-in: initializing ... cifs plug-in is started upnpavpl start ... start longops ... longops is started. /usr/bin/fusermount Loading fuse modulefuse init (API version 7.11) . Mounting fuse control filesystem. linuxappl: start loading after [ 5511ms ] S67stopload: wait until configuration load reaches phase 9... S67stopload: wait until configuration load reaches phase 9 (now -1, 1s) S67stopload: wait until configuration load reaches phase 9 (now -1, 2s) S67stopload: wait until configuration load reaches phase 9 (now -1, 3s) S67stopload: wait until configuration load reaches phase 9 (now -1, 4s) kernel::endpoint_open kernel::endpoint_open COMPLETED WARNING: Unknown Parameter Type brgroup WARNING: Unknown Parameter Type brgroup adsl: adsl_open entry ADSL Line state is: DOWN S67stopload: wait until configuration load reaches phase 9 (now -1, 5s) The OBC bridge interface cannot be removed from this VLAN, because OBC is defined as untagged. S67stopload: wait until configuration load reaches phase 9 (now -1, 6s) S67stopload: wait until configuration load reaches phase 9 (now 3, 7s) S67stopload: wait until configuration load reaches phase 9 (now 3, 8s) S67stopload: wait until configuration load reaches phase 9 (now 3, 9s) S67stopload: wait until configuration load reaches phase 9 (now 3, 10s) S67stopload: wait until configuration load reaches phase 9 (now 3, 11s) DyingGasp RIP BIT is set! ADSL configuration: adslmultimode = adsl2plus syslog = disabled S67stopload: wait until configuration load reaches phase 9 (now 3, 12s) S67stopload: wait until configuration load reaches phase 9 (now 3, 13s) The OBC bridge interface cannot be removed from this VLAN, because OBC is defined as untagged. Option not allowed => HostNotLocalDomain Failed to add host 00:1f:9f:c3:ad:0e Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.acr.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.bargein.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.callreturn.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.ccbs.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.cfbs.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.cfnr.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.cfu.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.internalcall.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.mce.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.mwi.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.vmnr.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Service code already in use for another service mbus error: (set object) error for parameter 'Voice.Services.Service.warmline.ActivationCode': Invalid parameter value (Invalid parameter value) mbus error: parameter(s) set failed (no error) Invalid parameter value. Bad value for parameter 'tone bargein' stopping the pureftp-server ... gInterruptCounter = 0xC04171D0 gInterruptErrors = 0xC04171D4 64 ms ECAN tail-length 208 ms BD DTMF1 *** gStartRxDesc[0] = 0xA0FD0000 *** gBufferSizeBytes = 1280 *** gStartTxDesc[0] = 0xA0D48000 hal6358PcmInit 274 nextTxDesc = 0xA0D48000 hal6358PcmInit 274 nextTxDesc = 0xA0D48008 hal6358PcmInit 278 Ownership for TX desc not set. Use this buffer. S67stopload: wait until configuration load reaches phase 9 (now 3, 14s) the pureftp-server is stopped stopping the pure-authd ... PERF->IrqMask = 0xE0078002 PERF->IrqMask1 = 0x00800005 dgasp: kerSysRegisterDyingGaspHandler: endpoint registered the pure-authd is stopped S67stopload: wait until configuration load reaches phase 9 (now 6, 15s) S67stopload: configuration load reached phase 9... nlplugd start ... Intel MicroStack 1.0 - Digital Media Server (DLNA 1.5)(pid = 922), Initializing. Starting netlink plugin Daemonize netlink plugin udhcpcd start ... loc_generate_uuid:c31c63bc-c3b2-5a9f-807a-99e0c74e3ed6 monitoripd start ... Starting dlistaccess ... dlistaccess: running start mud ... Using /lib/modules/2.6.30/kernel/drivers/usb/host/ehci-hcd.ko ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver PCI: Enabling device 0000:00:0a.0 (0000 -> 0002) PCI: Setting latency timer of device 0000:00:0a.0 to 64 ehci_hcd 0000:00:0a.0: EHCI Host Controller ehci_hcd 0000:00:0a.0: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:0a.0: Enabling legacy PCI PM ehci_hcd 0000:00:0a.0: irq 18, io mem 0xfffe1300 ehci_hcd 0000:00:0a.0: USB f.f started, EHCI 1.00, overcurrent ignored usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected Using /lib/modules/2.6.30/kernel/drivers/usb/host/ohci-hcd.ko ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver PCI: Enabling device 0000:00:09.0 (0000 -> 0002) PCI: Setting latency timer of device 0000:00:09.0 to 64 ohci_hcd 0000:00:09.0: OHCI Host Controller ohci_hcd 0000:00:09.0: new USB bus registered, assigned bus number 2 ohci_hcd 0000:00:09.0: irq 13, io mem 0xfffe1400 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected Using /lib/modules/2.6.30/kernel/drivers/usb/class/usblp.ko usbcore: registered new interface driver usblp Using /lib/modules/2.6.30/kernel/drivers/usb/serial/usbserial.ko usbcore: registered new interface driver usbserial USB Serial support registered for generic usbcore: registered new interface driver usbserial_generic usbserial: USB Serial Driver core Using /lib/modules/2.6.30/kernel/drivers/usb/serial/cp210x.ko USB Serial support registered for cp2101 usbcore: registered new in???????j??cp210x: v0.08:Silicon Labs CP2101/CP2102 RS232 seri?K$??Z?Y? Using /lib/modules/2.6.30/kernel/drivers/scsi/scsi_mod.ko SCSI subsystem initialized Using /lib/modules/2.6.30/kernel/drivers/scsi/sd_mod.ko Driver 'sd' needs updating - please use bus_type methods Using /lib/modules/2.6.30/kernel/drivers/usb/storage/usb-storage.ko Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. Using /lib/modules/2.6.30/kernel/fs/fat/fat.ko Using /lib/modules/2.6.30/kernel/fs/fat/vfat.ko modprobe: module msdos not found. modprobe: failed to load module msdos Using /lib/modules/2.6.30/kernel/fs/nls/nls_cp437.ko Using /lib/modules/2.6.30/kernel/fs/nls/nls_iso8859-1.ko Using /lib/modules/2.6.30/kernel/fs/nls/nls_cp850.ko mount all usbdisks not implemented ! Name: /etc/usbmgr/usbmgr.conf Starting power manager... Username :
[ 0.000000] Linux version 4.14.167 (alexandros@mitsis.pw) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r10911-c155900f66)) #0 Wed Jan 29 16:05:35 2020 [ 0.000000] Detected Broadcom 0x6358 CPU revision a1 [ 0.000000] CPU frequency is 300 MHz [ 0.000000] 64MB of RAM installed [ 0.000000] board_bcm963xx: Boot address 0xbe000000 [ 0.000000] board_bcm963xx: CFE version: 1.0.37-6.4 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 0002a010 (Broadcom BMIPS4350) [ 0.000000] board: board name: HOMEHUB2A [ 0.000000] MIPS: machine is BT Home Hub 2.0 Type A [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 04000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Primary instruction cache 32kB, VIPT, 2-way, linesize 16 bytes. [ 0.000000] Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] On node 0 totalpages: 16384 [ 0.000000] free_area_init_node: node 0, pgdat 804c36c0, node_mem_map 810061a0 [ 0.000000] Normal zone: 128 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 16384 pages, LIFO batch:3 [ 0.000000] random: get_random_bytes called from 0x804c6738 with crng_init=0 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: 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] Memory: 58532K/65536K available (4072K kernel code, 197K rwdata, 548K rodata, 1256K init, 209K bss, 7004K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS: 256 [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 12741736309 ns [ 0.000020] sched_clock: 32 bits at 150MHz, resolution 6ns, wraps every 14316557820ns [ 0.008154] Calibrating delay loop... 299.26 BogoMIPS (lpj=598528) [ 0.050578] pid_max: default: 32768 minimum: 301 [ 0.055905] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.062798] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.080279] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.090381] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.096911] pinctrl core: initialized pinctrl subsystem [ 0.105671] NET: Registered protocol family 16 [ 0.116487] registering PCI controller with io_map_base unset [ 0.122457] registering PCI controller with io_map_base unset [ 0.178972] PCI host bridge to bus 0000:00 [ 0.183266] pci_bus 0000:00: root bus resource [mem 0x30000000-0x37ffffff] [ 0.190346] pci_bus 0000:00: root bus resource [io 0x8000000-0x8007fff] [ 0.197255] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0] [ 0.204251] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff] [ 0.212480] pci 0000:00:01.0: [14e4:4318] type 00 class 0x028000 [ 0.214578] pci 0000:00:01.0: reg 0x10: [mem 0x00000000-0x00001fff] [ 0.221357] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00 [ 0.221417] pci 0000:00:01.0: BAR 0: assigned [mem 0x30000000-0x30001fff] [ 0.229314] PCI host bridge to bus 0000:01 [ 0.233576] pci_bus 0000:01: root bus resource [mem 0x38000000-0x3fffffff] [ 0.240657] pci_bus 0000:01: root bus resource [io 0x8008000-0x800ffff] [ 0.247565] pci_bus 0000:01: root bus resource [??? 0x00000000 flags 0x0] [ 0.254563] pci_bus 0000:01: No busn resource found for root bus, will use [bus 01-ff] [ 0.262816] pci 0000:01:1e.0: [14e4:6358] type 02 class 0x060700 [ 0.263337] pci 0000:01:1e.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 0.271939] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 05 [ 0.271980] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 05 [ 0.272045] pci 0000:01:1e.0: BAR 10: assigned [mem 0x38000000-0x3fffffff] [ 0.279176] pci 0000:01:1e.0: BAR 7: assigned [io 0x8008000-0x80080ff] [ 0.286000] pci 0000:01:1e.0: BAR 8: assigned [io 0x8008400-0x80084ff] [ 0.292814] pci 0000:01:1e.0: CardBus bridge to [bus 02-05] [ 0.298552] pci 0000:01:1e.0: bridge window [io 0x8008000-0x80080ff] [ 0.305364] pci 0000:01:1e.0: bridge window [io 0x8008400-0x80084ff] [ 0.312175] pci 0000:01:1e.0: bridge window [mem 0x38000000-0x3fffffff] [ 0.330039] clocksource: Switched to clocksource MIPS [ 0.338655] PCI: Enabling device 0000:00:01.0 (0000 -> 0002) [ 0.375135] ssb: Found chip with id 0x4318, rev 0x02 and package 0x00 [ 0.382353] ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x0D, vendor 0x4243) [ 0.382886] ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x09, vendor 0x4243) [ 0.383414] ssb: Core 2 found: PCI (cc 0x804, rev 0x0C, vendor 0x4243) [ 0.383943] ssb: Core 3 found: PCMCIA (cc 0x80D, rev 0x07, vendor 0x4243) [ 0.456380] ssb: Sonics Silicon Backplane found on PCI device 0000:00:01.0 [ 0.464383] NET: Registered protocol family 2 [ 0.471231] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.478549] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.485174] TCP: Hash tables configured (established 1024 bind 1024) [ 0.492341] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.498499] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.505585] NET: Registered protocol family 1 [ 0.510277] PCI: CLS 0 bytes, default 16 [ 0.515573] Crashlog allocated RAM at address 0x3f00000 [ 0.525687] workingset: timestamp_bits=30 max_order=14 bucket_order=0 [ 0.548016] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.554100] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.603137] io scheduler noop registered [ 0.607224] io scheduler deadline registered (default) [ 0.615546] bcm6358-pinctrl fffe0080.pin-controller: registered at mmio fffe0080 [ 0.625358] fffe0100.serial: ttyS0 at MMIO 0xfffe0100 (irq = 10, base_baud = 1562500) is a bcm63xx_uart [ 0.635160] console [ttyS0] enabled [ 0.642330] bootconsole [early0] disabled [ 0.653347] 1e000000.nor: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000001 Chip ID 0x002101 [ 0.663751] 1e000000.nor: Found an alias at 0x1000000 for the chip at 0x0 [ 0.663784] Amd/Fujitsu Extended Query Table at 0x0040 [ 0.669102] Amd/Fujitsu Extended Query version 1.3. [ 0.674307] number of CFI chips: 1 [ 0.694421] Searching for RedBoot partition table in 1e000000.nor at offset 0xfe0000 [ 0.737941] No RedBoot partition table detected in 1e000000.nor [ 0.744299] 3 fixed-partitions partitions found on MTD device 1e000000.nor [ 0.751420] Creating 3 MTD partitions on "1e000000.nor": [ 0.756912] 0x000000000000-0x000000020000 : "CFE" [ 0.763834] 0x000000020000-0x000000fe0000 : "linux" [ 0.775945] parser_imagetag: rootfs: CFE image tag found at 0x0 with version 6, board type HOMEHUB2A [ 0.785429] parser_imagetag: Partition 0 is kernel offset 100 and length 18d60c [ 0.792954] parser_imagetag: Partition 1 is rootfs offset 18d70c and length e328f4 [ 0.800745] parser_imagetag: Spare partition is offset 500004 and length abfffc [ 0.808332] 2 bcm963xx-imagetag partitions found on MTD device linux [ 0.814903] Creating 2 MTD partitions on "linux": [ 0.819767] 0x000000000100-0x00000018d70c : "kernel" [ 0.826984] 0x00000018d70c-0x000000fc0000 : "rootfs" [ 0.833965] mtd: device 3 (rootfs) set to be root filesystem [ 0.839900] 1 squashfs-split partitions found on MTD device rootfs [ 0.846322] 0x000000500000-0x000000fc0000 : "rootfs_data" [ 0.853816] 0x000000fe0000-0x000001000000 : "nvram" [ 0.874426] bcm63xx-spi fffe0800.spi: at [mem 0xfffe0800-0xfffe0f0b flags 0x200] (irq 9, FIFOs size 542) [ 0.886828] libphy: Fixed MDIO Bus: probed [ 0.905205] libphy: bcm63xx_enet MII bus: probed [ 0.910386] Generic PHY bcm63xx_enet-1:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=bcm63xx_enet-1:00, irq=POLL) [ 0.922744] bcm63xx-wdt bcm63xx-wdt: started, timer margin: 30 sec [ 0.937414] NET: Registered protocol family 10 [ 0.966500] Segment Routing with IPv6 [ 0.970563] NET: Registered protocol family 17 [ 0.975286] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 0.988676] 8021q: 802.1Q VLAN Support v1.8 [ 1.007906] VFS: Mounted root (squashfs filesystem) readonly on device 31:3. [ 1.032962] Freeing unused kernel memory: 1256K [ 1.037654] This architecture does not have kernel memory protection. [ 1.258082] random: fast init done [ 2.046780] init: Console is alive [ 2.050828] init: - watchdog - [ 4.055070] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 4.216810] usbcore: registered new interface driver usbfs [ 4.222756] usbcore: registered new interface driver hub [ 4.228517] usbcore: registered new device driver usb [ 4.251418] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 4.261304] ehci-platform: EHCI generic platform driver [ 4.267075] ehci-platform ehci-platform: EHCI Host Controller [ 4.273127] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1 [ 4.281787] ehci-platform ehci-platform: irq 18, io mem 0xfffe1300 [ 4.302125] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00, overcurrent ignored [ 4.312679] hub 1-0:1.0: USB hub found [ 4.317627] hub 1-0:1.0: 2 ports detected [ 4.331639] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 4.341205] ohci-platform: OHCI generic platform driver [ 4.346923] ohci-platform ohci-platform: Generic Platform OHCI controller [ 4.354099] ohci-platform ohci-platform: new USB bus registered, assigned bus number 2 [ 4.362545] ohci-platform ohci-platform: irq 13, io mem 0xfffe1400 [ 4.432518] hub 2-0:1.0: USB hub found [ 4.437445] hub 2-0:1.0: 2 ports detected [ 4.445690] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 4.464062] init: - preinit - [ 5.228229] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 6.098797] random: procd: uninitialized urandom read (4 bytes read) [ 6.849281] random: jshn: uninitialized urandom read (4 bytes read) [ 7.103938] random: jshn: uninitialized urandom read (4 bytes read) [ 7.479850] random: jshn: uninitialized urandom read (4 bytes read) [ 7.594547] random: jshn: uninitialized urandom read (4 bytes read) [ 8.594516] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 8.600775] IPv6: ADDRCONF(NETDEV_UP): eth0.1: link is not ready [ 12.329133] jffs2: notice: (405) jffs2_build_xattr_subsystem: complete building xattr subsystem, 17 of xdatum (3 unchecked, 14 orphan) and 69 of xref (14 dead, 0 orphan) found. [ 12.348476] mount_root: switching to jffs2 overlay [ 12.400810] overlayfs: upper fs does not support tmpfile. [ 12.417843] urandom-seed: Seeding with /etc/urandom.seed [ 12.710871] procd: - early - [ 12.714113] procd: - watchdog - [ 13.650285] procd: - watchdog - [ 13.657715] procd: - ubus - [ 13.830252] urandom_read: 1 callbacks suppressed [ 13.830269] random: jshn: uninitialized urandom read (4 bytes read) [ 14.168758] random: ubusd: uninitialized urandom read (4 bytes read) [ 14.290018] random: ubusd: uninitialized urandom read (4 bytes read) [ 14.308988] procd: - init - [ 17.342205] kmodloader: loading kernel modules from /etc/modules.d/* [ 17.376871] tun: Universal TUN/TAP device driver, 1.6 [ 17.434269] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 17.499560] Loading modules backported from Linux version v4.19.98-0-gd183c8e2647a [ 17.507439] Backport generated by backports.git v4.19.98-1-0-g8204eb99 [ 17.535718] ip_tables: (C) 2000-2006 Netfilter Core Team [ 17.584742] nf_conntrack version 0.5.0 (1024 buckets, 4096 max) [ 17.863804] xt_time: kernel timezone is -0000 [ 17.877756] usbcore: registered new interface driver cdc_ether [ 18.100234] urngd: v1.0.2 started. [ 18.129871] usbcore: registered new interface driver dm9601 [ 18.344971] PPP generic driver version 2.4.2 [ 18.368190] NET: Registered protocol family 24 [ 18.386512] usbcore: registered new interface driver rndis_host [ 18.514339] b43-phy0: Broadcom 4318 WLAN found (core revision 9) [ 18.582133] b43-phy0: Found PHY: Analog 3, Type 2 (G), Revision 7 [ 18.588464] b43-phy0: Found Radio: Manuf 0x17F, ID 0x2050, Revision 8, Version 0 [ 18.615652] Broadcom 43xx driver loaded [ Features: PNL ] [ 18.628376] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 18.796693] random: crng init done [ 18.800257] random: 1 urandom warning(s) missed due to ratelimiting [ 19.022156] usb 1-1: reset high-speed USB device number 2 using ehci-platform [ 19.205939] ieee80211 phy1: rt2x00_set_rt: Info - RT chipset 5390, rev 0502 detected [ 19.467592] ieee80211 phy1: rt2x00_set_rf: Info - RF chipset 5370 detected [ 19.483892] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht' [ 19.489129] usbcore: registered new interface driver rt2800usb [ 19.518432] kmodloader: done loading kernel modules from /etc/modules.d/* [ 45.593121] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 49.532565] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin' [ 50.006312] ieee80211 phy1: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36 [ 51.356215] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready [ 53.716150] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)