telephony.init 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/sh /etc/rc.common
  2. START=80
  3. SERVICE_WRITE_PID=1
  4. SERVICE_DAEMONIZE=1
  5. SERVICE_PID_FILE=/var/run/owsip.pid
  6. . /lib/functions.sh
  7. load_module() {
  8. MODULE=`lsmod | grep vmmc`
  9. [ ! -z "$MODULE" ] || ( insmod vmmc ; sleep 3 )
  10. [ ! -c /dev/vmmc10 ] && {
  11. mknod /dev/vmmc10 c 122 10
  12. mknod /dev/vmmc11 c 122 11
  13. mknod /dev/vmmc12 c 122 12
  14. mknod /dev/vmmc13 c 122 13
  15. mknod /dev/vmmc14 c 122 14
  16. mknod /dev/vmmc15 c 122 15
  17. mknod /dev/vmmc16 c 122 16
  18. mknod /dev/vmmc17 c 122 17
  19. mknod /dev/vmmc18 c 122 18
  20. }
  21. }
  22. relay_set () {
  23. local cfg="$1"
  24. local gpio value
  25. config_get gpio "$cfg" gpio
  26. config_get value "$cfg" value
  27. [ -n "gpio" ] || return 0
  28. [ ! -f "/sys/class/gpio/gpio$gpio/direction" ] &&
  29. echo "$gpio" > /sys/class/gpio/export
  30. [ -f "/sys/class/gpio/gpio$gpio/direction" ] && {
  31. echo "out" > /sys/class/gpio/gpio$gpio/direction
  32. echo "$value" > /sys/class/gpio/gpio$gpio/value
  33. }
  34. }
  35. start() {
  36. config_load telephony
  37. config_foreach relay_set relay
  38. load_module
  39. service_start /usr/bin/owsip_ua
  40. }
  41. stop() {
  42. service_stop /usr/bin/owsip_ua
  43. }