02_network 8.7 KB

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