02_network 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  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. netgear,ex6150|\
  367. re350-v1)
  368. ucidef_add_switch "switch0" \
  369. "0:lan" "6@eth0"
  370. ;;
  371. re6500)
  372. ucidef_add_switch "switch0" \
  373. "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
  374. ;;
  375. rt-n56u)
  376. ucidef_add_switch "switch0" \
  377. "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
  378. ;;
  379. tew-638apb-v2)
  380. ucidef_add_switch "switch0" \
  381. "4:lan" "6@eth0"
  382. ;;
  383. lava,lr-25g001|\
  384. tew-691gr|\
  385. tew-692gr|\
  386. wlr-6000)
  387. ucidef_add_switch "switch0" \
  388. "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
  389. ;;
  390. tplink,tl-wr902ac-v3)
  391. ucidef_add_switch "switch0" \
  392. "4:lan" "6@eth0"
  393. ;;
  394. vonets,var11n-300|\
  395. wt1520-4M|\
  396. wt1520-8M)
  397. ucidef_add_switch "switch0" \
  398. "0:lan" "4:wan" "6@eth0"
  399. ;;
  400. vocore2|\
  401. vocore2lite)
  402. ucidef_add_switch "switch0" \
  403. "0:lan" "2:lan" "6t@eth0"
  404. ;;
  405. f5d8235-v1|\
  406. f5d8235-v2|\
  407. tew-714tru|\
  408. v11st-fe|\
  409. wzr-agl300nh)
  410. ucidef_add_switch "switch0" \
  411. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
  412. ;;
  413. wcr-1166ds)
  414. ucidef_add_switch "switch0" \
  415. "3:lan" "4:wan" "6@eth0"
  416. ;;
  417. wcr-150gn|\
  418. we1026-5g-16m)
  419. ucidef_add_switch "switch0" \
  420. "0:lan" "6t@eth0"
  421. ;;
  422. whr-1166d)
  423. ucidef_add_switch "switch0" \
  424. "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
  425. ;;
  426. wizfi630a)
  427. ucidef_add_switch "switch0" \
  428. "0:lan" "1:lan" "2:wan" "6@eth0"
  429. ;;
  430. wiznet,wizfi630s)
  431. ucidef_add_switch "switch0" \
  432. "0:wan" "3:lan" "4:lan" "6@eth0"
  433. ;;
  434. wt3020-4M|\
  435. wt3020-8M)
  436. ucidef_add_switch "switch0" \
  437. "4:lan" "0:wan" "6@eth0"
  438. ;;
  439. xiaomi,mir3g)
  440. ucidef_add_switch "switch0" \
  441. "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
  442. ;;
  443. xiaomi,mir3p)
  444. ucidef_add_switch "switch0" \
  445. "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
  446. ;;
  447. zbtlink,zbt-we1226|\
  448. y1)
  449. ucidef_add_switch "switch0" \
  450. "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
  451. ;;
  452. zyxel,keenetic-start)
  453. ucidef_add_switch "switch0" \
  454. "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
  455. ;;
  456. *)
  457. RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
  458. if [ -n "${RT3X5X}" ]; then
  459. ramips_setup_rt3x5x_vlans
  460. else
  461. ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
  462. fi
  463. ;;
  464. esac
  465. }
  466. ramips_setup_macs()
  467. {
  468. local board="$1"
  469. local lan_mac=""
  470. local wan_mac=""
  471. case $board in
  472. a5-v11|\
  473. ht-tm02|\
  474. wmdr-143n)
  475. lan_mac=$(cat /sys/class/net/eth0/address)
  476. ;;
  477. carambola|\
  478. freestation5|\
  479. w502u|\
  480. wnce2001)
  481. wan_mac=$(mtd_get_mac_binary factory 46)
  482. ;;
  483. bc2|\
  484. broadway|\
  485. d105|\
  486. dir-300-b7|\
  487. dir-320-b1|\
  488. dir-620-a1|\
  489. esr-9753|\
  490. freestation5|\
  491. hlk-rm04|\
  492. mpr-a1|\
  493. psr-680w|\
  494. sl-r7205|\
  495. y1|\
  496. y1s)
  497. lan_mac=$(cat /sys/class/net/eth0/address)
  498. lan_mac=$(macaddr_setbit_la "$lan_mac")
  499. wan_mac=$(macaddr_add "$lan_mac" 1)
  500. ;;
  501. belkin,f9k1109v1)
  502. wan_mac=$(mtd_get_mac_ascii uboot-env HW_WAN_MAC)
  503. lan_mac=$(mtd_get_mac_ascii uboot-env HW_LAN_MAC)
  504. ;;
  505. br-6475nd)
  506. lan_mac=$(cat /sys/class/net/eth0/address)
  507. wan_mac=$(mtd_get_mac_binary devdata 7)
  508. ;;
  509. cy-swr1100|\
  510. dch-m225)
  511. lan_mac=$(mtd_get_mac_ascii factory lanmac)
  512. ;;
  513. dir-645)
  514. lan_mac=$(mtd_get_mac_ascii nvram lanmac)
  515. wan_mac=$(mtd_get_mac_ascii nvram wanmac)
  516. ;;
  517. dir-860l-b1)
  518. lan_mac=$(mtd_get_mac_ascii factory lanmac)
  519. wan_mac=$(mtd_get_mac_ascii factory wanmac)
  520. ;;
  521. dlink,dir-510l|\
  522. dlink,dwr-116-a1|\
  523. dlink,dwr-118-a1|\
  524. dlink,dwr-118-a2|\
  525. dlink,dwr-921-c1|\
  526. dlink,dwr-922-e2|\
  527. lava,lr-25g001)
  528. wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
  529. lan_mac=$(macaddr_add "$wan_mac" 1)
  530. ;;
  531. e1700)
  532. wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
  533. ;;
  534. edimax,br-6478ac-v2)
  535. lan_mac=$(cat /sys/class/net/eth0/address)
  536. wan_mac=$(macaddr_add "$lan_mac" 2)
  537. ;;
  538. elecom,wrc-1167ghbk2-s|\
  539. elecom,wrc-2533gst|\
  540. elecom,wrc-1900gst|\
  541. sk-wb8)
  542. wan_mac=$(mtd_get_mac_binary factory 57350)
  543. ;;
  544. gl-mt300n-v2|\
  545. whr-g300n)
  546. wan_mac=$(mtd_get_mac_binary factory 4)
  547. ;;
  548. hc5*61|\
  549. hc5661a|\
  550. hc5962|\
  551. hiwifi,hc5861b)
  552. lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
  553. [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
  554. wan_mac=$(macaddr_add "$lan_mac" 1)
  555. ;;
  556. iodata,wn-ac1167gr|\
  557. iodata,wn-ac733gr3)
  558. wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" -1)
  559. ;;
  560. iodata,wn-ax1167gr|\
  561. iodata,wn-gx300gr)
  562. wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" 1)
  563. ;;
  564. kn_rc|\
  565. kn_rf|\
  566. kng_rc)
  567. wan_mac=$(mtd_get_mac_binary factory 40)
  568. ;;
  569. linkits7688)
  570. wan_mac=$(mtd_get_mac_binary factory 4)
  571. lan_mac=$(mtd_get_mac_binary factory 46)
  572. ;;
  573. mac1200rv2)
  574. lan_mac=$(mtd_get_mac_binary factory_info 13)
  575. wan_mac=$(macaddr_add "$lan_mac" 1)
  576. ;;
  577. miwifi-mini)
  578. wan_mac=$(cat /sys/class/net/eth0/address)
  579. lan_mac=$(macaddr_setbit_la "$wan_mac")
  580. ;;
  581. m3|\
  582. m4-4M|\
  583. m4-8M|\
  584. x5|\
  585. x8)
  586. lan_mac=$(cat /sys/class/net/eth0/address)
  587. lan_mac=$(macaddr_add "$lan_mac" -2)
  588. ;;
  589. newifi-d1)
  590. lan_mac=$(cat /sys/class/net/eth0/address)
  591. lan_mac=$(macaddr_add "$lan_mac" 2)
  592. ;;
  593. omega2|\
  594. omega2p)
  595. wan_mac=$(mtd_get_mac_binary factory 4)
  596. lan_mac=$(mtd_get_mac_binary factory 46)
  597. ;;
  598. oy-0001|\
  599. phicomm,k2g)
  600. lan_mac=$(mtd_get_mac_binary factory 40)
  601. wan_mac=$(mtd_get_mac_binary factory 46)
  602. ;;
  603. r6220|\
  604. netgear,r6350)
  605. wan_mac=$(mtd_get_mac_binary factory 4)
  606. lan_mac=$(macaddr_add "$wan_mac" 1)
  607. ;;
  608. rt-n56u)
  609. lan_mac=$(cat /sys/class/net/eth0/address)
  610. lan_mac=$(macaddr_setbit_la "$lan_mac")
  611. wan_mac=$(mtd_get_mac_binary factory 32772)
  612. ;;
  613. skylab,skw92a)
  614. lan_mac=$(mtd_get_mac_binary factory 40)
  615. wan_mac=$(mtd_get_mac_binary factory 46)
  616. ;;
  617. tew-691gr)
  618. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
  619. ;;
  620. tew-692gr)
  621. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
  622. ;;
  623. tiny-ac)
  624. lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
  625. wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
  626. ;;
  627. vr500)
  628. lan_mac=$(mtd_get_mac_binary factory 57344)
  629. wan_mac=$(mtd_get_mac_binary factory 57350)
  630. ;;
  631. w306r-v20)
  632. lan_mac=$(cat /sys/class/net/eth0/address)
  633. wan_mac=$(macaddr_add "$lan_mac" 5)
  634. ;;
  635. wcr-1166ds|\
  636. wsr-1166)
  637. local index="$(find_mtd_index "board_data")"
  638. wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
  639. lan_mac=$wan_mac
  640. ;;
  641. wcr-150gn)
  642. wan_mac=$(mtd_get_mac_binary factory 40)
  643. ;;
  644. whr-1166d|\
  645. whr-300hp2|\
  646. whr-600d|\
  647. wsr-600)
  648. wan_mac=$(mtd_get_mac_binary factory 4)
  649. lan_mac=$wan_mac
  650. ;;
  651. wizfi630a)
  652. lan_mac=$(mtd_get_mac_binary factory 4)
  653. wan_mac=$(mtd_get_mac_binary factory 40)
  654. ;;
  655. wlr-6000)
  656. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
  657. ;;
  658. xiaomi,mir3g|\
  659. xiaomi,mir3p)
  660. lan_mac=$(mtd_get_mac_binary Factory 0xe006)
  661. ;;
  662. zyxel,keenetic-start)
  663. wan_mac=$(mtd_get_mac_binary factory 40)
  664. ;;
  665. *)
  666. lan_mac=$(cat /sys/class/net/eth0/address)
  667. wan_mac=$(macaddr_add "$lan_mac" 1)
  668. ;;
  669. esac
  670. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  671. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  672. }
  673. board_config_update
  674. board=$(board_name)
  675. ramips_setup_interfaces $board
  676. ramips_setup_macs $board
  677. board_config_flush
  678. exit 0