run_mmc.sh 3.9 KB

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