02_network 8.7 KB

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