X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Fbase-files%2Flib%2Far71xx.sh;h=03dfbcebf9bff048d9d5149a323257ea26f2e724;hb=c79b796280fa5cd64bac663f9d5e5d9a737c30d6;hp=7fd5fb452281dfde79f5c28907fb32f402aa5626;hpb=0c6165d21ad274261bf8176828e122964e25c215;p=oweals%2Fopenwrt.git diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh index 7fd5fb4522..03dfbcebf9 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 @@ -215,6 +242,9 @@ tplink_board_detect() { [ "$hwid" = '08020002' -a "$mid" = '00000002' ] && hwver=' v2' ;; + "081000"*) + model="TP-Link TL-WR810N" + ;; "083000"*) model="TP-Link TL-WA830RE" @@ -287,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" ;; @@ -353,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%%\(*}" @@ -361,6 +385,176 @@ 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 +} + +mikrotik_board_detect() { + local machine="$1" + + case "$machine" in + *"2011iL") + name="rb-2011il" + ;; + *"2011iLS") + name="rb-2011ils" + ;; + *"2011L") + name="rb-2011l" + ;; + *"2011UAS") + name="rb-2011uas" + ;; + *"2011UAS-2HnD") + name="rb-2011uas-2hnd" + ;; + *"2011UiAS") + name="rb-2011uias" + ;; + *"2011UiAS-2HnD") + name="rb-2011uias-2hnd" + ;; + *"2011UiAS-2HnD r2") + name="rb-2011uias-2hnd-r2" + ;; + *"411/A/AH") + name="rb-411" + ;; + *"411U") + name="rb-411u" + ;; + *"433/AH") + name="rb-433" + ;; + *"433UAH") + name="rb-433u" + ;; + *"435G") + name="rb-435g" + ;; + *"450") + name="rb-450" + ;; + *"450G") + name="rb-450g" + ;; + *"493/AH") + name="rb-493" + ;; + *"493G") + name="rb-493g" + ;; + *"750") + name="rb-750" + ;; + *"750 r2"|\ + *"750r2") + name="rb-750-r2" + ;; + *"750GL") + name="rb-750gl" + ;; + *"750P r2") + name="rb-750p-pbr2" + ;; + *"750UP r2"|\ + *"750UPr2") + name="rb-750up-r2" + ;; + *"751") + name="rb-751" + ;; + *"751G") + name="rb-751g" + ;; + *"911-2Hn") + name="rb-911-2hn" + ;; + *"911-5Hn") + name="rb-911-5hn" + ;; + *"911G-2HPnD") + name="rb-911g-2hpnd" + ;; + *"911G-5HPacD") + name="rb-911g-5hpacd" + ;; + *"911G-5HPnD") + name="rb-911g-5hpnd" + ;; + *"912UAG-2HPnD") + name="rb-912uag-2hpnd" + ;; + *"912UAG-5HPnD") + name="rb-912uag-5hpnd" + ;; + *"921GS-5HPacD r2") + name="rb-921gs-5hpacd-r2" + ;; + *"922UAGS-5HPacD") + name="rb-922uags-5hpacd" + ;; + *"931-2nD") + name="rb-931-2nd" + ;; + *"941-2nD") + name="rb-941-2nd" + ;; + *"951G-2HnD") + name="rb-951g-2hnd" + ;; + *"951Ui-2HnD") + name="rb-951ui-2hnd" + ;; + *"951Ui-2nD") + name="rb-951ui-2nd" + ;; + *"952Ui-5ac2nD") + name="rb-952ui-5ac2nd" + ;; + *"962UiGS-5HacT2HnT") + name="rb-962uigs-5hact2hnt" + ;; + *"LHG 5nD") + name="rb-lhg-5nd" + ;; + *"mAP 2nD"|\ + *"mAP2nD") + name="rb-map-2nd" + ;; + *"mAP L-2nD"|\ + *"mAPL-2nD") + name="rb-mapl-2nd" + ;; + *"SXT 2nD r3") + name="rb-sxt-2nd-r3" + ;; + *"SXT Lite2") + name="rb-sxt2n" + ;; + *"SXT Lite5") + name="rb-sxt5n" + ;; + *"wAP 2nD r2") + name="rb-wap-2nd" + ;; + *"wAP R-2nD"|\ + *"wAPR-2nD") + name="rb-wapr-2nd" + ;; + *"wAP G-5HacT2HnD"|\ + *"wAPG-5HacT2HnD") + name="rb-wapg-5hact2hnd" + ;; + esac + + echo "$name" +} + ar71xx_board_detect() { local machine local name @@ -446,21 +640,36 @@ ar71xx_board_detect() { *"AP90Q") name="ap90q" ;; + *"AP91-5G") + name="ap91-5g" + ;; *"Archer C25 v1") name="archer-c25-v1" ;; *"Archer C5") name="archer-c5" ;; + *"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" ;; @@ -483,6 +692,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" ;; @@ -507,12 +719,24 @@ ar71xx_board_detect() { *"CF-E320N v2") name="cf-e320n-v2" ;; + *"CF-E355AC v1") + name="cf-e355ac-v1" + ;; + *"CF-E355AC v2") + name="cf-e355ac-v2" + ;; + *"CF-E375AC") + name="cf-e375ac" + ;; *"CF-E380AC v1") name="cf-e380ac-v1" ;; *"CF-E380AC v2") name="cf-e380ac-v2" ;; + *"CF-E385AC") + name="cf-e385ac" + ;; *"CF-E520N") name="cf-e520n" ;; @@ -521,14 +745,26 @@ 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_get_model_string | tr -d '\r')" + ;; + *"CPE510 v2") + name="cpe510-v2" + tplink_pharos_board_detect "$(tplink_pharos_v2_get_model_string)" ;; *"CPE830") name="cpe830" @@ -542,6 +778,9 @@ ar71xx_board_detect() { *"CR5000") name="cr5000" ;; + *"DAP-1330 Rev. A1") + name="dap-1330-a1" + ;; *"DAP-2695 rev. A1") name="dap-2695-a1" ;; @@ -597,6 +836,9 @@ ar71xx_board_detect() { *"Domino Pi") name="gl-domino" ;; + *"DR342") + name="dr342" + ;; *"DR344") name="dr344" ;; @@ -609,12 +851,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" @@ -631,6 +891,9 @@ ar71xx_board_detect() { *"EL-MINI") name="el-mini" ;; + *"EmbWir-Balin") + name="ew-balin" + ;; *"EmbWir-Dorin") name="ew-dorin" ;; @@ -649,18 +912,33 @@ ar71xx_board_detect() { *"ESR900") name="esr900" ;; + *"eTactica EG-200") + name="rme-eg200" + ;; + *"FRITZ!Box 4020") + name="fritz4020" + ;; *"FRITZ!WLAN Repeater 300E") name="fritz300e" ;; - *"GL AR150") + *"FRITZ!WLAN Repeater 450E") + name="fritz450e" + ;; + *"GL-AR150") name="gl-ar150" ;; - *"GL AR300") + *"GL-AR300") name="gl-ar300" ;; *"GL-AR300M") name="gl-ar300m" ;; + *"GL-AR750") + name="gl-ar750" + ;; + *"GL-AR750S") + name="gl-ar750s" + ;; *"GL-CONNECT INET v1") name="gl-inet" @@ -672,6 +950,9 @@ ar71xx_board_detect() { *"GL-MIFI") name="gl-mifi" ;; + *"GL-USB150") + name="gl-usb150" + ;; *"HiveAP-121") name="hiveap-121" ;; @@ -696,9 +977,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" ;; @@ -708,9 +998,16 @@ ar71xx_board_detect() { *"MAC1200R") name="mc-mac1200r" ;; + "MikroTik"*|\ + "Mikrotik"*) + name=$(mikrotik_board_detect "$machine") + ;; *"MiniBox V1.0") name="minibox-v1" ;; + *"Minibox V3.2") + name="minibox-v3.2" + ;; *"MR12") name="mr12" ;; @@ -753,6 +1050,9 @@ ar71xx_board_detect() { *"MZK-W300NH") name="mzk-w300nh" ;; + *"N5Q") + name="n5q" + ;; *"Nanostation M") name="nanostation-m" ubnt_xm_board_detect @@ -815,7 +1115,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" @@ -829,6 +1138,9 @@ ar71xx_board_detect() { *"Qihoo 360 C301") name="qihoo-c301" ;; + *"R36A") + name="r36a" + ;; *"R602N") name="r602n" ;; @@ -838,6 +1150,9 @@ ar71xx_board_detect() { *"Rambutan"*) name="rambutan" ;; + *"RE355") + name="re355" + ;; *"RE450") name="re450" ;; @@ -851,120 +1166,15 @@ ar71xx_board_detect() { *"Rocket M XW") name="rocket-m-xw" ;; - *"RouterBOARD 2011iL") - name="rb-2011il" - ;; - *"RouterBOARD 2011L") - name="rb-2011l" - ;; - *"RouterBOARD 2011UAS") - name="rb-2011uas" - ;; - *"RouterBOARD 2011UAS-2HnD") - name="rb-2011uas-2hnd" - ;; - *"RouterBOARD 2011UiAS") - name="rb-2011uias" - ;; - *"RouterBOARD 2011UiAS-2HnD") - name="rb-2011uias-2hnd" - ;; - *"RouterBOARD 411/A/AH") - name="rb-411" - ;; - *"RouterBOARD 411U") - name="rb-411u" - ;; - *"RouterBOARD 433/AH") - name="rb-433" - ;; - *"RouterBOARD 433UAH") - name="rb-433u" - ;; - *"RouterBOARD 435G") - name="rb-435g" - ;; - *"RouterBOARD 450") - name="rb-450" - ;; - *"RouterBOARD 450G") - name="rb-450g" - ;; - *"RouterBOARD 493/AH") - name="rb-493" - ;; - *"RouterBOARD 493G") - name="rb-493g" - ;; - *"RouterBOARD 750") - name="rb-750" - ;; - *"RouterBOARD 750 r2") - name="rb-750-r2" - ;; - *"RouterBOARD 750GL") - name="rb-750gl" - ;; - *"RouterBOARD 750UP r2") - name="rb-750up-r2" - ;; - *"RouterBOARD 751") - name="rb-751" - ;; - *"RouterBOARD 751G") - name="rb-751g" - ;; - *"RouterBOARD 911G-2HPnD") - name="rb-911g-2hpnd" - ;; - *"RouterBOARD 911G-5HPacD") - name="rb-911g-5hpacd" - ;; - *"RouterBOARD 911G-5HPnD") - name="rb-911g-5hpnd" - ;; - *"RouterBOARD 912UAG-2HPnD") - name="rb-912uag-2hpnd" - ;; - *"RouterBOARD 912UAG-5HPnD") - name="rb-912uag-5hpnd" - ;; - *"RouterBOARD 941-2nD") - name="rb-941-2nd" - ;; - *"RouterBOARD 951G-2HnD") - name="rb-951g-2hnd" - ;; - *"RouterBOARD 951Ui-2HnD") - name="rb-951ui-2hnd" - ;; - *"RouterBOARD 951Ui-2nD") - name="rb-951ui-2nd" - ;; - *"RouterBOARD 952Ui-5ac2nD") - name="rb-952ui-5ac2nd" - ;; - *"RouterBOARD 962UiGS-5HacT2HnT") - name="rb-962uigs-5hact2hnt" - ;; - *"RouterBOARD LHG 5nD") - name="rb-lhg-5nd" - ;; - *"RouterBOARD mAP L-2nD") - name="rb-mapl-2nd" - ;; - *"RouterBOARD SXT Lite2") - name="rb-sxt2n" - ;; - *"RouterBOARD SXT Lite5") - name="rb-sxt5n" - ;; *"RouterStation") name="routerstation" ;; *"RouterStation Pro") name="routerstation-pro" ;; + *"RUT900") + name="rut900" + ;; *"RW2458N") name="rw2458n" ;; @@ -986,6 +1196,9 @@ ar71xx_board_detect() { *"SR3200") name="sr3200" ;; + *"T830") + name="t830" + ;; *"TellStick ZNet Lite") name="tellstick-znet-lite" ;; @@ -1037,7 +1250,7 @@ ar71xx_board_detect() { *"TL-MR3420 v2") name="tl-mr3420-v2" ;; - *TL-MR6400) + *"TL-MR6400") name="tl-mr6400" ;; *"TL-WA701ND v2") @@ -1085,6 +1298,9 @@ ar71xx_board_detect() { *"TL-WA901ND v4") name="tl-wa901nd-v4" ;; + *"TL-WA901ND v5") + name="tl-wa901nd-v5" + ;; *"TL-WDR3320 v2") name="tl-wdr3320-v2" ;; @@ -1106,6 +1322,9 @@ ar71xx_board_detect() { *"TL-WR1041N v2") name="tl-wr1041n-v2" ;; + *"TL-WR1043N v5") + name="tl-wr1043n-v5" + ;; *"TL-WR1043ND") name="tl-wr1043nd" ;; @@ -1145,6 +1364,9 @@ ar71xx_board_detect() { *"TL-WR810N") name="tl-wr810n" ;; + *"TL-WR810N v2") + name="tl-wr810n-v2" + ;; *"TL-WR840N v2") name="tl-wr840n-v2" ;; @@ -1178,6 +1400,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" ;; @@ -1190,6 +1415,9 @@ ar71xx_board_detect() { *"TL-WR942N v1") name="tl-wr942n-v1" ;; + *"TS-D084") + name="ts-d084" + ;; *"Tube2H") name="tube2h" ;; @@ -1201,9 +1429,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" @@ -1211,17 +1441,23 @@ 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" ;; + *"WI2A-AC200i") + name="wi2a-ac200i" + ;; *"WHR-G301N") name="whr-g301n" ;; @@ -1231,6 +1467,9 @@ ar71xx_board_detect() { *"WHR-HP-GN") name="whr-hp-gn" ;; + *"WiFi Pineapple NANO") + name="wifi-pineapple-nano" + ;; *"WLAE-AG300N") name="wlae-ag300n" ;;