1#!/bin/sh 2# 3# Copyright (C) 2010-2013 OpenWrt.org 4# 5 6RAMIPS_BOARD_NAME= 7RAMIPS_MODEL= 8 9ramips_board_detect() { 10 local machine 11 local name 12 13 machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo) 14 15 case "$machine" in 16 *"3G150B") 17 name="3g150b" 18 ;; 19 *"3G300M") 20 name="3g300m" 21 ;; 22 *"3g-6200n") 23 name="3g-6200n" 24 ;; 25 *"3g-6200nl") 26 name="3g-6200nl" 27 ;; 28 *"A5-V11") 29 name="a5-v11" 30 ;; 31 *"Ai-BR100") 32 name="ai-br100" 33 ;; 34 *"Air3GII") 35 name="air3gii" 36 ;; 37 *"ALL0239-3G") 38 name="all0239-3g" 39 ;; 40 *"ALL0256N") 41 name="all0256n" 42 ;; 43 *"ALL5002") 44 name="all5002" 45 ;; 46 *"ALL5003") 47 name="all5003" 48 ;; 49 *"AR670W") 50 name="ar670w" 51 ;; 52 *"AR725W") 53 name="ar725w" 54 ;; 55 *"ASL26555") 56 name="asl26555" 57 ;; 58 *"ATP-52B") 59 name="atp-52b" 60 ;; 61 *"AWAPN2403") 62 name="awapn2403" 63 ;; 64 *"AWM002 EVB") 65 name="awm002-evb" 66 ;; 67 *"AWM003 EVB") 68 name="awm003-evb" 69 ;; 70 *"BC2") 71 name="bc2" 72 ;; 73 *"BR-6425") 74 name="br-6425" 75 ;; 76 *"BR-6475nD") 77 name="br-6475nd" 78 ;; 79 *"Broadway") 80 name="broadway" 81 ;; 82 *"C20i") 83 name="c20i" 84 ;; 85 *"C50") 86 name="c50" 87 ;; 88 *"Carambola") 89 name="carambola" 90 ;; 91 *"CF-WR800N") 92 name="cf-wr800n" 93 ;; 94 *"CS-QR10") 95 name="cs-qr10" 96 ;; 97 *"CY-SWR1100") 98 name="cy-swr1100" 99 ;; 100 *"D105") 101 name="d105" 102 ;; 103 *"DAP-1350") 104 name="dap-1350" 105 ;; 106 *"DB-WRT01") 107 name="db-wrt01" 108 ;; 109 *"DCS-930") 110 name="dcs-930" 111 ;; 112 *"DCS-930L B1") 113 name="dcs-930l-b1" 114 ;; 115 *"DIR-300 B1") 116 name="dir-300-b1" 117 ;; 118 *"DIR-300 B7") 119 name="dir-300-b7" 120 ;; 121 *"DIR-320 B1") 122 name="dir-320-b1" 123 ;; 124 *"DIR-600 B1") 125 name="dir-600-b1" 126 ;; 127 *"DIR-600 B2") 128 name="dir-600-b2" 129 ;; 130 *"DIR-610 A1") 131 name="dir-610-a1" 132 ;; 133 *"DIR-615 D") 134 name="dir-615-d" 135 ;; 136 *"DIR-615 H1") 137 name="dir-615-h1" 138 ;; 139 *"DIR-620 A1") 140 name="dir-620-a1" 141 ;; 142 *"DIR-620 D1") 143 name="dir-620-d1" 144 ;; 145 *"DIR-645") 146 name="dir-645" 147 ;; 148 *"DIR-810L") 149 name="dir-810l" 150 ;; 151 *"DIR-860L B1") 152 name="dir-860l-b1" 153 ;; 154 *"Dovado Tiny AC") 155 name="tiny-ac" 156 ;; 157 *"DuZun DM06") 158 name="duzun-dm06" 159 ;; 160 *"E1700") 161 name="e1700" 162 ;; 163 *"ESR-9753") 164 name="esr-9753" 165 ;; 166 *"EX2700") 167 name="ex2700"; 168 ;; 169 *"F5D8235 v1") 170 name="f5d8235-v1" 171 ;; 172 *"F5D8235 v2") 173 name="f5d8235-v2" 174 ;; 175 *"F7C027") 176 name="f7c027" 177 ;; 178 *"FireWRT") 179 name="firewrt" 180 ;; 181 *"Fonera 2.0N") 182 name="fonera20n" 183 ;; 184 *"FreeStation5") 185 name="freestation5" 186 ;; 187 *"GL-MT300A") 188 name="gl-mt300a" 189 ;; 190 *"GL-MT300N") 191 name="gl-mt300n" 192 ;; 193 *"GL-MT750") 194 name="gl-mt750" 195 ;; 196 *"HC5661") 197 name="hc5661" 198 ;; 199 *"HC5761") 200 name="hc5761" 201 ;; 202 *"HC5861") 203 name="hc5861" 204 ;; 205 *"HG255D") 206 name="hg255d" 207 ;; 208 *"HLK-RM04") 209 name="hlk-rm04" 210 ;; 211 *"HPM") 212 name="hpm" 213 ;; 214 *"HT-TM02") 215 name="ht-tm02" 216 ;; 217 *"HW550-3G") 218 name="hw550-3g" 219 ;; 220 *"IP2202") 221 name="ip2202" 222 ;; 223 *"JHR-N805R") 224 name="jhr-n805r" 225 ;; 226 *"JHR-N825R") 227 name="jhr-n825r" 228 ;; 229 *"JHR-N926R") 230 name="jhr-n926r" 231 ;; 232 *"M3") 233 name="m3" 234 ;; 235 *"M4") 236 name="m4" 237 ;; 238 *"MediaTek LinkIt Smart 7688") 239 linkit="$(dd bs=1 skip=1024 count=12 if=/dev/mtd2 2> /dev/null)" 240 if [ "${linkit}" = "LINKITS7688D" ]; then 241 name="linkits7688d" 242 RAMIPS_MODEL="${machine} DUO" 243 else 244 name="linkits7688" 245 fi 246 ;; 247 *"Memory 2 Move") 248 name="m2m" 249 ;; 250 *"MicroWRT") 251 name="microwrt" 252 ;; 253 *"MiniEMBPlug") 254 name="miniembplug" 255 ;; 256 *"MiniEMBWiFi") 257 name="miniembwifi" 258 ;; 259 *"MiWiFi Mini") 260 name="miwifi-mini" 261 ;; 262 *"MiWiFi Nano") 263 name="miwifi-nano" 264 ;; 265 *"MLW221") 266 name="mlw221" 267 ;; 268 *"MLWG2") 269 name="mlwg2" 270 ;; 271 *"MOFI3500-3GN") 272 name="mofi3500-3gn" 273 ;; 274 *"MPR-A1") 275 name="mpr-a1" 276 ;; 277 *"MPR-A2") 278 name="mpr-a2" 279 ;; 280 *"MR-102N") 281 name="mr-102n" 282 ;; 283 *"MT7620a + MT7530 evaluation"*) 284 name="mt7620a_mt7530" 285 ;; 286 *"MT7620a V22SG"*) 287 name="mt7620a_v22sg" 288 ;; 289 *"MT7621 evaluation"*) 290 name="mt7621" 291 ;; 292 *"MT7628AN evaluation"*) 293 name="mt7628" 294 ;; 295 *"MT7688 evaluation"*) 296 name="mt7688" 297 ;; 298 *"MZK-750DHP") 299 name="mzk-750dhp" 300 ;; 301 *"MZK-DP150N") 302 name="mzk-dp150n" 303 ;; 304 *"MZK-EX300NP") 305 name="mzk-ex300np" 306 ;; 307 *"MZK-EX750NP") 308 name="mzk-ex750np" 309 ;; 310 *"MZK-W300NH2"*) 311 name="mzk-w300nh2" 312 ;; 313 *"MZK-WDPR"*) 314 name="mzk-wdpr" 315 ;; 316 *"NA930") 317 name="na930" 318 ;; 319 *"NBG-419N") 320 name="nbg-419n" 321 ;; 322 *"NCS601W") 323 name="ncs601w" 324 ;; 325 *"NW718") 326 name="nw718" 327 ;; 328 *"OY-0001") 329 name="oy-0001" 330 ;; 331 *"PBR-M1") 332 name="pbr-m1" 333 ;; 334 *"PSG1208") 335 name="psg1208" 336 ;; 337 *"PSG1218") 338 name="psg1218" 339 ;; 340 *"PSR-680W"*) 341 name="psr-680w" 342 ;; 343 *"PWH2004") 344 name="pwh2004" 345 ;; 346 *"PX-4885") 347 name="px-4885" 348 ;; 349 *"Q7") 350 name="zte-q7" 351 ;; 352 *"RE6500") 353 name="re6500" 354 ;; 355 *"RN502J") 356 name="xdxrn502j" 357 ;; 358 *"RP-N53") 359 name="rp-n53" 360 ;; 361 *"RT5350F-OLinuXino") 362 name="rt5350f-olinuxino" 363 ;; 364 *"RT5350F-OLinuXino-EVB") 365 name="rt5350f-olinuxino-evb" 366 ;; 367 *"RT-G32 B1") 368 name="rt-g32-b1" 369 ;; 370 *"RT-N10+") 371 name="rt-n10-plus" 372 ;; 373 *"RT-N13U") 374 name="rt-n13u" 375 ;; 376 *"RT-N14U") 377 name="rt-n14u" 378 ;; 379 *"RT-N15") 380 name="rt-n15" 381 ;; 382 *"RT-N56U") 383 name="rt-n56u" 384 ;; 385 *"RUT5XX") 386 name="rut5xx" 387 ;; 388 *"SamKnows Whitebox 8") 389 name="sk-wb8" 390 ;; 391 *"SAP-G3200U3") 392 name="sap-g3200u3" 393 ;; 394 *"SL-R7205"*) 395 name="sl-r7205" 396 ;; 397 *"TEW-691GR") 398 name="tew-691gr" 399 ;; 400 *"TEW-692GR") 401 name="tew-692gr" 402 ;; 403 *"UBNT-ERX") 404 name="ubnt-erx" 405 ;; 406 *"UR-326N4G") 407 name="ur-326n4g" 408 ;; 409 *"UR-336UN") 410 name="ur-336un" 411 ;; 412 *"V11ST-FE") 413 name="v11st-fe" 414 ;; 415 *"V22RW-2X2") 416 name="v22rw-2x2" 417 ;; 418 *"VoCore") 419 name="vocore" 420 ;; 421 *"W150M") 422 name="w150m" 423 ;; 424 *"W306R V2.0") 425 name="w306r-v20" 426 ;; 427 *"W502U") 428 name="w502u" 429 ;; 430 *"WCR-150GN") 431 name="wcr-150gn" 432 ;; 433 *"WF-2881") 434 name="wf-2881" 435 ;; 436 *"WHR-1166D") 437 name="whr-1166d" 438 ;; 439 *"WHR-300HP2") 440 name="whr-300hp2" 441 ;; 442 *"WHR-600D") 443 name="whr-600d" 444 ;; 445 *"WHR-G300N") 446 name="whr-g300n" 447 ;; 448 *"Widora-NEO") 449 name="widora-neo" 450 ;; 451 *"WiTi") 452 name="witi" 453 ;; 454 *"WIZARD 8800") 455 name="wizard8800" 456 ;; 457 *"WizFi630A") 458 name="wizfi630a" 459 ;; 460 *"WL-330N") 461 name="wl-330n" 462 ;; 463 *"WL-330N3G") 464 name="wl-330n3g" 465 ;; 466 *"WL-341 v3") 467 name="wl-341v3" 468 ;; 469 *"WL-351 v1 002") 470 name="wl-351" 471 ;; 472 *"WLI-TX4-AG300N") 473 name="wli-tx4-ag300n" 474 ;; 475 *"WMR-300") 476 name="wmr-300" 477 ;; 478 *"WNCE2001") 479 name="wnce2001" 480 ;; 481 *"WNDR3700v5") 482 name="wndr3700v5" 483 ;; 484 *"WR512-3GN-like"*) 485 name="wr512-3gn" 486 ;; 487 *"WR6202") 488 name="wr6202" 489 ;; 490 *"WRH-300CR") 491 name="wrh-300cr" 492 ;; 493 *"WRTNODE") 494 name="wrtnode" 495 ;; 496 *"WRTnode2R") 497 name="wrtnode2r" 498 ;; 499 *"WRTnode2P") 500 name="wrtnode2p" 501 ;; 502 *"WSR-1166DHP") 503 name="wsr-1166" 504 ;; 505 *"WSR-600DHP") 506 name="wsr-600" 507 ;; 508 *"WT1520") 509 name="wt1520" 510 ;; 511 *"WT3020") 512 name="wt3020" 513 ;; 514 *"WZR-AGL300NH") 515 name="wzr-agl300nh" 516 ;; 517 *"X5") 518 name="x5" 519 ;; 520 *"X8") 521 name="x8" 522 ;; 523 *"Y1") 524 name="y1" 525 ;; 526 *"Y1S") 527 name="y1s" 528 ;; 529 *"ZBT-APE522II") 530 name="zbt-ape522ii" 531 ;; 532 *"ZBT-WA05") 533 name="zbt-wa05" 534 ;; 535 *"ZBT-WE826") 536 name="zbt-we826" 537 ;; 538 *"ZBT-WG2626") 539 name="zbt-wg2626" 540 ;; 541 *"ZBT-WG3526") 542 name="zbt-wg3526" 543 ;; 544 *"ZBT-WR8305RT") 545 name="zbt-wr8305rt" 546 ;; 547 *"YK1") 548 name="youku-yk1" 549 ;; 550 *) 551 name="generic" 552 ;; 553 esac 554 555 [ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name" 556 [ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine" 557 558 [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" 559 560 echo "$RAMIPS_BOARD_NAME" > /tmp/sysinfo/board_name 561 echo "$RAMIPS_MODEL" > /tmp/sysinfo/model 562} 563 564ramips_board_name() { 565 local name 566 567 [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) 568 [ -z "$name" ] && name="unknown" 569 570 echo "$name" 571} 572