immortalwrt/target/linux
Roger Pueyo Centelles bba6646b5c ath79: add support for COMFAST CF-E313AC
This patch adds support for the COMFAST CF-E313AC, an  outdoor wireless
CPE with two Ethernet ports and a 802.11ac radio.

Specifications:

 - QCA9531 SoC
 - 650/400/216 MHz (CPU/DDR/AHB)
 - 1x 10/100 Mbps WAN Ethernet, 48V PoE-in
 - 1x 10/100 Mbps LAN Ethernet, pass-through 48V PoE-out
 - 1x manual pass-through PoE switch
 - 64 MB RAM (DDR2)
 - 16 MB FLASH
 - QCA9886 2T2R 5 GHz 802.11ac, 23 dBm
 - 12 dBi built-in antenna
 - POWER/LAN/WAN/WLAN green LEDs
 - 4x RSSI LEDs (2x red, 2x green)
 - UART (115200 8N1)

Flashing instructions:

 The original firmware is based on OpenWrt so a sysupgrade image can be
 installed via the stock web GUI. Settings from the original firmware
 will be saved and restored on the new one, so a factory reset will be
 needed. To do so, once the new firmware is flashed, enter into failsafe
 mode by pressing the reset button several times during the boot
 process, while the WAN LED flashes, until it starts flashing faster.
 Once in failsafe mode, perform a factory reset as usual.

 Alternatively, the U-boot bootloader contains a recovery HTTP server
 to upload the  firmware. Push the reset button while powering the
 device on and keep it pressed for >10 seconds. The device's LEDs will
 blink several times and the recovery page will be at
 http://192.168.1.1; use it to upload the sysupgrade image.

Note:

 Four MAC addresses are stored in the "art" partition (read-only):
  - 0x0000: 40:A5:EF:AA:AA:A0
  - 0x0006: 40:A5:EF:AA:AA:A2
  - 0x1002: 40:A5:EF:AA:AA:A1
  - 0x5006: 40:A5:EF:AA.AA:A3 (inside the 5 GHz calibration data)

 The stock firmware assigns MAC addresses to physical and virtual
 interfaces in a very particular way:
  - eth0 corresponds to the physical Ethernet port labeled as WAN
  - eth1 corresponds to the physical Ethernet port labeled as LAN

  - eth0 belongs to the bridge interface br-wan
  - eth1 belongs to the bridge interface br-lan

  - eth0 is assigned the MAC from 0x0 (*:A0)
  - eth1 is assigned the MAC from 0x1002 (*:A1)

  - br-wan is forced to use the MAC from 0x1002 (*:A1)
  - br-lan is forced to use the MAC from 0x0 (*:A0)

  - radio0 uses the calibration data from 0x5000 (which contains
    a valid MAC address, *:A3). However, it is overwritten by the
    one at 0x6 (*:A2)

 This commit preserves the LAN/WAN roles of the physical Ethernet
 ports (as labeled on the router) and the MAC addresses they expose
 by default (i.e., *:A0 on LAN, *:A1 on WAN), but swaps the position
 of the eth0/eth1 compared to the stock firmware:
  - eth0 corresponds to the physical Ethernet port labeled as LAN
  - eth1 corresponds to the physical Ethernet port labeled as WAN

  - eth0 belongs to the bridge interface br-lan
  - eth1 is the interface at @wan

  - eth0 is assigned the MAC from 0x0 (*:A0)
  - eth1 is assigned the MAC from 0x1002 (*:A1)

  - br-lan inherits the MAC from eth0 (*:A0)
  - @wan inherits the MAC from eth1 (*:A1)

  - radio0's MAC is overwritten to the one at 0x6

