X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Fbase-files%2Flib%2Far71xx.sh;h=2ef16fe4f9ff4177454c1abafcbaed6b6be46bb6;hp=f0742c1e7b020377cdbd82ecc0e580d019b2a3bb;hb=e40050d1049ddf8ca0eb49666eafcb69b4a1d374;hpb=9dbfd8e9dfb0abc0283d6512196bb4fd72bd6ab8 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh index f0742c1e7b..2ef16fe4f9 100755 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh @@ -16,7 +16,7 @@ ar71xx_get_mtd_offset_size_format() { 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() { @@ -98,6 +98,33 @@ ubnt_xm_board_detect() { [ -z "$model" ] || AR71XX_MODEL="${model}${magic:3:1}" } +ubnt_unifi_ac_get_mtd_part_magic() { + ar71xx_get_mtd_offset_size_format EEPROM 12 2 %02x +} + +ubnt_unifi_ac_board_detect() { + local model + local magic + + magic="$(ubnt_unifi_ac_get_mtd_part_magic)" + case ${magic:0:4} in + "e517") + model="Ubiquiti UniFi-AC-LITE" + ;; + "e537") + model="Ubiquiti UniFi-AC-PRO" + ;; + "e557") + model="Ubiquiti UniFi-AC-MESH" + ;; + "e567") + model="Ubiquiti UniFi-AC-MESH-PRO" + ;; + esac + + [ -z "$model" ] || AR71XX_MODEL="${model}" +} + cybertan_get_hw_magic() { local part @@ -290,12 +317,6 @@ tplink_board_detect() { "360000"*) model="TP-Link TL-WDR3600" ;; - "3C0001"*) - model="OOLITE" - ;; - "3C0002"*) - model="MINIBOX_V1" - ;; "430000"*) model="TP-Link TL-WDR4300" ;; @@ -356,7 +377,7 @@ tplink_pharos_get_model_string() { } tplink_pharos_board_detect() { - local model_string="$(tplink_pharos_get_model_string | tr -d '\r')" + local model_string="$1" local oIFS="$IFS"; IFS=":"; set -- $model_string; IFS="$oIFS" local model="${1%%\(*}" @@ -364,6 +385,14 @@ tplink_pharos_board_detect() { AR71XX_MODEL="TP-Link $model v$2" } +tplink_pharos_v2_get_model_string() { + local part + part=$(find_mtd_part 'product-info') + [ -z "$part" ] && return 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() { local machine local name @@ -461,15 +490,24 @@ ar71xx_board_detect() { *"Archer C7 v4") name="archer-c7-v4" ;; + *"Archer C7 v5") + name="archer-c7-v5" + ;; *"Archer C58 v1") name="archer-c58-v1" ;; *"Archer C59 v1") name="archer-c59-v1" + ;; + *"Archer C59 v2") + name="archer-c59-v2" ;; *"Archer C60 v1") name="archer-c60-v1" ;; + *"Archer C60 v2") + name="archer-c60-v2" + ;; *"Archer C7") name="archer-c7" ;; @@ -492,6 +530,9 @@ ar71xx_board_detect() { name="bullet-m" ubnt_xm_board_detect ;; + *"Bullet M XW") + name="bullet-m-xw" + ;; *"BXU2000n-2 rev. A1") name="bxu2000n-2-a1" ;; @@ -516,8 +557,11 @@ ar71xx_board_detect() { *"CF-E320N v2") name="cf-e320n-v2" ;; - *"CF-E355AC") - name="cf-e355ac" + *"CF-E355AC v1") + name="cf-e355ac-v1" + ;; + *"CF-E355AC v2") + name="cf-e355ac-v2" ;; *"CF-E375AC") name="cf-e375ac" @@ -528,6 +572,9 @@ ar71xx_board_detect() { *"CF-E380AC v2") name="cf-e380ac-v2" ;; + *"CF-E385AC") + name="cf-e385ac" + ;; *"CF-E520N") name="cf-e520n" ;; @@ -536,14 +583,29 @@ ar71xx_board_detect() { ;; *"CPE210/220") name="cpe210" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" + ;; + *"CPE210 v2") + 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" ;; *"CPE510/520") name="cpe510" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_v2_get_model_string)" + case $AR71XX_MODEL in + 'TP-Link CPE510 v2.0') + ;; + *) + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" + ;; + esac ;; *"CPE830") name="cpe830" @@ -557,6 +619,9 @@ ar71xx_board_detect() { *"CR5000") name="cr5000" ;; + *"DAP-1330 Rev. A1") + name="dap-1330-a1" + ;; *"DAP-2695 rev. A1") name="dap-2695-a1" ;; @@ -627,12 +692,30 @@ ar71xx_board_detect() { *"DW33D") name="dw33d" ;; + *"E1700AC v2") + name="e1700ac-v2" + ;; *"E2100L") name="e2100l" ;; + *"E558 v2") + name="e558-v2" + ;; + *"E600G v2") + name="e600g-v2" + ;; + *"E600GAC v2") + name="e600gac-v2" + ;; + *"E750A v4") + name="e750a-v4" + ;; + *"E750G v8") + name="e750g-v8" + ;; *"EAP120") name="eap120" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" ;; *"EAP300 v2") name="eap300v2" @@ -673,9 +756,15 @@ ar71xx_board_detect() { *"eTactica EG-200") name="rme-eg200" ;; + *"FRITZ!Box 4020") + name="fritz4020" + ;; *"FRITZ!WLAN Repeater 300E") name="fritz300e" ;; + *"FRITZ!WLAN Repeater 450E") + name="fritz450e" + ;; *"GL-AR150") name="gl-ar150" ;; @@ -688,6 +777,9 @@ ar71xx_board_detect() { *"GL-AR750") name="gl-ar750" ;; + *"GL-AR750S") + name="gl-ar750s" + ;; *"GL-CONNECT INET v1") name="gl-inet" @@ -726,9 +818,18 @@ ar71xx_board_detect() { *"JWAP230") name="jwap230" ;; + *"Koala") + name="koala" + ;; + *"LAN Turtle") + name="lan-turtle" + ;; *"Lima"*) name="lima" ;; + *"Litebeam M5"*) + name="lbe-m5" + ;; *"Loco M XW") name="loco-m-xw" ;; @@ -741,6 +842,9 @@ ar71xx_board_detect() { *"MiniBox V1.0") name="minibox-v1" ;; + *"Minibox V3.2") + name="minibox-v3.2" + ;; *"MR12") name="mr12" ;; @@ -848,7 +952,16 @@ ar71xx_board_detect() { name="onion-omega" ;; *"Oolite V1.0") - name="oolite" + name="oolite-v1" + ;; + *"Packet Squirrel") + name="packet-squirrel" + ;; + *"Oolite V5.2") + name="oolite-v5.2" + ;; + *"Oolite V5.2-Dev") + name="oolite-v5.2-dev" ;; *"PB42") name="pb42" @@ -893,6 +1006,9 @@ ar71xx_board_detect() { *"RouterBOARD 2011iL") name="rb-2011il" ;; + *"RouterBOARD 2011iLS") + name="rb-2011ils" + ;; *"RouterBOARD 2011L") name="rb-2011l" ;; @@ -908,6 +1024,9 @@ ar71xx_board_detect() { *"RouterBOARD 2011UiAS-2HnD") name="rb-2011uias-2hnd" ;; + *"RouterBOARD 2011UiAS-2HnD r2") + name="rb-2011uias-2hnd-r2" + ;; *"RouterBOARD 411/A/AH") name="rb-411" ;; @@ -980,7 +1099,13 @@ ar71xx_board_detect() { *"RouterBOARD 921GS-5HPacD r2") name="rb-921gs-5hpacd-r2" ;; - *"RouterBOARD 941-2nD") + *"RouterBOARD 922UAGS-5HPacD") + name="rb-922uags-5hpacd" + ;; + *"RouterBOARD 931-2nD") + name="rb-931-2nd" + ;; + *"RouterBOARD"*"941-2nD") name="rb-941-2nd" ;; *"RouterBOARD 951G-2HnD") @@ -1007,6 +1132,9 @@ ar71xx_board_detect() { *"RouterBOARD mAP L-2nD") name="rb-mapl-2nd" ;; + *"RouterBOARD SXT 2nD r3") + name="rb-sxt-2nd-r3" + ;; *"RouterBOARD SXT Lite2") name="rb-sxt2n" ;; @@ -1016,6 +1144,9 @@ ar71xx_board_detect() { *"RouterBOARD wAP 2nD r2") name="rb-wap-2nd" ;; + *"RouterBOARD wAP R-2nD") + name="rb-wapr-2nd" + ;; *"RouterBOARD wAP G-5HacT2HnD") name="rb-wapg-5hact2hnd" ;; @@ -1049,6 +1180,9 @@ ar71xx_board_detect() { *"SR3200") name="sr3200" ;; + *"T830") + name="t830" + ;; *"TellStick ZNet Lite") name="tellstick-znet-lite" ;; @@ -1250,6 +1384,9 @@ ar71xx_board_detect() { *"TL-WR940N v4") name="tl-wr940n-v4" ;; + *"TL-WR940N v6") + name="tl-wr940n-v6" + ;; *"TL-WR941N/ND v5") name="tl-wr941nd-v5" ;; @@ -1262,6 +1399,9 @@ ar71xx_board_detect() { *"TL-WR942N v1") name="tl-wr942n-v1" ;; + *"TS-D084") + name="ts-d084" + ;; *"Tube2H") name="tube2h" ;; @@ -1273,9 +1413,11 @@ ar71xx_board_detect() { ;; *"UniFi-AC-LITE/MESH") name="unifiac-lite" + ubnt_unifi_ac_board_detect ;; - *"UniFi-AC-PRO") + *"UniFi-AC-PRO/MESH-PRO") name="unifiac-pro" + ubnt_unifi_ac_board_detect ;; *"UniFiAP Outdoor") name="unifi-outdoor" @@ -1283,13 +1425,16 @@ ar71xx_board_detect() { *"UniFiAP Outdoor+") name="unifi-outdoor-plus" ;; + *"WAM250") + name="wam250" + ;; *"WBS210") name="wbs210" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" ;; *"WBS510") name="wbs510" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" ;; "WeIO"*) name="weio" @@ -1306,6 +1451,9 @@ ar71xx_board_detect() { *"WHR-HP-GN") name="whr-hp-gn" ;; + *"WiFi Pineapple NANO") + name="wifi-pineapple-nano" + ;; *"WLAE-AG300N") name="wlae-ag300n" ;;