02_network 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. . /lib/functions.sh
  2. . /lib/functions/uci-defaults.sh
  3. . /lib/functions/system.sh
  4. ramips_setup_interfaces()
  5. {
  6. local board="$1"
  7. case $board in
  8. alfa-network,ax1800rm|\
  9. ampedwireless,ally-r1900k|\
  10. asus,rt-ax53u|\
  11. buffalo,wsr-2533dhpl2|\
  12. buffalo,wsr-2533dhpls|\
  13. confiabits,mt7621-v1|\
  14. dlink,dir-x1860-b1|\
  15. edup,ep-rt2960s|\
  16. gehua,ghl-r-001|\
  17. h3c,tx1800-plus|\
  18. h3c,tx1801-plus|\
  19. h3c,tx1806|\
  20. haier,har-20s2u1|\
  21. hiwifi,hc5962|\
  22. mercusys,mr70x-v1|\
  23. netgear,wax202|\
  24. sim,simax1800t|\
  25. sim,simax1800u|\
  26. tplink,mr600-v2-eu|\
  27. xiaomi,mi-router-3-pro|\
  28. xiaomi,mi-router-ac2100|\
  29. xiaomi,mi-router-cr6606|\
  30. xiaomi,mi-router-cr6608|\
  31. xiaomi,mi-router-cr6609|\
  32. xiaomi,redmi-router-ac2100|\
  33. z-router,zr-2660|\
  34. zyxel,wsm20)
  35. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
  36. ;;
  37. arcadyan,we420223-99)
  38. ucidef_set_interface_lan "swp0 swp1"
  39. ;;
  40. ampedwireless,ally-00x19k|\
  41. arcadyan,we410443|\
  42. asus,rp-ac56|\
  43. asus,rp-ac87|\
  44. cudy,ap1300-outdoor-v1|\
  45. dlink,dap-1620-b1|\
  46. dlink,dap-x1860-a1|\
  47. dlink,dra-1360-a1|\
  48. edimax,re23s|\
  49. linksys,re7000|\
  50. mikrotik,ltap-2hnd|\
  51. mikrotik,routerboard-m11g|\
  52. netgear,eax12|\
  53. netgear,ex6150|\
  54. netgear,wax214v2|\
  55. plasmacloud,pax1800-lite|\
  56. sercomm,na502|\
  57. sercomm,na502s|\
  58. thunder,timecloud|\
  59. tplink,eap613-v1|\
  60. tplink,re350-v1|\
  61. tplink,re500-v1|\
  62. tplink,re650-v1|\
  63. tplink,re650-v2|\
  64. ubnt,unifi-6-lite|\
  65. ubnt,unifi-flexhd|\
  66. ubnt,unifi-nanohd|\
  67. yuncore,fap690|\
  68. wavlink,wl-wn573hx1|\
  69. wodesys,wd-r1802u|\
  70. zyxel,nwa50ax|\
  71. zyxel,nwa55axe)
  72. ucidef_set_interface_lan "lan"
  73. ;;
  74. asiarf,ap7621-001|\
  75. comfast,cf-e390ax|\
  76. comfast,cf-ew72-v2|\
  77. cudy,m1300-v2|\
  78. cudy,m1800|\
  79. dna,valokuitu-plus-ex400|\
  80. genexis,pulse-ex400|\
  81. humax,e10|\
  82. keenetic,kn-3510|\
  83. maginon,mc-1200ac|\
  84. meig,slt866|\
  85. openfi,5pro|\
  86. wavlink,ws-wn572hp3-4g|\
  87. winstars,ws-wn583a6|\
  88. yuncore,ax820|\
  89. zyxel,lte7490-m904|\
  90. zyxel,nr7101)
  91. ucidef_set_interfaces_lan_wan "lan" "wan"
  92. ;;
  93. asiarf,ap7621-nv1|\
  94. beeline,smartbox-flash|\
  95. beeline,smartbox-giga|\
  96. elecom,wmc-x1800gst|\
  97. elecom,wrc-x1800gs|\
  98. gemtek,wvrtm-127acn|\
  99. glinet,gl-mt1300|\
  100. iodata,wn-deax1800gr|\
  101. iptime,a3002mesh|\
  102. iptime,ax2002m|\
  103. jcg,q20|\
  104. jdcloud,re-sp-01b|\
  105. lenovo,newifi-d1|\
  106. mikrotik,routerboard-m33g|\
  107. mts,wg430223|\
  108. oraybox,x3a|\
  109. renkforce,ws-wn530hp3-a|\
  110. xiaomi,mi-router-3g|\
  111. xiaomi,mi-router-3g-v2|\
  112. xiaomi,mi-router-4|\
  113. xiaomi,mi-router-4a-gigabit|\
  114. xiaomi,mi-router-4a-gigabit-v2)
  115. ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
  116. ;;
  117. bolt,arion)
  118. ucidef_set_interfaces_lan_wan "lan" "wan"
  119. ucidef_set_interface "eth_data" device "modem.103" protocol "static" ipaddr "10.22.127.222" netmask "255.255.255.255"
  120. ucidef_set_interface "eth_om" device "modem.4094" protocol "static" ipaddr "169.254.0.2" netmask "255.255.255.252"
  121. uci add_list firewall.@zone[1].network='eth_data'
  122. uci add_list firewall.@zone[1].network='eth_om'
  123. ;;
  124. cudy,c200p|\
  125. cudy,r700|\
  126. mikrotik,routerboard-750gr3)
  127. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan"
  128. ;;
  129. dlink,covr-x1860-a1)
  130. ucidef_set_interfaces_lan_wan "ethernet" "internet"
  131. ;;
  132. elecom,wmc-s1267gs2|\
  133. linksys,re6500|\
  134. netgear,wac104|\
  135. zyxel,lte3301-plus)
  136. ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
  137. ;;
  138. elecom,wsc-x1800gs)
  139. ucidef_set_interface_lan "lan1 lan2"
  140. ;;
  141. gnubee,gb-pc1)
  142. ucidef_set_interface_lan "ethblack ethblue"
  143. ;;
  144. gnubee,gb-pc2)
  145. ucidef_set_interface_lan "ethblack ethblue ethyellow"
  146. ;;
  147. mikrotik,routerboard-760igs)
  148. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan sfp"
  149. ;;
  150. mqmaker,witi)
  151. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan1 wan2"
  152. ;;
  153. tozed,zlt-s12-pro)
  154. ucidef_set_interface_lan "lan1 lan2 lan3 wan"
  155. ucidef_set_interface "wwan" device "/dev/ttyUSB0" protocol "ncm"
  156. uci add_list firewall.@zone[1].network='wwan'
  157. ;;
  158. tplink,deco-m4r-v4)
  159. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  160. ;;
  161. tplink,eap235-wall-v1|\
  162. tplink,eap615-wall-v1)
  163. ucidef_set_interface_lan "lan0 lan1 lan2 lan3"
  164. ;;
  165. tplink,er605-v2)
  166. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan1"
  167. ;;
  168. tplink,tl-wpa8631p-v3)
  169. ucidef_set_interface_lan "lan1 lan2 lan3 plc0"
  170. ;;
  171. ubnt,edgerouter-x)
  172. ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
  173. ;;
  174. ubnt,edgerouter-x-sfp)
  175. ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4 eth5" "eth0"
  176. ;;
  177. ubnt,usw-flex)
  178. ucidef_set_interface_lan "lan1 lan2 lan3 lan4 lan5"
  179. ;;
  180. zyxel,lte5398-m904)
  181. ucidef_set_interface_lan "lan1 lan2"
  182. ucidef_set_interface "wan" device "/dev/cdc-wdm0" protocol "qmi"
  183. ;;
  184. zyxel,wap6805)
  185. ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
  186. ucidef_set_interface "qtn" ifname "eth1" protocol "static" ipaddr "1.1.1.1" netmask "255.255.255.0"
  187. ;;
  188. ruijie,rg-ew1200g-pro-v1.1)
  189. ucidef_set_interfaces_lan_wan "lan3 lan2 lan1" "wan"
  190. ;;
  191. *)
  192. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
  193. ;;
  194. esac
  195. }
  196. ramips_setup_macs()
  197. {
  198. local board="$1"
  199. local lan_mac=""
  200. local wan_mac=""
  201. local label_mac=""
  202. case $board in
  203. alfa-network,ax1800rm|\
  204. jcg,y2|\
  205. wavlink,wl-wn531a6|\
  206. wavlink,wl-wn533a8|\
  207. winstars,ws-wn583a6|\
  208. zbtlink,zbt-we1326|\
  209. zbtlink,zbt-wg108|\
  210. zbtlink,zbt-wg3526-16m|\
  211. zbtlink,zbt-wg3526-32m)
  212. label_mac=$(mtd_get_mac_binary factory 0x4)
  213. ;;
  214. ampedwireless,ally-00x19k)
  215. lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
  216. label_mac=$lan_mac
  217. ;;
  218. ampedwireless,ally-r1900k)
  219. lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
  220. wan_mac=$(mtd_get_mac_ascii hwconfig HW.WAN.MAC.Address)
  221. label_mac=$lan_mac
  222. ;;
  223. arcadyan,we410443)
  224. label_mac=$(mtd_get_mac_ascii config mac)
  225. lan_mac=$label_mac
  226. ;;
  227. arcadyan,we420223-99)
  228. label_mac=$(mtd_get_mac_ascii board_data mac)
  229. lan_mac=$label_mac
  230. ucidef_set_network_device_mac eth0 $(macaddr_add "$label_mac" 3)
  231. ;;
  232. asus,rt-ac65p|\
  233. asus,rt-ac85p)
  234. wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
  235. label_mac=$(mtd_get_mac_binary factory 0x4)
  236. ;;
  237. beeline,smartbox-flash)
  238. wan_mac=$(mtd_get_mac_encrypted_arcadyan "board_data")
  239. label_mac=$(macaddr_add "$wan_mac" 3)
  240. lan_mac=$label_mac
  241. ;;
  242. buffalo,wsr-1166dhp|\
  243. buffalo,wsr-2533dhpl2|\
  244. buffalo,wsr-2533dhpls)
  245. wan_mac=$(mtd_get_mac_ascii board_data "mac")
  246. lan_mac=$wan_mac
  247. label_mac=$wan_mac
  248. ;;
  249. dlink,covr-x1860-a1)
  250. label_mac=$(mtd_get_mac_ascii config2 factory_mac)
  251. wan_mac=$(macaddr_add "$label_mac" 3)
  252. lan_mac=$label_mac
  253. ;;
  254. dlink,dir-860l-b1)
  255. lan_mac=$(mtd_get_mac_ascii factory lanmac)
  256. wan_mac=$(mtd_get_mac_ascii factory wanmac)
  257. ;;
  258. edimax,ra21s|\
  259. edimax,rg21s)
  260. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  261. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  262. ;;
  263. elecom,wrc-2533ghbk2-t|\
  264. elecom,wrc-2533ghbk-i)
  265. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  266. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  267. label_mac=$wan_mac
  268. ;;
  269. h3c,tx1800-plus|\
  270. h3c,tx1801-plus|\
  271. h3c,tx1806)
  272. label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  273. lan_mac=$(macaddr_add "$label_mac" 1)
  274. wan_mac=$label_mac
  275. ;;
  276. iodata,wnpr2600g)
  277. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  278. label_mac=$wan_mac
  279. ;;
  280. iptime,t5004)
  281. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  282. wan_mac=$(macaddr_add "$lan_mac" 1)
  283. ;;
  284. jdcloud,re-sp-01b)
  285. lan_mac=$(mtd_get_mac_ascii config mac)
  286. wan_mac=$lan_mac
  287. label_mac=$lan_mac
  288. ;;
  289. linksys,e5600|\
  290. linksys,ea6350-v4|\
  291. linksys,ea7300-v1|\
  292. linksys,ea7300-v2|\
  293. linksys,ea7500-v2|\
  294. linksys,ea8100-v1|\
  295. linksys,ea8100-v2)
  296. lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
  297. wan_mac=$lan_mac
  298. label_mac=$lan_mac
  299. ;;
  300. belkin,rt1800|\
  301. linksys,e7350)
  302. lan_mac=$(mtd_get_mac_ascii Config lan_hwaddr)
  303. wan_mac=$(mtd_get_mac_ascii Config wan_hwaddr)
  304. label_mac=$lan_mac
  305. ;;
  306. tplink,er605-v2)
  307. CI_UBIPART="firmware"
  308. label_mac=$(mtd_get_mac_uci_config_ubi "tddp")
  309. lan_mac=$label_mac
  310. wan_mac=$(macaddr_add "$label_mac" 1)
  311. ;;
  312. tplink,mr600-v2-eu)
  313. label_mac=$(cat "/sys/class/net/eth0/address")
  314. wwan_mac=$(macaddr_add $label_mac 1)
  315. ucidef_set_interface "wwan0" device "/dev/cdc-wdm0" protocol "qmi" macaddr "$wwan_mac"
  316. ;;
  317. ruijie,rg-ew1200g-pro-v1.1)
  318. lan_mac=$(mtd_get_mac_ascii product_info ethaddr)
  319. wan_mac=$(macaddr_add "$lan_mac" 8)
  320. label_mac=$lan_mac
  321. ;;
  322. mts,wg430223)
  323. wan_mac=$(mtd_get_mac_encrypted_arcadyan "board_data")
  324. label_mac=$wan_mac
  325. lan_mac=$(macaddr_add "$wan_mac" 2)
  326. ;;
  327. netgear,eax12)
  328. lan_mac=$(mtd_get_mac_ascii Config mac)
  329. label_mac=$lan_mac
  330. ;;
  331. netgear,wax202)
  332. lan_mac=$(mtd_get_mac_ascii Config mac)
  333. wan_mac=$(macaddr_add "$lan_mac" 1)
  334. label_mac=$lan_mac
  335. ;;
  336. netgear,wax214v2)
  337. lan_mac=$(mtd_get_mac_ascii Config ethaddr)
  338. label_mac=$lan_mac
  339. ;;
  340. yuncore,ax820)
  341. label_mac=$(mtd_get_mac_binary Factory 0x4)
  342. ;;
  343. esac
  344. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  345. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  346. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  347. }
  348. board_config_update
  349. board=$(board_name)
  350. ramips_setup_interfaces $board
  351. ramips_setup_macs $board
  352. board_config_flush
  353. exit 0