Device specifications: * QCA IPQ4019 * 256 MB of RAM * 32 MB of SPI NOR flash (w25q256) - 2x 15 MB available; but one of the 15 MB regions is the recovery image * 2T2R 2.4 GHz - QCA4019 hw1.0 (SoC) - requires special BDF in QCA4019/hw1.0/board-2.bin with bus=ahb,bmi-chip-id=0,bmi-board-id=20,variant=PlasmaCloud-PA2200 * 2T2R 5 GHz (channel 36-64) - QCA9888 hw2.0 (PCI) - requires special BDF in QCA9888/hw2.0/board-2.bin bus=pci,bmi-chip-id=0,bmi-board-id=16,variant=PlasmaCloud-PA2200 * 2T2R 5 GHz (channel 100-165) - QCA4019 hw1.0 (SoC) - requires special BDF in QCA4019/hw1.0/board-2.bin with bus=ahb,bmi-chip-id=0,bmi-board-id=21,variant=PlasmaCloud-PA2200 * GPIO-LEDs for 2.4GHz, 5GHz-SoC and 5GHz-PCIE * GPIO-LEDs for power (orange) and status (blue) * 1x GPIO-button (reset) * TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX) * 2x gigabit ethernet - phy@mdio3: + Label: Ethernet 1 + gmac0 (ethaddr) in original firmware + used as LAN interface - phy@mdio4: + Label: Ethernet 2 + gmac1 (eth1addr) in original firmware + 802.3at POE+ + used as WAN interface * 12V 2A DC Flashing instructions: The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be used to transfer the factory image to the u-boot when the device boots up. Signed-off-by: Marek Lindner <marek.lindner@kaiwoo.ai> [sven@narfation.org: prepare commit message, rebase, use all LEDs, switch to dualboot_datachk upgrade script, use eth1 as designated WAN interface] Signed-off-by: Sven Eckelmann <sven@narfation.org>
178 lines
4.1 KiB
Bash
Executable file
178 lines
4.1 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2015 The Linux Foundation. All rights reserved.
|
|
# Copyright (c) 2011-2015 OpenWrt.org
|
|
#
|
|
|
|
. /lib/functions/uci-defaults.sh
|
|
. /lib/functions/system.sh
|
|
|
|
ipq40xx_setup_interfaces()
|
|
{
|
|
local board="$1"
|
|
|
|
case "$board" in
|
|
8dev,habanero-dvk|\
|
|
8dev,jalapeno|\
|
|
alfa-network,ap120c-ac|\
|
|
engenius,emr3500|\
|
|
engenius,ens620ext|\
|
|
luma,wrtq-329acn|\
|
|
plasmacloud,pa1200|\
|
|
plasmacloud,pa2200)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
;;
|
|
aruba,ap-303|\
|
|
aruba,ap-365|\
|
|
avm,fritzrepeater-1200|\
|
|
dlink,dap-2610 |\
|
|
engenius,eap1300|\
|
|
engenius,emd1|\
|
|
meraki,mr33|\
|
|
netgear,ex6100v2|\
|
|
netgear,ex6150v2|\
|
|
zyxel,wre6606)
|
|
ucidef_set_interface_lan "eth0"
|
|
;;
|
|
aruba,ap-303h)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "0u@eth1" "5:wan"
|
|
;;
|
|
asus,map-ac2200|\
|
|
cilab,meshpoint-one|\
|
|
edgecore,ecw5211|\
|
|
edgecore,oap100|\
|
|
openmesh,a42|\
|
|
openmesh,a62)
|
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
|
;;
|
|
asus,rt-ac58u|\
|
|
zyxel,nbg6617)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
|
|
;;
|
|
avm,fritzbox-4040|\
|
|
linksys,ea6350v3|\
|
|
linksys,ea8300|\
|
|
linksys,mr8300)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
|
|
;;
|
|
avm,fritzbox-7530)
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
|
|
;;
|
|
avm,fritzrepeater-3000)
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "4:lan:1" "5:lan:2"
|
|
;;
|
|
compex,wpj419|\
|
|
compex,wpj428|\
|
|
engenius,eap2200)
|
|
ucidef_set_interface_lan "eth0 eth1"
|
|
;;
|
|
buffalo,wtr-m2133hp)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
|
|
;;
|
|
cellc,rtl30vw)
|
|
ucidef_set_interface_lan "eth0"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "3:lan" "4:lan"
|
|
;;
|
|
ezviz,cs-w3-wd1200g-eup)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "0u@eth1" "5:wan"
|
|
;;
|
|
glinet,gl-b1300 |\
|
|
glinet,gl-s1300)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "3:lan" "4:lan"
|
|
;;
|
|
mobipromo,cm520-79f)
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "3:lan:2" "4:lan:1"
|
|
ucidef_set_interface_wan "eth1"
|
|
;;
|
|
qxwlan,e2600ac-c1 |\
|
|
qxwlan,e2600ac-c2)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "3:lan" "4:lan" "0u@eth1" "5:wan"
|
|
;;
|
|
unielec,u4019-32m)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "0u@eth1" "5:wan"
|
|
;;
|
|
*)
|
|
echo "Unsupported hardware. Network interfaces not initialized"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
ipq40xx_setup_macs()
|
|
{
|
|
local board="$1"
|
|
local lan_mac=""
|
|
local wan_mac=""
|
|
local label_mac=""
|
|
|
|
case "$board" in
|
|
8dev,habanero-dvk)
|
|
label_mac=$(mtd_get_mac_binary "ART" 0x1006)
|
|
;;
|
|
asus,rt-ac58u)
|
|
CI_UBIPART=UBI_DEV
|
|
wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
|
|
lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006)
|
|
label_mac=$wan_mac
|
|
;;
|
|
cilab,meshpoint-one)
|
|
label_mac=$(mtd_get_mac_binary "ART" 0x1006)
|
|
;;
|
|
dlink,dap-2610)
|
|
lan_mac=$(mtd_get_mac_ascii bdcfg lanmac)
|
|
label_mac=$lan_mac
|
|
;;
|
|
engenius,eap2200|\
|
|
engenius,emd1)
|
|
lan_mac=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
|
|
label_mac=$lan_mac
|
|
;;
|
|
engenius,emr3500)
|
|
wan_mac=$(mtd_get_mac_ascii 0:APPSBLENV wanaddr)
|
|
lan_mac=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
|
|
label_mac=$wan_mac
|
|
;;
|
|
engenius,ens620ext)
|
|
wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
;;
|
|
ezviz,cs-w3-wd1200g-eup)
|
|
label_mac=$(mtd_get_mac_binary "ART" 0x6)
|
|
;;
|
|
linksys,ea6350v3)
|
|
wan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
;;
|
|
esac
|
|
|
|
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
|
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
|
|
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
|
|
}
|
|
|
|
board_config_update
|
|
board=$(board_name)
|
|
ipq40xx_setup_interfaces $board
|
|
ipq40xx_setup_macs $board
|
|
board_config_flush
|
|
|
|
exit 0
|