ar71xx: add support for Mikrotik RouterBOARD 2011UiAS-2HnD r2
[openwrt/openwrt.git] / target / linux / ar71xx / base-files / lib / ar71xx.sh
index b11d2cf92657a6dfbdf3dc7fc005f0e0af693f0a..2ef16fe4f9ff4177454c1abafcbaed6b6be46bb6 100755 (executable)
@@ -16,7 +16,7 @@ ar71xx_get_mtd_offset_size_format() {
        dev=$(find_mtd_part $mtd)
        [ -z "$dev" ] && return
 
        dev=$(find_mtd_part $mtd)
        [ -z "$dev" ] && return
 
-       dd if=$dev bs=1 skip=$offset count=$size 2>/dev/null | hexdump -v -e "1/1 \"$format\""
+       dd if=$dev iflag=skip_bytes bs=$size skip=$offset count=1 2>/dev/null | hexdump -v -e "1/1 \"$format\""
 }
 
 ar71xx_get_mtd_part_magic() {
 }
 
 ar71xx_get_mtd_part_magic() {
@@ -98,22 +98,28 @@ ubnt_xm_board_detect() {
        [ -z "$model" ] || AR71XX_MODEL="${model}${magic:3:1}"
 }
 
        [ -z "$model" ] || AR71XX_MODEL="${model}${magic:3:1}"
 }
 
-ubnt_ac_lite_get_mtd_part_magic() {
+ubnt_unifi_ac_get_mtd_part_magic() {
        ar71xx_get_mtd_offset_size_format EEPROM 12 2 %02x
 }
 
        ar71xx_get_mtd_offset_size_format EEPROM 12 2 %02x
 }
 
-ubnt_ac_lite_board_detect() {
+ubnt_unifi_ac_board_detect() {
        local model
        local magic
 
        local model
        local magic
 
-       magic="$(ubnt_ac_lite_get_mtd_part_magic)"
+       magic="$(ubnt_unifi_ac_get_mtd_part_magic)"
        case ${magic:0:4} in
        "e517")
                model="Ubiquiti UniFi-AC-LITE"
                ;;
        case ${magic:0:4} in
        "e517")
                model="Ubiquiti UniFi-AC-LITE"
                ;;
+       "e537")
+               model="Ubiquiti UniFi-AC-PRO"
+               ;;
        "e557")
                model="Ubiquiti UniFi-AC-MESH"
                ;;
        "e557")
                model="Ubiquiti UniFi-AC-MESH"
                ;;
+       "e567")
+               model="Ubiquiti UniFi-AC-MESH-PRO"
+               ;;
        esac
 
        [ -z "$model" ] || AR71XX_MODEL="${model}"
        esac
 
        [ -z "$model" ] || AR71XX_MODEL="${model}"
@@ -384,7 +390,7 @@ tplink_pharos_v2_get_model_string() {
        part=$(find_mtd_part 'product-info')
        [ -z "$part" ] && return 1
 
        part=$(find_mtd_part 'product-info')
        [ -z "$part" ] && return 1
 
-       dd if=$part bs=1 skip=4360 count=64 2>/dev/null | tr -d '\r\0' | head -n 1
+       dd if=$part iflag=skip_bytes bs=64 skip=4360 count=1 2>/dev/null | tr -d '\r\0' | head -n 1
 }
 
 ar71xx_board_detect() {
 }
 
 ar71xx_board_detect() {
@@ -524,6 +530,9 @@ ar71xx_board_detect() {
                name="bullet-m"
                ubnt_xm_board_detect
                ;;
                name="bullet-m"
                ubnt_xm_board_detect
                ;;
+       *"Bullet M XW")
+               name="bullet-m-xw"
+               ;;
        *"BXU2000n-2 rev. A1")
                name="bxu2000n-2-a1"
                ;;
        *"BXU2000n-2 rev. A1")
                name="bxu2000n-2-a1"
                ;;
@@ -580,6 +589,10 @@ ar71xx_board_detect() {
                name="cpe210-v2"
                tplink_pharos_board_detect "$(tplink_pharos_v2_get_model_string)"
                ;;
                name="cpe210-v2"
                tplink_pharos_board_detect "$(tplink_pharos_v2_get_model_string)"
                ;;
+       *"CPE210 v3")
+               name="cpe210-v3"
+               tplink_pharos_board_detect "$(tplink_pharos_v2_get_model_string)"
+               ;;
        *"CPE505N")
                name="cpe505n"
                ;;
        *"CPE505N")
                name="cpe505n"
                ;;
@@ -1011,6 +1024,9 @@ ar71xx_board_detect() {
        *"RouterBOARD 2011UiAS-2HnD")
                name="rb-2011uias-2hnd"
                ;;
        *"RouterBOARD 2011UiAS-2HnD")
                name="rb-2011uias-2hnd"
                ;;
+       *"RouterBOARD 2011UiAS-2HnD r2")
+               name="rb-2011uias-2hnd-r2"
+               ;;
        *"RouterBOARD 411/A/AH")
                name="rb-411"
                ;;
        *"RouterBOARD 411/A/AH")
                name="rb-411"
                ;;
@@ -1083,10 +1099,13 @@ ar71xx_board_detect() {
        *"RouterBOARD 921GS-5HPacD r2")
                name="rb-921gs-5hpacd-r2"
                ;;
        *"RouterBOARD 921GS-5HPacD r2")
                name="rb-921gs-5hpacd-r2"
                ;;
+       *"RouterBOARD 922UAGS-5HPacD")
+               name="rb-922uags-5hpacd"
+               ;;
        *"RouterBOARD 931-2nD")
                name="rb-931-2nd"
                ;;
        *"RouterBOARD 931-2nD")
                name="rb-931-2nd"
                ;;
-       *"RouterBOARD 941-2nD")
+       *"RouterBOARD"*"941-2nD")
                name="rb-941-2nd"
                ;;
        *"RouterBOARD 951G-2HnD")
                name="rb-941-2nd"
                ;;
        *"RouterBOARD 951G-2HnD")
@@ -1113,6 +1132,9 @@ ar71xx_board_detect() {
        *"RouterBOARD mAP L-2nD")
                name="rb-mapl-2nd"
                ;;
        *"RouterBOARD mAP L-2nD")
                name="rb-mapl-2nd"
                ;;
+       *"RouterBOARD SXT 2nD r3")
+               name="rb-sxt-2nd-r3"
+               ;;
        *"RouterBOARD SXT Lite2")
                name="rb-sxt2n"
                ;;
        *"RouterBOARD SXT Lite2")
                name="rb-sxt2n"
                ;;
@@ -1391,10 +1413,11 @@ ar71xx_board_detect() {
                ;;
        *"UniFi-AC-LITE/MESH")
                name="unifiac-lite"
                ;;
        *"UniFi-AC-LITE/MESH")
                name="unifiac-lite"
-               ubnt_ac_lite_board_detect
+               ubnt_unifi_ac_board_detect
                ;;
                ;;
-       *"UniFi-AC-PRO")
+       *"UniFi-AC-PRO/MESH-PRO")
                name="unifiac-pro"
                name="unifiac-pro"
+               ubnt_unifi_ac_board_detect
                ;;
        *"UniFiAP Outdoor")
                name="unifi-outdoor"
                ;;
        *"UniFiAP Outdoor")
                name="unifi-outdoor"