02_network 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. . /lib/functions/uci-defaults.sh
  2. . /lib/functions/system.sh
  3. rockchip_setup_interfaces()
  4. {
  5. local board="$1"
  6. case "$board" in
  7. friendlyarm,nanopi-r2c|\
  8. friendlyarm,nanopi-r2c-plus|\
  9. friendlyarm,nanopi-r2s|\
  10. friendlyarm,nanopi-r4s|\
  11. friendlyarm,nanopi-r4s-enterprise|\
  12. xunlong,orangepi-r1-plus|\
  13. xunlong,orangepi-r1-plus-lts)
  14. ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
  15. ;;
  16. friendlyarm,nanopi-r5c|\
  17. radxa,e25)
  18. ucidef_set_interfaces_lan_wan 'eth0' 'eth1'
  19. ;;
  20. friendlyarm,nanopi-r5s)
  21. ucidef_set_interfaces_lan_wan 'eth1 eth2' 'eth0'
  22. ;;
  23. *)
  24. ucidef_set_interface_lan 'eth0'
  25. ;;
  26. esac
  27. }
  28. rockchip_setup_macs()
  29. {
  30. local board="$1"
  31. local lan_mac=""
  32. local wan_mac=""
  33. local label_mac=""
  34. case "$board" in
  35. friendlyarm,nanopi-r2c|\
  36. friendlyarm,nanopi-r2s)
  37. wan_mac=$(macaddr_generate_from_mmc_cid mmcblk0)
  38. lan_mac=$(macaddr_add "$wan_mac" 1)
  39. ;;
  40. friendlyarm,nanopi-r2c-plus|\
  41. friendlyarm,nanopi-r4s|\
  42. friendlyarm,nanopi-r5s)
  43. wan_mac=$(macaddr_generate_from_mmc_cid mmcblk1)
  44. lan_mac=$(macaddr_add "$wan_mac" 1)
  45. ;;
  46. friendlyarm,nanopi-r4s-enterprise)
  47. wan_mac=$(get_mac_binary "/sys/bus/i2c/devices/2-0051/eeprom" 0xfa)
  48. lan_mac=$(macaddr_setbit_la "$wan_mac")
  49. ;;
  50. friendlyarm,nanopi-r5c)
  51. wan_mac=$(macaddr_generate_from_mmc_cid mmcblk*)
  52. lan_mac=$(macaddr_add "$wan_mac" 1)
  53. ;;
  54. xunlong,orangepi-r1-plus|\
  55. xunlong,orangepi-r1-plus-lts)
  56. wan_mac=$(macaddr_add "$(cat /sys/class/net/eth1/address)" -1)
  57. ;;
  58. esac
  59. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  60. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  61. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  62. }
  63. board_config_update
  64. board=$(board_name)
  65. rockchip_setup_interfaces $board
  66. rockchip_setup_macs $board
  67. board_config_flush
  68. exit 0