02_network 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508
  1. #!/bin/sh
  2. #
  3. # Copyright (C) 2011-2015 OpenWrt.org
  4. #
  5. . /lib/functions/system.sh
  6. . /lib/functions/uci-defaults.sh
  7. . /lib/ar71xx.sh
  8. ar71xx_setup_interfaces()
  9. {
  10. local board="$1"
  11. case "$board" in
  12. airgatewaypro)
  13. ucidef_add_switch "switch0" \
  14. "0@eth0" "4:lan" "5:wan"
  15. ;;
  16. airrouter|\
  17. ap121|\
  18. ap121-mini|\
  19. ap96|\
  20. dir-600-a1|\
  21. dir-615-c1|\
  22. dir-615-e1|\
  23. dir-615-e4|\
  24. hiwifi-hc6361|\
  25. ja76pf|\
  26. mc-mac1200r|\
  27. minibox-v1|\
  28. mynet-n600|\
  29. oolite|\
  30. qihoo-c301|\
  31. rb-750|\
  32. rb-751|\
  33. som9331|\
  34. tew-632brp|\
  35. tew-712br|\
  36. tew-732br|\
  37. tl-mr3220|\
  38. tl-mr3220-v2|\
  39. tl-mr3420|\
  40. tl-wdr3320-v2|\
  41. tl-wdr3500|\
  42. tl-wr741nd|\
  43. tl-wr741nd-v4|\
  44. tl-wr841n-v11|\
  45. tl-wr841n-v9|\
  46. tl-wr842n-v3|\
  47. whr-g301n|\
  48. whr-hp-g300n|\
  49. whr-hp-gn|\
  50. wzr-hp-ag300h|\
  51. zbt-we1526)
  52. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  53. ucidef_add_switch "switch0" \
  54. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  55. ;;
  56. alfa-ap120c|\
  57. all0305|\
  58. antminer-s1|\
  59. antminer-s3|\
  60. antrouter-r1|\
  61. aw-nr580|\
  62. bullet-m|\
  63. c-55|\
  64. cap4200ag|\
  65. cf-e380ac-v1|\
  66. cf-e380ac-v2|\
  67. eap120|\
  68. eap300v2|\
  69. eap7660d|\
  70. el-mini|\
  71. loco-m-xw|\
  72. mr12|\
  73. mr16|\
  74. mr1750|\
  75. mr1750v2|\
  76. mr18|\
  77. mr600|\
  78. mr600v2|\
  79. mr900|\
  80. mr900v2|\
  81. mynet-rext|\
  82. rb-411|\
  83. rb-411u|\
  84. rb-911g-2hpnd|\
  85. rb-911g-5hpacd|\
  86. rb-911g-5hpnd|\
  87. rb-912uag-2hpnd|\
  88. rb-912uag-5hpnd|\
  89. rb-sxt2n|\
  90. rb-sxt5n|\
  91. re450|\
  92. rocket-m-xw|\
  93. tl-mr10u|\
  94. tl-mr11u|\
  95. tl-mr12u|\
  96. tl-mr13u|\
  97. tl-mr3020|\
  98. tl-mr3040|\
  99. tl-mr3040-v2|\
  100. tl-wa701nd-v2|\
  101. tl-wa7210n-v2|\
  102. tl-wa750re|\
  103. tl-wa801nd-v2|\
  104. tl-wa830re-v2|\
  105. tl-wa850re|\
  106. tl-wa901nd|\
  107. tl-wa901nd-v2|\
  108. tl-wa901nd-v3|\
  109. tl-wa901nd-v4|\
  110. tl-wr703n|\
  111. tl-wr802n-v1|\
  112. tpe-r1100|\
  113. tube2h|\
  114. unifiac-lite|\
  115. wndap360|\
  116. wp543)
  117. ucidef_set_interface_lan "eth0"
  118. ;;
  119. a40|\
  120. a60|\
  121. alfa-ap96|\
  122. alfa-nx|\
  123. gl-ar150|\
  124. gl-usb150)
  125. ucidef_set_interface_lan "eth0"
  126. ;;
  127. gl-ar300m|\
  128. gl-domino|\
  129. gl-inet|\
  130. gl-mifi|\
  131. jwap003|\
  132. om2pv4|\
  133. om2p-hsv4|\
  134. pb42|\
  135. pb44|\
  136. rb-951ui-2hnd|\
  137. routerstation|\
  138. tl-wr710n|\
  139. tl-wr720n-v3|\
  140. tl-wr810n|\
  141. wpe72|\
  142. wrtnode2q)
  143. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  144. ;;
  145. all0258n|\
  146. all0315n|\
  147. dlan-hotspot|\
  148. dlan-pro-500-wp|\
  149. dr344|\
  150. ja76pf2|\
  151. rocket-m-ti|\
  152. ubnt-unifi-outdoor)
  153. ucidef_set_interface_lan "eth0 eth1"
  154. ;;
  155. wzr-hp-g300nh2)
  156. ucidef_add_switch "switch0" \
  157. "0@eth0" "1:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "2:wan"
  158. ;;
  159. ap132|\
  160. ap136|\
  161. ap152|\
  162. rb-750gl|\
  163. rb-751g|\
  164. rb-951g-2hnd|\
  165. wlr8100|\
  166. wzr-hp-g450h)
  167. ucidef_add_switch "switch0" \
  168. "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
  169. ;;
  170. ap135-020|\
  171. ap136-020|\
  172. bhr-4grv2|\
  173. tew-823dru|\
  174. tl-wr1043nd-v2|\
  175. wzr-450hp2)
  176. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  177. ucidef_add_switch "switch0" \
  178. "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
  179. ;;
  180. ap136-010|\
  181. ap147-010|\
  182. nbg6616|\
  183. nbg6716)
  184. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  185. ucidef_add_switch "switch0" \
  186. "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth1"
  187. ;;
  188. ap143|\
  189. rb-433|\
  190. rb-433u)
  191. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  192. ucidef_add_switch "switch0" \
  193. "1:lan" "2:lan" "5@eth1"
  194. ;;
  195. archer-c5|\
  196. archer-c7|\
  197. tl-wdr4900-v2)
  198. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  199. ucidef_add_switch "switch0" \
  200. "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
  201. ;;
  202. arduino-yun|\
  203. dir-505-a1|\
  204. tl-wa801nd-v3)
  205. ucidef_set_interface_lan "eth1"
  206. ;;
  207. bsb)
  208. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  209. ucidef_add_switch "switch0" \
  210. "0@eth1" "1:lan" "3:lan"
  211. ;;
  212. c-60)
  213. ucidef_add_switch "switch0" \
  214. "0@eth0" "3:wan" "4:lan"
  215. ;;
  216. cap324)
  217. ucidef_set_interface_lan "eth0" "dhcp"
  218. ;;
  219. cpe210|\
  220. cpe510|\
  221. wbs210|\
  222. wbs510)
  223. ucidef_add_switch "switch0" \
  224. "0@eth0" "5:lan" "4:wan"
  225. ;;
  226. cr3000)
  227. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  228. ucidef_add_switch "switch0" \
  229. "0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
  230. ;;
  231. cr5000|\
  232. dgl-5500-a1|\
  233. dhp-1565-a1|\
  234. dir-825-c1|\
  235. dir-835-a1|\
  236. esr900|\
  237. mynet-n750|\
  238. sr3200|\
  239. wndr3700v4|\
  240. wndr4300)
  241. ucidef_add_switch "switch0" \
  242. "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
  243. ;;
  244. dap-2695-a1)
  245. ucidef_add_switch "switch0" "0@eth0" "2:lan" "3:wan" "6@eth1"
  246. ;;
  247. rb-941-2nd)
  248. ucidef_add_switch "switch0" \
  249. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:wan:1"
  250. ;;
  251. db120|\
  252. rb-2011l|\
  253. rb-2011uas|\
  254. rb-2011uas-2hnd|\
  255. rb-2011uias|\
  256. rb-2011uias-2hnd)
  257. case "$board" in
  258. rb-2011uas*|\
  259. rb-2011uias|\
  260. rb-2011uias-2hnd)
  261. ucidef_add_switch "switch0" \
  262. "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan" "6:sfp"
  263. ;;
  264. *)
  265. ucidef_add_switch "switch0" \
  266. "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
  267. ;;
  268. esac
  269. ucidef_add_switch "switch1" \
  270. "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan"
  271. ;;
  272. dir-615-i1|\
  273. omy-g1|\
  274. r6100|\
  275. smart-300|\
  276. tl-mr3420-v2|\
  277. tl-wdr6500-v2|\
  278. tl-wr841n-v8|\
  279. tl-wr940n-v4|\
  280. tl-wr941nd-v5|\
  281. tl-wr941nd-v6|\
  282. wnr1000-v2|\
  283. wnr2000-v4|\
  284. wnr2200|\
  285. wnr612-v2|\
  286. wpn824n)
  287. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  288. ucidef_add_switch "switch0" \
  289. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4@eth1"
  290. ;;
  291. dir-825-b1|\
  292. nbg460n_550n_550nh|\
  293. tew-673gru|\
  294. wzr-hp-g300nh)
  295. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  296. ucidef_add_switch "switch0" \
  297. "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
  298. ;;
  299. dlan-pro-1200-ac)
  300. ucidef_set_interface_lan "eth0"
  301. ucidef_add_switch "switch0" \
  302. "0@eth0" "2:lan" "3:lan" "4:lan"
  303. ucidef_add_switch_attr "switch0" "enable" "false"
  304. ;;
  305. el-m150)
  306. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  307. ucidef_add_switch "switch0" \
  308. "0:lan" "1:lan" "3@eth1"
  309. ;;
  310. dir-869-a1|\
  311. epg5000|\
  312. esr1750|\
  313. tl-wr1043nd-v4)
  314. ucidef_add_switch "switch0" \
  315. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
  316. ;;
  317. ew-dorin)
  318. ucidef_add_switch "switch0" \
  319. "0@eth0" "1:lan" "2:lan" "3:wan"
  320. ;;
  321. ew-dorin-router)
  322. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  323. ucidef_add_switch "switch0" \
  324. "0@eth0" "2:lan" "3:lan"
  325. ;;
  326. dw33d|\
  327. f9k1115v2)
  328. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  329. ucidef_add_switch "switch0" \
  330. "2:lan" "3:lan" "4:lan" "5:lan" "6@eth1" "0@eth0" "1:wan"
  331. ;;
  332. gl-ar300|\
  333. wnr2000-v3)
  334. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  335. ucidef_add_switch "switch0" \
  336. "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
  337. ;;
  338. jwap230)
  339. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  340. ucidef_add_switch "switch0" \
  341. "0@eth0" "1:lan" "5:wan" "6@eth1"
  342. ;;
  343. nanostation-m-xw)
  344. ucidef_add_switch "switch0" \
  345. "0@eth0" "5:lan" "1:wan"
  346. ;;
  347. onion-omega)
  348. ucidef_set_interface_lan "wlan0"
  349. ;;
  350. rb-435g)
  351. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  352. ucidef_add_switch "switch0" \
  353. "0@eth1" "1:lan" "2:lan"
  354. ;;
  355. rb-450)
  356. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  357. ucidef_add_switch "switch0" \
  358. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5@eth1"
  359. ;;
  360. rb-450g)
  361. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  362. ucidef_add_switch "switch0" \
  363. "0@eth1" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
  364. ;;
  365. routerstation-pro)
  366. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  367. ucidef_add_switch "switch0" \
  368. "0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
  369. ;;
  370. rb-493g)
  371. ucidef_set_interfaces_lan_wan "eth0 eth1.1" "eth1.2"
  372. ucidef_add_switch "switch0" \
  373. "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
  374. ucidef_add_switch "switch1" \
  375. "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
  376. ;;
  377. tellstick-znet-lite)
  378. ucidef_set_interface_wan "eth0"
  379. ucidef_set_interface_raw "wlan" "wlan0" "dhcp"
  380. ;;
  381. tl-wdr4300|\
  382. tl-wr1041n-v2)
  383. ucidef_add_switch "switch0" \
  384. "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
  385. ;;
  386. tl-wpa8630)
  387. ucidef_add_switch "switch0" \
  388. "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"
  389. ;;
  390. tl-wr1043nd)
  391. ucidef_add_switch "switch0" \
  392. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
  393. ;;
  394. tl-wr2543n)
  395. ucidef_add_switch "switch0" \
  396. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
  397. ;;
  398. tl-wr841n-v1|\
  399. tl-wr941nd)
  400. ucidef_set_interface_raw "eth" "eth0"
  401. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
  402. ;;
  403. tl-wr841n-v7)
  404. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  405. ucidef_add_switch "switch0" \
  406. "0@eth0" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4"
  407. ;;
  408. tl-wr842n-v2)
  409. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  410. ucidef_add_switch "switch0" \
  411. "0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
  412. ;;
  413. uap-pro|\
  414. wpj342)
  415. ucidef_add_switch "switch0" \
  416. "0@eth0" "1:lan" "2:wan"
  417. ;;
  418. unifiac-pro|\
  419. xd3200)
  420. ucidef_add_switch "switch0" \
  421. "0@eth0" "2:lan" "3:wan"
  422. ;;
  423. wndr3700|\
  424. wndr3700v2|\
  425. wndr3800|\
  426. wndr3800ch)
  427. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  428. ucidef_add_switch "switch0" \
  429. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5@eth0"
  430. ucidef_add_switch_attr "switch0" "blinkrate" 2
  431. ucidef_add_switch_port_attr "switch0" 1 led 6
  432. ucidef_add_switch_port_attr "switch0" 2 led 9
  433. ucidef_add_switch_port_attr "switch0" 5 led 2
  434. ;;
  435. wpj344)
  436. ucidef_add_switch "switch0" \
  437. "0@eth0" "3:lan" "2:wan"
  438. ;;
  439. wpj558)
  440. ucidef_add_switch "switch0" \
  441. "5:lan" "1:wan" "6@eth0"
  442. ;;
  443. wrt160nl)
  444. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  445. ucidef_add_switch "switch0" \
  446. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4@eth0"
  447. ;;
  448. wzr-hp-g450h)
  449. ucidef_add_switch "switch0" \
  450. "0@eth0" "2:lan:1 3:lan:2 4:lan:3 5:lan:4" "1:wan"
  451. ;;
  452. z1)
  453. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  454. ucidef_add_switch "switch0" \
  455. "0@eth0" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4" "5:wan"
  456. ;;
  457. *)
  458. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  459. ;;
  460. esac
  461. }
  462. ar71xx_setup_macs()
  463. {
  464. local board="$1"
  465. local lan_mac=""
  466. local wan_mac=""
  467. case $board in
  468. dgl-5500-a1|\
  469. dir-825-c1)
  470. wan_mac=$(mtd_get_mac_ascii nvram "wan_mac")
  471. ;;
  472. dhp-1565-a1|\
  473. dir-835-a1|\
  474. wndr3700v4|\
  475. wndr4300)
  476. lan_mac=$(mtd_get_mac_binary caldata 0)
  477. wan_mac=$(mtd_get_mac_binary caldata 6)
  478. ;;
  479. tl-wr1043nd-v4)
  480. wan_mac=$(mtd_get_mac_binary config 0x1017c)
  481. ;;
  482. esr900)
  483. wan_mac=$(mtd_get_mac_ascii u-boot-env "wanaddr")
  484. ;;
  485. dir-869-a1|\
  486. mynet-n750)
  487. wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
  488. ;;
  489. esac
  490. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  491. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  492. }
  493. board_config_update
  494. board=$(ar71xx_board_name)
  495. ar71xx_setup_interfaces $board
  496. ar71xx_setup_macs $board
  497. board_config_flush
  498. exit 0