Support for Acelink EW-7476HPC (was: Cheapest best access point support)

I bought this acces point: http://www.overclock.net/forum/18049-network-hardware/1645704-iperf3-performance-test-17-2x2-wireless-ac-poe-access-point.html

Technical details: http://www.acelink.com.tw/EW-7476HPC.html

I opened the acces point and there is a serial connection availible. I soldered serial wires and with the settings 57600 i get a serial console:
################
U-Boot 1.1.3 (Sep 30 2014 - 13:20:19)

Board: Ralink APSoC DRAM: 64 MB
Ralink UBoot ver: 4.0.1.0
ELX UBoot ver: 1.0.0 (Sep 30 2014 13:20:19)
Date:Sep 30 2014 Time:13:20:19
CPU: 580 MHz, MEM: 64 MB

Please choose the operation: 1, 2, 3, 4, 9
################

I installed the Asus RP-N53 openwrt/lede version and it start well. But there is one problem the following drivers are not present:

  • AR8035 - gigabit driver
  • 5GHZ atheros driver

I think i can install the second one with all the standard packages, but how can i install the AR8035 driver?
Or can anybody add this device to the openwrt repository?

Well, why did you install a driver for the completely wrong model?
AR8035 driver is not built in ramips and you cant install it with a package.
Also,you need firmware and ath10k driver with correct calibration for 5GHz to work.

This device needs correct DTS for it.

Can you share a full bootlog and memory dump for it?
Also,there is version with 8MB of flash and one with 16MB

There is no bootlog or memory dump what i can use. Because after booting the uboot it start directly the kernel without info on the serial console.

Here is info from the uboot printenv (maybe that that is useful info about the partition etc):

MT7620 # printenv
bootcmd=tftp
baudrate=57600
ethaddr="XX:XX:XX:95:CD:D2"
ramargs=setenv bootargs root=/dev/ram rw
addip=setenv bootargs $(bootargs) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname):$(netdev):off
addmisc=setenv bootargs $(bootargs) console=ttyS0,$(baudrate) ethaddr=$(ethaddr) panic=1
flash_self=run ramargs addip addmisc;bootm $(kernel_addr) $(ramdisk_addr)
kernel_addr=BFC40000
u-boot=u-boot.bin
load=tftp 8A100000 $(u-boot)
u_b=protect off 1:0-1;era 1:0-1;cp.b 8A100000 BC400000 $(filesize)
loadfs=tftp 8A100000 root.cramfs
u_fs=era bc540000 bc83ffff;cp.b 8A100000 BC540000 $(filesize)
test_tftp=tftp 8A100000 root.cramfs;run test_tftp
ethact=Eth0 (10/100-M)
language_code=jp
hw_id=ffff0012
domain=1
pincode=98175543
wlanaddr=XX:XX:bb:cc:dd:10
kver=1.0.10
sn=12345678901234567890123456789012
usboot=0
op_mode=0
dom2=4
wanaddr=XX:XX:bb:cc:dd:20
bootdelay=2
bver=4.0.1.6
filesize=739000
fileaddr=80A00000
autostart=no
bootfile=uImage_EW-7476HPC
stdin=serial
stdout=serial
stderr=serial
ipaddr=192.168.1.33
serverip=192.168.1.5

Well,you can see partition layout from kernel after it is booted.
Also,you can make memory dump using dd.

Here is the bootlog from the openwrt file that i flashed on the device:

U-Boot 1.1.3 (Sep 30 2014 - 13:20:19)

Board: Ralink APSoC DRAM:  64 MB
Ralink UBoot ver: 4.0.1.0
ELX UBoot ver: 1.0.0 (Sep 30 2014 13:20:19)
Date:Sep 30 2014  Time:13:20:19
CPU: 580 MHz, MEM: 64 MB

Please choose the operation: 1, 2, 3, 4, 9                                                                                                                                                                                                 0

3: System Boot system code via Flash.
## Booting image at bc050000 ...
   Image Name:   MIPS OpenWrt Linux-4.9.77
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    1423396 Bytes =  1.4 MB
   Load Address: 80000000
   Entry Point:  80000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64

Starting kernel ...

