02_network 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  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. zbtlink,zbt-z8102ax)
  27. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" eth1
  28. ;;
  29. asus,tuf-ax6000)
  30. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" eth1
  31. ;;
  32. bananapi,bpi-r3)
  33. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 sfp2" "eth1 wan"
  34. ;;
  35. bananapi,bpi-r3-mini)
  36. ucidef_set_interfaces_lan_wan eth0 eth1
  37. ;;
  38. bananapi,bpi-r4)
  39. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 eth1" "wan eth2"
  40. ;;
  41. cmcc,rax3000m|\
  42. h3c,magic-nx30-pro|\
  43. zbtlink,zbt-z8103ax)
  44. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" eth1
  45. ;;
  46. comfast,cf-e393ax)
  47. ucidef_set_interfaces_lan_wan "lan1" eth1
  48. ;;
  49. glinet,gl-mt2500|\
  50. glinet,gl-mt3000)
  51. ucidef_set_interfaces_lan_wan eth1 eth0
  52. ;;
  53. glinet,gl-mt6000|\
  54. tplink,tl-xdr4288|\
  55. tplink,tl-xdr6088)
  56. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" eth1
  57. ;;
  58. mediatek,mt7986a-rfb)
  59. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan6" "eth1 wan"
  60. ;;
  61. mediatek,mt7986b-rfb)
  62. ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3" eth1
  63. ;;
  64. mediatek,mt7988a-rfb)
  65. ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3 eth1" eth2
  66. ;;
  67. mercusys,mr90x-v1)
  68. ucidef_set_interfaces_lan_wan "lan0 lan1 lan2" eth1
  69. ;;
  70. netgear,wax220|\
  71. ubnt,unifi-6-plus|\
  72. zyxel,nwa50ax-pro)
  73. ucidef_set_interface_lan "eth0"
  74. ;;
  75. smartrg,sdg-8622|\
  76. smartrg,sdg-8632|\
  77. yuncore,ax835)
  78. ucidef_set_interfaces_lan_wan lan wan
  79. ;;
  80. tplink,tl-xdr6086)
  81. ucidef_set_interfaces_lan_wan "lan1 lan2" eth1
  82. ;;
  83. xiaomi,mi-router-ax3000t|\
  84. xiaomi,mi-router-ax3000t-ubootmod|\
  85. xiaomi,mi-router-wr30u-stock|\
  86. xiaomi,mi-router-wr30u-ubootmod|\
  87. xiaomi,redmi-router-ax6000-stock|\
  88. xiaomi,redmi-router-ax6000-ubootmod)
  89. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4" wan
  90. ;;
  91. zyxel,ex5601-t0-stock|\
  92. zyxel,ex5601-t0-ubootmod)
  93. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" eth1
  94. ;;
  95. *)
  96. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" wan
  97. ;;
  98. esac
  99. }
  100. mediatek_setup_macs()
  101. {
  102. local board="$1"
  103. local lan_mac=""
  104. local wan_mac=""
  105. local label_mac=""
  106. case $board in
  107. bananapi,bpi-r3)
  108. wan_mac=$(macaddr_add $(cat /sys/class/net/eth0/address) 1)
  109. ;;
  110. cmcc,rax3000m)
  111. case "$(cmdline_get_var root)" in
  112. /dev/mmc*)
  113. wan_mac=$(mmc_get_mac_binary factory 0x2a)
  114. lan_mac=$(mmc_get_mac_binary factory 0x24)
  115. label_mac=$wan_mac
  116. ;;
  117. esac
  118. ;;
  119. h3c,magic-nx30-pro)
  120. wan_mac=$(mtd_get_mac_ascii pdt_data_1 ethaddr)
  121. lan_mac=$(macaddr_add "$wan_mac" 1)
  122. label_mac=$wan_mac
  123. ;;
  124. jdcloud,re-cp-03)
  125. wan_mac=$(mmc_get_mac_binary factory 0x2a)
  126. lan_mac=$(mmc_get_mac_binary factory 0x24)
  127. label_mac=$lan_mac
  128. ;;
  129. mercusys,mr90x-v1)
  130. label_mac=$(get_mac_binary "/tmp/tp_data/default-mac" 0)
  131. lan_mac=$label_mac
  132. ;;
  133. netgear,wax220)
  134. lan_mac=$(mtd_get_mac_ascii u-boot-env mac)
  135. label_mac=$lan_mac
  136. ;;
  137. qihoo,360t7)
  138. lan_mac=$(mtd_get_mac_ascii factory lanMac)
  139. wan_mac=$(macaddr_add "$lan_mac" 1)
  140. label_mac=$wan_mac
  141. ;;
  142. smartrg,sdg-8612|\
  143. smartrg,sdg-8614|\
  144. smartrg,sdg-8622|\
  145. smartrg,sdg-8632)
  146. label_mac=$(mmc_get_mac_ascii mfginfo MFG_MAC)
  147. wan_mac=$label_mac
  148. lan_mac=$(macaddr_add "$label_mac" 1)
  149. ;;
  150. xiaomi,mi-router-ax3000t|\
  151. xiaomi,mi-router-ax3000t-ubootmod|\
  152. xiaomi,mi-router-wr30u-stock|\
  153. xiaomi,mi-router-wr30u-ubootmod|\
  154. xiaomi,redmi-router-ax6000-stock|\
  155. xiaomi,redmi-router-ax6000-ubootmod)
  156. wan_mac=$(mtd_get_mac_ascii Bdata ethaddr_wan)
  157. label_mac=$wan_mac
  158. ;;
  159. yuncore,ax835)
  160. label_mac=$(mtd_get_mac_binary "Factory" 0x4)
  161. ;;
  162. esac
  163. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  164. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  165. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  166. }
  167. board_config_update
  168. board=$(board_name)
  169. mediatek_setup_interfaces $board
  170. mediatek_setup_macs $board
  171. board_config_flush
  172. exit 0