02_network 4.6 KB

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