brcm63xx.sh 5.4 KB

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