02_network 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. asus,tuf-ax4200)
  9. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" eth1
  10. ;;
  11. bananapi,bpi-r3)
  12. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 sfp2" "eth1 wan"
  13. ;;
  14. cudy,wr3000-v1)
  15. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
  16. ;;
  17. glinet,gl-mt3000)
  18. ucidef_set_interfaces_lan_wan eth1 eth0
  19. ;;
  20. mediatek,mt7986a-rfb)
  21. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan6" "eth1 wan"
  22. ;;
  23. mediatek,mt7986b-rfb)
  24. ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3" eth1
  25. ;;
  26. mediatek,mt7988a-dsa-10g-spim-snand)
  27. ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3" "eth1 eth2"
  28. ;;
  29. tplink,tl-xdr4288|\
  30. tplink,tl-xdr6088)
  31. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" eth1
  32. ;;
  33. tplink,tl-xdr6086)
  34. ucidef_set_interfaces_lan_wan "lan1 lan2" eth1
  35. ;;
  36. xiaomi,redmi-router-ax6000-stock|\
  37. xiaomi,redmi-router-ax6000-ubootmod)
  38. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4" wan
  39. ;;
  40. *)
  41. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" wan
  42. ;;
  43. esac
  44. }
  45. mediatek_setup_macs()
  46. {
  47. local board="$1"
  48. local lan_mac=""
  49. local wan_mac=""
  50. local label_mac=""
  51. case $board in
  52. asus,tuf-ax4200)
  53. CI_UBIPART="UBI_DEV"
  54. addr=$(mtd_get_mac_binary_ubi "Factory" 0x4)
  55. wan_mac="${addr}"
  56. lan_mac="${addr}"
  57. ;;
  58. bananapi,bpi-r3)
  59. wan_mac=$(macaddr_add $(cat /sys/class/net/eth0/address) 1)
  60. ;;
  61. xiaomi,redmi-router-ax6000-stock|\
  62. xiaomi,redmi-router-ax6000-ubootmod)
  63. wan_mac=$(mtd_get_mac_ascii Bdata ethaddr_wan)
  64. label_mac=$wan_mac
  65. ;;
  66. esac
  67. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  68. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  69. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  70. }
  71. board_config_update
  72. board=$(board_name)
  73. mediatek_setup_interfaces $board
  74. mediatek_setup_macs $board
  75. board_config_flush
  76. exit 0