02_network 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  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. jcg,q20|\
  103. jdcloud,re-sp-01b|\
  104. lenovo,newifi-d1|\
  105. mikrotik,routerboard-m33g|\
  106. mts,wg430223|\
  107. oraybox,x3a|\
  108. renkforce,ws-wn530hp3-a|\
  109. xiaomi,mi-router-3g|\
  110. xiaomi,mi-router-3g-v2|\
  111. xiaomi,mi-router-4|\
  112. xiaomi,mi-router-4a-gigabit|\
  113. xiaomi,mi-router-4a-gigabit-v2)
  114. ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
  115. ;;
  116. bolt,arion)
  117. ucidef_set_interfaces_lan_wan "lan" "wan"
  118. ucidef_set_interface "eth_data" device "modem.103" protocol "static" ipaddr "10.22.127.222" netmask "255.255.255.255"
  119. ucidef_set_interface "eth_om" device "modem.4094" protocol "static" ipaddr "169.254.0.2" netmask "255.255.255.252"
  120. uci add_list firewall.@zone[1].network='eth_data'
  121. uci add_list firewall.@zone[1].network='eth_om'
  122. ;;
  123. cudy,c200p|\
  124. cudy,r700|\
  125. mikrotik,routerboard-750gr3)
  126. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan"
  127. ;;
  128. dlink,covr-x1860-a1)
  129. ucidef_set_interfaces_lan_wan "ethernet" "internet"
  130. ;;
  131. elecom,wmc-s1267gs2|\
  132. linksys,re6500|\
  133. netgear,wac104|\
  134. zyxel,lte3301-plus)
  135. ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
  136. ;;
  137. elecom,wsc-x1800gs)
  138. ucidef_set_interface_lan "lan1 lan2"
  139. ;;
  140. gnubee,gb-pc1)
  141. ucidef_set_interface_lan "ethblack ethblue"
  142. ;;
  143. gnubee,gb-pc2)
  144. ucidef_set_interface_lan "ethblack ethblue ethyellow"
  145. ;;
  146. mikrotik,routerboard-760igs)
  147. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan sfp"
  148. ;;
  149. mqmaker,witi)
  150. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan1 wan2"
  151. ;;
  152. tozed,zlt-s12-pro)
  153. ucidef_set_interface_lan "lan1 lan2 lan3 wan"
  154. ucidef_set_interface "wwan" device "/dev/ttyUSB0" protocol "ncm"
  155. uci add_list firewall.@zone[1].network='wwan'
  156. ;;
  157. tplink,deco-m4r-v4)
  158. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  159. ;;
  160. tplink,eap235-wall-v1|\
  161. tplink,eap615-wall-v1)
  162. ucidef_set_interface_lan "lan0 lan1 lan2 lan3"
  163. ;;
  164. tplink,er605-v2)
  165. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan1"
  166. ;;
  167. tplink,tl-wpa8631p-v3)
  168. ucidef_set_interface_lan "lan1 lan2 lan3 plc0"
  169. ;;
  170. ubnt,edgerouter-x)
  171. ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
  172. ;;
  173. ubnt,edgerouter-x-sfp)
  174. ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4 eth5" "eth0"
  175. ;;
  176. ubnt,usw-flex)
  177. ucidef_set_interface_lan "lan1 lan2 lan3 lan4 lan5"
  178. ;;
  179. zyxel,lte5398-m904)
  180. ucidef_set_interface_lan "lan1 lan2"
  181. ucidef_set_interface "wan" device "/dev/cdc-wdm0" protocol "qmi"
  182. ;;
  183. zyxel,wap6805)
  184. ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
  185. ucidef_set_interface "qtn" ifname "eth1" protocol "static" ipaddr "1.1.1.1" netmask "255.255.255.0"
  186. ;;
  187. ruijie,rg-ew1200g-pro-v1.1)
  188. ucidef_set_interfaces_lan_wan "lan3 lan2 lan1" "wan"
  189. ;;
  190. *)
  191. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
  192. ;;
  193. esac
  194. }
  195. ramips_setup_macs()
  196. {
  197. local board="$1"
  198. local lan_mac=""
  199. local wan_mac=""
  200. local label_mac=""
  201. case $board in
  202. alfa-network,ax1800rm|\
  203. jcg,y2|\
  204. wavlink,wl-wn531a6|\
  205. wavlink,wl-wn533a8|\
  206. winstars,ws-wn583a6|\
  207. zbtlink,zbt-we1326|\
  208. zbtlink,zbt-wg108|\
  209. zbtlink,zbt-wg3526-16m|\
  210. zbtlink,zbt-wg3526-32m)
  211. label_mac=$(mtd_get_mac_binary factory 0x4)
  212. ;;
  213. ampedwireless,ally-00x19k)
  214. lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
  215. label_mac=$lan_mac
  216. ;;
  217. ampedwireless,ally-r1900k)
  218. lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
  219. wan_mac=$(mtd_get_mac_ascii hwconfig HW.WAN.MAC.Address)
  220. label_mac=$lan_mac
  221. ;;
  222. arcadyan,we410443)
  223. label_mac=$(mtd_get_mac_ascii config mac)
  224. lan_mac=$label_mac
  225. ;;
  226. arcadyan,we420223-99)
  227. label_mac=$(mtd_get_mac_ascii board_data mac)
  228. lan_mac=$label_mac
  229. ucidef_set_network_device_mac eth0 $(macaddr_add "$label_mac" 3)
  230. ;;
  231. asus,rt-ac65p|\
  232. asus,rt-ac85p)
  233. wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
  234. label_mac=$(mtd_get_mac_binary factory 0x4)
  235. ;;
  236. beeline,smartbox-flash)
  237. wan_mac=$(mtd_get_mac_encrypted_arcadyan "board_data")
  238. label_mac=$(macaddr_add "$wan_mac" 3)
  239. lan_mac=$label_mac
  240. ;;
  241. buffalo,wsr-1166dhp|\
  242. buffalo,wsr-2533dhpl2|\
  243. buffalo,wsr-2533dhpls)
  244. wan_mac=$(mtd_get_mac_ascii board_data "mac")
  245. lan_mac=$wan_mac
  246. label_mac=$wan_mac
  247. ;;
  248. dlink,covr-x1860-a1)
  249. label_mac=$(mtd_get_mac_ascii config2 factory_mac)
  250. wan_mac=$(macaddr_add "$label_mac" 3)
  251. lan_mac=$label_mac
  252. ;;
  253. dlink,dir-860l-b1)
  254. lan_mac=$(mtd_get_mac_ascii factory lanmac)
  255. wan_mac=$(mtd_get_mac_ascii factory wanmac)
  256. ;;
  257. edimax,ra21s|\
  258. edimax,rg21s)
  259. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  260. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  261. ;;
  262. elecom,wrc-2533ghbk2-t|\
  263. elecom,wrc-2533ghbk-i)
  264. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  265. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  266. label_mac=$wan_mac
  267. ;;
  268. h3c,tx1800-plus|\
  269. h3c,tx1801-plus|\
  270. h3c,tx1806)
  271. label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  272. lan_mac=$(macaddr_add "$label_mac" 1)
  273. wan_mac=$label_mac
  274. ;;
  275. iodata,wnpr2600g)
  276. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  277. label_mac=$wan_mac
  278. ;;
  279. iptime,t5004)
  280. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  281. wan_mac=$(macaddr_add "$lan_mac" 1)
  282. ;;
  283. jdcloud,re-sp-01b)
  284. lan_mac=$(mtd_get_mac_ascii config mac)
  285. wan_mac=$lan_mac
  286. label_mac=$lan_mac
  287. ;;
  288. linksys,e5600|\
  289. linksys,ea6350-v4|\
  290. linksys,ea7300-v1|\
  291. linksys,ea7300-v2|\
  292. linksys,ea7500-v2|\
  293. linksys,ea8100-v1|\
  294. linksys,ea8100-v2)
  295. lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
  296. wan_mac=$lan_mac
  297. label_mac=$lan_mac
  298. ;;
  299. belkin,rt1800|\
  300. linksys,e7350)
  301. lan_mac=$(mtd_get_mac_ascii Config lan_hwaddr)
  302. wan_mac=$(mtd_get_mac_ascii Config wan_hwaddr)
  303. label_mac=$lan_mac
  304. ;;
  305. tplink,er605-v2)
  306. CI_UBIPART="firmware"
  307. label_mac=$(mtd_get_mac_uci_config_ubi "tddp")
  308. lan_mac=$label_mac
  309. wan_mac=$(macaddr_add "$label_mac" 1)
  310. ;;
  311. tplink,mr600-v2-eu)
  312. label_mac=$(cat "/sys/class/net/eth0/address")
  313. wwan_mac=$(macaddr_add $label_mac 1)
  314. ucidef_set_interface "wwan0" device "/dev/cdc-wdm0" protocol "qmi" macaddr "$wwan_mac"
  315. ;;
  316. ruijie,rg-ew1200g-pro-v1.1)
  317. lan_mac=$(mtd_get_mac_ascii product_info ethaddr)
  318. wan_mac=$(macaddr_add "$lan_mac" 8)
  319. label_mac=$lan_mac
  320. ;;
  321. mts,wg430223)
  322. wan_mac=$(mtd_get_mac_encrypted_arcadyan "board_data")
  323. label_mac=$wan_mac
  324. lan_mac=$(macaddr_add "$wan_mac" 2)
  325. ;;
  326. netgear,eax12)
  327. lan_mac=$(mtd_get_mac_ascii Config mac)
  328. label_mac=$lan_mac
  329. ;;
  330. netgear,wax202)
  331. lan_mac=$(mtd_get_mac_ascii Config mac)
  332. wan_mac=$(macaddr_add "$lan_mac" 1)
  333. label_mac=$lan_mac
  334. ;;
  335. netgear,wax214v2)
  336. lan_mac=$(mtd_get_mac_ascii Config ethaddr)
  337. label_mac=$lan_mac
  338. ;;
  339. yuncore,ax820)
  340. label_mac=$(mtd_get_mac_binary Factory 0x4)
  341. ;;
  342. esac
  343. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  344. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  345. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  346. }
  347. board_config_update
  348. board=$(board_name)
  349. ramips_setup_interfaces $board
  350. ramips_setup_macs $board
  351. board_config_flush
  352. exit 0