02_network 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. . /lib/functions.sh
  2. . /lib/functions/uci-defaults.sh
  3. . /lib/functions/system.sh
  4. mediatek_setup_interfaces()
  5. {
  6. local board="$1"
  7. case $board in
  8. abt,asr3000|\
  9. cmcc,rax3000m|\
  10. h3c,magic-nx30-pro|\
  11. nokia,ea0326gmp|\
  12. zbtlink,zbt-z8103ax)
  13. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" eth1
  14. ;;
  15. acelink,ew-7886cax)
  16. ucidef_set_interface_lan "eth0" "dhcp"
  17. ;;
  18. acer,predator-w6|\
  19. acer,predator-w6d)
  20. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 game" eth1
  21. ;;
  22. acer,vero-w6m)
  23. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" internet
  24. ;;
  25. arcadyan,mozart)
  26. ucidef_set_interfaces_lan_wan "lan0 eth1" eth2
  27. ;;
  28. asus,rt-ax59u|\
  29. cetron,ct3003|\
  30. confiabits,mt7981|\
  31. cudy,wr3000-v1|\
  32. jcg,q30-pro|\
  33. qihoo,360t7|\
  34. routerich,ax3000|\
  35. routerich,ax3000-ubootmod)
  36. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" wan
  37. ;;
  38. asus,tuf-ax4200|\
  39. jdcloud,re-cp-03|\
  40. mediatek,mt7981-rfb|\
  41. netcore,n60|\
  42. ruijie,rg-x60-pro|\
  43. unielec,u7981-01*|\
  44. zbtlink,zbt-z8102ax|\
  45. zyxel,ex5601-t0-stock|\
  46. zyxel,ex5601-t0-ubootmod)
  47. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" eth1
  48. ;;
  49. asus,tuf-ax6000|\
  50. glinet,gl-mt6000|\
  51. tplink,tl-xdr4288|\
  52. tplink,tl-xdr6088|\
  53. tplink,tl-xtr8488)
  54. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" eth1
  55. ;;
  56. bananapi,bpi-r3)
  57. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 sfp2" "eth1 wan"
  58. ;;
  59. bananapi,bpi-r3-mini|\
  60. edgecore,eap111)
  61. ucidef_set_interfaces_lan_wan eth0 eth1
  62. ;;
  63. bananapi,bpi-r4|\
  64. bananapi,bpi-r4-poe)
  65. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 eth1" "wan eth2"
  66. ;;
  67. comfast,cf-e393ax)
  68. ucidef_set_interfaces_lan_wan "lan1" eth1
  69. ;;
  70. cudy,ap3000outdoor-v1|\
  71. cudy,ap3000-v1|\
  72. cudy,re3000-v1|\
  73. netgear,wax220|\
  74. ubnt,unifi-6-plus|\
  75. zyxel,nwa50ax-pro)
  76. ucidef_set_interface_lan "eth0"
  77. ;;
  78. cudy,m3000-v1|\
  79. cudy,tr3000-v1|\
  80. glinet,gl-mt2500|\
  81. glinet,gl-mt3000|\
  82. glinet,gl-x3000|\
  83. glinet,gl-xe3000|\
  84. openembed,som7981|\
  85. openwrt,one)
  86. ucidef_set_interfaces_lan_wan eth1 eth0
  87. ;;
  88. dlink,aquila-pro-ai-m30-a1|\
  89. dlink,aquila-pro-ai-m60-a1)
  90. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" internet
  91. ;;
  92. mediatek,mt7986a-rfb)
  93. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan6" "eth1 wan"
  94. ;;
  95. mediatek,mt7986b-rfb)
  96. ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3 lan4" eth1
  97. ;;
  98. mediatek,mt7988a-rfb)
  99. ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3 eth2" eth1
  100. ;;
  101. mercusys,mr90x-v1|\
  102. mercusys,mr90x-v1-ubi)
  103. ucidef_set_interfaces_lan_wan "lan0 lan1 lan2" eth1
  104. ;;
  105. smartrg,sdg-8622|\
  106. smartrg,sdg-8632|\
  107. smartrg,sdg-8733a|\
  108. yuncore,ax835)
  109. ucidef_set_interfaces_lan_wan lan wan
  110. ;;
  111. tplink,tl-xdr6086|\
  112. wavlink,wl-wn586x3)
  113. ucidef_set_interfaces_lan_wan "lan1 lan2" eth1
  114. ;;
  115. tplink,re6000xd)
  116. ucidef_set_interface_lan "lan1 lan2 eth1"
  117. ;;
  118. xiaomi,mi-router-ax3000t|\
  119. xiaomi,mi-router-ax3000t-ubootmod|\
  120. xiaomi,mi-router-wr30u-stock|\
  121. xiaomi,mi-router-wr30u-ubootmod|\
  122. xiaomi,redmi-router-ax6000-stock|\
  123. xiaomi,redmi-router-ax6000-ubootmod)
  124. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4" wan
  125. ;;
  126. *)
  127. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" wan
  128. ;;
  129. esac
  130. }
  131. mediatek_setup_macs()
  132. {
  133. local board="$1"
  134. local lan_mac=""
  135. local wan_mac=""
  136. local label_mac=""
  137. case $board in
  138. acer,predator-w6|\
  139. acer,predator-w6d|\
  140. acer,vero-w6m)
  141. wan_mac=$(mmc_get_mac_ascii u-boot-env WANMAC)
  142. lan_mac=$(mmc_get_mac_ascii u-boot-env LANMAC)
  143. ;;
  144. bananapi,bpi-r3|\
  145. bananapi,bpi-r3-mini|\
  146. bananapi,bpi-r4)
  147. wan_mac=$(macaddr_add $(cat /sys/class/net/eth0/address) 1)
  148. ;;
  149. h3c,magic-nx30-pro)
  150. wan_mac=$(mtd_get_mac_ascii pdt_data_1 ethaddr)
  151. lan_mac=$(macaddr_add "$wan_mac" 1)
  152. label_mac=$wan_mac
  153. ;;
  154. mercusys,mr90x-v1|\
  155. tplink,re6000xd)
  156. label_mac=$(get_mac_binary "/tmp/tp_data/default-mac" 0)
  157. lan_mac=$label_mac
  158. ;;
  159. netgear,wax220)
  160. lan_mac=$(mtd_get_mac_ascii u-boot-env mac)
  161. label_mac=$lan_mac
  162. ;;
  163. qihoo,360t7)
  164. lan_mac=$(mtd_get_mac_ascii factory lanMac)
  165. wan_mac=$(macaddr_add "$lan_mac" 1)
  166. label_mac=$wan_mac
  167. ;;
  168. ruijie,rg-x60-pro)
  169. label_mac=$(mtd_get_mac_ascii product_info ethaddr)
  170. wan_mac=$label_mac
  171. lan_mac=$(macaddr_add "$label_mac" 1)
  172. ;;
  173. xiaomi,mi-router-ax3000t|\
  174. xiaomi,mi-router-ax3000t-ubootmod|\
  175. xiaomi,mi-router-wr30u-stock|\
  176. xiaomi,mi-router-wr30u-ubootmod|\
  177. xiaomi,redmi-router-ax6000-stock|\
  178. xiaomi,redmi-router-ax6000-ubootmod)
  179. wan_mac=$(mtd_get_mac_ascii Bdata ethaddr_wan)
  180. label_mac=$wan_mac
  181. ;;
  182. yuncore,ax835)
  183. label_mac=$(mtd_get_mac_binary "Factory" 0x4)
  184. ;;
  185. esac
  186. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  187. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  188. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  189. }
  190. board_config_update
  191. board=$(board_name)
  192. mediatek_setup_interfaces $board
  193. mediatek_setup_macs $board
  194. board_config_flush
  195. exit 0