Hardware: SOC: Qualcomm IPQ4018 RAM: 128 MB Nanya NT5CC64M16GP-DI FLASH: 16 MB Macronix MX25L12805D ETH: Qualcomm QCA8075 (4 Gigabit ports, 3xLAN, 1xWAN) WLAN: Qualcomm IPQ4018 (2.4 & 5 Ghz) BUTTON: Shared WPS/Reset button LED: RGB Status/Power LED SERIAL: Header J8 (UART, Left side of board). Numbered from top to bottom: (1) GND, (2) TX, (3) RX, (4) VCC (White triangle next to it). 3.3v, 115200, 8N1 Tested/Working: * Ethernet * WiFi (2.4 and 5GHz) * Status LED * Reset Button (See note below) Implementation notes: * The shared WPS/Reset button is implemented as a Reset button * I could not find a original firmware image to reverse engineer, meaning currently it's not possible to flash OpenWrt through the Web GUI. Installation (Through Serial console & TFTP): 1. Set your PC to fixed IP 192.168.1.12, Netmask 255.255.255.0, and connect to one of the LAN ports 2. Rename the initramfs image to 'C0A8010B.img' and enable a TFTP server on your pc, to serve the image 2. Connect to the router through serial (See connection properties above) 3. Hit a key during startup, to pause startup 4. type `setenv serverip 192.168.1.12`, to set the tftp server address 5. type `tftpboot`, to load the image from the laptop through tftp 6. type `bootm` to run the loaded image from memory 6. (If you want to return to stock firmware later, create an full MTD backup, e.g. using instructions here https://openwrt.org/docs/guide-user/installation/generic.backup#create_full_mtd_backup) 7. Transfer the 'sysupgrade' OpenWrt firmware image from PC to router, e.g.: `scp xxx-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/upgrade.bin` 8. Run sysupgrade to permanently install OpenWrt to flash: `sysupgrade -n /tmp/upgrade.bin` Revert to stock: To revert to stock, you need the MTD backup from step 6 above: 1. Unpack the MTD backup archive 2. Transfer the 'firmware' partition image to the router (e.g. mtd8_firmware.backup) 3. On the router, do `mtd write mtd8_firmware.backup firmware` Signed-off-by: Tom Brouwer <tombrouwer@outlook.com> [removed BOARD_NAME, OpenWRT->OpenWrt, changed LED device name to board name] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
125 lines
2.9 KiB
Bash
Executable file
125 lines
2.9 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,jalapeno|\
|
|
alfa-network,ap120c-ac|\
|
|
engenius,ens620ext)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
;;
|
|
asus,map-ac2200|\
|
|
cilab,meshpoint-one|\
|
|
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)
|
|
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"
|
|
;;
|
|
aruba,ap-303|\
|
|
avm,fritzrepeater-1200|\
|
|
engenius,eap1300|\
|
|
meraki,mr33|\
|
|
netgear,ex6100v2|\
|
|
netgear,ex6150v2|\
|
|
zyxel,wre6606)
|
|
ucidef_set_interface_lan "eth0"
|
|
;;
|
|
avm,fritzrepeater-3000|\
|
|
compex,wpj419|\
|
|
compex,wpj428)
|
|
ucidef_set_interface_lan "eth0 eth1"
|
|
;;
|
|
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)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0u@eth0" "3:lan" "4:lan"
|
|
;;
|
|
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
|
|
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)
|
|
;;
|
|
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
|