This way, eth0/eth1's positions differ from the stock firmware, but
the weird MAC ressignations in br-lan/br-wan are avoided while the
external behaviour of the router is maintained. Additionally, WAN
port is connected to the PHY gmac, allowing to monitor the link
status (e.g., to restart DHCP negotiation when plugging a cable).

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
2019-10-13 20:34:57 +08:00
..
apm821xx treewide: replace backticks by $(...) in gen_*_img.sh scripts 2019-09-29 00:46:13 +02:00
ar7 kernel: bump 4.9 to 4.9.194 2019-09-24 12:52:05 +02:00
ar71xx ar71xx: remove unnecessary execute permission bit 2019-10-12 23:37:00 +02:00
arc770 treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
archs38 treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
armvirt armvirt: fix overlay support by updating to f2fs/ext4 based overlays 2019-06-25 14:12:22 +00:00
at91 treewide: replace backticks by $(...) in gen_*_img.sh scripts 2019-09-29 00:46:13 +02:00
ath25 treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup 2019-09-11 09:05:35 +02:00
ath79 ath79: add support for COMFAST CF-E313AC 2019-10-13 20:34:57 +08:00
bcm53xx bcm53xx: fix serial console on Luxul XWC-2000 2019-10-04 15:46:23 +02:00
brcm47xx brcm47xx: split up DEVICE_TITLE 2019-10-12 01:43:07 +02:00
brcm63xx kernel: bump 4.14 to 4.14.145 2019-09-20 15:51:49 +02:00
brcm2708 kernel: bump 4.19 to 4.19.77 2019-10-08 12:44:35 +02:00
cns3xxx treewide: sysupgrade: don't use $ARGV in platform_do_upgrade() 2019-07-17 08:05:38 +02:00
gemini treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
generic kernel: Set GCC version to 80300 by default 2019-10-12 22:38:02 +02:00
imx6 imx6: install-dtb as separate IMAGE 2019-09-15 15:00:17 +00:00
ipq40xx ipq40xx: abort ar40xx probe on missing PHYs 2019-09-25 22:42:03 +02:00
ipq806x treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
ixp4xx treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
kirkwood kirkwood: Fix FS#505 - Can't install LEDE on Linksys EA3500 2019-10-12 23:42:59 +02:00
lantiq lantiq: add set_port_link feature to xrx200-net driver 2019-10-12 23:43:08 +02:00
layerscape kernel: bump 4.14 to 4.14.147 2019-10-08 12:44:35 +02:00
malta malta: fix overlay support by updating to f2fs/ext4 based overlays 2019-06-25 14:12:22 +00:00
mediatek mediatek: remove unnecessary execute permission bit 2019-10-12 23:37:00 +02:00
mpc85xx mpc85xx: provide label MAC address 2019-09-19 23:43:27 +02:00
mvebu mvebu: backport mvneta and comphy from linux 5.x 2019-10-12 23:43:08 +02:00
mxs treewide: replace backticks by $(...) in gen_*_img.sh scripts 2019-09-29 00:46:13 +02:00
octeon octeon: replace backticks by $(...) 2019-09-29 00:46:13 +02:00
octeontx kernel: Remove CONFIG_COMPAT 2019-05-11 17:15:41 +02:00
omap omap: split up DEVICE_TITLE 2019-10-12 01:22:46 +02:00
orion orion: replace backticks by $(...) 2019-09-29 00:46:13 +02:00
oxnas oxnas: convert DEVICE_TITLE to new variables 2019-07-10 16:56:16 +02:00
pistachio pistachio: split up DEVICE_TITLE 2019-10-12 23:37:00 +02:00
ramips ramips: mt7621: Alternative name KE 2P for Phicomm K2P 2019-10-13 20:34:57 +08:00
rb532 treewide: replace backticks by $(...) in gen_*_img.sh scripts 2019-09-29 00:46:13 +02:00
samsung samsung: split up DEVICE_TITLE 2019-09-11 15:17:09 +02:00
sunxi sunxi: update kernel config 2019-10-06 21:28:49 +02:00
tegra treewide: use new procd sysupgrade $UPGRADE_BACKUP variable 2019-09-05 23:33:19 +02:00
uml kernel: Deactivate CONFIG_BINFMT_MISC 2019-05-11 17:15:41 +02:00
x86 treewide: use new procd sysupgrade $UPGRADE_BACKUP variable 2019-09-05 23:33:19 +02:00
zynq kernel: bump 4.19 to 4.19.77 2019-10-08 12:44:35 +02:00
Makefile