1#!/bin/sh 2# 3# Copyright (C) 2007 OpenWrt.org 4# 5# 6 7board_id="" 8sys_mtd_part="" 9ifname="" 10 11brcm63xx_dt_detect() { 12 local board_name 13 14 case "$1" in 15 "ADB P.DG A4001N") 16 board_name="a4001n" 17 ;; 18 "ADB P.DG A4001N1") 19 board_name="a4001n1" 20 ;; 21 "Alcatel RG100A") 22 board_name="rg100a" 23 ;; 24 "ASMAX AR 1004g") 25 board_name="ar100g" 26 ;; 27 "Belkin F5D7633") 28 board_name="f5d7633" 29 ;; 30 "Broadcom 96348R reference board") 31 board_name="bcm96348r" 32 ;; 33 "Broadcom BCM96318REF reference board") 34 board_name="bcm96318ref" 35 ;; 36 "Broadcom BCM96318REF_P300 reference board") 37 board_name="bcm96318ref_p300" 38 ;; 39 "Broadcom BCM963268BU_P300 reference board") 40 board_name="bcm963268bu_p300" 41 ;; 42 "Broadcom BCM963269BHR reference board") 43 board_name="bcm963269bhr" 44 ;; 45 "Broadcom bcm963281TAN reference board") 46 board_name="bcm963281tan" 47 ;; 48 "Broadcom BCM96328avng reference board") 49 board_name="bcm96328avng" 50 ;; 51 "Broadcom BCM96345GW2 reference board") 52 board_name="bcm96345gw2" 53 ;; 54 "Broadcom BCM96348GW-10 reference board") 55 board_name="bcm96348gw-10" 56 ;; 57 "Broadcom BCM96348GW-11 reference board") 58 board_name="bcm96348gw-11" 59 ;; 60 "Broadcom BCM96348GW reference board") 61 board_name="bcm96358gw" 62 ;; 63 "Broadcom BCM96358VW reference board") 64 board_name="bcm96358vw" 65 ;; 66 "Broadcom BCM96358VW2 reference board") 67 board_name="bcm96358vw2" 68 ;; 69 "Broadcom BCM96368MVNgr reference board") 70 board_name="bcm96368mvngr" 71 ;; 72 "Broadcom BCM96368MVWG reference board") 73 board_name="bcm96368mvwg" 74 ;; 75 "BT Home Hub 2.0 Type A") 76 board_name="homehub2a" 77 ;; 78 "BT Voyager 2110") 79 board_name="v2110" 80 ;; 81 "BT Voyager V2500V") 82 board_name="v2500v_bb" 83 ;; 84 "Comtrend AR-5381u") 85 board_name="ar-5381u" 86 ;; 87 "Comtrend AR-5387un") 88 board_name="ar-5387un" 89 ;; 90 "Comtrend CT-5365") 91 board_name="ct-5365" 92 ;; 93 "Comtrend CT-536+/CT-5621T") 94 board_name="ct-536p_5621t" 95 ;; 96 "Comtrend CT-6373") 97 board_name="ct-6373" 98 ;; 99 "Comtrend VR-3025u") 100 board_name="vr-3025u" 101 ;; 102 "Comtrend VR-3025un") 103 board_name="vr-3025un" 104 ;; 105 "Comtrend VR-3026e") 106 board_name="vr-3026e" 107 ;; 108 "Comtrend WAP-5813n") 109 board_name="wap-5813n" 110 ;; 111 "Davolink DV-201AMR") 112 board_name="dv-201amr" 113 ;; 114 "D-Link DSL-2640B rev B2") 115 board_name="dsl-2640b-b" 116 ;; 117 "D-Link DSL-2640U/BRU/C") 118 board_name="dsl-2640u" 119 ;; 120 "D-Link DSL-2650U") 121 board_name="dsl-2650u" 122 ;; 123 "D-Link DSL-2740B/DSL-2741B rev C2/3") 124 board_name="dsl-274xb-c" 125 ;; 126 "D-Link DSL-2740B/DSL-2741B rev F1") 127 board_name="dsl-274xb-f" 128 ;; 129 "D-Link DSL-2750B/DSL-2751 rev D1") 130 board_name="dsl-275xb-d" 131 ;; 132 "D-Link DVA-G3810BN/TL") 133 board_name="dva-g3810bn" 134 ;; 135 "Dynalink RTA770BW") 136 board_name="rta770bw" 137 ;; 138 "Dynalink RTA770W") 139 board_name="rta770w" 140 ;; 141 "Dynalink RTA1025W") 142 board_name="rta1025w" 143 ;; 144 "Dynalink RTA1320") 145 board_name="rta1320" 146 ;; 147 "Huawei EchoLife HG520v") 148 board_name="hg520v" 149 ;; 150 "Huawei EchoLife HG553") 151 board_name="hg553" 152 ;; 153 "Huawei EchoLife HG556a (version A)") 154 board_name="hg556a_a" 155 ;; 156 "Huawei EchoLife HG556a (version B)") 157 board_name="hg556a_b" 158 ;; 159 "Huawei EchoLife HG556a (version C)") 160 board_name="hg556a_c" 161 ;; 162 "Huawei HG622") 163 board_name="hg622" 164 ;; 165 "Huawei HG655b") 166 board_name="hg655b" 167 ;; 168 "Inteno VG50") 169 board_name="vg50" 170 ;; 171 "Inventel Livebox 1") 172 board_name="livebox1" 173 ;; 174 "Netgear CVG834G") 175 board_name="cvg834g" 176 ;; 177 "Netgear DG834GT/PN") 178 board_name="dg834gt" 179 ;; 180 "Netgear DG834G v4") 181 board_name="dg834g_v4" 182 ;; 183 "Netgear DGND3700v1/DGND3800B") 184 board_name="dgnd3700v1_dgnd3800b" 185 ;; 186 "Netgear EVG2000") 187 board_name="evg2000" 188 ;; 189 "NuCom R5010UN v2") 190 board_name="r5010un_v2" 191 ;; 192 "Pirelli A226G") 193 board_name="a226g" 194 ;; 195 "Pirelli A226M") 196 board_name="a226m" 197 ;; 198 "Pirelli A226M-FWB") 199 board_name="a226m-fwb" 200 ;; 201 "Pirelli Alice Gate AGPF-S0") 202 board_name="agpf-s0" 203 ;; 204 "Sagem F@ST2404") 205 board_name="fast2404" 206 ;; 207 "Sagem F@ST2504n") 208 board_name="fast2504n" 209 ;; 210 "Sagem F@ST2604") 211 board_name="fast2604" 212 ;; 213 "Sagem F@ST2704N") 214 board_name="fast2704n" 215 ;; 216 "Sagem F@ST2704V2") 217 board_name="fast2704v2" 218 ;; 219 "SFR Neuf Box 4"*) 220 board_name="neufbox4" 221 ;; 222 "SFR neufbox 6 (Sercomm)") 223 board_name="neufbox6" 224 ;; 225 "T-Com Speedport W303 V") 226 board_name="spw303v" 227 ;; 228 "T-Com Speedport W500 V") 229 board_name="spw500v" 230 ;; 231 "TECOM GW6000") 232 board_name="g6000" 233 ;; 234 "TECOM GW6200") 235 board_name="g6200" 236 ;; 237 "Telsey CVPA502+") 238 board_name="cpva502p" 239 ;; 240 "Telsey CPVA642-type (CPA-ZNTE60T)") 241 board_name="cpva642" 242 ;; 243 "Telsey MAGIC") 244 board_name="magic" 245 ;; 246 "TP-Link TD-W8900GB") 247 board_name="td-w8900gb" 248 ;; 249 "USRobotics 9108") 250 board_name="usr9108" 251 ;; 252 "Zyxel P870HW-51a v2") 253 board_name="p870hw-51a_v2" 254 ;; 255 *) 256 board_name="unknown" 257 ;; 258 esac 259 260 echo "$board_name" 261} 262 263brcm63xx_legacy_detect() { 264 local board_name 265 266 case "$1" in 267 *) 268 board_name="unknown" 269 ;; 270 esac 271 272 echo "$board_name" 273} 274 275brcm63xx_detect() { 276 local board_name model 277 278 board_id=$(awk 'BEGIN{FS="[ \t:/]+"} /system type/ {print $4}' /proc/cpuinfo) 279 280 if [ -e /proc/device-tree ]; then 281 model=$(cat /proc/device-tree/model) 282 board_name=$(brcm63xx_dt_detect "$model") 283 else 284 model="Unknown bcm63xx board" 285 board_name=$(brcm63xx_legacy_detect "$board_id") 286 fi 287 288 [ -e "/tmp/sysinfo" ] || mkdir -p "/tmp/sysinfo" 289 290 echo "$board_name" > /tmp/sysinfo/board_name 291 echo "$model" > /tmp/sysinfo/model 292} 293 294brcm63xx_board_name() { 295 local name 296 297 [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) 298 [ -n "$name" ] || name="unknown" 299 300 echo $name 301} 302