02_network 4.4 KB

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