02_network 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832
  1. . /lib/functions/system.sh
  2. . /lib/functions/uci-defaults.sh
  3. . /lib/functions/k2t.sh
  4. ath79_setup_interfaces()
  5. {
  6. local board="$1"
  7. case "$board" in
  8. adtran,bsap1800-v2|\
  9. adtran,bsap1840|\
  10. allnet,all-wap02860ac|\
  11. alfa-network,ap121f|\
  12. alfa-network,pi-wifi4|\
  13. alfa-network,tube-2hq|\
  14. araknis,an-300-ap-i-n|\
  15. araknis,an-500-ap-i-ac|\
  16. araknis,an-700-ap-i-ac|\
  17. arduino,yun|\
  18. aruba,ap-105|\
  19. aruba,ap-175|\
  20. asus,rp-ac51|\
  21. asus,rp-ac66|\
  22. avm,fritz1750e|\
  23. avm,fritz300e|\
  24. avm,fritzdvbc|\
  25. comfast,cf-wr752ac-v1|\
  26. comfast,cf-e130n-v2|\
  27. devolo,dvl1200i|\
  28. devolo,dvl1750c|\
  29. devolo,dvl1750i|\
  30. devolo,dvl1750x|\
  31. dlink,dap-1330-a1|\
  32. dlink,dap-1365-a1|\
  33. dlink,dap-2230-a1|\
  34. dlink,dap-2660-a1|\
  35. dlink,dap-2680-a1|\
  36. dlink,dap-3320-a1|\
  37. dlink,dir-505|\
  38. engenius,eap1200h|\
  39. engenius,eap1750h|\
  40. engenius,eap600|\
  41. engenius,ecb1200|\
  42. engenius,ecb1750|\
  43. engenius,ecb600|\
  44. enterasys,ws-ap3705i|\
  45. extreme-networks,ws-ap3805i|\
  46. fortinet,fap-221-b|\
  47. glinet,gl-ar300m-lite|\
  48. glinet,gl-usb150|\
  49. hak5,wifi-pineapple-nano|\
  50. meraki,mr16|\
  51. netgear,ex7300|\
  52. netgear,ex7300-v2|\
  53. netgear,wndap360|\
  54. ocedo,koala|\
  55. ocedo,raccoon|\
  56. onion,omega|\
  57. openmesh,mr600-v1|\
  58. openmesh,mr600-v2|\
  59. openmesh,mr900-v1|\
  60. openmesh,mr900-v2|\
  61. openmesh,mr1750-v1|\
  62. openmesh,mr1750-v2|\
  63. pcs,cap324|\
  64. pisen,ts-d084|\
  65. pisen,wmb001n|\
  66. pisen,wmm003n|\
  67. ruckus,zf7321|\
  68. ruckus,zf7341|\
  69. ruckus,zf7351|\
  70. siemens,ws-ap3610|\
  71. sophos,ap15|\
  72. sophos,ap55|\
  73. sophos,ap55c|\
  74. sophos,ap100|\
  75. sophos,ap100c|\
  76. tplink,cpe210-v2|\
  77. tplink,cpe210-v3|\
  78. tplink,cpe510-v2|\
  79. tplink,cpe510-v3|\
  80. tplink,cpe605-v1|\
  81. tplink,cpe610-v1|\
  82. tplink,cpe610-v2|\
  83. tplink,cpe710-v1|\
  84. tplink,eap225-outdoor-v1|\
  85. tplink,eap225-outdoor-v3|\
  86. tplink,eap225-v1|\
  87. tplink,eap225-v3|\
  88. tplink,eap225-v4|\
  89. tplink,eap245-v1|\
  90. tplink,re350k-v1|\
  91. tplink,re355-v1|\
  92. tplink,re450-v1|\
  93. tplink,re450-v2|\
  94. tplink,re450-v3|\
  95. tplink,re455-v1|\
  96. tplink,tl-wa1201-v2|\
  97. tplink,tl-wr902ac-v1|\
  98. ubnt,bullet-ac|\
  99. ubnt,bullet-m-xw|\
  100. ubnt,lap-120|\
  101. ubnt,litebeam-ac-gen2|\
  102. ubnt,nanobeam-ac|\
  103. ubnt,nanobeam-ac-xc|\
  104. ubnt,nanostation-ac-loco|\
  105. ubnt,nanostation-loco-m-xw|\
  106. ubnt,powerbeam-5ac-500|\
  107. ubnt,powerbeam-5ac-gen2|\
  108. ubnt,powerbeam-m2-xw|\
  109. ubnt,powerbeam-m5-xw|\
  110. ubnt,rocket-5ac-lite|\
  111. ubnt,unifiac-lite|\
  112. ubnt,unifiac-lr|\
  113. ubnt,unifiac-mesh|\
  114. ubnt,unifi|\
  115. watchguard,ap100|\
  116. watchguard,ap200|\
  117. watchguard,ap300|\
  118. wd,mynet-wifi-rangeextender|\
  119. winchannel,wb2000|\
  120. zyxel,nwa1100-nh|\
  121. zyxel,nwa1121-ni|\
  122. zyxel,nwa1123-ac|\
  123. zyxel,nwa1123-ni)
  124. ucidef_set_interface_lan "eth0"
  125. ;;
  126. airtight,c-75)
  127. ucidef_add_switch "switch0" \
  128. "0@eth0" "2:wan" "3:lan" "6@eth1"
  129. ;;
  130. alfa-network,ap121fe)
  131. ucidef_set_interface_lan "eth0 usb0"
  132. ;;
  133. alfa-network,n2q|\
  134. alfa-network,n5q|\
  135. devolo,dvl1200e|\
  136. devolo,dvl1750e|\
  137. engenius,enstationac-v1|\
  138. engenius,ews511ap|\
  139. engenius,ews660ap|\
  140. ocedo,ursus|\
  141. ruckus,zf7363|\
  142. ruckus,zf7372|\
  143. ubnt,unifi-ap-outdoor-plus)
  144. ucidef_set_interface_lan "eth0 eth1"
  145. ;;
  146. asus,pl-ac56)
  147. # port 6 (internal) is the power-line port
  148. ucidef_add_switch "switch0" \
  149. "0@eth0" "1:lan:1" "2:lan:2" "3:lan:3" "6:lan:4"
  150. ;;
  151. atheros,db120)
  152. ucidef_add_switch "switch0" \
  153. "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
  154. ucidef_add_switch "switch1" \
  155. "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan"
  156. ;;
  157. avm,fritz4020|\
  158. pcs,cr3000|\
  159. tplink,archer-c58-v1|\
  160. tplink,archer-c59-v1|\
  161. tplink,archer-c59-v2|\
  162. wd,mynet-n600)
  163. ucidef_set_interface_wan "eth1"
  164. ucidef_add_switch "switch0" \
  165. "0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
  166. ;;
  167. belkin,f9j1108-v2|\
  168. belkin,f9k1115-v2|\
  169. tplink,archer-c5-v1|\
  170. tplink,archer-c7-v1|\
  171. tplink,archer-c7-v2|\
  172. tplink,tl-wdr4900-v2|\
  173. tplink,tl-wdr7500-v3)
  174. ucidef_add_switch "switch0" \
  175. "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
  176. ;;
  177. buffalo,bhr-4grv|\
  178. buffalo,wzr-hp-g450h)
  179. ucidef_add_switch "switch0" \
  180. "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
  181. ;;
  182. buffalo,bhr-4grv2|\
  183. trendnet,tew-823dru)
  184. ucidef_add_switch "switch0" \
  185. "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth0"
  186. ;;
  187. buffalo,wzr-600dhp|\
  188. buffalo,wzr-hp-ag300h|\
  189. tplink,archer-c25-v1|\
  190. tplink,archer-c60-v1|\
  191. tplink,archer-c60-v2|\
  192. tplink,archer-c60-v3|\
  193. tplink,tl-wdr3500-v1|\
  194. tplink,tl-wr842n-v1|\
  195. tplink,tl-wr842n-v3)
  196. ucidef_set_interface_wan "eth1"
  197. ucidef_add_switch "switch0" \
  198. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  199. ;;
  200. teltonika,rut300)
  201. ucidef_set_interface_wan "eth1"
  202. ucidef_add_switch "switch0" \
  203. "0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
  204. ;;
  205. buffalo,wzr-hp-g300nh-rb|\
  206. buffalo,wzr-hp-g300nh-s|\
  207. dlink,dir-825-b1|\
  208. trendnet,tew-673gru)
  209. ucidef_set_interface_wan "eth1"
  210. ucidef_add_switch "switch0" \
  211. "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
  212. ;;
  213. buffalo,wzr-hp-g302h-a1a0)
  214. ucidef_add_switch "switch0" \
  215. "0@eth0" "1:lan:1" "3:lan:4" "4:lan:3" "5:lan:2" "2:wan"
  216. ;;
  217. alcatel,hh40v|\
  218. comfast,cf-e110n-v2|\
  219. comfast,cf-e120a-v3|\
  220. comfast,cf-e314n-v2|\
  221. compex,wpj531-16m|\
  222. openmesh,a40|\
  223. openmesh,a60|\
  224. openmesh,om2p-v1|\
  225. openmesh,om2p-v4|\
  226. openmesh,om2p-hs-v4|\
  227. plasmacloud,pa300|\
  228. plasmacloud,pa300e|\
  229. tplink,cpe210-v1|\
  230. tplink,cpe220-v2|\
  231. tplink,cpe220-v3|\
  232. tplink,cpe510-v1|\
  233. tplink,wbs210-v1|\
  234. tplink,wbs210-v2|\
  235. tplink,wbs510-v1|\
  236. tplink,wbs510-v2|\
  237. ubnt,routerstation)
  238. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  239. ;;
  240. comfast,cf-e375ac|\
  241. moxa,awk-1137c)
  242. ucidef_add_switch "switch0" \
  243. "0@eth0" "1:wan" "2:lan"
  244. ;;
  245. comfast,cf-e560ac|\
  246. qca,ap143-8m|\
  247. qca,ap143-16m|\
  248. tplink,tl-wr841hp-v3|\
  249. tplink,tl-wdr6500-v2)
  250. ucidef_set_interface_wan "eth1"
  251. ucidef_add_switch "switch0" \
  252. "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
  253. ;;
  254. comfast,cf-wr650ac-v1|\
  255. comfast,cf-wr650ac-v2|\
  256. zyxel,nbg6616)
  257. ucidef_add_switch "switch0" \
  258. "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth1"
  259. ;;
  260. compex,wpj344-16m|\
  261. compex,wpj563)
  262. ucidef_add_switch "switch0" \
  263. "0@eth0" "3:lan" "2:wan"
  264. ;;
  265. compex,wpj558-16m)
  266. ucidef_add_switch "switch0" \
  267. "1:wan" "5:lan" "6@eth0"
  268. ;;
  269. devolo,dlan-pro-1200plus-ac|\
  270. devolo,magic-2-wifi)
  271. ucidef_add_switch "switch0" \
  272. "0@eth0" "2:wan" "3:lan" "4:lan"
  273. ;;
  274. dlink,dap-2695-a1)
  275. ucidef_add_switch "switch0" \
  276. "0@eth0" "2:lan" "3:wan" "6@eth1"
  277. ;;
  278. dlink,dap-3662-a1)
  279. ucidef_add_switch "switch0" \
  280. "0@eth0" "1:lan:2" "2:lan:1" "6@eth1"
  281. ;;
  282. dlink,dch-g020-a1)
  283. ucidef_add_switch "switch0" \
  284. "0@eth0" "1:lan:2" "2:lan:1"
  285. ;;
  286. dlink,dir-629-a1|\
  287. dlink,dir-825-c1|\
  288. dlink,dir-835-a1|\
  289. dlink,dir-842-c1|\
  290. dlink,dir-842-c2|\
  291. dlink,dir-842-c3|\
  292. dlink,dir-859-a1|\
  293. dlink,dir-859-a3|\
  294. dlink,dir-869-a1|\
  295. engenius,epg5000|\
  296. engenius,esr1200|\
  297. engenius,esr1750|\
  298. engenius,esr900|\
  299. sitecom,wlr-7100|\
  300. tplink,archer-c2-v3|\
  301. tplink,tl-wr1043nd-v4|\
  302. tplink,tl-wr1043n-v5)
  303. ucidef_add_switch "switch0" \
  304. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
  305. ;;
  306. elecom,wrc-1750ghbk2-i|\
  307. elecom,wrc-300ghbk2-i|\
  308. sitecom,wlr-8100)
  309. ucidef_add_switch "switch0" \
  310. "0@eth0" "2:lan:4" "3:lan:3" "4:lan:2" "5:lan:1" "1:wan"
  311. ;;
  312. embeddedwireless,balin)
  313. ucidef_add_switch "switch0" \
  314. "0@eth0" "5:lan:1" "4:lan:2" "3:wan"
  315. ;;
  316. embeddedwireless,dorin)
  317. ucidef_add_switch "switch0" \
  318. "0@eth0" "1:wan" "2:lan:3" "3:lan:2"
  319. ;;
  320. engenius,eap300-v2)
  321. ucidef_add_switch "switch0" \
  322. "0@eth0" "1:lan"
  323. ;;
  324. engenius,ens202ext-v1)
  325. ucidef_set_interface_lan "eth1"
  326. ucidef_add_switch "switch0" \
  327. "0@eth0" "1:lan"
  328. ;;
  329. etactica,eg200)
  330. ucidef_set_interface_lan "eth0" "dhcp"
  331. ;;
  332. glinet,gl-ar750)
  333. ucidef_set_interface_wan "eth1"
  334. ucidef_add_switch "switch0" \
  335. "0@eth0" "1:lan" "2:lan"
  336. ;;
  337. glinet,gl-x300b)
  338. ucidef_set_interface_wan "eth1"
  339. ucidef_add_switch "switch0" \
  340. "0@eth0" "4:lan"
  341. ;;
  342. iodata,etg3-r|\
  343. iodata,wn-ac1167dgr|\
  344. iodata,wn-ac1600dgr|\
  345. iodata,wn-ac1600dgr2|\
  346. iodata,wn-ag300dgr|\
  347. pcs,cr5000|\
  348. wd,mynet-n750)
  349. ucidef_add_switch "switch0" \
  350. "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
  351. ;;
  352. jjplus,jwap230)
  353. ucidef_add_switch "switch0" \
  354. "0@eth0" "5:wan:1" "1:lan:2" "6@eth1"
  355. ;;
  356. joyit,jt-or750i)
  357. ucidef_set_interface_wan "eth1"
  358. ucidef_add_switch "switch0" \
  359. "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
  360. ;;
  361. kuwfi,c910)
  362. ucidef_set_interface_wan "eth1"
  363. ucidef_add_switch "switch0" \
  364. "0@eth0" "1:lan:2" "4:lan:1"
  365. ;;
  366. letv,lba-047-ch)
  367. ucidef_set_interface_wan "eth0"
  368. ucidef_add_switch "switch0" \
  369. "0@eth1" "3:lan:2" "4:lan:1"
  370. ;;
  371. librerouter,librerouter-v1)
  372. ucidef_add_switch "switch0" \
  373. "0@eth0" "5:wan" "6@eth1" "4:lan"
  374. ;;
  375. meraki,mr12)
  376. ucidef_set_interface_lan "eth0"
  377. ucidef_add_switch "switch0" \
  378. "0@eth1" "1:lan"
  379. ;;
  380. mercury,mw4530r-v1|\
  381. tplink,archer-a7-v5|\
  382. tplink,archer-a9-v6|\
  383. tplink,archer-c6-v2|\
  384. tplink,archer-c6-v2-us|\
  385. tplink,archer-c7-v4|\
  386. tplink,archer-c7-v5|\
  387. tplink,tl-wdr3600-v1|\
  388. tplink,tl-wdr4300-v1|\
  389. tplink,tl-wdr4300-v1-il|\
  390. tplink,tl-wdr4310-v1)
  391. ucidef_add_switch "switch0" \
  392. "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
  393. ;;
  394. nec,wf1200cr)
  395. ucidef_set_interface_wan "eth1"
  396. ucidef_add_switch "switch0" \
  397. "0@eth0" "1:lan"
  398. ;;
  399. nec,wg1200cr|\
  400. qxwlan,e1700ac-v2-8m|\
  401. qxwlan,e1700ac-v2-16m|\
  402. qxwlan,e750g-v8-8m|\
  403. qxwlan,e750g-v8-16m|\
  404. ubnt,nanobeam-ac-gen2|\
  405. ubnt,nanostation-ac|\
  406. yuncore,a782|\
  407. yuncore,xd3200|\
  408. yuncore,xd4200)
  409. ucidef_add_switch "switch0" \
  410. "0@eth0" "2:lan" "3:wan"
  411. ;;
  412. nec,wg800hp|\
  413. xiaomi,aiot-ac2350)
  414. ucidef_add_switch "switch0" \
  415. "0@eth0" "2:lan" "3:lan" "4:lan" "1:wan"
  416. ;;
  417. netgear,wndr3700|\
  418. netgear,wndr3700-v2|\
  419. netgear,wndr3800|\
  420. netgear,wndr3800ch|\
  421. netgear,wndrmac-v1|\
  422. netgear,wndrmac-v2)
  423. ucidef_set_interface_wan "eth1"
  424. ucidef_add_switch "switch0" \
  425. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@eth0"
  426. ucidef_add_switch_attr "switch0" "blinkrate" 2
  427. ucidef_add_switch_port_attr "switch0" 1 led 6
  428. ucidef_add_switch_port_attr "switch0" 2 led 9
  429. ucidef_add_switch_port_attr "switch0" 5 led 2
  430. ;;
  431. netgear,wnr2200-8m|\
  432. netgear,wnr2200-16m)
  433. ucidef_set_interface_wan "eth0"
  434. ucidef_add_switch "switch0" \
  435. "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
  436. ;;
  437. phicomm,k2t)
  438. ucidef_add_switch "switch0" \
  439. "0@eth0" "3:lan:1" "5:lan:2" "4:wan"
  440. ;;
  441. qihoo,c301)
  442. ucidef_set_interface_wan "eth1"
  443. ucidef_add_switch "switch0" \
  444. "0@eth0" "2:lan" "3:lan"
  445. ;;
  446. qxwlan,e558-v2-8m|\
  447. qxwlan,e558-v2-16m)
  448. ucidef_add_switch "switch0" \
  449. "0@eth1" "4:lan" "5:lan" "6@eth0" "3:wan"
  450. ;;
  451. rosinson,wr818)
  452. ucidef_add_switch "switch0" \
  453. "0@eth0" "1:lan" "2:lan" "3:wan"
  454. ;;
  455. ruckus,zf7025)
  456. ucidef_set_interface_lan "eth0 eth1"
  457. ucidef_add_switch "switch0" \
  458. "0u@eth1" "4:lan:1" "3:lan:2" "2:lan:3" "1:lan:4"
  459. ;;
  460. teltonika,rut955|\
  461. teltonika,rut955-h7v3c0)
  462. ucidef_set_interface_wan "eth1"
  463. ucidef_add_switch "switch0" \
  464. "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
  465. ;;
  466. tplink,archer-d50-v1)
  467. ucidef_add_switch "switch0" \
  468. "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "1:wan"
  469. ;;
  470. tplink,archer-d7-v1|\
  471. tplink,archer-d7b-v1)
  472. ucidef_add_switch "switch0" \
  473. "0@eth1" "3:lan:3" "4:lan:2" "5:lan:1" "6@eth0" "2:wan:4" "1:wan:5"
  474. ;;
  475. tplink,eap225-wall-v2)
  476. ucidef_add_switch "switch0" \
  477. "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
  478. ;;
  479. tplink,eap245-v3)
  480. ucidef_add_switch "switch0" \
  481. "0@eth0" "2:lan:1" "5:lan:2"
  482. ;;
  483. tplink,tl-mr6400-v1)
  484. ucidef_set_interfaces_lan_wan "eth0.1 eth1" "usb0"
  485. ucidef_add_switch "switch0" \
  486. "0@eth0" "1:lan:1" "2:lan:3" "3:lan:2"
  487. ;;
  488. tplink,tl-wpa8630-v1)
  489. # port 5 (internal) is the power-line port
  490. ucidef_add_switch "switch0" \
  491. "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"
  492. ;;
  493. tplink,tl-wr841hp-v2|\
  494. tplink,tl-wr842n-v2|\
  495. tplink,tl-wr941hp-v1)
  496. ucidef_set_interface_wan "eth1"
  497. ucidef_add_switch "switch0" \
  498. "0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
  499. ;;
  500. tplink,tl-wr1043nd-v1)
  501. ucidef_add_switch "switch0" \
  502. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
  503. ;;
  504. tplink,tl-wr1043nd-v2|\
  505. tplink,tl-wr1043nd-v3|\
  506. tplink,tl-wr1045nd-v2)
  507. ucidef_add_switch "switch0" \
  508. "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
  509. ;;
  510. tplink,tl-wr2543-v1)
  511. ucidef_add_switch "switch0" \
  512. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
  513. ;;
  514. ubnt,aircube-ac)
  515. ucidef_add_switch "switch0" \
  516. "0@eth0" "2:lan:1" "3:lan:2" "5:lan:3" "4:wan"
  517. ;;
  518. ubnt,aircube-isp)
  519. ucidef_set_interface_wan "eth1"
  520. ucidef_add_switch "switch0" \
  521. "0@eth0" "2:lan:1" "3:lan:3" "4:lan:2"
  522. ;;
  523. ubnt,edgeswitch-5xp)
  524. ucidef_set_interface_wan "eth1"
  525. ucidef_add_switch "switch0" \
  526. "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan"
  527. ;;
  528. ubnt,edgeswitch-8xp)
  529. ucidef_set_interface_wan "eth1"
  530. ucidef_add_switch "switch0" \
  531. "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:lan:5" "5:lan:6" "6:lan:7" "7:lan:8" "8@eth0"
  532. ;;
  533. ubnt,routerstation-pro)
  534. ucidef_set_interface_wan "eth0"
  535. ucidef_add_switch "switch0" \
  536. "0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
  537. ;;
  538. ubnt,nanostation-m-xw)
  539. ucidef_add_switch "switch0" \
  540. "0@eth0" "5:lan" "1:wan"
  541. ;;
  542. ubnt,unifiac-mesh-pro|\
  543. ubnt,unifiac-pro)
  544. ucidef_add_switch "switch0" \
  545. "0@eth0" "2:lan:1" "3:lan:2"
  546. ;;
  547. ubnt,unifi-ap-pro)
  548. ucidef_add_switch "switch0" \
  549. "0@eth0" "1:lan" "2:lan"
  550. ;;
  551. tplink,deco-m4r-v1|\
  552. tplink,deco-s4-v2)
  553. ucidef_add_switch "switch0" \
  554. "0@eth0" "3:lan:1" "5:lan:2"
  555. ;;
  556. hiwifi,hc6361|\
  557. xiaomi,mi-router-4q|\
  558. zbtlink,zbt-wd323)
  559. ucidef_set_interface_wan "eth1"
  560. ucidef_add_switch "switch0" \
  561. "0@eth0" "3:lan:1" "4:lan:2"
  562. ;;
  563. *)
  564. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  565. ;;
  566. esac
  567. }
  568. ath79_setup_macs()
  569. {
  570. local board="$1"
  571. case "$board" in
  572. adtran,bsap1800-v2|\
  573. adtran,bsap1840)
  574. lan_mac=$(mtd_get_mac_binary "Board data" 2)
  575. label_mac=$lan_mac
  576. ;;
  577. alfa-network,ap121f|\
  578. alfa-network,ap121fe|\
  579. alfa-network,n2q|\
  580. alfa-network,n5q|\
  581. alfa-network,pi-wifi4|\
  582. alfa-network,r36a|\
  583. alfa-network,tube-2hq|\
  584. engenius,eap300-v2|\
  585. engenius,ens202ext-v1)
  586. label_mac=$(mtd_get_mac_binary art 0x1002)
  587. ;;
  588. arduino,yun)
  589. base_mac=$(mtd_get_mac_binary art 0x1002)
  590. lan_mac=$(macaddr_setbit $base_mac 29)
  591. [ $lan_mac = $base_mac ] && lan_mac=$(macaddr_unsetbit $base_mac 29)
  592. ;;
  593. avm,fritz1750e|\
  594. avm,fritz450e|\
  595. avm,fritzdvbc)
  596. label_mac=$(fritz_tffs -n macwlan -i $(find_mtd_part "tffs (1)"))
  597. ;;
  598. avm,fritz300e)
  599. lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
  600. label_mac=$(fritz_tffs -n macwlan -i $(find_mtd_part "tffs (1)"))
  601. ;;
  602. avm,fritz4020)
  603. lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
  604. wan_mac=$(fritz_tffs -n macb -i $(find_mtd_part "tffs (1)"))
  605. ;;
  606. comfast,cf-e375ac)
  607. wan_mac=$(macaddr_add $(mtd_get_mac_binary art 0x0) 1)
  608. ;;
  609. compex,wpj344-16m|\
  610. compex,wpj558-16m|\
  611. compex,wpj563)
  612. wan_mac=$(mtd_get_mac_binary u-boot 0x2e018)
  613. ;;
  614. devolo,dlan-pro-1200plus-ac|\
  615. devolo,magic-2-wifi)
  616. label_mac=$(macaddr_add "$(mtd_get_mac_binary art 0x1002)" 3)
  617. ;;
  618. dlink,dap-1330-a1|\
  619. dlink,dap-1365-a1|\
  620. dlink,dch-g020-a1)
  621. lan_mac=$(mtd_get_mac_text "mp" 0x1)
  622. label_mac=$lan_mac
  623. ;;
  624. dlink,dap-2230-a1|\
  625. dlink,dap-2660-a1|\
  626. dlink,dap-2680-a1|\
  627. dlink,dap-3320-a1)
  628. lan_mac=$(mtd_get_mac_ascii bdcfg "lanmac")
  629. label_mac=$lan_mac
  630. ;;
  631. dlink,dap-2695-a1|\
  632. dlink,dap-3662-a1)
  633. label_mac=$(mtd_get_mac_ascii bdcfg "wlanmac")
  634. ;;
  635. dlink,dir-629-a1)
  636. wan_mac=$(mtd_get_mac_text "mfcdata" 0x6a)
  637. ;;
  638. trendnet,tew-673gru)
  639. lan_mac=$(mtd_get_mac_text "caldata" 0xffa0)
  640. wan_mac=$(mtd_get_mac_text "caldata" 0xffb4)
  641. label_mac=$wan_mac
  642. ;;
  643. dlink,dir-505)
  644. lan_mac=$(mtd_get_mac_text "mac" 0x4)
  645. ;;
  646. dlink,dir-825-c1|\
  647. dlink,dir-835-a1)
  648. wan_mac=$(mtd_get_mac_text "mac" 0x18)
  649. ;;
  650. dlink,dir-842-c1|\
  651. dlink,dir-842-c2|\
  652. dlink,dir-842-c3)
  653. lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
  654. wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
  655. label_mac=$lan_mac
  656. ;;
  657. dlink,dir-859-a1|\
  658. dlink,dir-869-a1)
  659. lan_mac=$(mtd_get_mac_text "devdata" 0xc9)
  660. wan_mac=$(mtd_get_mac_text "devdata" 0x79)
  661. ;;
  662. dlink,dir-859-a3)
  663. lan_mac=$(get_mac_label)
  664. wan_mac=$(macaddr_add "$lan_mac" 3)
  665. ;;
  666. qihoo,c301|\
  667. wd,mynet-n600|\
  668. wd,mynet-n750)
  669. lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
  670. wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
  671. ;;
  672. elecom,wrc-1750ghbk2-i|\
  673. elecom,wrc-300ghbk2-i)
  674. wan_mac=$(mtd_get_mac_ascii hwconfig "HW.WAN.MAC.Address")
  675. label_mac=$wan_mac
  676. ;;
  677. engenius,ecb1200|\
  678. engenius,ecb1750)
  679. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  680. label_mac=$lan_mac
  681. ;;
  682. engenius,epg5000|\
  683. engenius,esr1200|\
  684. engenius,esr1750|\
  685. engenius,esr900)
  686. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  687. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  688. ;;
  689. engenius,ews511ap)
  690. lan_mac=$(mtd_get_mac_text "u-boot-env" 0xe9)
  691. eth1_mac=$(macaddr_add "$lan_mac" 1)
  692. ucidef_set_interface "eth0" ifname "eth0" protocol "none" macaddr "$lan_mac"
  693. ucidef_set_interface "eth1" ifname "eth1" protocol "none" macaddr "$eth1_mac"
  694. ;;
  695. enterasys,ws-ap3705i)
  696. label_mac=$(mtd_get_mac_ascii u-boot-env0 ethaddr)
  697. ;;
  698. fortinet,fap-221-b)
  699. lan_mac=$(mtd_get_mac_text u-boot 0x3ff80 12)
  700. label_mac=$lan_mac
  701. ;;
  702. hak5,lan-turtle|\
  703. hak5,packet-squirrel)
  704. label_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
  705. ;;
  706. iodata,etg3-r)
  707. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  708. wan_mac=$(macaddr_add "$lan_mac" -1)
  709. label_mac=$wan_mac
  710. ;;
  711. iodata,wn-ac1167dgr|\
  712. iodata,wn-ac1600dgr|\
  713. iodata,wn-ac1600dgr2|\
  714. iodata,wn-ag300dgr)
  715. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  716. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  717. label_mac=$wan_mac
  718. ;;
  719. mercury,mw4530r-v1|\
  720. tplink,tl-wdr3600-v1|\
  721. tplink,tl-wdr4300-v1|\
  722. tplink,tl-wdr4300-v1-il)
  723. base_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
  724. wan_mac=$(macaddr_add "$base_mac" 1)
  725. ;;
  726. tplink,deco-s4-v2)
  727. lan_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
  728. label_mac=$lan_mac
  729. ;;
  730. moxa,awk-1137c)
  731. lan_mac=$(mtd_get_mac_ascii u-boot-env mac_addr)
  732. wan_mac=$(mtd_get_mac_ascii u-boot-env mac_addr)
  733. label_mac=$lan_mac
  734. ;;
  735. nec,wf1200cr|\
  736. nec,wg1200cr)
  737. lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
  738. wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
  739. label_mac=$wan_mac
  740. ;;
  741. nec,wg800hp)
  742. lan_mac=$(mtd_get_mac_text board_data 0x280)
  743. wan_mac=$(mtd_get_mac_text board_data 0x480)
  744. label_mac=$wan_mac
  745. ;;
  746. netgear,wndr3700|\
  747. netgear,wndr3700-v2|\
  748. netgear,wndr3800|\
  749. netgear,wndrmac-v1|\
  750. netgear,wndrmac-v2)
  751. lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0x0)")
  752. ;;
  753. phicomm,k2t)
  754. lan_mac=$(k2t_get_mac "lan_mac")
  755. wan_mac=$(k2t_get_mac "wan_mac")
  756. ;;
  757. rosinson,wr818)
  758. wan_mac=$(mtd_get_mac_binary factory 0x0)
  759. lan_mac=$(macaddr_setbit_la "$wan_mac")
  760. ;;
  761. ruckus,zf7025|\
  762. ruckus,zf7321|\
  763. ruckus,zf7341|\
  764. ruckus,zf7351|\
  765. ruckus,zf7363|\
  766. ruckus,zf7372)
  767. lan_mac=$(mtd_get_mac_binary board-data 0x807E)
  768. label_mac=$lan_mac
  769. ;;
  770. sitecom,wlr-7100|\
  771. sitecom,wlr-8100)
  772. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  773. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  774. label_mac=$lan_mac
  775. ;;
  776. tplink,archer-a7-v5|\
  777. tplink,archer-a9-v6|\
  778. tplink,archer-c7-v4|\
  779. tplink,archer-c7-v5|\
  780. tplink,tl-wr1043nd-v4|\
  781. tplink,tl-wr1043n-v5)
  782. base_mac=$(mtd_get_mac_binary info 0x8)
  783. wan_mac=$(macaddr_add "$base_mac" 1)
  784. ;;
  785. trendnet,tew-823dru)
  786. lan_mac=$(mtd_get_mac_text mac 0x4)
  787. wan_mac=$(mtd_get_mac_text mac 0x18)
  788. label_mac=$wan_mac
  789. ;;
  790. ubnt,unifi)
  791. label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
  792. ;;
  793. ubnt,litebeam-ac-gen2|\
  794. ubnt,nanobeam-ac-gen2|\
  795. ubnt,nanobeam-ac-xc|\
  796. ubnt,powerbeam-5ac-500|\
  797. ubnt,powerbeam-5ac-gen2)
  798. label_mac=$(mtd_get_mac_binary art 0x5006)
  799. ;;
  800. ubnt,routerstation|\
  801. ubnt,routerstation-pro)
  802. wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)
  803. lan_mac=$(macaddr_add "$wan_mac" 1)
  804. ;;
  805. wd,mynet-wifi-rangeextender)
  806. lan_mac=$(nvram get et0macaddr)
  807. ;;
  808. xiaomi,aiot-ac2350)
  809. lan_mac=$(mtd_get_mac_binary art 0x1002)
  810. ;;
  811. zyxel,nbg6616)
  812. label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  813. ;;
  814. esac
  815. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  816. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  817. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  818. }
  819. board_config_update
  820. board=$(board_name)
  821. ath79_setup_interfaces $board
  822. ath79_setup_macs $board
  823. board_config_flush
  824. exit 0