run_mmc.sh 3.5 KB

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