ramips.sh 9.5 KB

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