02_network 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688
  1. #!/bin/sh
  2. . /lib/functions.sh
  3. . /lib/functions/uci-defaults.sh
  4. . /lib/functions/system.sh
  5. ramips_setup_rt3x5x_vlans()
  6. {
  7. if [ ! -x /sbin/swconfig ]; then
  8. # legacy default
  9. ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
  10. return
  11. fi
  12. local wanports=""
  13. local lanports=""
  14. for port in 5 4 3 2 1 0; do
  15. if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
  16. continue
  17. fi
  18. if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
  19. wanports="$port:wan $wanports"
  20. else
  21. lanports="$port:lan $lanports"
  22. fi
  23. done
  24. ucidef_add_switch "rt305x" $lanports $wanports "6t@eth0"
  25. }
  26. ramips_setup_interfaces()
  27. {
  28. local board="$1"
  29. case $board in
  30. 11acnas|\
  31. d-team,newifi-d2|\
  32. dir-615-h1|\
  33. w2914nsv2|\
  34. zbt-we2026)
  35. ucidef_add_switch "switch0" \
  36. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
  37. ;;
  38. 3g150b|\
  39. 3g300m|\
  40. a5-v11|\
  41. all0256n-4M|\
  42. all0256n-8M|\
  43. all5002|\
  44. all5003|\
  45. bocco|\
  46. broadway|\
  47. dcs-930|\
  48. dcs-930l-b1|\
  49. ht-tm02|\
  50. kimax,u35wf|\
  51. linkits7688 | \
  52. m2m|\
  53. microwrt|\
  54. mikrotik,rbm11g|\
  55. mpr-a2|\
  56. ncs601w|\
  57. omega2 | \
  58. omega2p | \
  59. timecloud|\
  60. tplink,tl-wa801nd-v5|\
  61. w150m|\
  62. widora,neo-16m|\
  63. widora,neo-32m|\
  64. wnce2001|\
  65. zbt-cpe102|\
  66. zorlik,zl5900v2|\
  67. zte-q7)
  68. ucidef_add_switch "switch0"
  69. ucidef_add_switch_attr "switch0" "enable" "false"
  70. ucidef_set_interface_lan "eth0"
  71. ;;
  72. mlw221|\
  73. mr-102n)
  74. ucidef_set_interface_lan "eth0.2"
  75. ;;
  76. 3g-6200n|\
  77. ai-br100|\
  78. alfa-network,ac1200rm|\
  79. mediatek,ap-mt7621a-v60|\
  80. xzwifi,creativebox-v1|\
  81. d240|\
  82. db-wrt01|\
  83. dir-300-b7|\
  84. dir-320-b1|\
  85. dir-610-a1|\
  86. dir-615-h1|\
  87. dir-810l|\
  88. dlink,dwr-116-a1|\
  89. dlink,dwr-921-c1|\
  90. dlink,dwr-922-e2|\
  91. ew1200|\
  92. firewrt|\
  93. hc5661a|\
  94. hc5962|\
  95. hlk-rm04|\
  96. k2p|\
  97. kn|\
  98. kn_rc|\
  99. mac1200rv2|\
  100. miwifi-mini|\
  101. miwifi-nano|\
  102. mt7621|\
  103. mt7628|\
  104. mtc,wr1201|\
  105. mzk-750dhp|\
  106. mzk-w300nh2|\
  107. nixcore-x1-8M|\
  108. nixcore-x1-16M|\
  109. oy-0001|\
  110. pbr-m1|\
  111. psg1208|\
  112. psg1218a|\
  113. r6220|\
  114. netgear,r6350|\
  115. rt-n12p|\
  116. sap-g3200u3|\
  117. sk-wb8|\
  118. unielec,u7621-06-256m-16m|\
  119. unielec,u7621-06-512m-64m|\
  120. vr500|\
  121. wavlink,wl-wn570ha1|\
  122. wavlink,wl-wn575a3|\
  123. wf-2881|\
  124. whr-g300n|\
  125. mqmaker,witi-256m|\
  126. mqmaker,witi-512m|\
  127. wndr3700v5|\
  128. youku-yk1|\
  129. youku,yk-l2|\
  130. zbt-ape522ii|\
  131. zbt-we1326|\
  132. zbtlink,zbt-we3526|\
  133. zbt-we826-16M|\
  134. zbt-we826-32M|\
  135. zbt-wg2626|\
  136. zbt-wg3526-16M|\
  137. zbt-wg3526-32M|\
  138. zbt-wr8305rt)
  139. ucidef_add_switch "switch0" \
  140. "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
  141. ;;
  142. gehua,ghl-r-001)
  143. ucidef_add_switch "switch0" \
  144. "0:lan" "1:lan" "2:lan" "4:wan" "6@eth0"
  145. ;;
  146. alfa-network,awusfree1|\
  147. alfa-network,tube-e4g|\
  148. cs-qr10|\
  149. d105|\
  150. dlink,dap-1522-a1|\
  151. dch-m225|\
  152. ex2700|\
  153. ex3700|\
  154. hpm|\
  155. mzk-ex300np|\
  156. mzk-ex750np|\
  157. na930|\
  158. pbr-d1|\
  159. ravpower,wd03|\
  160. tama,w06|\
  161. tplink,tl-mr3020-v3|\
  162. tplink,tl-wr802n-v4|\
  163. u25awf-h1|\
  164. wli-tx4-ag300n|\
  165. wmdr-143n|\
  166. wmr-300|\
  167. wn3000rpv3|\
  168. wrh-300cr)
  169. ucidef_set_interface_lan "eth0"
  170. ;;
  171. dlink,dwr-118-a1)
  172. ucidef_add_switch "switch0" \
  173. "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
  174. ;;
  175. dlink,dwr-118-a2)
  176. ucidef_add_switch "switch0" \
  177. "1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
  178. ;;
  179. psg1218b)
  180. ucidef_add_switch "switch0" \
  181. "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
  182. ;;
  183. whr-300hp2|\
  184. whr-600d|\
  185. wsr-1166|\
  186. wsr-600)
  187. ucidef_add_switch "switch0" \
  188. "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
  189. ;;
  190. ar670w|\
  191. ar725w|\
  192. rt-ac51u)
  193. ucidef_add_switch "switch0" \
  194. "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
  195. ;;
  196. belkin,f9k1109v1|\
  197. rt-n15|\
  198. wl-351)
  199. ucidef_add_switch "switch0" \
  200. "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
  201. ;;
  202. asl26555-8M|\
  203. asl26555-16M|\
  204. rp-n53)
  205. ucidef_add_switch "switch0" \
  206. "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
  207. ;;
  208. atp-52b|\
  209. awm002-evb-4M|\
  210. awm002-evb-8M|\
  211. bdcom,wap2100-sk|\
  212. c20i|\
  213. dir-645|\
  214. gl-mt300a|\
  215. gl-mt300n|\
  216. gl-mt750|\
  217. hiwifi,hc5861b|\
  218. jhr-n805r|\
  219. jhr-n825r|\
  220. jhr-n926r|\
  221. mikrotik,rb750gr3|\
  222. mikrotik,rbm33g|\
  223. mzk-wdpr|\
  224. rt-n14u|\
  225. skylab,skw92a|\
  226. tplink,c20-v4|\
  227. tplink,c50-v3|\
  228. tplink,c50-v4|\
  229. tplink,tl-mr3420-v5|\
  230. tplink,tl-wr842n-v5|\
  231. tl-wr840n-v4|\
  232. tl-wr840n-v5|\
  233. tl-wr841n-v13|\
  234. u7628-01-128M-16M|\
  235. ubnt-erx|\
  236. ubnt-erx-sfp|\
  237. ur-326n4g|\
  238. wrtnode|\
  239. wrtnode2p | \
  240. wrtnode2r | \
  241. youhua,wr1200js|\
  242. zbt-wa05|\
  243. zyxel,keenetic-extra-ii)
  244. ucidef_add_switch "switch0" \
  245. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
  246. ;;
  247. c50|\
  248. tplink,c20-v1)
  249. ucidef_add_switch "switch0" \
  250. "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
  251. ;;
  252. dir-860l-b1|\
  253. elecom,wrc-1167ghbk2-s|\
  254. elecom,wrc-2533gst|\
  255. elecom,wrc-1900gst|\
  256. hg255d|\
  257. iodata,wn-ax1167gr|\
  258. iodata,wn-gx300gr)
  259. ucidef_add_switch "switch0" \
  260. "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
  261. ;;
  262. gnubee,gb-pc1|\
  263. gnubee,gb-pc2)
  264. ucidef_add_switch "switch0" \
  265. "0:lan" "4:lan" "6@eth0"
  266. ;;
  267. gl-mt300n-v2)
  268. ucidef_add_switch "switch0" \
  269. "1:lan" "0:wan" "6@eth0"
  270. ;;
  271. awapn2403)
  272. ucidef_add_switch "switch0" \
  273. "0:lan" "1:wan" "6@eth0"
  274. ;;
  275. b2c|\
  276. nw718|\
  277. psr-680w|\
  278. sl-r7205|\
  279. ur-336un|\
  280. w502u|\
  281. wr6202)
  282. ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
  283. ;;
  284. br-6475nd)
  285. ucidef_add_switch "switch0" \
  286. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
  287. ;;
  288. c108|\
  289. cf-wr800n)
  290. ucidef_add_switch "switch0" \
  291. "4:lan" "6t@eth0"
  292. ;;
  293. cy-swr1100)
  294. ucidef_add_switch "switch0" \
  295. "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
  296. ;;
  297. duzun-dm06)
  298. ucidef_add_switch "switch0" \
  299. "1:lan" "0:wan" "6@eth0"
  300. ;;
  301. e1700|\
  302. mt7620a_mt7530)
  303. ucidef_add_switch "switch1" \
  304. "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
  305. ;;
  306. edimax,br-6478ac-v2|\
  307. tplink,c2-v1)
  308. ucidef_add_switch "switch1" \
  309. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
  310. ;;
  311. hc5661|\
  312. y1s)
  313. ucidef_add_switch "switch0" \
  314. "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
  315. ;;
  316. hc5861)
  317. ucidef_add_switch "switch0" \
  318. "0:lan" "1:lan" "5:wan" "6@eth0"
  319. ;;
  320. iodata,wn-ac1167gr|\
  321. iodata,wn-ac733gr3)
  322. ucidef_add_switch "switch1" \
  323. "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
  324. ;;
  325. kn_rf)
  326. ucidef_add_switch "switch0" \
  327. "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
  328. ;;
  329. kng_rc)
  330. ucidef_add_switch "switch1" \
  331. "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
  332. ;;
  333. mlwg2|\
  334. wizard8800|\
  335. wl-330n)
  336. ucidef_set_interface_lan "eth0.1"
  337. ;;
  338. mr200)
  339. ucidef_add_switch "switch0" \
  340. "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
  341. ucidef_set_interface_wan "usb0"
  342. ;;
  343. netgear,r6120)
  344. ucidef_add_switch "switch0" \
  345. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
  346. ;;
  347. hc5761)
  348. ucidef_add_switch "switch0" \
  349. "1:lan" "4:lan" "0:wan" "6@eth0"
  350. ;;
  351. mzk-dp150n|\
  352. vocore-8M|\
  353. vocore-16M)
  354. ucidef_add_switch "switch0" \
  355. "0:lan" "4:lan" "6t@eth0"
  356. ;;
  357. newifi-d1)
  358. ucidef_add_switch "switch0" \
  359. "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
  360. ;;
  361. phicomm,k2g)
  362. ucidef_add_switch "switch0" \
  363. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
  364. ;;
  365. dlink,dir-510l|\
  366. glinet,vixmini|\
  367. netgear,ex6150|\
  368. re350-v1)
  369. ucidef_add_switch "switch0" \
  370. "0:lan" "6@eth0"
  371. ;;
  372. re6500)
  373. ucidef_add_switch "switch0" \
  374. "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
  375. ;;
  376. rt-n56u)
  377. ucidef_add_switch "switch0" \
  378. "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
  379. ;;
  380. tew-638apb-v2)
  381. ucidef_add_switch "switch0" \
  382. "4:lan" "6@eth0"
  383. ;;
  384. lava,lr-25g001|\
  385. tew-691gr|\
  386. tew-692gr|\
  387. wlr-6000)
  388. ucidef_add_switch "switch0" \
  389. "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
  390. ;;
  391. tplink,tl-wr902ac-v3)
  392. ucidef_add_switch "switch0" \
  393. "4:lan" "6@eth0"
  394. ;;
  395. vonets,var11n-300|\
  396. wt1520-4M|\
  397. wt1520-8M)
  398. ucidef_add_switch "switch0" \
  399. "0:lan" "4:wan" "6@eth0"
  400. ;;
  401. vocore2|\
  402. vocore2lite)
  403. ucidef_add_switch "switch0" \
  404. "0:lan" "2:lan" "6t@eth0"
  405. ;;
  406. f5d8235-v1|\
  407. f5d8235-v2|\
  408. tew-714tru|\
  409. v11st-fe|\
  410. wzr-agl300nh)
  411. ucidef_add_switch "switch0" \
  412. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
  413. ;;
  414. wcr-1166ds)
  415. ucidef_add_switch "switch0" \
  416. "3:lan" "4:wan" "6@eth0"
  417. ;;
  418. wcr-150gn|\
  419. we1026-5g-16m)
  420. ucidef_add_switch "switch0" \
  421. "0:lan" "6t@eth0"
  422. ;;
  423. whr-1166d)
  424. ucidef_add_switch "switch0" \
  425. "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
  426. ;;
  427. wizfi630a)
  428. ucidef_add_switch "switch0" \
  429. "0:lan" "1:lan" "2:wan" "6@eth0"
  430. ;;
  431. wiznet,wizfi630s)
  432. ucidef_add_switch "switch0" \
  433. "0:wan" "3:lan" "4:lan" "6@eth0"
  434. ;;
  435. wt3020-4M|\
  436. wt3020-8M)
  437. ucidef_add_switch "switch0" \
  438. "4:lan" "0:wan" "6@eth0"
  439. ;;
  440. xiaomi,mir3g)
  441. ucidef_add_switch "switch0" \
  442. "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
  443. ;;
  444. xiaomi,mir3p)
  445. ucidef_add_switch "switch0" \
  446. "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
  447. ;;
  448. zbtlink,zbt-we1226|\
  449. y1)
  450. ucidef_add_switch "switch0" \
  451. "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
  452. ;;
  453. zyxel,keenetic-start)
  454. ucidef_add_switch "switch0" \
  455. "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
  456. ;;
  457. *)
  458. RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
  459. if [ -n "${RT3X5X}" ]; then
  460. ramips_setup_rt3x5x_vlans
  461. else
  462. ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
  463. fi
  464. ;;
  465. esac
  466. }
  467. ramips_setup_macs()
  468. {
  469. local board="$1"
  470. local lan_mac=""
  471. local wan_mac=""
  472. case $board in
  473. a5-v11|\
  474. ht-tm02|\
  475. wmdr-143n)
  476. lan_mac=$(cat /sys/class/net/eth0/address)
  477. ;;
  478. carambola|\
  479. freestation5|\
  480. w502u|\
  481. wnce2001)
  482. wan_mac=$(mtd_get_mac_binary factory 46)
  483. ;;
  484. bc2|\
  485. broadway|\
  486. d105|\
  487. dir-300-b7|\
  488. dir-320-b1|\
  489. dir-620-a1|\
  490. esr-9753|\
  491. freestation5|\
  492. hlk-rm04|\
  493. mpr-a1|\
  494. psr-680w|\
  495. sl-r7205|\
  496. y1|\
  497. y1s)
  498. lan_mac=$(cat /sys/class/net/eth0/address)
  499. lan_mac=$(macaddr_setbit_la "$lan_mac")
  500. wan_mac=$(macaddr_add "$lan_mac" 1)
  501. ;;
  502. belkin,f9k1109v1)
  503. wan_mac=$(mtd_get_mac_ascii uboot-env HW_WAN_MAC)
  504. lan_mac=$(mtd_get_mac_ascii uboot-env HW_LAN_MAC)
  505. ;;
  506. br-6475nd)
  507. lan_mac=$(cat /sys/class/net/eth0/address)
  508. wan_mac=$(mtd_get_mac_binary devdata 7)
  509. ;;
  510. cy-swr1100|\
  511. dch-m225)
  512. lan_mac=$(mtd_get_mac_ascii factory lanmac)
  513. ;;
  514. dir-645)
  515. lan_mac=$(mtd_get_mac_ascii nvram lanmac)
  516. wan_mac=$(mtd_get_mac_ascii nvram wanmac)
  517. ;;
  518. dir-860l-b1)
  519. lan_mac=$(mtd_get_mac_ascii factory lanmac)
  520. wan_mac=$(mtd_get_mac_ascii factory wanmac)
  521. ;;
  522. dlink,dir-510l|\
  523. dlink,dwr-116-a1|\
  524. dlink,dwr-118-a1|\
  525. dlink,dwr-118-a2|\
  526. dlink,dwr-921-c1|\
  527. dlink,dwr-922-e2|\
  528. lava,lr-25g001)
  529. wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
  530. lan_mac=$(macaddr_add "$wan_mac" 1)
  531. ;;
  532. e1700)
  533. wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
  534. ;;
  535. edimax,br-6478ac-v2)
  536. lan_mac=$(cat /sys/class/net/eth0/address)
  537. wan_mac=$(macaddr_add "$lan_mac" 2)
  538. ;;
  539. elecom,wrc-1167ghbk2-s|\
  540. elecom,wrc-2533gst|\
  541. elecom,wrc-1900gst|\
  542. sk-wb8)
  543. wan_mac=$(mtd_get_mac_binary factory 57350)
  544. ;;
  545. gl-mt300n-v2|\
  546. whr-g300n)
  547. wan_mac=$(mtd_get_mac_binary factory 4)
  548. ;;
  549. hc5*61|\
  550. hc5661a|\
  551. hc5962|\
  552. hiwifi,hc5861b)
  553. lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
  554. [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
  555. wan_mac=$(macaddr_add "$lan_mac" 1)
  556. ;;
  557. iodata,wn-ac1167gr|\
  558. iodata,wn-ac733gr3)
  559. wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" -1)
  560. ;;
  561. iodata,wn-ax1167gr|\
  562. iodata,wn-gx300gr)
  563. wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" 1)
  564. ;;
  565. kn_rc|\
  566. kn_rf|\
  567. kng_rc)
  568. wan_mac=$(mtd_get_mac_binary factory 40)
  569. ;;
  570. linkits7688)
  571. wan_mac=$(mtd_get_mac_binary factory 4)
  572. lan_mac=$(mtd_get_mac_binary factory 46)
  573. ;;
  574. mac1200rv2)
  575. lan_mac=$(mtd_get_mac_binary factory_info 13)
  576. wan_mac=$(macaddr_add "$lan_mac" 1)
  577. ;;
  578. miwifi-mini)
  579. wan_mac=$(cat /sys/class/net/eth0/address)
  580. lan_mac=$(macaddr_setbit_la "$wan_mac")
  581. ;;
  582. m3|\
  583. m4-4M|\
  584. m4-8M|\
  585. x5|\
  586. x8)
  587. lan_mac=$(cat /sys/class/net/eth0/address)
  588. lan_mac=$(macaddr_add "$lan_mac" -2)
  589. ;;
  590. newifi-d1)
  591. lan_mac=$(cat /sys/class/net/eth0/address)
  592. lan_mac=$(macaddr_add "$lan_mac" 2)
  593. ;;
  594. omega2|\
  595. omega2p)
  596. wan_mac=$(mtd_get_mac_binary factory 4)
  597. lan_mac=$(mtd_get_mac_binary factory 46)
  598. ;;
  599. oy-0001|\
  600. phicomm,k2g)
  601. lan_mac=$(mtd_get_mac_binary factory 40)
  602. wan_mac=$(mtd_get_mac_binary factory 46)
  603. ;;
  604. r6220|\
  605. netgear,r6350)
  606. wan_mac=$(mtd_get_mac_binary factory 4)
  607. lan_mac=$(macaddr_add "$wan_mac" 1)
  608. ;;
  609. rt-n56u)
  610. lan_mac=$(cat /sys/class/net/eth0/address)
  611. lan_mac=$(macaddr_setbit_la "$lan_mac")
  612. wan_mac=$(mtd_get_mac_binary factory 32772)
  613. ;;
  614. skylab,skw92a)
  615. lan_mac=$(mtd_get_mac_binary factory 40)
  616. wan_mac=$(mtd_get_mac_binary factory 46)
  617. ;;
  618. tew-691gr)
  619. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
  620. ;;
  621. tew-692gr)
  622. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
  623. ;;
  624. tiny-ac)
  625. lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
  626. wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
  627. ;;
  628. vr500)
  629. lan_mac=$(mtd_get_mac_binary factory 57344)
  630. wan_mac=$(mtd_get_mac_binary factory 57350)
  631. ;;
  632. w306r-v20)
  633. lan_mac=$(cat /sys/class/net/eth0/address)
  634. wan_mac=$(macaddr_add "$lan_mac" 5)
  635. ;;
  636. wcr-1166ds|\
  637. wsr-1166)
  638. local index="$(find_mtd_index "board_data")"
  639. wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
  640. lan_mac=$wan_mac
  641. ;;
  642. wcr-150gn)
  643. wan_mac=$(mtd_get_mac_binary factory 40)
  644. ;;
  645. whr-1166d|\
  646. whr-300hp2|\
  647. whr-600d|\
  648. wsr-600)
  649. wan_mac=$(mtd_get_mac_binary factory 4)
  650. lan_mac=$wan_mac
  651. ;;
  652. wizfi630a)
  653. lan_mac=$(mtd_get_mac_binary factory 4)
  654. wan_mac=$(mtd_get_mac_binary factory 40)
  655. ;;
  656. wlr-6000)
  657. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
  658. ;;
  659. xiaomi,mir3g|\
  660. xiaomi,mir3p)
  661. lan_mac=$(mtd_get_mac_binary Factory 0xe006)
  662. ;;
  663. zyxel,keenetic-start)
  664. wan_mac=$(mtd_get_mac_binary factory 40)
  665. ;;
  666. *)
  667. lan_mac=$(cat /sys/class/net/eth0/address)
  668. wan_mac=$(macaddr_add "$lan_mac" 1)
  669. ;;
  670. esac
  671. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  672. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  673. }
  674. board_config_update
  675. board=$(board_name)
  676. ramips_setup_interfaces $board
  677. ramips_setup_macs $board
  678. board_config_flush
  679. exit 0