uci-defaults.sh 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. #!/bin/sh
  2. # Copyright (C) 2011 OpenWrt.org
  3. UCIDEF_LEDS_CHANGED=0
  4. ucidef_set_led_netdev() {
  5. local cfg="led_$1"
  6. local name=$2
  7. local sysfs=$3
  8. local dev=$4
  9. uci -q get system.$cfg && return 0
  10. uci batch <<EOF
  11. set system.$cfg='led'
  12. set system.$cfg.name='$name'
  13. set system.$cfg.sysfs='$sysfs'
  14. set system.$cfg.trigger='netdev'
  15. set system.$cfg.dev='$dev'
  16. set system.$cfg.mode='link tx rx'
  17. EOF
  18. UCIDEF_LEDS_CHANGED=1
  19. }
  20. ucidef_set_led_usbdev() {
  21. local cfg="led_$1"
  22. local name=$2
  23. local sysfs=$3
  24. local dev=$4
  25. uci -q get system.$cfg && return 0
  26. uci batch <<EOF
  27. set system.$cfg='led'
  28. set system.$cfg.name='$name'
  29. set system.$cfg.sysfs='$sysfs'
  30. set system.$cfg.trigger='usbdev'
  31. set system.$cfg.dev='$dev'
  32. set system.$cfg.interval='50'
  33. EOF
  34. UCIDEF_LEDS_CHANGED=1
  35. }
  36. ucidef_set_led_wlan() {
  37. local cfg="led_$1"
  38. local name=$2
  39. local sysfs=$3
  40. local trigger=$4
  41. uci -q get system.$cfg && return 0
  42. uci batch <<EOF
  43. set system.$cfg='led'
  44. set system.$cfg.name='$name'
  45. set system.$cfg.sysfs='$sysfs'
  46. set system.$cfg.trigger='$trigger'
  47. EOF
  48. UCIDEF_LEDS_CHANGED=1
  49. }
  50. ucidef_set_led_switch() {
  51. local cfg="led_$1"
  52. local name=$2
  53. local sysfs=$3
  54. local trigger=$4
  55. local port_mask=$5
  56. uci -q get system.$cfg && return 0
  57. uci batch <<EOF
  58. set system.$cfg='led'
  59. set system.$cfg.name='$name'
  60. set system.$cfg.sysfs='$sysfs'
  61. set system.$cfg.trigger='$trigger'
  62. set system.$cfg.port_mask='$port_mask'
  63. EOF
  64. UCIDEF_LEDS_CHANGED=1
  65. }
  66. ucidef_set_led_default() {
  67. local cfg="led_$1"
  68. local name=$2
  69. local sysfs=$3
  70. local default=$4
  71. uci -q get system.$cfg && return 0
  72. uci batch <<EOF
  73. set system.$cfg='led'
  74. set system.$cfg.name='$name'
  75. set system.$cfg.sysfs='$sysfs'
  76. set system.$cfg.default='$default'
  77. EOF
  78. UCIDEF_LEDS_CHANGED=1
  79. }
  80. ucidef_set_led_rssi() {
  81. local cfg="led_$1"
  82. local name=$2
  83. local sysfs=$3
  84. local iface=$4
  85. local minq=$5
  86. local maxq=$6
  87. local offset=$7
  88. local factor=$8
  89. uci -q get system.$cfg && return 0
  90. uci batch <<EOF
  91. set system.$cfg='led'
  92. set system.$cfg.name='$name'
  93. set system.$cfg.sysfs='$sysfs'
  94. set system.$cfg.trigger='rssi'
  95. set system.$cfg.iface='rssid_$iface'
  96. set system.$cfg.minq='$minq'
  97. set system.$cfg.maxq='$maxq'
  98. set system.$cfg.offset='$offset'
  99. set system.$cfg.factor='$factor'
  100. EOF
  101. UCIDEF_LEDS_CHANGED=1
  102. }
  103. ucidef_set_rssimon() {
  104. local dev="$1"
  105. local refresh="$2"
  106. local threshold="$3"
  107. local cfg="rssid_$dev"
  108. uci -q get system.$cfg && return 0
  109. uci batch <<EOF
  110. set system.$cfg='rssid'
  111. set system.$cfg.dev='$dev'
  112. set system.$cfg.refresh='$refresh'
  113. set system.$cfg.threshold='$threshold'
  114. EOF
  115. UCIDEF_LEDS_CHANGED=1
  116. }
  117. ucidef_commit_leds()
  118. {
  119. [ "$UCIDEF_LEDS_CHANGED" = "1" ] && uci commit system
  120. }
  121. ucidef_set_interface_loopback() {
  122. uci batch <<EOF
  123. set network.loopback='interface'
  124. set network.loopback.ifname='lo'
  125. set network.loopback.proto='static'
  126. set network.loopback.ipaddr='127.0.0.1'
  127. set network.loopback.netmask='255.0.0.0'
  128. set network.globals='globals'
  129. set network.globals.ula_prefix='auto'
  130. EOF
  131. }
  132. ucidef_set_interface_raw() {
  133. local cfg=$1
  134. local ifname=$2
  135. local proto=${3:-"none"}
  136. uci batch <<EOF
  137. set network.$cfg='interface'
  138. set network.$cfg.ifname='$ifname'
  139. set network.$cfg.proto='$proto'
  140. EOF
  141. }
  142. ucidef_set_interface_lan() {
  143. local ifname=$1
  144. uci batch <<EOF
  145. set network.lan='interface'
  146. set network.lan.ifname='$ifname'
  147. set network.lan.force_link=1
  148. set network.lan.type='bridge'
  149. set network.lan.proto='static'
  150. set network.lan.ipaddr='192.168.1.1'
  151. set network.lan.netmask='255.255.255.0'
  152. set network.lan.ip6assign='60'
  153. EOF
  154. }
  155. ucidef_set_interface_wan() {
  156. local ifname=$1
  157. uci batch <<EOF
  158. set network.wan='interface'
  159. set network.wan.ifname='$ifname'
  160. set network.wan.proto='dhcp'
  161. set network.wan6='interface'
  162. set network.wan6.ifname='$ifname'
  163. set network.wan6.proto='dhcpv6'
  164. EOF
  165. }
  166. ucidef_set_interfaces_lan_wan() {
  167. local lan_ifname=$1
  168. local wan_ifname=$2
  169. ucidef_set_interface_lan "$lan_ifname"
  170. ucidef_set_interface_wan "$wan_ifname"
  171. }
  172. ucidef_set_interface_macaddr() {
  173. local ifname=$1
  174. local mac=$2
  175. uci batch <<EOF
  176. set network.$ifname.macaddr='$mac'
  177. EOF
  178. }
  179. ucidef_add_switch() {
  180. local name=$1
  181. local reset=$2
  182. local enable=$3
  183. uci batch <<EOF
  184. add network switch
  185. set network.@switch[-1].name='$name'
  186. set network.@switch[-1].reset='$reset'
  187. set network.@switch[-1].enable_vlan='$enable'
  188. EOF
  189. }
  190. ucidef_add_switch_vlan() {
  191. local device=$1
  192. local vlan=$2
  193. local ports=$3
  194. uci batch <<EOF
  195. add network switch_vlan
  196. set network.@switch_vlan[-1].device='$device'
  197. set network.@switch_vlan[-1].vlan='$vlan'
  198. set network.@switch_vlan[-1].ports='$ports'
  199. EOF
  200. }
  201. ucidef_add_switch_port() {
  202. local device=$1
  203. local port=$2
  204. uci batch <<EOF
  205. add network switch_port
  206. set network.@switch_port[-1].device='$device'
  207. set network.@switch_port[-1].port='$port'
  208. EOF
  209. }