02_network 21 KB

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