02_network 11 KB

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