immortalwrt/target/linux
Michael Pratt 2f99f7e2d0 ath79: add support for Senao Engenius ESR900
FCC ID: A8J-ESR900

Engenius ESR900 is an indoor wireless router with
a gigabit ethernet switch, dual-band wireless,
internal antenna plates, and a USB 2.0 port

**Specification:**

  - QCA9558 SOC		2.4 GHz, 3x3
  - AR9580 WLAN		PCIe on board, 5 GHz, 3x3
  - AR8327N SW		4 ports LAN, 1 port WAN
  - 40 MHz clock
  - 16 MB FLASH		MX25L12845EMI-10G
  - 2x 64 MB RAM
  - UART at J1		populated, RX grounded
  - 6 internal antenna plates (omni-directional)
  - 5 LEDs, 1 button (power, 2G, 5G, WAN, WPS) (reset)

**MAC addresses:**

  Base MAC address labeled as "MAC ADDRESS"
  MAC "wanaddr" is not similar to "ethaddr"

  eth0 *:06 MAC u-boot-env ethaddr
  phy0 *:06 MAC u-boot-env ethaddr
  phy1 *:07 --- u-boot-env ethaddr +1
  WAN  *:6E:81  u-boot-env wanaddr

**Serial Access:**

  RX on the board for UART is shorted to ground by resistor R176
  therefore it must be removed to use the console
  but it is not necessary to remove to view boot log

  optionally, R175 can be replaced with a solder bridge short

  the resistors R175 and R176 are next to the UART RX pin

**Installation:**

  Method 1: Firmware upgrade page

    OEM webpage at 192.168.0.1
    username and password "admin"
    Navigate to Settings (gear icon) --> Tools --> Firmware
    select the factory.bin image
    confirm and wait 3 minutes

  Method 2: TFTP recovery

    Follow TFTP instructions using initramfs.bin
    use sysupgrade.bin to flash using openwrt web interface

**Return to OEM:**

  MTD partitions should be backed up before flashing
  using TFTP to boot openwrt without overwriting flash

  Alternatively, it is possible to edit OEM firmware images
  to flash MTD partitions in openwrt to restore OEM firmware
  by removing the OEM header and writing the rest to "firmware"

**TFTP recovery:**

  Requires serial console, reset button does nothing at boot

  rename initramfs.bin to 'uImageESR900'
  make available on TFTP server at 192.168.99.8
  power board, interrupt boot by pressing '4' rapidly
  execute tftpboot and bootm

**Note on ETH switch registers**

  Registers must be written to the ethernet switch
  in order to set up the switch's MAC interface.
  U-boot can write the registers on it's own
  which is needed, for example, in a TFTP transfer.

  The register bits from OEM for the AR8327 switch
  can be read from interrupted boot (tftpboot, bootm)
  by adding print lines in the switch driver ar8327.c
  before 'qca,ar8327-initvals' is parsed from DTS and written.
  for example:

    pr_info("0x04 %08x\n", ar8xxx_read(priv, AR8327_REG_PAD0_MODE));

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-02-12 18:07:31 +01:00
..
airoha airoha: disable swconfig 2022-11-27 13:18:29 +01:00
apm821xx treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
archs38 treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
armvirt kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
at91 treewide: strip useless default n Kconfig lines 2023-02-03 12:50:15 +01:00
ath25 treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
ath79 ath79: add support for Senao Engenius ESR900 2023-02-12 18:07:31 +01:00
bcm27xx kernel: bump 5.15 to 5.15.93 2023-02-11 23:39:30 +01:00
bcm47xx bcm47xx: revert bgmac back to the old limited max frame size 2023-02-07 18:29:34 +01:00
bcm53xx treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
bcm63xx bcm63xx: fix dts whitespace 2023-02-09 03:03:50 +01:00
bcm4908 treewide: uniform vendor name for ASUS 2022-11-16 23:30:11 +01:00
bmips treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
gemini gemini: add generic subtarget 2022-12-23 19:44:20 +01:00
generic kernel: bump 5.15 to 5.15.93 2023-02-11 23:39:30 +01:00
imx cypress-nvram: consolidate NVRAM packages 2022-11-16 20:14:13 +01:00
ipq40xx ipq40xx: fix dts whitespace 2023-02-09 03:03:47 +01:00
ipq806x ipq806x: fix dts whitespace 2023-02-09 03:03:51 +01:00
ipq807x kernel: bump 5.15 to 5.15.93 2023-02-11 23:39:30 +01:00
kirkwood kirkwood: fix dts whitespace 2023-02-09 03:03:51 +01:00
lantiq lantiq: ar9/vr9: add fritz-tffs package 2023-02-08 00:19:54 +01:00
layerscape layerscape: Add CONFIG_NVMEM_LAYERSCAPE_SFP kernel configuration option 2023-01-08 18:51:27 +01:00
malta treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
mediatek mediatek: mt7622: fix rootfs/ubi detection for Xiaomi AX6S 2023-02-11 21:42:06 +08:00
mpc85xx mpc85xx: p2020: kernel: enable CONFIG_BLK_DEV_NVME 2023-02-07 21:24:37 +01:00
mvebu treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
mxs mxs: switch default kernel to 5.15 2023-01-30 11:13:14 +01:00
octeon kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
octeontx octeontx: add sqaushfs and ramdisk to features 2023-01-06 19:44:35 +01:00
omap treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
oxnas treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
pistachio pistachio: Cleanup kernel configuration 2023-01-28 19:58:20 +01:00
qoriq qoriq: drop unused kernel config 2023-01-09 21:39:45 +02:00
ramips ramips: fix dts whitespace 2023-02-09 03:03:52 +01:00
realtek realtek: fix dts whitespace 2023-02-09 03:03:52 +01:00
rockchip treewide: update NVMEM symbols 2023-01-07 01:30:31 +01:00
sunxi treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
tegra treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
uml treewide: replace wpad-basic-wolfssl default 2023-02-04 02:35:03 +01:00
x86 x86: add Barracuda Networks F12 interfaces 2023-02-03 14:05:37 +01:00
zynq zynq: remove kconfig for 5.10 2023-01-30 18:01:14 +08:00
Makefile build: fix issues with targets installed via feeds 2022-09-27 13:41:12 +02:00