mirror of
https://github.com/gtxaspec/wz_mini_hacks.git
synced 2025-08-06 10:44:05 +00:00
Merge branch 'master' into StartAddingSupportForBonding
This commit is contained in:
@@ -7,7 +7,7 @@ if [ "$1" == "" ]; then
|
||||
echo -e "video on on1 or off off1"
|
||||
echo -e "audio on on1 or off off1"
|
||||
echo -e "move (movable camera only)"
|
||||
echo -e "waitMotion <timeout>"
|
||||
echo -e "waitMotion <timeout> (you must enable motion tagging in the app first)"
|
||||
echo -e "irled on or off"
|
||||
echo -e "aplay <file path> <volume 1-100>"
|
||||
echo -e "curlDebug on or off"
|
||||
|
@@ -13,7 +13,6 @@ else
|
||||
create_dir
|
||||
fi
|
||||
|
||||
#cat * | grep 2C | sed 's/^.*\(RTSP_PASSWORD=\).*$/\1/' | sed 's/-U[^-P]*//'
|
||||
echo "copy wz_mini logs"
|
||||
cp /opt/wz_mini/log/* /opt/wz_mini/tmp/log_gather/
|
||||
|
||||
@@ -39,7 +38,7 @@ echo "gather libcallback logs"
|
||||
logread | grep "\[command\]" > /opt/wz_mini/tmp/log_gather/libcallback.log
|
||||
|
||||
echo "gather process list"
|
||||
ps -T | sed 's/-U[^-P]*//' > /opt/wz_mini/tmp/log_gather/ps.log
|
||||
ps -T > /opt/wz_mini/tmp/log_gather/ps.log
|
||||
|
||||
echo "gather mounts"
|
||||
mount > /opt/wz_mini/tmp/log_gather/mount.log
|
||||
@@ -62,6 +61,17 @@ if [ -f /tmp/sd_check_result.txt ]; then
|
||||
cp /tmp/sd_check_result.txt /opt/wz_mini/tmp/log_gather/sd_check_result.txt
|
||||
fi
|
||||
|
||||
if [[ "$RTSP_PASSWORD" == "" ]]; then
|
||||
echo "password is blank in config"
|
||||
RTSP_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac)
|
||||
fi
|
||||
|
||||
cd /opt/wz_mini/tmp/log_gather
|
||||
echo $RTSP_PASSWORD
|
||||
sed -e s/"$RTSP_PASSWORD"//g -i *
|
||||
cd /
|
||||
|
||||
|
||||
echo "compress to /media/mmc/log_gather_$(date +"%F_T%H%M").tar.gz"
|
||||
tar -czf /media/mmc/log_gather_$(date +"%F_T%H%M").tar.gz -C /opt/wz_mini/tmp log_gather/
|
||||
|
||||
|
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -L /dev/fd ]; then
|
||||
echo fd exists
|
||||
echo "fd exists" > /dev/null
|
||||
else
|
||||
echo fd does not exist, link
|
||||
echo "fd does not exist, link" > /dev/null
|
||||
ln -s /proc/self/fd /dev/fd
|
||||
fi
|
||||
|
||||
@@ -28,29 +28,36 @@ echo "Verify file integrity"
|
||||
cd /opt/Upgrade/wz_mini_hacks-master
|
||||
md5sum -c file.chk
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "files OK"
|
||||
install_upgrade_script
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "files OK"
|
||||
install_upgrade_script
|
||||
else
|
||||
echo "Failure: archive has corrupted files"
|
||||
echo "Delete failed upgrade dir"
|
||||
rm -rf /opt/Upgrade
|
||||
exit 1
|
||||
echo "Failure: archive has corrupted files"
|
||||
echo "Delete failed upgrade dir"
|
||||
rm -rf /opt/Upgrade
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
install_upgrade_script() {
|
||||
echo "Installing latest upgrade-script"
|
||||
echo "Installing latest upgrade-run from repo"
|
||||
cp /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/bin/upgrade-run.sh /opt/wz_mini/bin/upgrade-run.sh
|
||||
|
||||
sleep 5
|
||||
|
||||
/opt/wz_mini/bin/upgrade-run.sh backup_begin
|
||||
echo "Launching latest upgrade-script"
|
||||
/opt/wz_mini/bin/upgrade-run.sh backup_begin &
|
||||
|
||||
echo "Exit old script"
|
||||
exit 0
|
||||
}
|
||||
|
||||
backup_begin() {
|
||||
echo "Resume upgrade-run, latest version"
|
||||
|
||||
sleep 5
|
||||
|
||||
echo "Backup user config"
|
||||
cp /opt/wz_mini/wz_mini.conf /opt/Upgrade/preserve/
|
||||
cp -r /opt/wz_mini/etc/configs /opt/Upgrade/preserve/
|
||||
@@ -71,44 +78,26 @@ export WZMINI_CFG=/opt/wz_mini/wz_mini.conf
|
||||
|
||||
set -x
|
||||
|
||||
#WCV3 AUDIO GPIO
|
||||
GPIO=63
|
||||
V2="false"
|
||||
#Set the correct GPIO for the audio driver (T31 only)
|
||||
if [ -f /opt/wz_mini/tmp/.HL_PAN2 ]; then
|
||||
GPIO=7
|
||||
elif [ -f /opt/wz_mini/tmp/.WYZE_CAKP2JFUS ]; then
|
||||
GPIO=63
|
||||
fi
|
||||
|
||||
#Check model, change GPIO is HL_PAN2
|
||||
if [[ "$V2" == "false" ]]; then
|
||||
mount -t jffs2 /dev/mtdblock6 /configs
|
||||
if [[ $(cat /configs/.product_config | grep PRODUCT_MODEL) == "PRODUCT_MODEL=HL_PAN2" ]]; then
|
||||
umount /configs
|
||||
GPIO=7
|
||||
fi
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
insmod /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/audio.ko
|
||||
LD_LIBRARY_PATH='/opt/wz_mini/lib' /opt/wz_mini/bin/audioplay_t20 /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/usr/share/audio/upgrade_mode_v2.wav $AUDIO_PROMPT_VOLUME
|
||||
rmmod audio
|
||||
else
|
||||
echo "not HL_PAN2"
|
||||
insmod /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/audio.ko spk_gpio=$GPIO alc_mode=0 mic_gain=0
|
||||
/opt/wz_mini/bin/audioplay_t31 /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/usr/share/audio/upgrade_mode.wav $AUDIO_PROMPT_VOLUME
|
||||
rmmod audio
|
||||
fi
|
||||
|
||||
echo "UPGRADE MODE"
|
||||
|
||||
#test for v2
|
||||
if [ -b /dev/mtdblock9 ]; then
|
||||
mount -t jffs2 /dev/mtdblock9 /params
|
||||
if cat /params/config/.product_config | grep WYZEC1-JZ; then
|
||||
V2="true"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
insmod /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/audio.ko
|
||||
LD_LIBRARY_PATH='/opt/wz_mini/lib' /opt/wz_mini/bin/audioplay_t20 /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/usr/share/audio/upgrade_mode_v2.wav $AUDIO_PROMPT_VOLUME
|
||||
rmmod audio
|
||||
else
|
||||
insmod /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/audio.ko spk_gpio=$GPIO alc_mode=0 mic_gain=0
|
||||
/opt/wz_mini/bin/audioplay_t31 /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/usr/share/audio/upgrade_mode.wav $AUDIO_PROMPT_VOLUME
|
||||
rmmod audio
|
||||
fi
|
||||
|
||||
echo UPGRADE MODE
|
||||
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
echo "Upgrading kernel"
|
||||
flashcp -v /opt/Upgrade/wz_mini_hacks-master/v2_install/v2_kernel.bin /dev/mtd1
|
||||
fi
|
||||
@@ -124,12 +113,12 @@ mv /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/factory_t31_ZMC6tiIDQN /opt/factory
|
||||
diff /opt/wz_mini/wz_mini.conf /opt/Upgrade/preserve/wz_mini.conf
|
||||
|
||||
if [ $(cat /opt/Upgrade/preserve/wz_mini.conf | wc -l) != $(cat /opt/wz_mini/wz_mini.conf | wc -l) ]; then
|
||||
echo "doesn't match, keep old config"
|
||||
mv /opt/wz_mini/wz_mini.conf /opt/wz_mini/wz_mini.conf.dist
|
||||
cp /opt/Upgrade/preserve/wz_mini.conf /opt/wz_mini/
|
||||
echo "doesn't match, keep old config"
|
||||
mv /opt/wz_mini/wz_mini.conf /opt/wz_mini/wz_mini.conf.dist
|
||||
cp /opt/Upgrade/preserve/wz_mini.conf /opt/wz_mini/
|
||||
else
|
||||
echo "configs match"
|
||||
cp /opt/Upgrade/preserve/wz_mini.conf /opt/wz_mini/
|
||||
echo "configs match"
|
||||
cp /opt/Upgrade/preserve/wz_mini.conf /opt/wz_mini/
|
||||
fi
|
||||
|
||||
cp /opt/Upgrade/preserve/ssh/* /opt/wz_mini/etc/ssh/
|
||||
@@ -142,11 +131,11 @@ reboot
|
||||
}
|
||||
|
||||
if [[ -e /tmp/dbgflag ]]; then
|
||||
upgrade_mode_start
|
||||
upgrade_mode_start
|
||||
else
|
||||
|
||||
if [ "$1" == "backup_begin" ]; then
|
||||
backup_begin
|
||||
backup_begin
|
||||
else
|
||||
|
||||
read -r -p "${1:-wz_mini, this will download the latest version from github and upgrade your system. Are you sure? [y/N]} " response
|
||||
|
@@ -21,22 +21,7 @@ set -x
|
||||
echo "welcome to wz_cam.sh"
|
||||
echo "PID $$"
|
||||
|
||||
#test for v2
|
||||
v2_test() {
|
||||
if cat /params/config/.product_config | grep WYZEC1-JZ; then
|
||||
V2="true"
|
||||
fi
|
||||
}
|
||||
|
||||
if mountpoint -q /params; then
|
||||
echo "params already mounted"
|
||||
v2_test
|
||||
else
|
||||
mount -t jffs2 /dev/mtdblock9 /params
|
||||
v2_test
|
||||
fi
|
||||
|
||||
if [ "$V2" == "false" ]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T31 ]; then
|
||||
|
||||
cp /opt/wz_mini/etc/uvc.config /opt/wz_mini/usr/bin/uvc.config
|
||||
|
||||
|
@@ -36,40 +36,59 @@ echo '
|
||||
|
||||
set -x
|
||||
|
||||
#WCV3 AUDIO GPIO
|
||||
GPIO=63
|
||||
V2="false"
|
||||
|
||||
#replace stock busybox
|
||||
mount --bind /opt/wz_mini/bin/busybox /bin/busybox
|
||||
|
||||
#test for v2
|
||||
echo "replace stock fstab"
|
||||
mount --bind /opt/wz_mini/etc/fstab /etc/fstab
|
||||
|
||||
echo "mount workplace dir"
|
||||
mount -t tmpfs /opt/wz_mini/tmp
|
||||
|
||||
echo "install busybox applets"
|
||||
mkdir /opt/wz_mini/tmp/.bin
|
||||
/opt/wz_mini/bin/busybox --install -s /opt/wz_mini/tmp/.bin
|
||||
|
||||
##DETECT CAMERA MODEL & PLATFORM TYPE
|
||||
#V2=WYZEC1-JZ
|
||||
#PANv1=WYZECP1_JEF
|
||||
#PANv2=HL_PAN2
|
||||
#V3=WYZE_CAKP2JFUS
|
||||
#DB3=WYZEDB3
|
||||
|
||||
#mtdblock9 only exists on the T20 platform, indicating V2 or PANv1
|
||||
if [ -b /dev/mtdblock9 ]; then
|
||||
mount -t jffs2 /dev/mtdblock9 /params
|
||||
if cat /params/config/.product_config | grep WYZEC1-JZ; then
|
||||
V2="true"
|
||||
fi
|
||||
mkdir /opt/wz_mini/tmp/params
|
||||
mount -t jffs2 /dev/mtdblock9 /opt/wz_mini/tmp/params
|
||||
touch /opt/wz_mini/tmp/.$(cat /opt/wz_mini/tmp/params/config/.product_config | grep PRODUCT_MODEL | sed -e 's#.*=\(\)#\1#')
|
||||
touch /opt/wz_mini/tmp/.T20
|
||||
umount /opt/wz_mini/tmp/params
|
||||
rm -rf /opt/wz_mini/tmp/params
|
||||
elif [ -b /dev/mtdblock6 ]; then
|
||||
mkdir /opt/wz_mini/tmp/configs
|
||||
mount -t jffs2 /dev/mtdblock6 /opt/wz_mini/tmp/configs
|
||||
touch /opt/wz_mini/tmp/.$(cat /opt/wz_mini/tmp/configs/.product_config | grep PRODUCT_MODEL | sed -e 's#.*=\(\)#\1#')
|
||||
touch /opt/wz_mini/tmp/.T31
|
||||
umount /opt/wz_mini/tmp/configs
|
||||
rm -rf /opt/wz_mini/tmp/configs
|
||||
fi
|
||||
|
||||
#Check model, change GPIO is HL_PAN2
|
||||
if [[ "$V2" == "false" ]]; then
|
||||
mount -t jffs2 /dev/mtdblock6 /configs
|
||||
if [[ $(cat /configs/.product_config | grep PRODUCT_MODEL) == "PRODUCT_MODEL=HL_PAN2" ]]; then
|
||||
umount /configs
|
||||
GPIO=7
|
||||
fi
|
||||
else
|
||||
echo "not HL_PAN2"
|
||||
#Set the correct GPIO for the audio driver (T31 only)
|
||||
if [ -f /opt/wz_mini/tmp/.HL_PAN2 ]; then
|
||||
GPIO=7
|
||||
elif [ -f /opt/wz_mini/tmp/.WYZE_CAKP2JFUS ]; then
|
||||
GPIO=63
|
||||
fi
|
||||
|
||||
if [[ -e /opt/wz_mini/etc/.first_boot ]]; then
|
||||
if [ -e /opt/wz_mini/etc/.first_boot ]; then
|
||||
echo "first boot already completed"
|
||||
else
|
||||
echo "first boot, initializing"
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14/extra/audio.ko
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
#May need different gpio for PANv1
|
||||
#We don't rmmod this module, as it is marked [permanent] by the kernel on T20
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14/extra/audio.ko sign_mode=0
|
||||
LD_LIBRARY_PATH='/opt/wz_mini/lib' /opt/wz_mini/bin/audioplay_t20 /opt/wz_mini/usr/share/audio/init_v2.wav $AUDIO_PROMPT_VOLUME
|
||||
rmmod audio
|
||||
else
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/audio.ko spk_gpio=$GPIO alc_mode=0 mic_gain=0
|
||||
/opt/wz_mini/bin/audioplay_t31 /opt/wz_mini/usr/share/audio/init.wav $AUDIO_PROMPT_VOLUME
|
||||
@@ -88,25 +107,13 @@ echo "mounting tmpfs"
|
||||
mount -t tmpfs /tmp
|
||||
|
||||
echo "mount system to replace factorycheck with dummy, to prevent bind unmount"
|
||||
if [[ ! "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T31 ]; then
|
||||
mount /dev/mtdblock3 /system
|
||||
mount --bind /opt/wz_mini/bin/factorycheck /system/bin/factorycheck
|
||||
else
|
||||
echo "v2 doesn't need factorycheck"
|
||||
fi
|
||||
|
||||
touch /tmp/usrflag
|
||||
|
||||
echo "replace stock fstab"
|
||||
mount --bind /opt/wz_mini/etc/fstab /etc/fstab
|
||||
|
||||
echo "mount workplace dir"
|
||||
mount -t tmpfs /opt/wz_mini/tmp
|
||||
|
||||
echo "install busybox applets"
|
||||
mkdir /opt/wz_mini/tmp/.bin
|
||||
/opt/wz_mini/bin/busybox --install -s /opt/wz_mini/tmp/.bin
|
||||
|
||||
echo "create workspace directory"
|
||||
mkdir /opt/wz_mini/tmp/.storage
|
||||
|
||||
@@ -124,7 +131,7 @@ sed -i '/system\/\lib/s/$/:\/opt\/wz_mini\/lib/' /opt/wz_mini/tmp/.storage/rcS
|
||||
#sed -i '/^# Run init script.*/i#Hook Library PATH here\nexport LD_LIBRARY_PATH=/tmp/test/lib:$LD_LIBRARY_PATH\n' /opt/wz_mini/tmp/.storage/rcS
|
||||
#sed -i '/^# Run init script.*/i#Hook system PATH here\nexport PATH=/tmp/test/bin:$PATH\n' /opt/wz_mini/tmp/.storage/rcS
|
||||
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
mount -t jffs2 /dev/mtdblock4 /system
|
||||
fi
|
||||
|
||||
@@ -147,10 +154,8 @@ mount --bind /opt/wz_mini/tmp/.storage/shadow /etc/shadow
|
||||
chmod 400 /etc/shadow
|
||||
|
||||
if [[ -e /opt/wz_mini/swap.gz ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14/extra/audio.ko
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
LD_LIBRARY_PATH='/opt/wz_mini/lib' /opt/wz_mini/bin/audioplay_t20 /opt/wz_mini/usr/share/audio/swap_v2.wav $AUDIO_PROMPT_VOLUME
|
||||
rmmod audio
|
||||
else
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/audio.ko spk_gpio=$GPIO alc_mode=0 mic_gain=0
|
||||
/opt/wz_mini/bin/audioplay_t31 /opt/wz_mini/usr/share/audio/swap.wav $AUDIO_PROMPT_VOLUME
|
||||
@@ -161,10 +166,10 @@ if [[ -e /opt/wz_mini/swap.gz ]]; then
|
||||
mkswap /opt/wz_mini/swap
|
||||
sync;echo 3 > /proc/sys/vm/drop_caches
|
||||
else
|
||||
echo "swap archive not present, not extracting"
|
||||
echo "swap archive missing, not extracting"
|
||||
fi
|
||||
|
||||
if [[ -d /opt/wz_mini/usr/share/terminfo ]]; then
|
||||
if [ -d /opt/wz_mini/usr/share/terminfo ]; then
|
||||
echo "terminfo already present"
|
||||
else
|
||||
echo "terminfo not present, extract"
|
||||
|
@@ -16,7 +16,7 @@ exec 1> $LOG_NAME.log 2>&1
|
||||
|
||||
set -x
|
||||
|
||||
if [[ -e /tmp/dbgflag ]];then
|
||||
if [ -e /tmp/dbgflag ];then
|
||||
echo "debug mode, disabled"
|
||||
exit 0
|
||||
fi
|
||||
@@ -40,20 +40,14 @@ if [ -d /lib/modules ]; then
|
||||
mount --bind /opt/wz_mini/lib/modules /lib/modules
|
||||
fi
|
||||
|
||||
if [ -f /params/config/.product_config ]; then
|
||||
if cat /params/config/.product_config | grep WYZEC1-JZ; then
|
||||
V2="true"
|
||||
fi
|
||||
fi
|
||||
|
||||
## REPLACE STOCK MODULES
|
||||
|
||||
if [[ "$ENABLE_RTL8189FS_DRIVER" == "true" ]]; then
|
||||
#V2/V3 ONLY
|
||||
#V2/V3 ONLY [DB3 untested]
|
||||
echo "Enable RTL8189FS"
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.WYZEC1-JZ ]; then
|
||||
sed -i 's/\/driver\/rtl8189ftv.ko/\/opt\/wz_mini\/lib\/modules\/3.10.14\/extra\/8189fs.ko rtw_power_mgnt=0 rtw_enusbss=0/g' /opt/wz_mini/tmp/.storage/app_init.sh
|
||||
else
|
||||
elif [ -f /opt/wz_mini/tmp/.WYZE_CAKP2JFUS ]; then
|
||||
sed -i 's/\/system\/driver\/rtl8189ftv.ko/\/opt\/wz_mini\/lib\/modules\/3.10.14\_\_isvp_swan_1.0\_\_\/extra\/8189fs.ko rtw_power_mgnt=0 rtw_enusbss=0/g' /opt/wz_mini/tmp/.storage/app_init.sh
|
||||
fi
|
||||
fi
|
||||
@@ -62,7 +56,7 @@ fi
|
||||
|
||||
if [[ "$RTSP_HI_RES_ENABLED" == "true" ]] || [[ "$RTSP_LOW_RES_ENABLED" == "true" ]] && ! [[ -e /tmp/dbgflag ]]; then
|
||||
if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]] && [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
echo "load video loopback driver at video6 video7"
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14/extra/v4l2loopback_V2.ko video_nr=6,7
|
||||
else
|
||||
@@ -70,7 +64,7 @@ if [[ "$RTSP_HI_RES_ENABLED" == "true" ]] || [[ "$RTSP_LOW_RES_ENABLED" == "tru
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/v4l2loopback.ko video_nr=1,2
|
||||
fi
|
||||
elif [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
echo "load video loopback driver at video7"
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14/extra/v4l2loopback_V2.ko video_nr=7
|
||||
else
|
||||
@@ -78,7 +72,7 @@ if [[ "$RTSP_HI_RES_ENABLED" == "true" ]] || [[ "$RTSP_LOW_RES_ENABLED" == "tru
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/v4l2loopback.ko video_nr=2
|
||||
fi
|
||||
elif [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
echo "load video loopback driver at video6"
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14/extra/v4l2loopback_V2.ko video_nr=6
|
||||
else
|
||||
|
@@ -29,11 +29,11 @@ export WZMINI_CFG=/opt/wz_mini/wz_mini.conf
|
||||
|
||||
hostname_set() {
|
||||
echo "set hostname"
|
||||
hostname $HOSTNAME
|
||||
hostname $CUSTOM_HOSTNAME
|
||||
}
|
||||
|
||||
first_run_check() {
|
||||
if [[ -e /opt/wz_mini/tmp/.wz_user_firstrun ]]; then
|
||||
if [ -e /opt/wz_mini/tmp/.wz_user_firstrun ]; then
|
||||
echo "wz_user.sh already run once, exit."
|
||||
exit 0
|
||||
fi
|
||||
@@ -121,7 +121,7 @@ eth_wlan_up() {
|
||||
##Run DHCP client, and bind mount our fake wpa_cli.sh to fool iCamera
|
||||
ifconfig wlan0 up
|
||||
pkill udhcpc
|
||||
udhcpc -i wlan0 -x hostname:$HOSTNAME -p /var/run/udhcpc.pid -b
|
||||
udhcpc -i wlan0 -x hostname:$CUSTOM_HOSTNAME -p /var/run/udhcpc.pid -b
|
||||
|
||||
# If running with Interface Bonding enabled, kill any existing
|
||||
# wpa_supplicant that might be running and spawn our own instead
|
||||
@@ -130,7 +130,7 @@ eth_wlan_up() {
|
||||
wpa_supplicant -D nl80211 -i wlanold -c /tmp/wpa_supplicant.conf -B -s
|
||||
fi
|
||||
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
mount -o bind /opt/wz_mini/bin/wpa_cli.sh /system/bin/wpa_cli
|
||||
else
|
||||
mount -o bind /opt/wz_mini/bin/wpa_cli.sh /bin/wpa_cli
|
||||
@@ -141,7 +141,7 @@ eth_wlan_up() {
|
||||
|
||||
wpa_check() {
|
||||
#Check if wpa_supplicant has been created by iCamera
|
||||
if [[ -e /tmp/wpa_supplicant.conf ]]; then
|
||||
if [ -e /tmp/wpa_supplicant.conf ]; then
|
||||
echo "wpa_supplicant.conf ready"
|
||||
wlanold_check $1
|
||||
else
|
||||
@@ -158,7 +158,7 @@ wpa_check() {
|
||||
|
||||
wlanold_check() {
|
||||
#Have we renamed interfaces yet?
|
||||
if [[ -d /sys/class/net/wlanold ]]; then
|
||||
if [ -d /sys/class/net/wlanold ]; then
|
||||
echo "wlanold exist"
|
||||
eth_wlan_up
|
||||
else
|
||||
@@ -182,7 +182,7 @@ netloop() {
|
||||
}
|
||||
|
||||
swap_enable() {
|
||||
if [[ -e /opt/wz_mini/swap ]]; then
|
||||
if [ -e /opt/wz_mini/swap ]; then
|
||||
echo "Swap file exists"
|
||||
if cat /proc/swaps | grep "mini" ; then
|
||||
echo "Swap is already enabled"
|
||||
@@ -224,12 +224,11 @@ done
|
||||
first_run_check
|
||||
wait_wlan
|
||||
|
||||
if cat /params/config/.product_config | grep WYZEC1-JZ; then
|
||||
V2="true"
|
||||
KMOD_PATH="/opt/wz_mini/lib/modules/3.10.14"
|
||||
#Set module dir depending on platform
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
KMOD_PATH="/opt/wz_mini/lib/modules/3.10.14"
|
||||
else
|
||||
V2="false"
|
||||
KMOD_PATH="/opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__"
|
||||
KMOD_PATH="/opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__"
|
||||
fi
|
||||
|
||||
swap_enable
|
||||
@@ -252,8 +251,8 @@ else
|
||||
fi
|
||||
|
||||
if [[ "$ENABLE_IPTABLES" == "true" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
echo "v2 has iptables built in"
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
echo "T20 has iptables built in"
|
||||
else
|
||||
insmod /lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/x_tables.ko
|
||||
insmod /lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/ip_tables.ko
|
||||
@@ -314,9 +313,9 @@ fi
|
||||
|
||||
if [[ "$ENABLE_USB_DIRECT" == "true" ]]; then
|
||||
|
||||
HOST_MACADDR=$(echo "$HOSTNAME"|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/')
|
||||
HOST_MACADDR=$(echo "$CUSTOM_HOSTNAME"|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/')
|
||||
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
echo connect > /sys/devices/platform/jz-dwc2/dwc2/udc/dwc2/soft_connect
|
||||
sleep 1
|
||||
devmem 0x10000040 32 0x0b800096
|
||||
@@ -332,7 +331,7 @@ if [[ "$ENABLE_USB_DIRECT" == "true" ]]; then
|
||||
|
||||
insmod $KMOD_PATH/kernel/drivers/usb/gadget/libcomposite.ko
|
||||
|
||||
if [[ "$V2" == "false" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T31 ]; then
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/u_ether.ko
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/usb_f_ncm.ko
|
||||
fi
|
||||
@@ -421,7 +420,7 @@ else
|
||||
fi
|
||||
|
||||
if [[ "$ENABLE_EXT4" == "true" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
insmod $KMOD_PATH/kernel/lib/crc16.ko
|
||||
fi
|
||||
|
||||
@@ -450,8 +449,8 @@ else
|
||||
fi
|
||||
|
||||
if [[ "$ENABLE_MP4_WRITE" == "true" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
echo "mp4_write is not supported on v2"
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
echo "mp4_write is not supported on T20"
|
||||
else
|
||||
/opt/wz_mini/bin/cmd mp4write on
|
||||
echo "mp4_write enabled"
|
||||
@@ -462,7 +461,7 @@ fi
|
||||
|
||||
if [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
|
||||
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
HI_VIDEO_DEV="/dev/video6"
|
||||
else
|
||||
HI_VIDEO_DEV="/dev/video1"
|
||||
@@ -487,7 +486,7 @@ if [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
|
||||
fi
|
||||
|
||||
if [[ "$RTSP_HI_RES_ENC_PARAMETER" != "" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
if [[ $RTSP_HI_RES_ENC_PARAMETER =~ "^[0|1|2|4|8]$" ]]; then
|
||||
watch -n30 -t "/system/bin/impdbg --enc_rc_s 0:0:4:$RTSP_HI_RES_ENC_PARAMETER" > /dev/null 2>&1 &
|
||||
sleep 5
|
||||
@@ -505,7 +504,7 @@ if [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
|
||||
fi
|
||||
|
||||
if [[ "$RTSP_HI_RES_MAX_BITRATE" != "" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
watch -n30 -t "/system/bin/impdbg --enc_rc_s 0:28:4:$RTSP_HI_RES_MAX_BITRATE" > /dev/null 2>&1 &
|
||||
sleep 5
|
||||
else
|
||||
@@ -515,8 +514,8 @@ if [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
|
||||
fi
|
||||
|
||||
if [[ "$RTSP_HI_RES_TARGET_BITRATE" != "" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
echo "not supported on v2"
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
echo "not supported on T20"
|
||||
else
|
||||
watch -n30 -t "/system/bin/impdbg --enc_rc_s 0:48:4:$RTSP_HI_RES_TARGET_BITRATE" > /dev/null 2>&1 &
|
||||
sleep 5
|
||||
@@ -524,7 +523,7 @@ if [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
|
||||
fi
|
||||
|
||||
if [[ "$RTSP_HI_RES_FPS" != "" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
watch -n30 -t "/system/bin/impdbg --enc_rc_s 0:8:4:$RTSP_HI_RES_FPS" > /dev/null 2>&1 &
|
||||
sleep 5
|
||||
else
|
||||
@@ -541,7 +540,7 @@ fi
|
||||
|
||||
if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]; then
|
||||
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
LOW_VIDEO_DEV="/dev/video7"
|
||||
else
|
||||
LOW_VIDEO_DEV="/dev/video2"
|
||||
@@ -566,7 +565,7 @@ if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]; then
|
||||
fi
|
||||
|
||||
if [[ "$RTSP_LOW_RES_ENC_PARAMETER" != "" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
if [[ $RTSP_LOW_RES_ENC_PARAMETER =~ "^[0|1|2|4|8]$" ]]; then
|
||||
watch -n30 -t "/system/bin/impdbg --enc_rc_s 1:0:4:$RTSP_LOW_RES_ENC_PARAMETER" > /dev/null 2>&1 &
|
||||
sleep 5
|
||||
@@ -583,7 +582,7 @@ if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]; then
|
||||
fi
|
||||
|
||||
if [[ "$RTSP_LOW_RES_MAX_BITRATE" != "" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
watch -n30 -t "/system/bin/impdbg --enc_rc_s 1:28:4:$RTSP_LOW_RES_MAX_BITRATE" > /dev/null 2>&1 &
|
||||
sleep 5
|
||||
else
|
||||
@@ -592,15 +591,15 @@ if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]; then
|
||||
fi
|
||||
|
||||
if [[ "$RTSP_LOW_RES_TARGET_BITRATE" != "" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
echo "not supported on v2"
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
echo "not supported on T20"
|
||||
else
|
||||
watch -n30 -t "/system/bin/impdbg --enc_rc_s 1:48:4:$RTSP_LOW_RES_TARGET_BITRATE" > /dev/null 2>&1 &
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$RTSP_LOW_RES_FPS" != "" ]]; then
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
if [ -f /opt/wz_mini/tmp/.T20 ]; then
|
||||
watch -n30 -t "/system/bin/impdbg --enc_rc_s 1:8:4:$RTSP_LOW_RES_FPS" > /dev/null 2>&1 &
|
||||
sleep 5
|
||||
else
|
||||
@@ -632,7 +631,7 @@ fi
|
||||
|
||||
hostname_set
|
||||
touch /opt/wz_mini/tmp/.wz_user_firstrun
|
||||
pkill -f dumpload #Kill dumpload so it won't waste cpu or ram gathering cores when something crashes
|
||||
pkill -f dumpload #Kill dumpload so it won't waste cpu or ram gathering cores and uploading them when something crashes
|
||||
sysctl -w kernel.core_pattern='|/bin/false'
|
||||
dmesg_log
|
||||
trim_logs
|
||||
|
@@ -9,7 +9,7 @@ WEB_CAM_BIT_RATE="8000"
|
||||
WEB_CAM_FPS_RATE="25"
|
||||
|
||||
#####NETWORKING#####
|
||||
HOSTNAME="WCV3"
|
||||
CUSTOM_HOSTNAME="WCV3"
|
||||
|
||||
ENABLE_USB_ETH="false"
|
||||
ENABLE_USB_ETH_MODULES="asix"
|
||||
@@ -32,6 +32,8 @@ ENABLE_IPTABLES="false"
|
||||
|
||||
ENABLE_NFSv4="false"
|
||||
|
||||
ENABLE_RTL8189FS_DRIVER="false"
|
||||
|
||||
#####ACCESSORIES#####
|
||||
REMOTE_SPOTLIGHT="false"
|
||||
REMOTE_SPOTLIGHT_HOST="0.0.0.0"
|
||||
|
@@ -1,171 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -L /dev/fd ]; then
|
||||
echo fd exists
|
||||
else
|
||||
echo fd does not exist, link
|
||||
ln -s /proc/self/fd /dev/fd
|
||||
fi
|
||||
|
||||
LOG_FILE=/opt/upgrade_wz_mini.log
|
||||
exec > >(busybox tee -a ${LOG_FILE}) 2>&1
|
||||
|
||||
setup() {
|
||||
|
||||
echo "Create Upgrade directory"
|
||||
mkdir /opt/Upgrade
|
||||
|
||||
echo "Create backup files directory"
|
||||
mkdir /opt/Upgrade/preserve
|
||||
|
||||
echo "Download latest master"
|
||||
wget --no-check-certificate https://github.com/gtxaspec/wz_mini_hacks/archive/refs/heads/master.zip -O /opt/Upgrade/wz_mini.zip; sync
|
||||
|
||||
echo "Extract archive"
|
||||
unzip /opt/Upgrade/wz_mini.zip -d /opt/Upgrade/
|
||||
|
||||
echo "Verify file integrity"
|
||||
cd /opt/Upgrade/wz_mini_hacks-master
|
||||
md5sum -c file.chk
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "files OK"
|
||||
install_upgrade_script
|
||||
else
|
||||
echo "Failure: archive has corrupted files"
|
||||
echo "Delete failed upgrade dir"
|
||||
rm -rf /opt/Upgrade
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
install_upgrade_script() {
|
||||
echo "Installing latest upgrade-script"
|
||||
cp /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/bin/upgrade-run.sh /opt/wz_mini/bin/upgrade-run.sh
|
||||
/opt/wz_mini/bin/upgrade-run.sh backup_begin
|
||||
}
|
||||
|
||||
backup_begin() {
|
||||
echo "Backup user config"
|
||||
cp /opt/wz_mini/wz_mini.conf /opt/Upgrade/preserve/
|
||||
cp -r /opt/wz_mini/etc/configs /opt/Upgrade/preserve/
|
||||
cp -r /opt/wz_mini/etc/ssh /opt/Upgrade/preserve/
|
||||
cp -r /opt/wz_mini/etc/wireguard /opt/Upgrade/preserve/
|
||||
sync
|
||||
|
||||
echo "Rebooting into UPGRADE MODE"
|
||||
reboot
|
||||
}
|
||||
|
||||
|
||||
upgrade_mode_start() {
|
||||
|
||||
export WZMINI_CFG=/opt/wz_mini/wz_mini.conf
|
||||
|
||||
[ -f $WZMINI_CFG ] && source $WZMINI_CFG
|
||||
|
||||
set -x
|
||||
|
||||
#WCV3 AUDIO GPIO
|
||||
GPIO=63
|
||||
V2="false"
|
||||
|
||||
#Check model, change GPIO is HL_PAN2
|
||||
if [[ "$V2" == "false" ]]; then
|
||||
mount -t jffs2 /dev/mtdblock6 /configs
|
||||
if [[ $(cat /configs/.product_config | grep PRODUCT_MODEL) == "PRODUCT_MODEL=HL_PAN2" ]]; then
|
||||
umount /configs
|
||||
GPIO=7
|
||||
fi
|
||||
else
|
||||
echo "not HL_PAN2"
|
||||
fi
|
||||
|
||||
|
||||
#test for v2
|
||||
if [ -b /dev/mtdblock9 ]; then
|
||||
mount -t jffs2 /dev/mtdblock9 /params
|
||||
if cat /params/config/.product_config | grep WYZEC1-JZ; then
|
||||
V2="true"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [[ "$V2" == "true" ]]; then
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14/kernel/audio.ko
|
||||
LD_LIBRARY_PATH='/opt/wz_mini/lib' /opt/wz_mini/bin/audioplay_t20 /opt/wz_mini/usr/share/audio/upgrade_mode_v2.wav $AUDIO_PROMPT_VOLUME
|
||||
rmmod audio
|
||||
else
|
||||
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/audio.ko spk_gpio=$GPIO alc_mode=0 mic_gain=0
|
||||
/opt/wz_mini/bin/audioplay_t31 /opt/wz_mini/usr/share/audio/upgrade_mode.wav $AUDIO_PROMPT_VOLUME
|
||||
rmmod audio
|
||||
fi
|
||||
|
||||
echo UPGRADE MODE
|
||||
|
||||
umount -l /opt/wz_mini/tmp
|
||||
ls -l /opt/wz_mini/
|
||||
rm -rf /opt/wz_mini/*
|
||||
sync
|
||||
mv /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/* /opt/wz_mini/
|
||||
rm -f /opt/factory_t31_ZMC6tiIDQN
|
||||
mv /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/factory_t31_ZMC6tiIDQN /opt/factory_t31_ZMC6tiIDQN
|
||||
|
||||
diff /opt/wz_mini/wz_mini.conf /opt/Upgrade/preserve/wz_mini.conf
|
||||
|
||||
if [ $(cat /opt/Upgrade/preserve/wz_mini.conf | wc -l) != $(cat /opt/wz_mini/wz_mini.conf | wc -l) ]; then
|
||||
echo "doesn't match, keep old config"
|
||||
mv /opt/wz_mini/wz_mini.conf /opt/wz_mini/wz_mini.conf.dist
|
||||
cp /opt/Upgrade/preserve/wz_mini.conf /opt/wz_mini/
|
||||
else
|
||||
echo "configs match"
|
||||
cp /opt/Upgrade/preserve/wz_mini.conf /opt/wz_mini/
|
||||
fi
|
||||
|
||||
cp /opt/Upgrade/preserve/ssh/* /opt/wz_mini/etc/ssh/
|
||||
cp /opt/Upgrade/preserve/configs/* /opt/wz_mini/etc/configs
|
||||
cp -r /opt/Upgrade/preserve/wireguard /opt/wz_mini/etc/
|
||||
rm -rf /opt/Upgrade
|
||||
sync
|
||||
reboot
|
||||
|
||||
}
|
||||
|
||||
if [[ -e /tmp/dbgflag ]]; then
|
||||
upgrade_mode_start
|
||||
else
|
||||
|
||||
if [ "$1" == "backup_begin" ]; then
|
||||
backup_begin
|
||||
else
|
||||
|
||||
read -r -p "${1:-wz_mini, this will download the latest version from github and upgrade your system. Are you sure? [y/N]} " response
|
||||
case "$response" in
|
||||
[yY][eE][sS]|[yY])
|
||||
if [[ -d /opt/Upgrade ]]; then
|
||||
echo "WARNING: Old Upgrade directory exists"
|
||||
read -r -p "${1:-Unable to proceed, must DELETE old Upgrade directory, are you sure? [y/N]} " response
|
||||
case "$response" in
|
||||
[yY][eE][sS]|[yY])
|
||||
rm -rf /opt/Upgrade
|
||||
sync
|
||||
setup
|
||||
;;
|
||||
*)
|
||||
echo "User denied directory removal, exit"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
setup
|
||||
fi
|
||||
|
||||
;;
|
||||
*)
|
||||
echo "User declined system update, exit"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
fi
|
@@ -9,7 +9,7 @@ WEB_CAM_BIT_RATE="8000"
|
||||
WEB_CAM_FPS_RATE="25"
|
||||
|
||||
#####NETWORKING#####
|
||||
HOSTNAME="WCV3"
|
||||
CUSTOM_HOSTNAME="WCV3"
|
||||
|
||||
ENABLE_USB_ETH="false"
|
||||
ENABLE_USB_ETH_MODULES="asix"
|
||||
|
Reference in New Issue
Block a user