[    0.000000] Linux version 4.9.77 (buildbot@buildslave) (gcc version 5.5.0 (OpenWrt GCC 5.5.0 r6129-0f063f8ac7) ) #0 Sat Feb 17 00:15:25 2018
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
[    0.000000] MIPS: hine is Asus RP-N53
[    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 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 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] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[    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] Writing ErrCtl register=0005d830
[    0.000000] Readback ErrCtl register=0005d830
[    0.000000] Memory: 60164K/65536K available (3323K kernel code, 157K rwdata, 788K rodata, 204K init, 222K bss, 5372K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:256
[    0.000000] CPU Clock: 580MHz
[    0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[    0.000000] systick: enable autosleep mode
[    0.000000] systick: running - mult: 214748, shift: 32
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[    0.000012] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[    0.015467] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.080616] pid_max: default: 32768 minimum: 301
[    0.089926] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.102951] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.123919] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.143402] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.155556] pinctrl core: initialized pinctrl subsystem
[    0.167224] NET: Registered protocol family 16
[    0.437942] PCI host bridge /pcie@10140000 ranges:
[    0.447338]  MEM 0x0000000020000000..0x000000002fffffff
[    0.457714]   IO 0x0000000010160000..0x000000001016ffff
[    0.481955] rt2880_gpio 10000600.gpio: registering 24 gpios
[    0.492978] rt2880_gpio 10000600.gpio: registering 24 irq handlers
[    0.505571] rt2880_gpio 10000638.gpio: registering 16 gpios
[    0.516558] rt2880_gpio 10000638.gpio: registering 16 irq handlers
[    0.529709] PCI host bridge to bus 0000:00
[    0.537707] pci_bus 0000:00: root bus resource [mem 0x20000000-0x2fffffff]
[    0.551415] pci_bus 0000:00: root bus resource [io  0xffffffff]
[    0.563152] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.576651] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.593586] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    0.606640] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    0.620455] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x201fffff]
[    0.633955] pci 0000:00:00.0: BAR 9: assigned [mem 0x20200000-0x202fffff pref]
[    0.648321] pci 0000:00:00.0: BAR 1: assigned [mem 0x20300000-0x2030ffff]
[    0.661828] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x201fffff 64bit]
[    0.676373] pci 0000:01:00.0: BAR 6: assigned [mem 0x20200000-0x2020ffff pref]
[    0.690720] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.700575] pci 0000:00:00.0:   bridge window [mem 0x20000000-0x201fffff]
[    0.714084] pci 0000:00:00.0:   bridge window [mem 0x20200000-0x202fffff pref]
[    0.728466] pci 0000:00:00.0: card - bus=0x0, slot = 0x0 irq=0
[    0.740056] pci 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
[    0.755247] clocksource: Switched to clocksource systick
[    0.766985] NET: Registered protocol family 2
[    0.776589] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.790367] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.802956] TCP: Hash tables configured (established 1024 bind 1024)
[    0.815679] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.827211] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.839898] NET: Registered protocol family 1
[    0.850830] rt-timer 10000100.timer: maximum frequency is 1220Hz
[    0.863552] Crashlog allocated RAM at address 0x3f00000
[    0.875028] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.896464] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.907946] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.936671] io scheduler noop registered
[    0.944313] io scheduler deadline registered (default)
[    0.954900] ralink-usb-phy usbphy: invalid resource
[    0.965084] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.981173] console [ttyS0] disabled
[    0.988218] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103
[    1.007896] console [ttyS0] enabled
[    1.007896] console [ttyS0] enabled
[    1.021713] bootconsole [early0] disabled
[    1.021713] bootconsole [early0] disabled
[    1.044215] spi spi0.0: force spi mode3
[    1.052756] m25p80 spi0.0: mx25l6405d (8192 Kbytes)
[    1.062570] 4 ofpart partitions found on MTD device spi0.0
[    1.073503] Creating 4 MTD partitions on "spi0.0":
[    1.083063] 0x000000000000-0x000000030000 : "u-boot"
[    1.094644] 0x000000030000-0x000000040000 : "u-boot-env"
[    1.107117] 0x000000040000-0x000000050000 : "factory"
[    1.119063] 0x000000050000-0x000000800000 : "firmware"
[    1.799983] 2 uimage-fw partitions found on MTD device firmware
[    1.811822] 0x000000050000-0x0000001ab864 : "kernel"
[    1.823335] 0x0000001ab864-0x000000800000 : "rootfs"
[    1.835109] mtd: device 5 (rootfs) set to be root filesystem
[    1.847020] 1 squashfs-split partitions found on MTD device rootfs
[    1.859402] 0x000000392000-0x000000800000 : "rootfs_data"
[    1.872461] libphy: Fixed MDIO Bus: probed
[    1.884427] gsw: setting port4 to ephy mode
[    1.892854] mtk_soc_eth 10100000.ethernet: generated random  address 56:72:68:6c:83:f9
[    1.909244] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
[    1.921920] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    1.938949] rt2880_wdt 10000120.watchdog: Initialized
[    1.950216] NET: Registered protocol family 10
[    1.962176] NET: Registered protocol family 17
[    1.971162] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.996993] 8021q: 802.1Q VLAN Support v1.8
[    2.020920] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[    2.036148] Freeing unused kernel memory: 204K
[    2.044992] This architecture does not have kernel memory protection.
[    2.765194] random: fast init done
[    3.359390] init: Console is alive
[    3.366479] init: - watchdog -
[    4.824947] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    5.092368] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    5.110899] init: - preinit -
[    6.828231] 8021q: adding VLAN 0 to HW filter on device eth0
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    8.592454] jffs2: notice: (350) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[    8.626332] mount_root: switching to jffs2 overlay
[    8.670791] urandom-seed: Seeding with /etc/urandom.seed
[    8.730236] procd: - early -
[    8.736611] procd: - watchdog -
[    9.069402] procd: - watchdog -
[    9.075937] procd: - ubus -
[    9.150216] procd: - init -
Please press Enter to activate this console.
[    9.598293] kmodloader: loading kernel modules from /etc/modules.d/*
[    9.617186] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    9.641027] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[    9.657046] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[    9.674699] ip_tables: (C) 2000-2006 Netfilter Core Team
[    9.694975] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
[    9.769040] xt_time: kernel timezone is -0000
[    9.951794] PPP generic driver version 2.4.2
[    9.963191] NET: Registered protocol family 24
[   10.003199] rt2800_w 10180000.w: loaded eeprom from mtd device "factory"
[   10.017669] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 6352, rev 0500 detected
[   10.033131] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 7620 detected
[   10.124130] kmodloader: done loading kernel modules from /etc/modules.d/*



BusyBox v1.27.2 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r6172-6be73c07db
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/# 

**Partitions:**
root@OpenWrt:/# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 2048      2048         0 100% /rom
tmpfs                    30184        64     30120   0% /tmp
/dev/mtdblock6            4536       244      4292   5% /overlay
overlayfs:/overlay        4536       244      4292   5% /
tmpfs                      512         0       512   0% /dev

That does not help as it is for completely other device.

Allright i will try to do that from the original firmware.

But the original firmware is not accesable from the ssh en commandline.

That is why you need to use serial.
99% of the time it is unprotected at all

Allright here is the original startup log (but after booting it is not possible to do something from the cmd console):

U-Boot 1.1.3 (Sep 30 2014 - 13:20:19)

Board: Ralink APSoC DRAM:  64 MB
Ralink UBoot ver: 4.0.1.0
ELX UBoot ver: 1.0.0 (Sep 30 2014 13:20:19)
Date:Sep 30 2014  Time:13:20:19
CPU: 580 MHz, MEM: 64 MB

Please choose the operation: 1, 2, 3, 4, 9                                                                                                                                                        0

3: System Boot system code via Flash.
## Booting image at bc050000 ...
   Image Name:   Linux Kernel Image
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    1461365 Bytes =  1.4 MB
   Load Address: 80000000
   Entry Point:  80273670
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80273670) ...
## Giving linux memsize in MB, 64

Starting kernel ...

Ralink MT7620   ver:2 eco:6 running at 580.00 MHz
console [ttyS1] enabled
System Init version: 1.1 date: 1
Setting up file systems ...
Setting up /mnt/tmpfs directory with tmpfs/16384KB
Setting up FLASH storage partition ...
Setting up /apps directory ...apps is in FLASH ...
Setting up loopback device ...
FINISHED
Start Normal Operation Mode ...
************************************************************************
*                                ---ELX---                             *
************************************************************************

KernelApp version: 1.0.4 build date: 2015/08/14 build time: 11:53:44
cmd> ln: /sbin/./cli: File exists
ln: /sbin/./start_all: File exists
10+0 records in
10+0 records out
5120 bytes (5.0KB) copied, 0.005291 seconds, 945.0KB/s
Interface doesn't accept private ioctl...
AMPDU (8BE0): Operation not permitted
Interface doesn't accept private ioctl...
AMPDUFrames (8BE0): Operation not permitted
Interface doesn't accept private ioctl...
AMPDULim (8BE0): Operation not permitted
killall: hostapd2: no process killed
^C************************************************************************
*                                ---ELX---                             *
************************************************************************

KernelApp version: 1.0.4 build date: 2015/08/14 build time: 11:53:44
cmd>

I think this is not enough information to make a openwrt/lede build for it? Is there another solution to get more info from this device?

Not really much info.
But it looks really similar to this one not to say pretty much the same
https://github.com/openwrt/openwrt/pull/703

mm thanks. It is the same