OpenWrt Forum Archive

Topic: Cisco VEN401 [Broadcom 4717 + 4322] - wifi working in ap mode?

The content of this topic has been archived on 20 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi all,
I'm writing to understand whether it's possible to enable wifi AP mode @5GHz using openwrt. The SoC is a BCM4717A and wifi BCM4322, and basically every openwrt release for BCM47xx boots on it, the problem so far is the wifi driver.
The VEN401 has only the 5GHz radio enabled, so it's mandatory to work in that band. So far, I've tried without success:

- b43 driver: it's the native one and it just doesn't work on 5GHz band
- brcmsmac: not really understanding what's going on
- wl: it works, but only in station mode (= I can scan and see surrounding 5GHz SSID's) and when I put it in station mode it just doesn't broadcast any SSID

the hardware of this AP looks pretty similar to Linksys E2000, apart from the 2.4GHz band support, which is declared to be supported.
Do you have any experiences of working BCM4322 wifi part as an AP on 5GHz band? any suggested configuration for /etc/config/wireless?

thanks

5 GHz support for recently added to b43 for N-PHY cards (it includes BCM4322). Of course, it's still limited to 802.11g speeds sad I'm not sure if all required changes are in BB, or will you need to wait for CC (or try snapshots).

broadcom-wl should support AP mode and work with higher speeds, but getting it configured correctly may be tricky.

thanks. so, let's say to keep trying with b43, in /etc/config/wireless I should set type mac80211 and hwmode 11g, correct?

cheers

Right. What didn't you simply try it? It would be way faster than waiting for an answer.

I believe in educated tries. unfortunately I don't have the box at hand right now, as soon as i can try i'll post some results.
thanks

after a little while, I managed to make it work. VEN401 is fully compatible with Barrier Breaker 14.07. Should anyone be interested, see here https://forum.openwrt.org/viewtopic.php?id=54484 for a simple tutorial.

thanks

I've been messing with this router with the stck firmware and found some rather interesting things:

--edit--
I've uploaded ven401, ven501, and vap2500 stock firmware to: https://www.dropbox.com/sh/j64675ohj5ci … X0Gga?dl=0

using the username/password ATTadmin/401!ATT
you can access the internal config screens;
http://(ip.of.ven.401)/internal.asp

you can enable telnet by going to;
http://(ip.of.ven.401)/Telnet_Setting.asp

you can execute commands on the diagnostic screen;
http://(ip.of.ven.401)/Diagnostics.asp
then, in the ping setting for ip address, type "&(command)",
ie
&cd /var;wget http://multics.minidns.net/tomato/PRECO … &chmod a+x /var/busybox;/var/busybox --help

fyi, a nice set of precompiled binaries at http://multics.minidns.net/tomato/PRECOMPILED-static

(Last edited by mrinaldi on 13 Dec 2014, 19:45)

hi, thanks for sharing. I knew about the "secret pages" but not about the possibility to execute arbitrary commands smile
About the executables: do they work on both 401 and 501? 401 is broadcom based, whereas on 501 the chip manufacturer is different (don't remember the name now). if they do, it means they have at least the same cpu architecture..

cheers

Not sure, but you could run the following command to find out arch info:

&cat /proc/cpuinfo

the binaries are confirmed working for VEN401 (MIPS)

tried to login into vap2500 (using info http://goto.fail/blog/2014/11/25/at-and … -nothing/)

would not work -- turned out browser issue: does not work on Chrome 39, worked on Firefox 34

Telnet can be enabled in http://<vap2500_ip>/config_networking.php

then login using telnet with: ATTadmin/2500!VaP

Any idea how to update to openwrt from telnet session?




output of boot log:

Jan  1 00:00:22 soc1 syslog.info syslogd started: BusyBox v1.10.3
Jan  1 00:00:22 soc1 user.notice kernel: klogd started: BusyBox v1.10.3 (2012-12-05 10:00:46 PST)
Jan  1 00:00:22 soc1 user.notice kernel: Ä    0.000000Ü Linux version 2.6.30 (root§localhost.localdomain) (gcc version 4.2.1 (ARC_2.3)) #2 Wed Dec 5 10:14:44 PST 2012
Jan  1 00:00:22 soc1 user.warn kernel: Ä    0.000000Ü Parsing ATAG parameters from bootloader
Jan  1 00:00:22 soc1 user.warn kernel: Ä    0.000000Ü ATAG_CORE: successful parsing
Jan  1 00:00:22 soc1 user.warn kernel: Ä    0.000000Ü ATAG_CMDLINE: command line = console=ttyS0,115200n8 earlyprintk=1 hw_config_id=1211 ip=192.168.1.100 mtdparts=spi_flash:128k(uboot),128k(uboot_env),7296k(linux_safety_image),7296k(linux_live_image),-(data)
Jan  1 00:00:22 soc1 user.warn kernel: Ä    0.000000Ü Board id: 1211
Jan  1 00:00:22 soc1 user.warn kernel: Ä    0.000000Ü
Jan  1 00:00:22 soc1 user.warn kernel: Ä    0.000000Ü  Processor Family: ARC 700, Core ID: 0
Jan  1 00:00:22 soc1 user.warn kernel: Ä    0.000000Ü CPU speed :        400.00 Mhz
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Timers:         TIMER1 TIMER0
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Interrupt Vect Base:         0x8800ec00
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Peripheral Base:         0x0
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Data UNCACHED Base (I/O): start 0xc0 Sz, 1024 MB
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü ARC700 MMU Ver Ä2Ü
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü    uDTLB 8 entr, uITLB 4 entr, JTLB 128 entry/way, 2 ways
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü TLB Refill "will NOT" Flush uTLBs
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Detected I-cache :
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü   Type=2 way set-assoc, Line length=32, Size=16K (enabled)
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Detected D-cache :
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü   Type=4 way set-assoc, Line length=32, Size=16K (enabled)
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Extensions:
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Multiplier: 32x32 with ANY Result Reg   MAC Multiplier: Dual 16 x 16 and 32 x 16
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü CRC  Instrn: NA,   SWAP Instrn: Present   NORM Instrn: Present
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Min-Max Instrn: Present,   Barrel Shift Rotate Instrn: Present
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Ext Arith Instrn: Present
Jan  1 00:00:23 soc1 user.debug kernel: Ä    0.000000Ü On node 0 totalpages: 8192
Jan  1 00:00:23 soc1 user.debug kernel: Ä    0.000000Ü free_area_init_node: node 0, pgdat 80f0259c, node_mem_map 81000000
Jan  1 00:00:23 soc1 user.debug kernel: Ä    0.000000Ü   Normal zone: 36 pages used for memmap
Jan  1 00:00:23 soc1 user.debug kernel: Ä    0.000000Ü   Normal zone: 0 pages reserved
Jan  1 00:00:23 soc1 user.debug kernel: Ä    0.000000Ü   Normal zone: 8156 pages, LIFO batch:0
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8156
Jan  1 00:00:23 soc1 user.notice kernel: Ä    0.000000Ü Kernel command line: console=ttyS0,115200n8 earlyprintk=1 hw_config_id=1211 ip=192.168.1.100 mtdparts=spi_flash:128k(uboot),128k(uboot_env),7296k(linux_safety_image),7296k(linux_live_image),-(data)
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.000000Ü console Äruby_early0Ü enabled
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.000000Ü RCU-based detection of stalled CPUs is enabled.
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.000000Ü ---IRQ Request (24) ISR
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.000000Ü ---IRQ Request (25) ISR
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.000000Ü ---IRQ Request (26) ISR
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü PID hash table entries: 256 (order: 8, 1024 bytes)
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü clockevent mode switch to Ä1Ü
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.000000Ü clockevent mode switch to Ä2Ü
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.000000Ü ---IRQ Request (3) ISR
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.000000Ü Dentry cache hash table entries: 8192 (order: 2, 32768 bytes)
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.005000Ü Inode-cache hash table entries: 4096 (order: 1, 16384 bytes)
Jan  1 00:00:23 soc1 user.notice kernel: Ä    0.025000Ü Memory: 49880KB available (1837K code,393K data, 10160K init)
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.030000Ü Calibrating delay loop... 265.42 BogoMIPS (lpj=663552)
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.145000Ü Mount-cache hash table entries: 1024
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.155000Ü Starting ksoftirqd, stack (thread_info) at 88002000 cpu 0
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.160000Ü net_namespace: 720 bytes
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.165000Ü NET: Registered protocol family 16
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.170000Ü Ruby heap in SRAM from 88010000 to 8801ffe0
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.175000Ü Quantenna I2C device register
Jan  1 00:00:23 soc1 user.warn kernel: Ä    0.185000Ü bio: create slab <bio-0> at 0
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.195000Ü NET: Registered protocol family 2
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.200000Ü IP route cache hash table entries: 2048 (order: 0, 8192 bytes)
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.205000Ü TCP established hash table entries: 2048 (order: 1, 16384 bytes)
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.210000Ü TCP bind hash table entries: 2048 (order: 0, 8192 bytes)
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.215000Ü TCP: Hash tables configured (established 2048 bind 2048)
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.220000Ü TCP reno registered
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.220000Ü NET: Registered protocol family 1
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.910000Ü JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.920000Ü msgmni has been set to 97
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.920000Ü io scheduler noop registered (default)
Jan  1 00:00:23 soc1 user.info kernel: Ä    0.925000Ü io scheduler anticipatory registered
Jan  1 00:00:23 soc1 user.info kernel: Ä    1.470000Ü Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled
Jan  1 00:00:23 soc1 user.info kernel: Ä    1.485000Ü serial8250.0: ttyS0 at MMIO 0xf0
Jan  1 00:00:23 soc1 user.info kernel: 000000 (irq = 48) is a 16550A
Jan  1 00:00:23 soc1 user.info kernel: Ä    1.490000Ü console handover: boot Äruby_early0Ü -> real ÄttyS0Ü
Jan  1 00:00:23 soc1 user.info kernel: Ä    1.500000Ü brd: module loaded
Jan  1 00:00:23 soc1 user.info kernel: Ä    1.510000Ü loop: module loaded
Jan  1 00:00:23 soc1 user.notice kernel: Ä    1.510000Ü 5 cmdlinepart partitions found on MTD device spi_flash
Jan  1 00:00:23 soc1 user.notice kernel: Ä    1.515000Ü Creating 5 MTD partitions on "spi_flash":
Jan  1 00:00:23 soc1 user.notice kernel: Ä    1.520000Ü 0x000000000000-0x000000020000 : "uboot"
Jan  1 00:00:23 soc1 user.notice kernel: Ä    1.525000Ü 0x000000020000-0x000000040000 : "uboot_env"
Jan  1 00:00:23 soc1 user.notice kernel: Ä    1.535000Ü 0x000000040000-0x000000760000 : "linux_safety_image"
Jan  1 00:00:23 soc1 user.notice kernel: Ä    1.545000Ü 0x000000760000-0x000000e80000 : "linux_live_image"
Jan  1 00:00:23 soc1 user.notice kernel: Ä    1.550000Ü 0x000000e80000-0x000001000000 : "data"
Jan  1 00:00:23 soc1 user.info kernel: Ä    1.560000Ü spi_flash: SPI flash driver initialized successfully!
Jan  1 00:00:23 soc1 user.info kernel: Ä    1.565000Ü emac_eth version 1.0 Quantenna Communications Inc.
Jan  1 00:00:23 soc1 user.warn kernel: Ä    1.570000Ü Random stuff BD
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.215000Ü emac_eth_mii: probed
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.215000Ü emac_eth:eth1_emac0: phy_id=0x143bc31 addr=0
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.240000Ü eth1_emac0: attached PHY driver ÄGeneric PHYÜ (mii_bus:phy_addr=mdio_bus, irq=-1)
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.355000Ü eth1_emac0: Arasan Ethernet found at 0xed000000, irq 19
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.360000Ü emac_eth version 1.0 Quantenna Communications Inc.
Jan  1 00:00:23 soc1 user.warn kernel: Ä    2.365000Ü u32 classifier
Jan  1 00:00:23 soc1 user.warn kernel: Ä    2.370000Ü     input device check on
Jan  1 00:00:23 soc1 user.warn kernel: Ä    2.375000Ü     Actions configured
Jan  1 00:00:23 soc1 user.warn kernel: Ä    2.375000Ü Netfilter messages via NETLINK v0.30.
Jan  1 00:00:23 soc1 user.warn kernel: Ä    2.380000Ü nf_conntrack version 0.5.0 (986 buckets, 3944 max)
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.385000Ü ip_tables: (C) 2000-2006 Netfilter Core Team
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.390000Ü TCP cubic registered
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.395000Ü NET: Registered protocol family 17
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.400000Ü 802.1Q VLAN Support v1.8 Ben Greear <greearb§candelatech.com>
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.405000Ü All bugs added by David S. Miller <davem§redhat.com>
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.415000Ü Freeing unused kernel memory: 10160k freed Ä80302000Ü TO Ä80cee000Ü
Jan  1 00:00:23 soc1 user.info kernel: Ä    2.420000Ü ---IRQ Request (48) ISR
Jan  1 00:00:23 soc1 user.info kernel: Ä    3.485000Ü ---IRQ Request (19) ISR
Jan  1 00:00:23 soc1 user.info kernel: Ä    3.900000Ü ---IRQ Request (19) ISR
Jan  1 00:00:23 soc1 user.info kernel: Ä    4.225000Ü device eth1_0 entered promiscuous mode
Jan  1 00:00:23 soc1 user.info kernel: Ä    4.260000Ü br0: port 1(eth1_0) entering forwarding state
Jan  1 00:00:23 soc1 user.info kernel: Ä    4.280000Ü eth1_0: link up (100/Full)
Jan  1 00:00:23 soc1 user.warn kernel: Ä    4.585000Ü qtn_debug: module license 'unspecified' taints kernel.
Jan  1 00:00:23 soc1 user.warn kernel: Ä    4.590000Ü Disabling lock debugging due to kernel taint
Jan  1 00:00:23 soc1 user.debug kernel: Ä    4.700000Ü se95-i2c : I2C driver register code = 0
Jan  1 00:00:23 soc1 user.err kernel: Ä    6.820000Ü qtn-i2c-bus i2c_read_block timed out
Jan  1 00:00:23 soc1 user.debug kernel: Ä    6.820000Ü temp_sensor : id = 0x0
Jan  1 00:00:23 soc1 user.err kernel: Ä    8.830000Ü qtn-i2c-bus i2c_read_block timed out
Jan  1 00:00:23 soc1 user.debug kernel: Ä    8.830000Ü temp_sensor.c : over temp thresh = 0 0
Jan  1 00:00:23 soc1 user.err kernel: Ä   10.840000Ü qtn-i2c-bus i2c_read_block timed out
Jan  1 00:00:23 soc1 user.debug kernel: Ä   10.840000Ü temp_sensor.c : hysteresis = 0 0
Jan  1 00:00:23 soc1 user.warn kernel: Ä   11.035000Ü wlan using SRAM (offset:0x880100d8, size:0x498)
Jan  1 00:00:23 soc1 user.info kernel: Ä   11.230000Ü wlan: 0.8.4.2 (0.9.3.3)
Jan  1 00:00:23 soc1 user.warn kernel: Ä   11.385000Ü qdrv using SRAM (offset:0x88010578, size:0x985c)
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.180000Ü ---IRQ Request (8) ISR
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.180000Ü ---IRQ Request (10) ISR
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.185000Ü ---IRQ Request (30) ISR
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.190000Ü  qdrv: firmware: requesting rdsp_driver.0.bin
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.290000Ü  qdrv: firmware: requesting qtn_driver.qtn_ruby.0.bin
Jan  1 00:00:23 soc1 user.warn kernel: Ä   13.945000Ü muc_print_initialise_shared_data linux buf 57a21ee0
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.950000Ü MuC: MuC build date=Sat Dec 1 16:33:46 PST 2012
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.955000Ü MuC: slow heap begin=0xade80        end=0x12de80
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.960000Ü MuC: fast heap begin=0x80030000        end=0x80038000
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.965000Ü MuC: stack start=0x8003e7a0 sp=0x8003ff08
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.970000Ü MuC: scancnt 0
Jan  1 00:00:23 soc1 user.info kernel: Ä   13.975000Ü MuC: g_slow_eth_war=0
Jan  1 00:00:23 soc1 user.info kernel: Ä   14.100000Ü MuC: HAL fd start § 0xe5040300, count 48, size per 100, end 0xe50415c0
Jan  1 00:00:23 soc1 user.info kernel: Ä   14.105000Ü MuC: Selected TX QoS schedule : 0
Jan  1 00:00:23 soc1 user.info kernel: Ä   14.110000Ü MuC: Dynamic one-bit autocorrelation enabled
Jan  1 00:00:23 soc1 user.info kernel: Ä   14.115000Ü MuC: *** Enable IRQs
Jan  1 00:00:23 soc1 user.warn kernel: Ä   14.140000Ü scancnt 0
Jan  1 00:00:23 soc1 user.err kernel: Ä   16.150000Ü qtn-i2c-bus i2c_read_block timed out
Jan  1 00:00:23 soc1 user.debug kernel: Ä   16.150000Ü temp_sensor : id = 0x0
Jan  1 00:00:23 soc1 user.warn kernel: Ä   16.155000Ü init_tx_power_cal: ERROR - Failed to get Temperature sensor
Jan  1 00:00:23 soc1 user.info kernel: Ä   16.165000Ü MuC boot succeeded 2.240 seconds
Jan  1 00:00:23 soc1 user.info kernel: Ä   16.600000Ü wifi0 (): not using net_device_ops yet
Jan  1 00:00:23 soc1 user.info kernel: Ä   16.630000Ü VAP create succeeded 0.020 seconds
Jan  1 00:00:23 soc1 user.info kernel: Ä   18.125000Ü device wifi0 entered promiscuous mode
Jan  1 00:00:23 soc1 user.warn kernel: Ä   18.320000Ü En
Jan  1 00:00:23 soc1 user.info kernel: abling SSDP flooding
Jan  1 00:00:23 soc1 user.warn kernel: Ä   20.405000Ü qdrv_wps_button_init: WARNING - WPS push button is using GPIO pin 4
Jan  1 00:00:23 soc1 user.warn kernel: Ä   20.415000Ü qdrv_wps_button_init: WARNING -   monitored using polling
Jan  1 00:00:23 soc1 user.warn kernel: Ä   20.420000Ü qdrv_wps_button_init: WARNING -   active logic is low
Jan  1 00:00:23 soc1 user.warn kernel: Ä   20.425000Ü qdrv_polling_wps_button_init: ERROR - wifi0: Failed to request GPIO4 for GPIO reset
Jan  1 00:00:23 soc1 user.info kernel: Ä   20.430000Ü br0: port 2(wifi0) entering forwarding state
Jan  1 00:00:23 soc1 user.info kernel: Ä   21.115000Ü qdrv_sch_red: allocated 1536 511
Jan  1 00:00:23 soc1 user.info kernel: Ä   21.120000Ü qdrv_sch_red: attached to wifi0
Jan  1 00:00:23 soc1 user.info kernel: Ä   21.120000Ü *****
Jan  1 00:00:23 soc1 user.info kernel: Ä   21.145000Ü qdrv_sch_red: allocated 512 127
Jan  1 00:00:23 soc1 user.info kernel: Ä   21.150000Ü qdrv_sch_red: attached to eth1_0
Jan  1 00:00:23 soc1 user.info kernel: Ä   21.150000Ü *****
Jan  1 00:00:23 soc1 user.warn kernel: Ä   21.600000Ü SCS: Setup comparing timer
Jan  1 00:00:23 soc1 user.warn kernel: Ä   22.120000Ü Ä2ÜComparing register set Global control
Jan  1 00:00:23 soc1 user.warn kernel: Ä   22.150000Ü Ä6ÜComparing register set BB Global regs
Jan  1 00:00:23 soc1 user.info syslog: Password for 'root' changed
Jan  1 00:00:23 soc1 user.info syslog: Password for 'ATTadmin' changed
Dec 31 16:00:24 soc1 user.notice root: DHCP deconfig
Dec 31 16:00:27 soc1 user.notice root: DHCP bound br0 192.168...
Dec 31 16:00:27 soc1 daemon.notice iwevent: 00:00:27.354097   wifi0    Scan request completed
Dec 31 16:00:27 soc1 user.info kernel: Ä   27.295000Ü MuC: WMM AC 0: 3 4 6 0
Dec 31 16:00:27 soc1 user.info kernel: Ä   27.295000Ü MuC: WMM AC 1: 7 4 10 0
Dec 31 16:00:27 soc1 user.info kernel: Ä   27.300000Ü MuC: WMM AC 2: 1 3 4 94
Dec 31 16:00:27 soc1 user.info kernel: Ä   27.305000Ü MuC: WMM AC 3: 1 2 3 47
Dec 31 16:00:28 soc1 user.debug syslog:     F=SSL_initilize entred L=88 SSL_Initialize : call SSL_Initialize
Dec 31 16:00:28 soc1 user.info syslog: F=SSL_initilize entred L=159 loading certificate numerÄ0Ü
Dec 31 16:00:28 soc1 user.info syslog:          F=SSL_Load_Cert entred L=509*c = 30 size = 1239 x=237176
Dec 31 16:00:28 soc1 user.info syslog: F=SSL_initilize entred L=159 loading certificate numerÄ1Ü
Dec 31 16:00:28 soc1 user.info syslog:          F=SSL_Load_Cert entred L=509*c = 0 size = 1520 x=241920
Dec 31 16:00:28 soc1 user.info syslog: F=SSL_initilize entred L=159 loading certificate numerÄ2Ü
Dec 31 16:00:28 soc1 user.info syslog:          F=SSL_Load_Cert entred L=509*c = 30 size = 953 x=246840
Dec 26 22:56:52 soc1 daemon.notice iwevent: 06:56:52.283773   wifi0    Custom driver event:dfs_csa
Dec 26 22:58:54 soc1 user.info syslog: F=SSL_Nblk_connect entred L=299 Default:SSL_ERROR_Failure...
Dec 26 23:07:04 soc1 user.info syslog: F=SSL_Nblk_connect entred L=299 Default:SSL_ERROR_Failure...
Dec 26 23:11:18 soc1 user.warn kernel: Ä  963.835000Ü wifi0: station ... associated, tot=1/1
Dec 26 23:11:18 soc1 daemon.notice iwevent: 07:11:18.838935   wifi0    Registered node:...
Dec 26 23:11:18 soc1 daemon.notice iwevent: 07:11:18.884030   wifi0    Custom driver event:Dot11Msg:Client connected Ä...Ü ÄWPA2-PSK/CCMPÜ
Dec 26 23:11:18 soc1 user.warn kernel: Ä  963.925000Ü wifi0: Ä...Ü block ack requested by peer tid ACCEPTED: 6 size 64 seq: 0
Dec 26 23:11:18 soc1 user.warn kernel: Ä  963.935000Ü start block ack negotiation on aid 1, tid 0 with peer ...
Dec 26 23:11:18 soc1 user.warn kernel: Ä  963.940000Ü wifi0: Ä...Ü block ack allowed by peer tid: 0 size 64
Dec 26 23:11:19 soc1 user.warn kernel: Ä  964.045000Ü wifi0: Ä...Ü block ack requested by peer tid ACCEPTED: 0 size 64 seq: 2
Dec 26 23:11:19 soc1 user.warn kernel: Ä  964.965000Ü start block ack negotiation on aid 1, tid 5 with peer ...
Dec 26 23:11:19 soc1 user.warn kernel: Ä  964.970000Ü wifi0: Ä...Ü block ack allowed by peer tid: 5 size 64
Dec 26 23:11:21 soc1 user.warn kernel: Ä  966.120000Ü wifi0: Ä...Ü block ack requested by peer tid ACCEPTED: 1 size 64 seq: 0



quantenna # cat /proc/cpuinfo

Processor Family: ARC 700, Core ID: 0
CPU speed :    400.00 Mhz
Timers:     TIMER1 TIMER0
Interrupt Vect Base:     0x8800ec00
Peripheral Base:     0x0
Data UNCACHED Base (I/O): start 0xc0 Sz, 1024 MB
Bogo MIPS :     265.42
ARC700 MMU Ver Ä2Ü
   uDTLB 8 entr, uITLB 4 entr, JTLB 128 entry/way, 2 ways
Detected I-cache :
  Type=2 way set-assoc, Line length=32, Size=16K (enabled)
Detected D-cache :
  Type=4 way set-assoc, Line length=32, Size=16K (enabled)
Extensions:
Multiplier: 32x32 with ANY Result Reg   MAC Multiplier: Dual 16 x 16 and 32 x 16
CRC  Instrn: NA,   SWAP Instrn: Present   NORM Instrn: Present
Min-Max Instrn: Present,   Barrel Shift Rotate Instrn: Present
Ext Arith Instrn: Present



quantenna # cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00020000 00010000 "uboot"
mtd1: 00020000 00010000 "uboot_env"
mtd2: 00720000 00010000 "linux_safety_image"
mtd3: 00720000 00010000 "linux_live_image"
mtd4: 00180000 00010000 "data"



quantenna # cat /var/www/system_upgrade.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
    <title>Motorola Mobility</title>
    <link rel="stylesheet" type="text/css" href="/themes/style.css" media="screen" />
   
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="expires" content="0" />
    <meta http-equiv="CACHE-CONTROL" content="no-cache" />
</head>

<script type="text/javascript" src="/webif.js"></script>
<script language="javascript" type="text/javascript" src="./js/cookiecontrol.js">
</script>
<?php
if (isset($_COOKIEÄ'p'Ü))
ä   
  // Start Moto Customized Passwd
  if($_COOKIEÄ'p'Ü==md5("ATTadmin"))
  ä$priority=0;¨
  else
  if($_COOKIEÄ'p'Ü==md5("super"))
  ä$priority=0;¨
  // End Moto Customized Passwd
  else
    ä
        echo "<script language='javascript'>location.href='login.php'</script>";
        return;
    ¨
¨
else
ä
    echo "<script language='javascript'>location.href='login.php'</script>";
    return;
¨

if ($priority>1)
ä
    echo "<script langauge=ö"javascriptö">alert(ö"Not enough priorityö");</script>";
    echo "<script language='javascript'>location.href='status_device.php'</script>";
    return;
¨

$tmp_mode=exec("call_qcsapi get_mode wifi0");
?>
<!--script part-->
<script language="javascript" type="text/javascript" src="./js/menu.js">
</script>
<script type="text/javascript">
function validate()
ä   
    var res = document.getElementById("result");
    var res1 = document.getElementById("result1");
    res.style.visibility="visible";
    res1.style.visibility="hidden";
    set_disabled('btn_upgrade', true);
    document.mainform.submit();
¨

var res1 = document.getElementById("result1");
res1.style.visibility="visible";
</script>
<body class="body" style="background:url(images/backgrond.png) repeat-x #CCC;">
    <div class="top">
        <a class="logo" href="./status_device.php">
            <img src="./images/logo.png"/>
        </a>
    </div>
<form enctype="multipart/form-data" action="system_upgrade.php" id="mainform" name="mainform" method="post">
<div class="container">
    <div class="left">
         <ul id="menu">
            <li class="item"><a href="javascript:void(0)" class="title" name="1">Status</a>
                  <ul id="opt_1" class="option">
                    <li><a href="status_device.php">Device</a></li>
                       <li><a href="status_wireless.php">Wireless</a></li>
                       <li><a href="status_networking.php">Networking</a></li>
<!-- Disable wds & mbss
                       <li <?php if($tmp_mode=="Station") echo "style=ö"display:noneö""?>><a href="status_wds.php">WDS</a></li>
                       <li <?php if($tmp_mode=="Station") echo "style=ö"display:noneö""?>><a href="status_mbssid.php">MBSS</a></li>
-->
                   </ul>
            </li>
            <li class="item"><a href="javascript:void(0)" class="title" name="2">Config</a>
                   <ul id="opt_2" class="option">
                    <li><a href="config_wireless.php">Wireless</a></li>
                    <li <?php if($priority>1) echo "style=ö"display:noneö""?>><a href="config_networking.php">Networking</a></li>
<!-- Disable wds & mbss
                    <li <?php if($tmp_mode=="Station") echo "style=ö"display:noneö""?>><a href="config_wds.php">WDS</a></li>
                    <li <?php if($tmp_mode=="Station") echo "style=ö"display:noneö""?>><a href="config_mbssid.php">MBSS</a></li>
-->
                  </ul>
            </li>
            <li class="item"><a href="javascript:void(0)" class="title" name="3">Tools</a>
                   <ul id="opt_3" class="option">
                    <li <?php if($priority>1) echo "style=ö"display:noneö""?>><a href="void();" onclick="javascript:window.open('tools_log.php'); return false;">Log</a></li>
                    <li <?php if($priority>0) echo "style=ö"display:noneö""?>><a href="tools_command.php">Command</a></li>
                    <li><a href="tools_admin.php">Admin</a></li>
                    <li <?php if($priority>0) echo "style=ö"display:noneö""?>><a href="tools_ubootinfo.php">UbootInfo</a></li>
                    <li <?php if($priority>0) echo "style=ö"display:noneö""?>><a href="tools_restore.php">Restore</a></li>
                    <li <?php if($priority>0) echo "style=ö"display:noneö""?>><a href="tools_power.php">Power</a></li>
                </ul>
            </li>
            <li class="item"><a href="javascript:void(0)" class="title" name="4">System</a>
                   <ul id="opt_4" class="option">
                    <li <?php if($priority>1) echo "style=ö"display:noneö""?>><a href="system_upgrade.php">Upgrade</a></li>
                    <li><a href="system_reboot.php">Reboot</a></li>
                   </ul>
            </li>
        </ul>
    </div>
    <div class="right">
        <div class="righttop">SYSTEM - UPGRADE</div>
        <div class="rightmain">
            <table class="tablemain">
                  <tr>
                    <td width="20%">Choose a file:</td>
                    <td width="80%">
                        <input name="uploaded" type="file" style="width:400px;"/>
                    </td>
                </tr>
            </table>
            <div id="result" style="visibility:hidden; text-align:left; margin-left:20px; margin-top:10px; font:16px Calibri, Candara, corbel, "Franklin Gothic Book";">
            Loading the image file......Please wait.
          </div>
            <div id="result1" style="text-align:left; margin-left:20px; margin-top:0px; font:16px Calibri, Candara, corbel, "Franklin Gothic Book";">
              <?php
            if (isset($_FILESÄ'uploaded'Ü))
            ä   
                $target = "/tmp/";
                $mtd = "/dev/mtd3";
                $target = $target . basename( $_FILESÄ'uploaded'ÜÄ'name'Ü) ;
                $ok=0;
                $output = "";
                $retval = 1;

                do ä
                    if(!move_uploaded_file($_FILESÄ'uploaded'ÜÄ'tmp_name'Ü, $target)) ä
                        echo "Error: could not move uploaded file!<br>";
                        break;   
                    ¨
/* Moto change */
          /* check if img is a singed img file */
          exec("motoApp_chksignature $target", $output, $retval);
          if ($retval != 0) ä
            /* We will continue to allow a clear image to be load and flash. */
            echo "No signature found.<br>";           
          ¨       
          /* check if img is a singed img file */
          exec("motoApp_chksignedimg $target 0", $output, $retval);
          if ($retval != 0) ä
            /* We will continue to allow a clear image to be load and flash. */
            echo "No binary header found.<br>";           
          ¨       
/* End Moto change */           
                    /* sanity check the uploaded file */
                    exec("validate_image $target 2>&1", $output, $retval);
                    if ($retval != 0) ä
                        echo "Image is invalid.<br>";
                        break;
                    ¨               
                   
                    /* erase flash */
                    exec("flash_eraseall $mtd > /tmp/test 2>&1", $output, $retval);
                    if ($retval != 0) ä
                        echo "Could not erase flash!<br>";               
                        break;
                    ¨           
                   
                    /* Upgrade the firmware */
                    exec("cat $target > $mtd", $output, $retval);       
                    if ($retval != 0) ä
                        echo "Could not write new firmware to flash!<br>";               
                        break;
                    ¨
                           
                    $ok = 1;
                    echo "Firmware upgraded successfully.<br>";
                    echo "<br>Click <a href=ö"system_rebooted.phpö" style=ö"font-weight:boldö"> here </a>to reboot the platform.";
                ¨ while(0);

                if ($ok == 0) ä
                    /*   
                    print_r($output);
                    echo "<br>";
                    */
                    echo "Firmware upgrade failed.<br>";
                ¨
            ¨
            ?>
          </div>
            <div class="rightbottom" style="text-align:left; margin-left:20px; margin-top:20px;">
            <button name="btn_upgrade" id="btn_upgrade" type="button" onclick="validate();"  class="button">Upgrade</button>
            </div>
        </div>
    </div>
</div>
</form>
<div class="bottom">Motorola Mobility</div>

</body>
</html>


Seems the gist of the firmware update is (write file to "live" partition on mtd):
$target = "/tmp/uploaded"
$mtd = "/dev/mtd3"

#motoApp_chksignature $target
#motoApp_chksignedimg $target 0

validate_image $target
flash_eraseall $mtd
cat $target > $mtd

(Last edited by okigan on 27 Dec 2014, 10:54)

The discussion might have continued from here.