Skip to content

Commit

Permalink
ipq40xx: add support for MikroTik hAP ac3
Browse files Browse the repository at this point in the history
This adds support for the MikroTik RouterBOARD RBD53iG-5HacD2HnD
(hAP ac³), a  indoor dual band, dual-radio 802.11ac
wireless AP with external omnidirectional antennae, USB port, five
10/100/1000 Mbps Ethernet ports and PoE passthrough.

See https://mikrotik.com/product/hap_ac2 for more info.

Specifications:
 - SoC: Qualcomm Atheros IPQ4019
 - RAM: 256 MB
 - Storage: 16 MB NOR + 128 MB NAND
 - Wireless:
   · Built-in IPQ4019 (SoC) 802.11b/g/n 2x2:2, 3 dBi antennae
   · Built-in IPQ4019 (SoC) 802.11a/n/ac 2x2:2, 5.5 dBi antennae
 - Ethernet: Built-in IPQ4019 (SoC, QCA8075) , 5x 1000/100/10 port,
             passive PoE in, PoE passtrough on port 5
- 1x USB Type A port

Installation:
Boot the initramfs image via TFTP and then flash the sysupgrade
image using "sysupgrade -n"

Signed-off-by: Robert Marko <robimarko@gmail.com>
  • Loading branch information
robimarko committed Apr 25, 2021
1 parent 9f3dc93 commit d995298
Show file tree
Hide file tree
Showing 10 changed files with 374 additions and 4 deletions.
2 changes: 2 additions & 0 deletions package/firmware/ipq-wifi/Makefile
Expand Up @@ -44,6 +44,7 @@ ALLWIFIBOARDS:= \
linksys_mr8300-v0 \
luma_wrtq-329acn \
mikrotik_hap-ac2 \
mikrotik_hap-ac3 \
mobipromo_cm520-79f \
nec_wg2600hp3 \
plasmacloud_pa1200 \
Expand Down Expand Up @@ -128,6 +129,7 @@ $(eval $(call generate-ipq-wifi-package,linksys_ea8300,Linksys EA8300))
$(eval $(call generate-ipq-wifi-package,linksys_mr8300-v0,Linksys MR8300))
$(eval $(call generate-ipq-wifi-package,luma_wrtq-329acn,Luma WRTQ-329ACN))
$(eval $(call generate-ipq-wifi-package,mikrotik_hap-ac2,Mikrotik hAP ac2))
$(eval $(call generate-ipq-wifi-package,mikrotik_hap-ac3,Mikrotik hAP ac3))
$(eval $(call generate-ipq-wifi-package,mobipromo_cm520-79f,MobiPromo CM520-79F))
$(eval $(call generate-ipq-wifi-package,nec_wg2600hp3,NEC Platforms WG2600HP3))
$(eval $(call generate-ipq-wifi-package,plasmacloud_pa1200,Plasma Cloud PA1200))
Expand Down
Binary file not shown.
8 changes: 8 additions & 0 deletions target/linux/ipq40xx/base-files/etc/board.d/01_leds
Expand Up @@ -45,6 +45,14 @@ engenius,ens620ext)
ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth0"
ucidef_set_led_netdev "lan2" "LAN2" "green:lan2" "eth1"
;;
mikrotik,hap-ac3)
ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth1"
ucidef_set_led_switch "lan1" "LAN1" "green:lan1" "switch0" "0x10"
ucidef_set_led_switch "lan2" "LAN2" "green:lan2" "switch0" "0x08"
ucidef_set_led_switch "lan3" "LAN3" "green:lan3" "switch0" "0x04"
ucidef_set_led_switch "lan4" "LAN4" "green:lan4" "switch0" "0x02"
ucidef_set_led_gpio "poe" "POE" "red:poe" "452" "0"
;;
mobipromo,cm520-79f)
ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth1"
ucidef_set_led_switch "lan1" "LAN1" "blue:lan1" "switch0" "0x10"
Expand Down
4 changes: 3 additions & 1 deletion target/linux/ipq40xx/base-files/etc/board.d/02_network
Expand Up @@ -48,6 +48,7 @@ ipq40xx_setup_interfaces()
;;
asus,rt-ac58u|\
mikrotik,hap-ac2|\
mikrotik,hap-ac3|\
zyxel,nbg6617)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
Expand Down Expand Up @@ -170,7 +171,8 @@ ipq40xx_setup_macs()
wan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
lan_mac=$(macaddr_add "$wan_mac" 1)
;;
mikrotik,hap-ac2)
mikrotik,hap-ac2|\
mikrotik,hap-ac3)
wan_mac=$(cat /sys/firmware/mikrotik/hard_config/mac_base)
lan_mac=$(macaddr_add $wan_mac 1)
label_mac="$wan_mac"
Expand Down
3 changes: 3 additions & 0 deletions target/linux/ipq40xx/base-files/etc/board.d/03_gpio_switches
Expand Up @@ -18,6 +18,9 @@ cilab,meshpoint-one)
compex,wpj428)
ucidef_add_gpio_switch "sim_card_select" "SIM card select" "3" "0"
;;
mikrotik,hap-ac3)
ucidef_add_gpio_switch "poe_passtrough" "PoE Passthrough" "452" "0"
;;
esac

board_config_flush
Expand Down
Expand Up @@ -140,7 +140,8 @@ case "$FIRMWARE" in
caldata_valid "202f" || caldata_extract "ART" 0x1000 0x2f20
ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) +2)
;;
mikrotik,hap-ac2)
mikrotik,hap-ac2 |\
mikrotik,hap-ac3)
wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x0 0x2f20 ) || \
( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_0" 0x0 0x2f20 )
Expand Down Expand Up @@ -249,7 +250,8 @@ case "$FIRMWARE" in
caldata_valid "202f" || caldata_extract "ART" 0x5000 0x2f20
ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) +3)
;;
mikrotik,hap-ac2)
mikrotik,hap-ac2 |\
mikrotik,hap-ac3)
wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x8000 0x2f20 ) || \
( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_2" 0x0 0x2f20 )
Expand Down
4 changes: 4 additions & 0 deletions target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
Expand Up @@ -115,6 +115,10 @@ platform_do_upgrade() {
[ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware
default_do_upgrade "$1"
;;
mikrotik,hap-ac3)
CI_UBIKERNPART="ubikernel"
nand_do_upgrade "$1"
;;
openmesh,a42 |\
openmesh,a62 |\
plasmacloud,pa1200 |\
Expand Down

0 comments on commit d995298

Please sign in to comment.