run_mmc.sh 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #!/bin/sh
  2. set -x
  3. DISABLE_FW_UPGRADE="false"
  4. HOSTNAME="WCV3"
  5. ENABLE_USB_ETH="false"
  6. ENABLE_USB_DIRECT="false"
  7. USB_DIRECT_MAC_ADDR="02:01:02:03:04:08"
  8. REMOTE_SPOTLIGHT="false"
  9. REMOTE_SPOTLIGHT_HOST="0.0.0.0"
  10. RTSP_ENABLED="false"
  11. RTSP_ENABLE_AUDIO="false"
  12. ENABLE_IPV6="false"
  13. DEBUG_ENABLED="false"
  14. #drops you to a shell via serial, doesn't load app_init.sh
  15. #####################################
  16. ##########CONFIG END#################
  17. #####################################
  18. echo "run_mmc.sh start" > /dev/kmsg
  19. swap_enable() {
  20. if [[ -e /media/mmc/wz_mini/swap ]]; then
  21. echo "swap exists, enable"
  22. swapon /media/mmc/wz_mini/swap
  23. else
  24. echo "swap missing, system stability with usb potentially comprimised"
  25. fi
  26. }
  27. if [[ "$ENABLE_IPV6" == "true" ]]; then
  28. echo "ipv6 enabled"
  29. else
  30. echo "ipv6 disabled"
  31. sysctl -w net.ipv6.conf.all.disable_ipv6=1
  32. fi
  33. if [[ "$ENABLE_USB_ETH" == "true" ]]; then
  34. swap_enable
  35. ifconfig eth0 down
  36. ifconfig wlan0 down
  37. /media/mmc/wz_mini/bin/busybox ip link set wlan0 name wlanold
  38. /media/mmc/wz_mini/bin/busybox ip addr flush dev wlanold
  39. /media/mmc/wz_mini/bin/busybox ip link set eth0 name wlan0
  40. ifconfig wlan0 up
  41. pkill udhcpc
  42. udhcpc -i wlan0 -x hostname:$HOSTNAME -p /var/run/udhcpc.pid -b
  43. # sleep 5
  44. mount -o bind /media/mmc/wz_mini/bin/wpa_cli.sh /bin/wpa_cli
  45. else
  46. echo "usb ethernet disabled"
  47. fi
  48. if [[ "$ENABLE_USB_DIRECT" == "true" ]]; then
  49. ##ONLY WORKS WITH g_ethernet enabled kernel
  50. ifconfig usb0 down
  51. ifconfig wlan0 down
  52. /media/mmc/wz_mini/bin/busybox ip link set wlan0 name wlanold
  53. /media/mmc/wz_mini/bin/busybox ip addr flush dev wlanold
  54. /media/mmc/wz_mini/bin/busybox ip link set usb0 name wlan0
  55. /media/mmc/wz_mini/bin/busybox ip link set wlan0 address $USB_DIRECT_MAC_ADDR
  56. ifconfig wlan0 up
  57. pkill udhcpc
  58. udhcpc -i wlan0 -x hostname:$HOSTNAME -p /var/run/udhcpc.pid -b
  59. sleep 5
  60. mount -o bind /media/mmc/wz_mini/bin/wpa_cli.sh /bin/wpa_cli
  61. else
  62. echo "usb direct disabled"
  63. fi
  64. if [[ "$DISABLE_FW_UPGRADE" == "true" ]]; then
  65. mkdir /tmp/Upgrade
  66. mount -t tmpfs -o size=1,nr_inodes=1 none /tmp/Upgrade
  67. echo -e "127.0.0.1 localhost \n127.0.0.1 wyze-upgrade-service.wyzecam.com" > /opt/wz_mini/tmp/.storage/hosts
  68. mount --bind /opt/wz_mini/tmp/.storage/hosts /etc/hosts
  69. else
  70. mkdir /tmp/Upgrade
  71. /opt/wz_mini/bin/busybox inotifyd /opt/wz_mini/usr/bin/watch_up.sh /tmp/Upgrade:n &
  72. fi
  73. if [[ "$REMOTE_SPOTLIGHT" == "true" ]]; then
  74. { sleep 10; /media/mmc/wz_mini/bin/socat pty,link=/dev/ttyUSB0,raw tcp:$REMOTE_SPOTLIGHT_HOST:9000; } &
  75. fi
  76. if [[ "$RTSP_ENABLED" == "true" ]]; then
  77. swap_enable
  78. mkdir /tmp/alsa
  79. cp /media/mmc/wz_mini/etc/alsa.conf /tmp/alsa
  80. if [[ "$RTSP_ENABLE_AUDIO" == "true" ]]; then
  81. LD_LIBRARY_PATH=/media/mmc/wz_mini/lib /media/mmc/wz_mini/bin/v4l2rtspserver -C 1 -a S16_LE /dev/video1,hw:Loopback,0 &
  82. else
  83. echo "rtsp audio disabled"
  84. LD_LIBRARY_PATH=/media/mmc/wz_mini/lib /media/mmc/wz_mini/bin/v4l2rtspserver -s /dev/video1 &
  85. fi
  86. else
  87. echo "rtsp disabled"
  88. fi
  89. echo "set hostname"
  90. hostname $HOSTNAME
  91. sleep 3
  92. #################################################
  93. ##############CUSTOM BEGIN#######################
  94. #################################################
  95. #Place commands here to run 30 seconds after boot
  96. #such as mount nfs, ping, etc
  97. #mount -t nfs -o nolock,rw,noatime,nodiratime 192.168.1.1:/volume1 /media/mmc/record &