02_network 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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-r2s|\
  8. friendlyarm,nanopi-r4s)
  9. ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
  10. ;;
  11. *)
  12. ucidef_set_interface_lan 'eth0'
  13. ;;
  14. esac
  15. }
  16. nanopi_r4s_get_mac()
  17. {
  18. local interface=$1
  19. local eeprom_path="/sys/bus/i2c/devices/2-0051/eeprom"
  20. local address
  21. if [ -f "$eeprom_path" ]; then
  22. address=$(get_mac_binary "$eeprom_path" 0xfa)
  23. if [ "$interface" = "lan" ]; then
  24. address=$(macaddr_setbit_la "$address")
  25. fi
  26. else
  27. address=$(macaddr_generate_from_mmc_cid mmcblk1)
  28. if [ "$interface" = "lan" ]; then
  29. address=$(macaddr_add "$address" 1)
  30. fi
  31. fi
  32. echo "$address"
  33. }
  34. rockchip_setup_macs()
  35. {
  36. local board="$1"
  37. local lan_mac=""
  38. local wan_mac=""
  39. local label_mac=""
  40. case "$board" in
  41. friendlyarm,nanopi-r2s)
  42. wan_mac=$(macaddr_generate_from_mmc_cid mmcblk0)
  43. lan_mac=$(macaddr_add "$wan_mac" 1)
  44. ;;
  45. friendlyarm,nanopi-r4s)
  46. wan_mac=$(nanopi_r4s_get_mac wan)
  47. lan_mac=$(nanopi_r4s_get_mac lan)
  48. ;;
  49. esac
  50. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  51. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  52. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  53. }
  54. board_config_update
  55. board=$(board_name)
  56. rockchip_setup_interfaces $board
  57. rockchip_setup_macs $board
  58. board_config_flush
  59. exit 0