├── .gitignore ├── README.md ├── SD_ROOT ├── factory_t31_ZMC6tiIDQN └── wz_mini │ ├── bin │ ├── ar │ ├── audioplay_t20 │ ├── audioplay_t31 │ ├── bash │ ├── busybox │ ├── car_control.sh │ ├── cmd │ ├── curl │ ├── dbclient │ ├── dnsmasq │ ├── dropbear │ ├── dropbearconvert │ ├── dropbearkey │ ├── dufs │ ├── factorycheck │ ├── ffmpeg │ ├── file │ ├── fsck.vfat │ ├── gather_wz_logs.sh │ ├── go2rtc_linux_mipsel │ ├── htop │ ├── ip6tables │ ├── iperf3 │ ├── iptables │ ├── iwconfig.sh │ ├── iwlist │ ├── ld │ ├── nano │ ├── neofetch │ ├── nm │ ├── objcopy │ ├── objdump │ ├── ranlib │ ├── readelf │ ├── rsync │ ├── rtmp-stream.sh │ ├── scp │ ├── screen │ ├── ser2net │ ├── sftp-server │ ├── size │ ├── socat │ ├── spotlight_ctl.sh │ ├── strace │ ├── strings │ ├── tcpdump │ ├── upgrade-run.sh │ ├── v4l2rtspserver │ ├── wg │ ├── wget │ ├── wpa_cli.sh │ ├── wz_mini_edit.sh │ └── xtables-multi │ ├── etc │ ├── alsa │ │ └── alsa.conf │ ├── configs │ │ └── .gitignore │ ├── cron │ │ └── root │ ├── dnsmasq.conf │ ├── dufs.yaml │ ├── fstab │ ├── go2rtc.yml │ ├── hosts │ ├── init.d │ │ ├── S00config │ │ ├── S01bind │ │ ├── S02tmpfs │ │ ├── S03busybox │ │ ├── S04model │ │ ├── S05mount │ │ ├── S06car │ │ ├── S07inject │ │ ├── S08passwd │ │ ├── S09firstboot │ │ ├── S10kmod │ │ ├── S11configbackup │ │ ├── S12ssh │ │ ├── S13fileserver │ │ ├── S14terminfo │ │ ├── S15fwupdate │ │ ├── S16factorycheck │ │ ├── S18ntp │ │ ├── S20initsetup │ │ ├── S21killmisc │ │ ├── S30patchicamera │ │ └── wz_init.sh │ ├── inittab │ ├── network.d │ │ ├── S01wlanhw │ │ ├── S03ipv6 │ │ ├── S04wireguard │ │ ├── S08hostname │ │ ├── S09dnsmasq │ │ ├── S10httpd │ │ ├── S12remoteaccessory │ │ ├── S14storemac │ │ ├── S15v4l2rtspserver │ │ ├── S16rtmp │ │ └── S17go2rtc │ ├── passwd │ ├── profile │ ├── rc.common │ ├── rc.d │ │ ├── K01network │ │ ├── K02webcam │ │ ├── K03rcd │ │ ├── K15logging │ │ ├── S01swap │ │ ├── S03ethernet │ │ ├── S04usbdirect │ │ ├── S05rndis │ │ ├── S06networkalt │ │ ├── S07bonding │ │ ├── S09coredump │ │ ├── S10firmware │ │ ├── S13mp4write │ │ ├── S14nightdrop │ │ ├── S17motor │ │ ├── S18fps │ │ ├── S19video │ │ ├── S20cron │ │ └── S21syslog │ ├── rc.local │ ├── rc.local.d │ │ └── .gitignore │ ├── resolv.conf │ ├── resolv.dnsmasq │ ├── ser2net.yaml │ ├── shadow │ ├── ssh │ │ └── authorized_keys │ ├── ssl │ │ └── ca-bundle.crt │ ├── uvc.config │ ├── uvc_jxf22.config │ ├── uvc_jxf23.config │ ├── uvc_v2.config │ ├── wireguard │ │ └── .gitignore │ └── wz_mini.conf.dist │ ├── lib │ ├── libalog.so │ ├── libasound.so.2 │ ├── libaudioProcess.so │ ├── libcallback.so │ ├── libcallback_t20.so │ ├── libimp.so │ ├── libtinyalsa.so.2 │ ├── libtinyalsa.so.2.0.0 │ ├── modules │ │ ├── 3.10.14 │ │ │ ├── extra │ │ │ │ ├── 8189es.ko │ │ │ │ ├── 8189fs.ko │ │ │ │ ├── audio.ko │ │ │ │ ├── audio_webcam.ko │ │ │ │ ├── libcomposite.ko │ │ │ │ ├── usbcamera.ko │ │ │ │ ├── v4l2loopback_V2.ko │ │ │ │ └── videobuf2-vmalloc.ko │ │ │ ├── kernel │ │ │ │ ├── crypto │ │ │ │ │ └── md4.ko │ │ │ │ ├── drivers │ │ │ │ │ ├── net │ │ │ │ │ │ ├── bonding │ │ │ │ │ │ │ └── bonding.ko │ │ │ │ │ │ ├── tun.ko │ │ │ │ │ │ └── usb │ │ │ │ │ │ │ ├── asix.ko │ │ │ │ │ │ │ ├── ax88179_178a.ko │ │ │ │ │ │ │ ├── cdc_ether.ko │ │ │ │ │ │ │ ├── r8152.ko │ │ │ │ │ │ │ ├── rndis_host.ko │ │ │ │ │ │ │ └── usbnet.ko │ │ │ │ │ ├── scsi │ │ │ │ │ │ ├── scsi_mod.ko │ │ │ │ │ │ └── sd_mod.ko │ │ │ │ │ └── usb │ │ │ │ │ │ ├── gadget │ │ │ │ │ │ ├── g_ncm.ko │ │ │ │ │ │ └── libcomposite.ko │ │ │ │ │ │ ├── serial │ │ │ │ │ │ ├── cp210x.ko │ │ │ │ │ │ └── usbserial.ko │ │ │ │ │ │ └── storage │ │ │ │ │ │ └── usb-storage.ko │ │ │ │ ├── fs │ │ │ │ │ ├── cifs │ │ │ │ │ │ └── cifs.ko │ │ │ │ │ ├── ext4 │ │ │ │ │ │ └── ext4.ko │ │ │ │ │ ├── jbd2 │ │ │ │ │ │ └── jbd2.ko │ │ │ │ │ ├── mbcache.ko │ │ │ │ │ └── nfs │ │ │ │ │ │ └── nfsv4.ko │ │ │ │ ├── lib │ │ │ │ │ ├── crc16.ko │ │ │ │ │ ├── oid_registry.ko │ │ │ │ │ ├── ts_bm.ko │ │ │ │ │ ├── ts_fsm.ko │ │ │ │ │ └── ts_kmp.ko │ │ │ │ └── net │ │ │ │ │ ├── dns_resolver │ │ │ │ │ └── dns_resolver.ko │ │ │ │ │ ├── ipv4 │ │ │ │ │ ├── ip_tunnel.ko │ │ │ │ │ ├── netfilter │ │ │ │ │ │ ├── ip_tables.ko │ │ │ │ │ │ ├── ipt_REJECT.ko │ │ │ │ │ │ ├── iptable_filter.ko │ │ │ │ │ │ ├── iptable_mangle.ko │ │ │ │ │ │ ├── nf_conntrack_ipv4.ko │ │ │ │ │ │ └── nf_defrag_ipv4.ko │ │ │ │ │ └── tunnel4.ko │ │ │ │ │ ├── ipv6 │ │ │ │ │ ├── netfilter │ │ │ │ │ │ ├── ip6_tables.ko │ │ │ │ │ │ ├── ip6t_REJECT.ko │ │ │ │ │ │ ├── ip6table_filter.ko │ │ │ │ │ │ └── ip6table_mangle.ko │ │ │ │ │ └── sit.ko │ │ │ │ │ ├── netfilter │ │ │ │ │ ├── nf_conntrack.ko │ │ │ │ │ ├── x_tables.ko │ │ │ │ │ ├── xt_LOG.ko │ │ │ │ │ ├── xt_TCPMSS.ko │ │ │ │ │ ├── xt_comment.ko │ │ │ │ │ ├── xt_iprange.ko │ │ │ │ │ ├── xt_mac.ko │ │ │ │ │ ├── xt_mark.ko │ │ │ │ │ ├── xt_state.ko │ │ │ │ │ ├── xt_string.ko │ │ │ │ │ └── xt_tcpudp.ko │ │ │ │ │ ├── sunrpc │ │ │ │ │ └── auth_gss │ │ │ │ │ │ └── auth_rpcgss.ko │ │ │ │ │ └── wireguard │ │ │ │ │ └── wireguard.ko │ │ │ ├── modules.alias │ │ │ ├── modules.alias.bin │ │ │ ├── modules.builtin │ │ │ ├── modules.builtin.alias.bin │ │ │ ├── modules.builtin.bin │ │ │ ├── modules.dep │ │ │ ├── modules.dep.bin │ │ │ ├── modules.devname │ │ │ ├── modules.order │ │ │ ├── modules.softdep │ │ │ ├── modules.symbols │ │ │ └── modules.symbols.bin │ │ └── 3.10.14__isvp_swan_1.0__ │ │ │ ├── extra │ │ │ ├── 8189fs.ko │ │ │ ├── atbm603x_wifi_sdio.ko │ │ │ ├── atbm_txpwer_dcxo_cfg.txt │ │ │ ├── audio.ko │ │ │ ├── usbcamera.ko │ │ │ ├── v4l2loopback.ko │ │ │ └── videobuf2-vmalloc.ko │ │ │ ├── kernel │ │ │ ├── crypto │ │ │ │ ├── cmac.ko │ │ │ │ └── md4.ko │ │ │ ├── drivers │ │ │ │ ├── net │ │ │ │ │ ├── bonding │ │ │ │ │ │ └── bonding.ko │ │ │ │ │ └── usb │ │ │ │ │ │ ├── asix.ko │ │ │ │ │ │ ├── ax88179_178a.ko │ │ │ │ │ │ ├── cdc_ether.ko │ │ │ │ │ │ ├── r8152.ko │ │ │ │ │ │ ├── rndis_host.ko │ │ │ │ │ │ └── usbnet.ko │ │ │ │ ├── scsi │ │ │ │ │ ├── scsi_mod.ko │ │ │ │ │ └── sd_mod.ko │ │ │ │ └── usb │ │ │ │ │ ├── gadget │ │ │ │ │ ├── g_ncm.ko │ │ │ │ │ ├── libcomposite.ko │ │ │ │ │ ├── u_ether.ko │ │ │ │ │ └── usb_f_ncm.ko │ │ │ │ │ ├── serial │ │ │ │ │ ├── cp210x.ko │ │ │ │ │ └── usbserial.ko │ │ │ │ │ └── storage │ │ │ │ │ └── usb-storage.ko │ │ │ ├── fs │ │ │ │ ├── cifs │ │ │ │ │ └── cifs.ko │ │ │ │ ├── ext4 │ │ │ │ │ └── ext4.ko │ │ │ │ ├── fscache │ │ │ │ │ └── fscache.ko │ │ │ │ ├── jbd2 │ │ │ │ │ └── jbd2.ko │ │ │ │ ├── mbcache.ko │ │ │ │ └── nfs │ │ │ │ │ └── nfsv4.ko │ │ │ ├── lib │ │ │ │ └── oid_registry.ko │ │ │ └── net │ │ │ │ ├── dns_resolver │ │ │ │ └── dns_resolver.ko │ │ │ │ ├── ipv4 │ │ │ │ ├── ip_tunnel.ko │ │ │ │ ├── netfilter │ │ │ │ │ ├── ip_tables.ko │ │ │ │ │ ├── ipt_REJECT.ko │ │ │ │ │ ├── iptable_filter.ko │ │ │ │ │ ├── iptable_mangle.ko │ │ │ │ │ ├── nf_conntrack_ipv4.ko │ │ │ │ │ └── nf_defrag_ipv4.ko │ │ │ │ └── tunnel4.ko │ │ │ │ ├── ipv6 │ │ │ │ ├── netfilter │ │ │ │ │ ├── ip6_tables.ko │ │ │ │ │ ├── ip6t_REJECT.ko │ │ │ │ │ ├── ip6table_filter.ko │ │ │ │ │ └── ip6table_mangle.ko │ │ │ │ └── sit.ko │ │ │ │ ├── netfilter │ │ │ │ ├── nf_conntrack.ko │ │ │ │ ├── x_tables.ko │ │ │ │ ├── xt_LOG.ko │ │ │ │ ├── xt_TCPMSS.ko │ │ │ │ ├── xt_mark.ko │ │ │ │ ├── xt_state.ko │ │ │ │ └── xt_tcpudp.ko │ │ │ │ ├── sunrpc │ │ │ │ └── auth_gss │ │ │ │ │ └── auth_rpcgss.ko │ │ │ │ └── wireguard │ │ │ │ └── wireguard.ko │ │ │ ├── modules.alias │ │ │ ├── modules.alias.bin │ │ │ ├── modules.builtin │ │ │ ├── modules.builtin.alias.bin │ │ │ ├── modules.builtin.bin │ │ │ ├── modules.dep │ │ │ ├── modules.dep.bin │ │ │ ├── modules.devname │ │ │ ├── modules.order │ │ │ ├── modules.softdep │ │ │ ├── modules.symbols │ │ │ └── modules.symbols.bin │ └── uClibc.tar │ ├── log │ └── .gitignore │ ├── mnt │ └── .gitignore │ ├── root │ └── .gitignore │ ├── swap.gz │ ├── tmp │ └── .gitignore │ ├── usr │ ├── bin │ │ ├── app.ver │ │ ├── getSensorType │ │ ├── iCamera │ │ ├── iCamera-dbg │ │ ├── imp_helper.sh │ │ ├── imp_monitor.sh │ │ ├── netmon.sh │ │ ├── patch_icamera.sh │ │ ├── restart_wlan0.sh │ │ ├── ucamera │ │ ├── ucamera_v2 │ │ └── watch_up.sh │ └── share │ │ ├── audio │ │ ├── binbin_v3.wav │ │ ├── honk.wav │ │ ├── honk_v2.pcm │ │ ├── init.wav │ │ ├── init_v2.wav │ │ ├── swap.wav │ │ ├── swap_v2.wav │ │ ├── upgrade_mode.wav │ │ └── upgrade_mode_v2.wav │ │ ├── misc │ │ └── magic.mgc │ │ └── terminfo.tar │ ├── www │ ├── cam.js │ ├── car │ │ ├── car.css │ │ ├── car.js │ │ └── index.html │ ├── cgi-bin │ │ ├── BONDING_ENABLED.md │ │ ├── DISABLE_FW_UPGRADE.md │ │ ├── ENABLE_MP4_WRITE.md │ │ ├── ENABLE_USB_DIRECT.md │ │ ├── ENABLE_USB_ETH.md │ │ ├── ENABLE_USB_STORAGE.md │ │ ├── ENABLE_WIREGUARD.md │ │ ├── GO2RTC_SERVER_ENABLED.md │ │ ├── REMOTE_SPOTLIGHT.md │ │ ├── RTMP_STREAM_ENABLED.md │ │ ├── RTSP_HI_RES_ENABLED.md │ │ ├── WEB_CAM_ENABLE.md │ │ ├── cam-NIGHT_LED_flag.md │ │ ├── cam-bitRate.md │ │ ├── cam-drawBoxSwitch.md │ │ ├── cam-fps.md │ │ ├── cam-indicator.md │ │ ├── cam-nightVision.md │ │ ├── cam-night_cut_thr.md │ │ ├── cam-res.md │ │ ├── cam-timezone.md │ │ ├── cam-values.txt │ │ ├── cam-watermark_flag.md │ │ ├── cam.cgi │ │ ├── car.sh │ │ ├── config.cgi │ │ ├── config.css │ │ ├── diagnostics.cgi │ │ ├── jpeg.cgi │ │ ├── numerics.txt │ │ ├── shared.cgi │ │ └── status.cgi │ ├── config.js │ ├── feed.js │ ├── index.html │ ├── index.top.html │ ├── multicam.html │ └── multicam │ │ ├── index.css │ │ ├── index.html │ │ └── index.js │ └── wz_mini.conf ├── documentation ├── build.md ├── developer_environment.md ├── notes.md ├── outdoor.md └── usb-direct.md ├── file.chk ├── generate_checksum.sh ├── src └── kernel │ ├── kernel_v2.config │ └── t31-config.conf └── v2_install ├── .gitignore ├── compile_image.sh ├── fw_tool.sh └── v2_kernel.bin /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/.gitignore -------------------------------------------------------------------------------- /SD_ROOT/factory_t31_ZMC6tiIDQN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/factory_t31_ZMC6tiIDQN -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/ar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/ar -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/audioplay_t20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/audioplay_t20 -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/audioplay_t31: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/audioplay_t31 -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/bash -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/busybox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/busybox -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/cmd: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "$1" == "" ]; then 4 | echo -e "welcome to: cmd \n" 5 | echo -e "arg can be:" 6 | echo -e "jpeg <-n>\n Note: -n denotes no header" 7 | echo -e "video " 8 | echo -e "audio " 9 | echo -e "move " 10 | echo -e "waitMotion (you must enable motion tagging in the app first)" 11 | echo -e "irled " 12 | echo -e "aplay " 13 | echo -e "curlDebug on, off, disable_video" 14 | echo -e "mp4write (t31 only)" 15 | echo -e "timelapse " 16 | else 17 | echo "$*" | /opt/wz_mini/bin/busybox nc localhost 4000 18 | fi 19 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/curl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/curl -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/dbclient: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/dbclient -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/dnsmasq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/dnsmasq -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/dropbear: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/dropbear -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/dropbearconvert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/dropbearconvert -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/dropbearkey: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/dropbearkey -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/dufs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/dufs -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/factorycheck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo [FC] mount tfcard finish! 3 | echo [FC] Test.tar no exist 4 | echo [FC] umount tfcard finish! 5 | echo [FC] In [user] mode! 6 | 7 | touch /tmp/usrflag 8 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/ffmpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/ffmpeg -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/file -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/fsck.vfat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/fsck.vfat -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/gather_wz_logs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | create_dir() { 4 | echo "creating gather dir" 5 | mkdir /opt/wz_mini/tmp/log_gather 6 | } 7 | 8 | if [ -d /opt/wz_mini/tmp/log_gather ] ; then 9 | echo "gather dir already present, deleting." 10 | rm -rf /opt/wz_mini/tmp/log_gather 11 | create_dir 12 | else 13 | create_dir 14 | fi 15 | 16 | echo "copy wz_mini logs" 17 | cp /opt/wz_mini/log/* /opt/wz_mini/tmp/log_gather/ 18 | 19 | echo "gather impdbg" 20 | impdbg --enc_info > /opt/wz_mini/tmp/log_gather/enc_info 21 | 22 | echo "gather logcat" 23 | logcat -d > /opt/wz_mini/tmp/log_gather/logcat 24 | 25 | echo "gather callback" 26 | logread | grep callback > /opt/wz_mini/tmp/log_gather/callback.log 27 | 28 | echo "gather local_sdk" 29 | logread | grep local_sdk > /opt/wz_mini/tmp/log_gather/local_sdk.log 30 | 31 | echo "gather /dev" 32 | ls -l /dev > /opt/wz_mini/tmp/log_gather/dev.log 33 | 34 | echo "gather df" 35 | df -h > /opt/wz_mini/tmp/log_gather/df.log 36 | 37 | echo "gather libcallback logs" 38 | logread | grep "\[command\]" > /opt/wz_mini/tmp/log_gather/libcallback.log 39 | 40 | echo "gather process list" 41 | ps -T > /opt/wz_mini/tmp/log_gather/ps.log 42 | 43 | echo "gather mounts" 44 | mount > /opt/wz_mini/tmp/log_gather/mount.log 45 | 46 | echo "gather mmc" 47 | logread | grep -E "mmc|storage_dev|playback_dev|tf_prepare" > /opt/wz_mini/tmp/log_gather/mmc.log 48 | 49 | echo "gather lsmod" 50 | lsmod > /opt/wz_mini/tmp/log_gather/kmod.log 51 | 52 | echo "gather app.ver" 53 | cp /system/bin/app.ver /opt/wz_mini/tmp/log_gather/system_app.ver 54 | 55 | echo "gather mmc info" 56 | cat /sys/bus/mmc/devices/mmc1\:0001/mmc1\:0001\:1/* > /opt/wz_mini/tmp/log_gather/mmc_sys.log 57 | 58 | echo "gather lsusb" 59 | lsusb > /opt/wz_mini/tmp/log_gather/lsusb.log 60 | 61 | if [ -f /tmp/sd_check_result.txt ]; then 62 | echo "copy sd_check_result.txt" 63 | cp /tmp/sd_check_result.txt /opt/wz_mini/tmp/log_gather/sd_check_result.txt 64 | fi 65 | 66 | if [[ "$RTSP_PASSWORD" == "" ]]; then 67 | echo "password is blank in config" 68 | RTSP_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac) 69 | fi 70 | 71 | cd /opt/wz_mini/tmp/log_gather 72 | echo $RTSP_PASSWORD 73 | sed -e s/"$RTSP_PASSWORD"//g -i * 74 | cd / 75 | 76 | 77 | echo "compress to /media/mmc/log_gather_$(date +"%F_T%H%M").tar.gz" 78 | tar -czf /media/mmc/log_gather_$(date +"%F_T%H%M").tar.gz -C /opt/wz_mini/tmp log_gather/ 79 | 80 | echo "cleanup, remove gather dir" 81 | rm -rf /opt/wz_mini/tmp/log_gather 82 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/go2rtc_linux_mipsel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/go2rtc_linux_mipsel -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/htop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/htop -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/ip6tables: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | /opt/wz_mini/bin/xtables-multi ip6tables $@ 3 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/iperf3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/iperf3 -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/iptables: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | /opt/wz_mini/bin/xtables-multi iptables $@ 3 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/iwconfig.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | echo 'wlan0 IEEE 802.11bgn ESSID:"ethernet" Nickname:""' 5 | echo ' Mode:Managed Frequency:2.472 GHz Access Point: 70:8B:CD:86::E8' 6 | echo ' Bit Rate:72.2 Mb/s Sensitivity:0/0 ' 7 | echo ' Retry:off RTS thr:off Fragment thr:off' 8 | echo ' Encryption key:****-****-****-****-****-****-****-**** Security mode:open' 9 | echo ' Power Management:off' 10 | echo ' Link Quality=92/100 Signal level=100/100 Noise level=0/100' 11 | echo ' Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0' 12 | echo ' Tx excessive retries:0 Invalid misc:0 Missed beacon:0' 13 | 14 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/iwlist: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #On the V2, for some reason iCamera runs "sh -c iwlist wlan0 scan | grep 'ESSID:""' every 5 seconds. 4 | #Let's fake the output, and put some sleep time to increase the "scan" frequency to every xx seconds to reduce load 5 | 6 | ssid=$(cat /tmp/wpa_supplicant.conf | grep "ssid=\"" | cut -d'"' -f 2) 7 | 8 | echo -e " ESSID:\""$ssid"\"\n" 9 | 10 | sleep 60 11 | 12 | exit 0 13 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/ld -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/nano: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/nano -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/nm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/nm -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/objcopy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/objcopy -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/objdump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/objdump -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/ranlib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/ranlib -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/readelf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/readelf -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/rsync: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/rsync -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/rtmp-stream.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | RTMP_LOG=/opt/wz_mini/log/rtmp.log 4 | 5 | source /opt/wz_mini/wz_mini.conf 6 | 7 | if [[ "$RTSP_PASSWORD" == "" ]]; then 8 | RTSP_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac) 9 | fi 10 | 11 | FFMPEG_BINARY="/opt/wz_mini/bin/ffmpeg" 12 | 13 | TWITCH_URL="rtmp://live-ber.twitch.tv/app" 14 | YOUTUBE_URL="rtmp://b.rtmp.youtube.com/live2" 15 | FACEBOOK_URL="rtmps://live-api-s.facebook.com:443/rtmp" 16 | 17 | VIDEO_SOURCE="rtsp://"$RTSP_LOGIN":"$RTSP_PASSWORD"@0.0.0.0:"$RTSP_PORT"/$RTMP_STREAM_FEED" 18 | 19 | AUDIO_OPTIONS="-c:a libfdk_aac -afterburner 1 -channels 1 -b:a 128k -profile:a aac_he -ar 16000 -strict experimental" 20 | VIDEO_OPTIONS="-c:v copy -coder 1 -pix_fmt yuv420p -g 30 -bf 0" 21 | 22 | if [[ "$2" == "no_audio" ]]; then 23 | echo "NO_AUDIO: audio disabled on RTMP Stream." 24 | AUDIO_OPTIONS="-an" 25 | fi 26 | 27 | if [[ "$1" == "youtube" ]]; then 28 | echo "RTMP Streaming to: YouTube" 29 | STREAM_PROVIDER="$YOUTUBE_URL" 30 | KEY="$RTMP_STREAM_YOUTUBE_KEY" 31 | elif [[ "$1" == "twitch" ]]; then 32 | echo "RTMP Streaming to: twitch" 33 | STREAM_PROVIDER="$TWITCH_URL" 34 | KEY="$RTMP_STREAM_TWITCH_KEY" 35 | elif [[ "$1" == "facebook" ]]; then 36 | echo "RTMP Streaming to: facebook" 37 | STREAM_PROVIDER="$FACEBOOK_URL" 38 | KEY="$RTMP_STREAM_FACEBOOK_KEY" 39 | else 40 | echo "Usage: rtmp-stream.sh " 41 | echo "" 42 | echo "Available services:" 43 | echo "rtmp-stream.sh facebook" 44 | echo "rtmp-stream.sh twitch" 45 | echo "rtmp-stream.sh youtube" 46 | echo "rtmp-stream.sh no_audio disables audio" 47 | echo "" 48 | echo "Update the script with your stream keys first." 49 | exit 0 50 | fi 51 | 52 | sync;echo 3 > /proc/sys/vm/drop_caches 53 | 54 | echo "LOG FILE: $RTMP_LOG" 55 | 56 | $FFMPEG_BINARY \ 57 | -rtsp_transport udp -y \ 58 | -i "$VIDEO_SOURCE" \ 59 | $VIDEO_OPTIONS $AUDIO_OPTIONS -aspect 16:9 -f flv "$STREAM_PROVIDER/$KEY" > $RTMP_LOG 2>&1 & 60 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/scp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/scp -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/screen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/screen -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/ser2net: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/ser2net -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/sftp-server: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/sftp-server -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/size: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/size -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/socat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/socat -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/spotlight_ctl.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [[ "$1" == "on_high" ]]; then 4 | echo -ne "\xaa\x55\x43\x05\x16\xff\x07\x02\x63" > /dev/ttyUSB0 5 | elif [[ "$1" == "on_low" ]]; then 6 | echo -ne "\xaa\x55\x43\x05\x16\x33\x07\x01\x97" > /dev/ttyUSB0 7 | elif [[ "$1" == "off" ]]; then 8 | echo -ne "\xaa\x55\x43\x05\x16\x00\x07\x01\x64" > /dev/ttyUSB0 9 | else 10 | echo "usage: spotlight_ctl on_high" 11 | echo "usage: spotlight_ctl on_low" 12 | echo "usage: spotlight_ctl off" 13 | fi 14 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/strace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/strace -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/strings -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/tcpdump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/tcpdump -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/v4l2rtspserver: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/v4l2rtspserver -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/wg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/wg -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/wget: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/wget -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/wpa_cli.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo 'wpa_state=COMPLETED' 4 | echo ip_address=`ifconfig wlan0 | awk '/inet / {print $2}' | awk -F: '{print $2}'` 5 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/wz_mini_edit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | nano /opt/wz_mini/wz_mini.conf 4 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/bin/xtables-multi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/bin/xtables-multi -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/configs/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/etc/configs/.gitignore -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/cron/root: -------------------------------------------------------------------------------- 1 | # Example of job definition: 2 | # .---------------- minute (0 - 59) 3 | # | .------------- hour (0 - 23) 4 | # | | .---------- day of month (1 - 31) 5 | # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 6 | # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 7 | # | | | | | 8 | # * * * * * user-name command to be executed 9 | #45 05 * * * /sbin/reboot -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/dnsmasq.conf: -------------------------------------------------------------------------------- 1 | listen-address=127.0.0.1 2 | port=53 3 | bind-interfaces 4 | user=root 5 | group=root 6 | pid-file=/var/run/dnsmasq.pid 7 | domain-needed 8 | bogus-priv 9 | dns-forward-max=150 10 | cache-size=1000 11 | min-cache-ttl=86400 12 | neg-ttl=3600 13 | no-poll 14 | resolv-file=/opt/wz_mini/etc/resolv.dnsmasq 15 | addn-hosts=/opt/wz_mini/etc/hosts 16 | #log-facility=- 17 | #log-queries 18 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/dufs.yaml: -------------------------------------------------------------------------------- 1 | # dufs configuration file 2 | 3 | 4 | # Check https://github.com/sigoden/dufs for more info 5 | 6 | serve-path: '/opt' 7 | bind: 0.0.0.0 8 | port: 5000 9 | path-prefix: 10 | #hidden: 11 | # - tmp 12 | # - '*.log' 13 | # - '*.lock' 14 | auth: 15 | # - admin:admin@/:rw 16 | # - user:pass@/src:rw,/share 17 | # - '@/' # According to the YAML spec, quoting is required. 18 | allow-all: false 19 | allow-upload: true 20 | allow-delete: true 21 | allow-search: true 22 | allow-symlink: true 23 | allow-archive: true 24 | enable-cors: true 25 | render-index: false 26 | render-try-index: false 27 | render-spa: false 28 | #assets: ./assets/ 29 | #log-format: '$remote_addr "$request" $status $http_user_agent' 30 | #compress: low 31 | #tls-cert: tests/data/cert.pem 32 | #tls-key: tests/data/key_pkcs1.pem 33 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/fstab: -------------------------------------------------------------------------------- 1 | # 2 | proc /proc proc defaults 0 0 3 | devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 4 | #tmpfs /dev/shm tmpfs mode=0777 0 0 5 | tmpfs /tmp tmpfs mode=1777 0 0 6 | tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0 7 | sysfs /sys sysfs defaults 0 0 8 | media /media tmpfs mode=1777 0 0 9 | tmpfs /opt/wz_mini/tmp tmpfs mode=1777 0 0 10 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/go2rtc.yml: -------------------------------------------------------------------------------- 1 | log: 2 | level: info # default level 3 | api: trace 4 | exec: debug 5 | ngrok: info 6 | rtsp: warn 7 | streams: error 8 | webrtc: fatal 9 | ffmpeg: 10 | bin: /opt/wz_mini/bin/ffmpeg 11 | streams: 12 | 1080p: 13 | # NOTE: USE /dev/video6 for Wyze Cam v2/PanV1! 14 | - exec:ffmpeg -fflags +genpts+flush_packets+nobuffer+bitexact -flags +low_delay -thread_queue_size 100 -analyzeduration 50 -probesize 50 -pix_fmt yuv420p -r 30 -i /dev/video1 -flags +global_header -movflags +empty_moov+default_base_moof+frag_keyframe -framerate 30 -video_size 1920x1080 -pix_fmt yuv420p -c:v copy -copyts -rtsp_transport tcp -f rtsp {output} 15 | - exec:ffmpeg -hide_banner -f alsa -ac 1 -i dsnooper0 -c:a copy -muxdelay 0 -muxpreload 0 -f rtsp {output} 16 | - exec:ffmpeg -hide_banner -f alsa -ac 1 -i dsnooper0 -c:a libfdk_aac -afterburner 1 -channels 1 -b:a 128k -profile:a aac_he -ar 16000 -strict experimental -muxdelay 0 -muxpreload 0 -ac:a 1 -f rtsp {output} 17 | # libopus has higher cpu requirements, audio may studder. 18 | # - exec:ffmpeg -hide_banner -f alsa -ac 1 -i dsnooper0 -c:a libopus -muxdelay 0 -muxpreload 0 -ac:a 1 -af adelay=0|0 -f rtsp {output} 19 | 360p: 20 | # NOTE: USE /dev/video7 for Wyze Cam v2/PanV1! 21 | - exec:ffmpeg -fflags +genpts+flush_packets+nobuffer+bitexact -flags +low_delay -thread_queue_size 100 -analyzeduration 50 -probesize 50 -pix_fmt yuv420p -r 30 -i /dev/video2 -framerate 30 -video_size 640x360 -pix_fmt yuv420p -c:v copy -copyts -rtsp_transport tcp -f rtsp {output} 22 | - exec:ffmpeg -hide_banner -f alsa -ac 1 -i dsnooper2 -c:a copy -muxdelay 0 -muxpreload 0 -ac:a 1 -f rtsp {output} 23 | - exec:ffmpeg -hide_banner -f alsa -ac 1 -i dsnooper2 -c:a libfdk_aac -afterburner 1 -channels 1 -b:a 128k -profile:a aac_he -ar 16000 -strict experimental -muxdelay 0 -muxpreload 0 -ac:a 1 -f rtsp {output} 24 | # libopus has higher cpu requirements, audio may studder. 25 | # - exec:ffmpeg -hide_banner -f alsa -ac 1 -i dsnooper2 -c:a libopus -muxdelay 0 -muxpreload 0 -ac:a 1 -af adelay=0|0 -f rtsp {output} 26 | jpeg_1080p: http://127.0.0.1/cgi-bin/jpeg.cgi?channel=0 27 | jpeg_360p: http://127.0.0.1/cgi-bin/jpeg.cgi?channel=1 28 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/hosts: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S00config: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Validate wz_mini.conf 5 | # Description: Repair invalid line endings in the wz_mini.conf file. 6 | ### END INIT INFO 7 | 8 | CONFIG_FILE="/opt/wz_mini/wz_mini.conf" 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | # Check if the file contains carriage return characters 15 | if grep -q $'\r' "$CONFIG_FILE"; then 16 | echo "Windows line endings detected in $CONFIG_FILE. Running dos2unix..." 17 | dos2unix "$CONFIG_FILE" 18 | echo "Conversion complete." 19 | else 20 | echo "No Windows line endings detected. Configuration file is valid." 21 | fi 22 | ;; 23 | *) 24 | echo "Usage: $0 {start}" 25 | exit 1 26 | ;; 27 | esac 28 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S01bind: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Bind mount system files. 5 | # Description: Replace specific system files with our customized versions via bind mount 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | echo "Replace stock busybox" 16 | mount --bind /opt/wz_mini/bin/busybox /bin/busybox 17 | 18 | echo "Replace stock fstab" 19 | mount --bind /opt/wz_mini/etc/fstab /etc/fstab 20 | 21 | echo "Replace stock inittab" 22 | mount --bind /opt/wz_mini/etc/inittab /etc/inittab 23 | 24 | echo "Replace /etc/profile for local/ssh shells" 25 | mount --bind /opt/wz_mini/etc/profile /etc/profile 26 | 27 | if [ -d /lib/modules ]; then 28 | echo "Mount kernel modules in /lib" 29 | mount --bind /opt/wz_mini/lib/modules /lib/modules 30 | fi 31 | 32 | echo "Replace system hostname" 33 | 34 | echo $CUSTOM_HOSTNAME > /opt/wz_mini/etc/hostname 35 | mount --bind /opt/wz_mini/etc/hostname /etc/hostname 36 | ;; 37 | *) 38 | echo "Usage: $0 {start}" 39 | exit 1 40 | ;; 41 | esac 42 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S02tmpfs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Mount tmpfs 5 | # Description: Mount tmpfs for system and wz_mini 6 | ### END INIT INFO 7 | 8 | ./opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | echo "Mount wz_mini tmpfs" 16 | mount -t tmpfs /opt/wz_mini/tmp 17 | 18 | echo "Create workspace directory" 19 | mkdir /opt/wz_mini/tmp/.storage 20 | 21 | echo "Mounting global tmpfs" 22 | mount -t tmpfs /tmp 23 | 24 | ;; 25 | *) 26 | echo "Usage: $0 {start}" 27 | exit 1 28 | ;; 29 | esac 30 | 31 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S03busybox: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Setup BusyBox 5 | # Description: Install BusyBox applets to wz_mini $PATH 6 | ### END INIT INFO 7 | 8 | case "$1" in 9 | start) 10 | 11 | echo "#####$(basename "$0")#####" 12 | 13 | echo "Install busybox applets" 14 | mkdir /opt/wz_mini/tmp/.bin 15 | /opt/wz_mini/bin/busybox --install -s /opt/wz_mini/tmp/.bin 16 | 17 | ;; 18 | *) 19 | echo "Usage: $0 {start}" 20 | exit 1 21 | ;; 22 | esac 23 | 24 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S04model: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Detect device model 5 | # Description: Detect which model device we are, and configure the system accordingly 6 | ### END INIT INFO 7 | 8 | 9 | case "$1" in 10 | start) 11 | 12 | echo "#####$(basename "$0")#####" 13 | 14 | ##DETECT CAMERA MODEL & PLATFORM TYPE 15 | #V2=WYZEC1-JZ 16 | #PANv1=WYZECP1_JEF 17 | #PANv2=HL_PAN2 18 | #V3=WYZE_CAKP2JFUS 19 | #DB3=WYZEDB3 20 | #V3C=ATOM_CamV3C 21 | 22 | #mtdblock9 only exists on the T20 platform, indicating V2 or PANv1 23 | if [ -b /dev/mtdblock9 ]; then 24 | mkdir /opt/wz_mini/tmp/params 25 | mount -t jffs2 /dev/mtdblock9 /opt/wz_mini/tmp/params 26 | touch /opt/wz_mini/tmp/.$(cat /opt/wz_mini/tmp/params/config/.product_config | grep PRODUCT_MODEL | sed -e 's#.*=\(\)#\1#') 27 | touch /opt/wz_mini/tmp/.T20 28 | echo "$(cat /opt/wz_mini/tmp/params/config/.product_config | grep PRODUCT_MODEL | sed -e 's#.*=\(\)#\1#') detected" 29 | umount /opt/wz_mini/tmp/params 30 | rm -rf /opt/wz_mini/tmp/params 31 | elif [ -b /dev/mtdblock6 ]; then 32 | mkdir /opt/wz_mini/tmp/configs 33 | mount -t jffs2 /dev/mtdblock6 /opt/wz_mini/tmp/configs 34 | touch /opt/wz_mini/tmp/.$(cat /opt/wz_mini/tmp/configs/.product_config | grep PRODUCT_MODEL | sed -e 's#.*=\(\)#\1#') 35 | touch /opt/wz_mini/tmp/.T31 36 | echo "$(cat /opt/wz_mini/tmp/configs/.product_config | grep PRODUCT_MODEL | sed -e 's#.*=\(\)#\1#') detected" 37 | umount /opt/wz_mini/tmp/configs 38 | rm -rf /opt/wz_mini/tmp/configs 39 | fi 40 | 41 | ;; 42 | *) 43 | echo "Usage: $0 {start}" 44 | exit 1 45 | ;; 46 | esac 47 | 48 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S05mount: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: 5 | # Short-Description: Mount /system 6 | # Description: Mount /system for manipulation, before app_init.sh does 7 | ### END INIT INFO 8 | 9 | case "$1" in 10 | start) 11 | 12 | echo "#####$(basename "$0")#####" 13 | 14 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 15 | echo "mounting /system" 16 | mount -t jffs2 /dev/mtdblock4 /system 17 | elif [ -f /opt/wz_mini/tmp/.T31 ]; then 18 | echo "mounting /system" 19 | mount /dev/mtdblock3 /system 20 | fi 21 | 22 | echo "Current Mounts:" 23 | mount 24 | 25 | ;; 26 | *) 27 | echo "Usage: $0 {start}" 28 | exit 1 29 | ;; 30 | esac 31 | 32 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S06car: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Detect device CAR 5 | # Description: Detect which CAR device 6 | ### END INIT INFO 7 | 8 | 9 | case "$1" in 10 | start) 11 | 12 | echo "#####$(basename "$0")#####" 13 | 14 | echo "Checking for CAR FW" 15 | if [ -f /opt/wz_mini/tmp/.WYZEC1-JZ ]; then 16 | if cat /system/bin/app.ver | grep 4.55; then 17 | touch /opt/wz_mini/tmp/.CAR 18 | echo "CAR FW detected!" 19 | else 20 | echo "CAR not detected" 21 | fi 22 | fi 23 | 24 | ;; 25 | *) 26 | echo "Usage: $0 {start}" 27 | exit 1 28 | ;; 29 | esac 30 | 31 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S07inject: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Inject commands into app_init.sh 5 | # Description: Patch app_init.sh to inject wz_mini's init.d scripts 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | echo "Copy stock rcS" 16 | cp /etc/init.d/rcS /opt/wz_mini/tmp/.storage/rcS 17 | 18 | echo "Add verbose debugging to rcS" 19 | sed -i '/^\# Set mdev.*/iset -x\n' /opt/wz_mini/tmp/.storage/rcS 20 | 21 | echo "Inject init.d scripts to rcS" 22 | sed -i '/^# Run init script.*/i/opt/wz_mini/etc/rc.d/K01network \&\n' /opt/wz_mini/tmp/.storage/rcS 23 | sed -i '/^# Run init script.*/i/opt/wz_mini/etc/rc.d/K03rcd\n' /opt/wz_mini/tmp/.storage/rcS 24 | 25 | echo "Modify Global Paths in rcS" 26 | sed -i '/sbin:/s/$/:\/opt\/wz_mini\/bin/' /opt/wz_mini/tmp/.storage/rcS 27 | sed -i '/system\/\lib/s/$/:\/opt\/wz_mini\/lib/' /opt/wz_mini/tmp/.storage/rcS 28 | 29 | #Custom PATH hooks 30 | #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 31 | #sed -i '/^# Run init script.*/i#Hook system PATH here\nexport PATH=/tmp/test/bin:$PATH\n' /opt/wz_mini/tmp/.storage/rcS 32 | echo "Copy factory app_init.sh" 33 | cp /system/init/app_init.sh /opt/wz_mini/tmp/.storage/app_init.sh 34 | 35 | echo "Replace factory app_init.sh path" 36 | sed -i '/\/system\/init\/app_init.sh/,+4d' /opt/wz_mini/tmp/.storage/rcS 37 | sed -i '/Run init script.*/a /opt/wz_mini/tmp/.storage/app_init.sh \&\n' /opt/wz_mini/tmp/.storage/rcS 38 | sed -i '/\/system\/init\/app_init.sh/,+2d' /opt/wz_mini/tmp/.storage/rcS 39 | 40 | if [[ "$DEBUG_ENABLED" == "true" ]]; then 41 | sed -i '/app_init.sh/,+4d' /opt/wz_mini/tmp/.storage/rcS 42 | sed -i '/^# Run init/i/bin/sh /etc/profile' /opt/wz_mini/tmp/.storage/rcS 43 | touch /tmp/dbgflag 44 | 45 | elif [[ "$WEB_CAM_ENABLE" == "true" ]]; then 46 | sed -i '/app_init.sh/,+4d' /opt/wz_mini/tmp/.storage/rcS 47 | sed -i '/^# Run init/i/opt/wz_mini/etc/rc.d/K02webcam &' /opt/wz_mini/tmp/.storage/rcS 48 | touch /tmp/dbgflag 49 | 50 | elif [[ -d /opt/Upgrade ]]; then 51 | sed -i '/app_init.sh/,+4d' /opt/wz_mini/tmp/.storage/rcS 52 | sed -i '/^# Run init/i/bin/sh /etc/profile' /opt/wz_mini/tmp/.storage/rcS 53 | sed -i '/^# Mount configs.*/i/opt/wz_mini/bin/upgrade-run.sh &\n' /opt/wz_mini/tmp/.storage/rcS 54 | touch /tmp/dbgflag 55 | fi 56 | 57 | echo "Enable libcallback" 58 | if [[ "$LIBCALLBACK_ENABLE" == "true" ]] || ([[ "$RTSP_HI_RES_ENABLED" == "true" ]] || [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]); then 59 | echo "set path for iCamera" 60 | sed -i 's/\/system\/bin\/iCamera/\/opt\/wz_mini\/usr\/bin\/iCamera/g' /opt/wz_mini/tmp/.storage/app_init.sh 61 | fi 62 | 63 | ;; 64 | *) 65 | echo "Usage: $0 {start}" 66 | exit 1 67 | ;; 68 | esac 69 | 70 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S08passwd: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Change system password 5 | # Description: Replace system password with wz_mini's version 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | echo "Replace stock password" 16 | cp /opt/wz_mini/etc/shadow /opt/wz_mini/tmp/.storage/shadow 17 | 18 | if [[ "$DEBUG_PASSWORD" == "true" ]]; then 19 | sed -i 's/:[^:]*/:/' /opt/wz_mini/tmp/.storage/shadow 20 | echo "Remove stock password" 21 | fi 22 | 23 | mount --bind /opt/wz_mini/tmp/.storage/shadow /etc/shadow 24 | chmod 400 /etc/shadow 25 | ;; 26 | *) 27 | echo "Usage: $0 {start}" 28 | exit 1 29 | ;; 30 | esac 31 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S09firstboot: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Check for first boot of wz_mini 5 | # Description: Check to see if this is the first time wz_mini is booting, if it is, play an audio prompt 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | . /opt/wz_mini/etc/rc.common 10 | 11 | 12 | case "$1" in 13 | start) 14 | 15 | echo "#####$(basename "$0")#####" 16 | 17 | if [ -e /opt/wz_mini/etc/.first_boot ]; then 18 | echo "First boot already completed" 19 | else 20 | echo "First boot, initializing" 21 | touch /opt/wz_mini/etc/.first_boot 22 | 23 | #May need different gpio for PANv1 24 | #We don't rmmod this module, as it is marked [permanent] by the kernel on T20 25 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 26 | insmod /opt/wz_mini/lib/modules/3.10.14/extra/audio.ko sign_mode=0 27 | 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 28 | else 29 | 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 30 | /opt/wz_mini/bin/audioplay_t31 /opt/wz_mini/usr/share/audio/init.wav $AUDIO_PROMPT_VOLUME 31 | rmmod audio 32 | fi 33 | fi 34 | ;; 35 | *) 36 | echo "Usage: $0 {start}" 37 | exit 1 38 | ;; 39 | esac 40 | 41 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S11configbackup: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Backup critical device files 5 | # Description: Backup /configs and /params directory, these files are unique to the device, and if lost the camera is unusable. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | if [ -d /opt/wyze_config_backup ]; then 16 | echo "Factory config backup directory exists" 17 | else 18 | echo "Creating factory config backup directory" 19 | mkdir /opt/wyze_config_backup 20 | touch /opt/wyze_config_backup/BACKUP_THESE_FILES.md 21 | echo "These files are the cloud credentials unique to your camera. Back them up in case your camera's flash becomes corrupted. The camera will NEVER connect to the cloud if they are wiped from the camera." > /opt/wyze_config_backup/BACKUP_THESE_FILES.md 22 | fi 23 | 24 | if [ -f /opt/wz_mini/tmp/.T31 ]; then 25 | echo "T31 platform backup" 26 | if [ -d /opt/wz_config_backup/configs ]; then 27 | echo "Factory configs backup directory present, not backing up again" 28 | else 29 | echo "Backup /configs" 30 | mount -t jffs2 /dev/mtdblock6 /configs 31 | cp -R /configs/ /opt/wyze_config_backup 32 | umount /configs 33 | fi 34 | elif [ -f /opt/wz_mini/tmp/.T20 ]; then 35 | echo "T20 platform backup" 36 | if [ -d /opt/wyze_config_backup/configs ]; then 37 | echo "Factory configs backup directory present, not backing up again" 38 | else 39 | echo "Backup /configs" 40 | mount -t jffs2 /dev/mtdblock8 /configs 41 | cp -R /configs/ /opt/wyze_config_backup/ 42 | umount /configs 43 | fi 44 | 45 | if [ -d /opt/wyze_config_backup/params ]; then 46 | echo "Factory params backup directory present, not backing up again" 47 | else 48 | echo "Backup /params" 49 | mount -t jffs2 /dev/mtdblock9 /params 50 | cp -R /params/ /opt/wyze_config_backup/ 51 | umount /params 52 | fi 53 | fi 54 | ;; 55 | *) 56 | echo "Usage: $0 {start}" 57 | exit 1 58 | ;; 59 | esac 60 | 61 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S12ssh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Start ssh daemon 5 | # Description: Run the dropbear ssh daemon 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | echo "Running dropbear ssh server" 16 | /opt/wz_mini/bin/dropbear -R -s -g 17 | ;; 18 | *) 19 | echo "Usage: $0 {start}" 20 | exit 1 21 | ;; 22 | esac 23 | 24 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S13fileserver: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Start dufs file server 5 | # Description: Run the dufs file server daemon 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | if [[ "$ENABLE_FILESERVER" == "true" ]]; then 16 | echo "Starting dufs file server" 17 | /opt/wz_mini/bin/dufs -c /opt/wz_mini/etc/dufs.yaml & 18 | fi 19 | ;; 20 | *) 21 | echo "Usage: $0 {start}" 22 | exit 1 23 | ;; 24 | esac 25 | 26 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S14terminfo: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Check for terminfo directory 5 | # Description: Provide the proper terminfo files for nano and shells 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | if [ -d /opt/wz_mini/usr/share/terminfo ]; then 16 | echo "Terminfo already present" 17 | else 18 | echo "Terminfo not present, extract" 19 | tar xf /opt/wz_mini/usr/share/terminfo.tar -C /opt/wz_mini/usr/share/ 20 | fi 21 | ;; 22 | *) 23 | echo "Usage: $0 {start}" 24 | exit 1 25 | ;; 26 | esac 27 | 28 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S15fwupdate: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Stock Firmware Detection and Upgrade 5 | # Description: Detect the firmware version of the stock firmware and process upgrades, based off atomcam_tools S32fwupdate. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | flash_copy() { 11 | size=`awk '{ if($1 == MTD ":") print ("0x" $2)/1024; }' MTD=${1##*/} /proc/mtd` 12 | echo "flash_copy $1 $2 ${size}" 13 | dd if=$1 of=/tmp/mtd bs=1k count=${size} 14 | [ $? != 0 ] && return 15 | 16 | flash_eraseall $2 17 | [ $? != 0 ] && return 18 | 19 | flashcp -v /tmp/mtd $2 20 | [ $? != 0 ] && return 21 | 22 | rm -f /tmp/mtd 23 | } 24 | 25 | flash_update() { 26 | FWGRADEUP=`awk '/FWGRADEUP=/ { gsub(/^.*=/, ""); print $0; }' /dev/mtd7` 27 | 28 | if [ "${FWGRADEUP}" = "kernel+app" ] ; then 29 | flash_copy /dev/mtd4 /dev/mtd1 30 | [ $? != 0 ] && return 31 | flash_copy /dev/mtd5 /dev/mtd3 32 | [ $? != 0 ] && return 33 | flash_eraseall /dev/mtd7 34 | fi 35 | 36 | if [ "${FWGRADEUP}" = "kernel+rootfs" ] ; then 37 | flash_copy /dev/mtd4 /dev/mtd1 38 | [ $? != 0 ] && return 39 | flash_copy /dev/mtd5 /dev/mtd2 40 | [ $? != 0 ] && return 41 | flash_eraseall /dev/mtd7 42 | fi 43 | 44 | if [ "${FWGRADEUP}" = "kernel" ] ; then 45 | flash_copy /dev/mtd4 /dev/mtd1 46 | [ $? != 0 ] && return 47 | flash_eraseall /dev/mtd7 48 | fi 49 | 50 | if [ "${FWGRADEUP}" = "rootfs" ] ; then 51 | flash_copy /dev/mtd5 /dev/mtd2 52 | [ $? != 0 ] && return 53 | flash_eraseall /dev/mtd7 54 | fi 55 | 56 | if [ "${FWGRADEUP}" = "app" ] ; then 57 | flash_copy /dev/mtd5 /dev/mtd3 58 | [ $? != 0 ] && return 59 | flash_eraseall /dev/mtd7 60 | fi 61 | } 62 | 63 | case "$1" in 64 | start) 65 | echo "#####$(basename "$0")#####" 66 | 67 | if [ -f /system/bin/app.ver ]; then 68 | echo "Current stock firmware version:" 69 | cat /system/bin/app.ver 70 | else 71 | echo "/system/bin/app.ver not found" 72 | fi 73 | 74 | if [ -f /system/bin/liveMediaServer ]; then 75 | echo "WARNING: Stock RTSP firmware detected." 76 | echo "WARNING: The stock RTSP firmware is old, unmaintained, and insecure." 77 | echo "WARNING: Compatability with wz_mini is NOT guaranteed, and not supported" 78 | fi 79 | 80 | ;; 81 | *) 82 | echo "Usage: $0 {start}" 83 | exit 1 84 | ;; 85 | esac 86 | 87 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S16factorycheck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Disable factorycheck 5 | # Description: On T31 devices, we must disable factory check to prevent it from unmounting our binds. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | if [ -f /opt/wz_mini/tmp/.T31 ]; then 16 | mount --bind /opt/wz_mini/bin/factorycheck /system/bin/factorycheck 17 | touch /tmp/usrflag 18 | echo "Replace factorycheck with dummy, to prevent bind unmount" 19 | fi 20 | ;; 21 | *) 22 | echo "Usage: $0 {start}" 23 | exit 1 24 | ;; 25 | esac 26 | 27 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S18ntp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Starts ntpd against a custom NTP server 5 | # Description: The clock will synchronize against a user defined NTP server. Useful if the camera is on an isolated network. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | if [ ! -z "$NTP_SERVER" ] ; then 16 | # Replace timesync call with our own ntpd using a custom NTP server 17 | sed -i "s/\/system\/bin\/timesync/\/opt\/wz_mini\/tmp\/.bin\/ntpd -ndp '$NTP_SERVER'/" /opt/wz_mini/tmp/.storage/app_init.sh 18 | fi 19 | 20 | ;; 21 | *) 22 | echo "Usage: $0 {start}" 23 | exit 1 24 | ;; 25 | esac 26 | 27 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S20initsetup: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Setup bindOk=1 once WiFi settings are detected when in self-hosted mode 5 | # Description: Update .user_config so bindOk=1 when QR code containing WiFi settings are scanned. Allows for WiFi to work on next reboot without needing Wyze App/Cloud initial setup. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | # If not enabled or on T20 which is unsupported by this script 16 | if [[ "$ENABLE_SELFHOSTED_MODE" != "true" ]] || [ ! -f /opt/wz_mini/tmp/.T31 ]; then 17 | exit 0 18 | fi 19 | 20 | # Note: At the time of this boot stage, /configs isn't mounted. If it's not mounted, we have to mount it to check the wifi status 21 | if mount | grep -q /configs ; then 22 | # Is it already set? 23 | if grep -q bindOk=1 /configs/.user_config ; then 24 | echo "Initial setup is done. Nothing to do." 25 | exit 0 26 | fi 27 | else 28 | mount -t jffs2 /dev/mtdblock6 /configs 29 | 30 | # Is it already set? 31 | if grep -q bindOk=1 /configs/.user_config ; then 32 | echo "Initial setup is done. Nothing to do." 33 | exit 0 34 | fi 35 | 36 | umount /configs 37 | fi 38 | 39 | echo "Initial setup not completed yet." 40 | 41 | # Wait until these wifi settings are set in /configs later on. 42 | # Note that /configs will be mounted eventually by the second stage boot. 43 | while true ; do 44 | if [ -f /configs/.wifipasswd ] && [ -s /configs/.wifipasswd ] && [ -f /configs/.wifissid ] && [ -s /configs/.wifissid ] ; then 45 | echo "Detected WiFi configs. " 46 | if wpa_cli -p /var/run/wpa_supplicant -i wlan0 STATUS | grep -q wpa_state=COMPLETED ; then 47 | echo "WiFi connection seems Good. Updating bindOk=1." 48 | sed -i 's/bindOk=0/bindOk=1/g' /configs/.user_config 49 | 50 | /opt/wz_mini/bin/cmd aplay /usr/share/notify/CN/connect_wifi_ok.wav 60 51 | 52 | grep bindOk /configs/.user_config 53 | exit 0 54 | fi 55 | fi 56 | 57 | echo "Waiting for WiFi settings from QR code..." 58 | sleep 5 59 | done & 60 | 61 | ;; 62 | *) 63 | echo "Usage: $0 {start}" 64 | exit 1 65 | ;; 66 | esac 67 | 68 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S21killmisc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Kills unwanted processes in selfhosted mode (sinker and hl_client) 5 | # Description: sinker and hl_client phones home. In self-hosted mode, these two processes can be killed to save CPU cycles (and reduce log spam). 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | # If not enabled, quit 16 | if [[ "$ENABLE_SELFHOSTED_MODE" != "true" ]] ; then 17 | exit 0 18 | fi 19 | 20 | # Remove sinker/hl_client lines from the startup script 21 | sed -i '/sinker/d' /opt/wz_mini/tmp/.storage/app_init.sh 22 | sed -i '/hl_client/d' /opt/wz_mini/tmp/.storage/app_init.sh 23 | 24 | ;; 25 | *) 26 | echo "Usage: $0 {start}" 27 | exit 1 28 | ;; 29 | esac 30 | 31 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/S30patchicamera: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Patches the iCamera binary if in self-hosted mode 5 | # Description: The stock iCamera binary will reset the network if it is unable to reach the internet. This binary patch will change this behavior. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | if [[ "$ENABLE_SELFHOSTED_MODE" == "true" ]] ; then 16 | # Apply the patch. The script here is idempotent. 17 | if /opt/wz_mini/usr/bin/patch_icamera.sh apply ; then 18 | echo "iCamera patch applied successfully." 19 | exit 0 20 | else 21 | # If the patch failed, we'll fall through and undo 22 | echo "iCamera patch failed." 23 | fi 24 | fi 25 | 26 | # If ENABLE_SELFHOSTED_MODE != "true" or if the patch failed, remove the patch if it exists. 27 | /opt/wz_mini/usr/bin/patch_icamera.sh remove 28 | 29 | ;; 30 | *) 31 | echo "Usage: $0 {start}" 32 | exit 1 33 | ;; 34 | esac 35 | 36 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/init.d/wz_init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #init.d/ = early boot, before inittab is run 4 | #rc.d/ = runs after /linuxrc, but before app_init.sh 5 | #network.d/ runs after app_init.sh, and after wlan hw is ready 6 | #rc.local.d/ = runs after app_init.sh and network has acquired an address 7 | 8 | ###This file is run by switch_root, from the initramfs in the kernel. 9 | LOG_NAME=/opt/wz_mini/log/wz_init 10 | if [[ -e $LOG_NAME.log || -L $LOG_NAME.log ]] ; then 11 | i=0 12 | while [[ -e $LOG_NAME.log.$i || -L $LOG_NAME.log.$i ]] ; do 13 | let i++ 14 | done 15 | mv $LOG_NAME.log $LOG_NAME.log.$i 16 | LOG_NAME=$LOG_NAME 17 | fi 18 | touch -- "$LOG_NAME".log 19 | exec 1> $LOG_NAME.log 2>&1 20 | 21 | echo "welcome to wz_init.sh" 22 | echo "PID $$" 23 | 24 | echo ' 25 | __ ________ __ __ _____ _ _ _____ 26 | \ \ / |___ / | \/ |_ _| \ | |_ _| 27 | \ \ /\ / / / / | \ / | | | | \| | | | 28 | \ \/ \/ / / / | |\/| | | | | . ` | | | 29 | \ /\ / / /__ | | | |_| |_| |\ |_| |_ 30 | \/ \/ /_____| |_| |_|_____|_| \_|_____| 31 | ______ 32 | |______| 33 | ' 34 | 35 | # Start all init scripts in /etc/init.d 36 | # executing them in numerical order. 37 | # 38 | for i in /opt/wz_mini/etc/init.d/S??* ;do 39 | 40 | # Ignore dangling symlinks (if any). 41 | [ ! -f "$i" ] && continue 42 | 43 | case "$i" in 44 | *.sh) 45 | # Source shell script for speed. 46 | ( 47 | trap - INT QUIT TSTP 48 | set start 49 | . $i 50 | ) 51 | ;; 52 | *) 53 | # No sh extension, so fork subprocess. 54 | $i start 55 | ;; 56 | esac 57 | done 58 | 59 | /linuxrc 60 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/inittab: -------------------------------------------------------------------------------- 1 | # /etc/inittab 2 | # 3 | # Copyright (C) 2001 Erik Andersen 4 | # 5 | # Note: BusyBox init doesn't support runlevels. The runlevels field is 6 | # completely ignored by BusyBox init. If you want runlevels, use 7 | # sysvinit. 8 | # 9 | # Format for each entry: ::: 10 | # 11 | # id == tty to run on, or empty for /dev/console 12 | # runlevels == ignored 13 | # action == one of sysinit, respawn, askfirst, wait, and once 14 | # process == program to run 15 | 16 | # Startup the system 17 | ::sysinit:/sbin/swapoff -a 18 | ::sysinit:/bin/mount -t tmpfs tmpfs /dev 19 | ::sysinit:/bin/mkdir -p /dev/pts 20 | ::sysinit:/bin/mkdir -p /dev/shm 21 | ::sysinit:/bin/mount -a 22 | ::sysinit:/bin/hostname -F /etc/hostname 23 | 24 | # now run any rc scripts 25 | ::sysinit:/opt/wz_mini/tmp/.storage/rcS 26 | 27 | # Put a getty on the serial port 28 | console::respawn:/sbin/getty -L console 115200 vt100 # GENERIC_SERIAL 29 | 30 | # Stuff to do for the 3-finger salute 31 | #::ctrlaltdel:/sbin/reboot 32 | 33 | # Stuff to do before rebooting 34 | ::shutdown:/bin/umount -a -r 35 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S01wlanhw: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: WLAN HW Init check 5 | # Description: Make sure the WLAN hardware is functional and initialized before proceeding. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | 10 | case "$1" in 11 | start) 12 | echo "#####$(basename "$0")#####" 13 | 14 | #Wait for wlan hardware to be intitialized in app_init.sh, this must be blocking. 15 | #Lets come up with a solution for some cameras with failed wlan hw, someone on reddit mentioned it" 16 | echo "Waiting for wlan hw init" 17 | 18 | wait_for_wlan $(basename "$0") 19 | ;; 20 | *) 21 | echo "Usage: $0 {start}" 22 | exit 1 23 | ;; 24 | esac 25 | 26 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S03ipv6: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Enable/Disable IPv6 5 | # Description: Enable/Disable IPv6 based on the user configuration 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | if ! [[ "$ENABLE_IPV6" == "true" ]]; then 16 | sysctl -w net.ipv6.conf.all.disable_ipv6=1 17 | echo "ipv6 disabled" 18 | fi 19 | ;; 20 | *) 21 | echo "Usage: $0 {start}" 22 | exit 1 23 | ;; 24 | esac 25 | 26 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S04wireguard: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Wireguard support 5 | # Description: Enable Wireguard support 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | . /opt/wz_mini/etc/rc.common 10 | 11 | case "$1" in 12 | start) 13 | 14 | echo "#####$(basename "$0")#####" 15 | 16 | if [[ "$ENABLE_WIREGUARD" == "true" ]]; then 17 | 18 | if [[ "$WIREGUARD_IPV4" != "" ]]; then 19 | 20 | if [ -d /opt/wz_mini/etc/wireguard ]; then 21 | echo "Wireguard dir exists" 22 | else 23 | mkdir -p /opt/wz_mini/etc/wireguard 24 | fi 25 | 26 | if [ ! -f /opt/wz_mini/etc/wireguard/privatekey ]; then 27 | (umask 277 && /opt/wz_mini/bin/wg genkey | /opt/wz_mini/bin/busybox tee /opt/wz_mini/etc/wireguard/privatekey | /opt/wz_mini/bin/wg pubkey > /opt/wz_mini/etc/wireguard/publickey) 28 | fi 29 | 30 | /opt/wz_mini/bin/busybox ip link add dev wg0 type wireguard 31 | /opt/wz_mini/bin/busybox ip address add dev wg0 "$WIREGUARD_IPV4" 32 | /opt/wz_mini/bin/wg set wg0 private-key /opt/wz_mini/etc/wireguard/privatekey 33 | /opt/wz_mini/bin/busybox ip link set wg0 up 34 | fi 35 | 36 | if [[ "$WIREGUARD_PEER_PUBLIC_KEY" != "" ]] && [[ "$WIREGUARD_PEER_ALLOWED_IPS" != "" ]] && [[ "$WIREGUARD_PEER_ENDPOINT" != "" ]] && [[ "$WIREGUARD_PEER_KEEP_ALIVE" != "" ]]; then 37 | /opt/wz_mini/bin/wg set wg0 peer "$WIREGUARD_PEER_PUBLIC_KEY" allowed-ips "$WIREGUARD_PEER_ALLOWED_IPS" endpoint "$WIREGUARD_PEER_ENDPOINT" persistent-keepalive "$WIREGUARD_PEER_KEEP_ALIVE" 38 | /opt/wz_mini/bin/busybox ip route add "$WIREGUARD_PEER_ALLOWED_IPS" dev wg0 39 | fi 40 | else 41 | echo "Wireguard disabled" 42 | fi 43 | 44 | ;; 45 | *) 46 | echo "Usage: $0 {start}" 47 | exit 1 48 | ;; 49 | esac 50 | 51 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S08hostname: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Set system hostname 5 | # Description: Set system hostname 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | 16 | echo "Set hostname to $CUSTOM_HOSTNAME" 17 | hostname $CUSTOM_HOSTNAME 18 | 19 | ;; 20 | *) 21 | echo "Usage: $0 {start}" 22 | exit 1 23 | ;; 24 | esac 25 | 26 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S09dnsmasq: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Start daemon at boot time 5 | # Description: Enable service provided by daemon. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | . /opt/wz_mini/etc/rc.common 10 | 11 | dnsmasq_launch() { 12 | 13 | wait_for_wlan_ip 14 | 15 | echo "#####$(basename "$0")#####" 16 | 17 | if [[ "$ENABLE_LOCAL_DNS" == "true" ]]; then 18 | echo "wait for resolv.conf creation from iCamera" 19 | sleep 5 20 | #kill the system dnsmasq if present 21 | dmon_pid=$(pgrep -f "dmon.*dnsmasq") 22 | if [ -n "$dmon_pid" ]; then 23 | kill $dmon_pid 24 | fi 25 | #figure out if there is a system dnsmasq bin present and use that if so, otherwise use wz_mini's binary 26 | if [ -f /system/bin/dnsmasq ]; then 27 | /system/bin/dnsmasq -C /opt/wz_mini/etc/dnsmasq.conf & 28 | else 29 | /opt/wz_mini/bin/dnsmasq -C /opt/wz_mini/etc/dnsmasq.conf 30 | fi 31 | sleep 3 32 | rm -f /tmp/resolv.conf 33 | cp /opt/wz_mini/etc/resolv.conf /tmp/resolv.conf 34 | echo "dnsmasq enabled" 35 | fi 36 | } 37 | 38 | case "$1" in 39 | start) 40 | dnsmasq_launch & 41 | ;; 42 | stop) 43 | pkill dnsmasq 44 | ;; 45 | restart) 46 | $0 stop 47 | $0 start 48 | ;; 49 | *) 50 | echo "Usage: $0 {start|stop}" 51 | exit 1 52 | ;; 53 | esac 54 | 55 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S10httpd: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Basic Web Server 5 | # Description: If enabled, start the httpd web server 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | 11 | compose_home() 12 | { 13 | target=/opt/wz_mini/www/index.html 14 | rm $target 15 | cp /opt/wz_mini/www/index.top.html $target 16 | 17 | 18 | if [[ "$WEB_SERVER_OPTIONS" ]]; then 19 | for part in $WEB_SERVER_OPTIONS 20 | do 21 | case "$part" in 22 | cam) echo 'Wyze Camera Core Config' >> $target ;; 23 | config) echo 'Wz Mini Configuration' >> $target ;; 24 | car) echo 'Car Tool' >> $target ;; 25 | current) echo 'Current Screen' >> $target ;; 26 | multicam) echo 'Multi-Cam Viewer' >> $target ;; 27 | diag) echo 'Diagnostics' >> $target ;; 28 | status) echo 'Check Recording' >> $target ;; 29 | esac 30 | done 31 | 32 | else 33 | echo 'wz_mini.conf is missing the line WEB_SERVER_OPTIONS
' >> $target; 34 | echo 'to populate it with full capabilities:
WEB_SERVER_OPTIONS="cam config car jpeg multicam diag status"
' >> $target; 35 | 36 | fi 37 | 38 | if [[ "$GO2RTC_SERVER_ENABLED" == "true" ]]; then 39 | echo 'Go2RTC Server' >> $target 40 | 41 | fi 42 | 43 | echo '' >> $target 44 | echo '' >> $target 45 | } 46 | 47 | 48 | create_httpdconf() 49 | { 50 | conffile="/opt/wz_mini/etc/httpd.conf" 51 | if [[ -f $conffile ]]; then 52 | rm $conffile 53 | fi 54 | 55 | if [[ "$WEB_SERVER_PASSWORD" == "" ]]; then 56 | WEB_SERVER_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac) 57 | fi 58 | 59 | webpassword=$(busybox httpd -m "$WEB_SERVER_PASSWORD") 60 | 61 | authline="/:$WEB_SERVER_LOGIN:$webpassword" 62 | 63 | cat < $conffile 64 | $authline 65 | EOF 66 | 67 | } 68 | 69 | 70 | do_start() 71 | { 72 | create_httpdconf 73 | if [[ "$WEB_SERVER_AUTH" == "false" ]]; then 74 | httpd -p 80 -h /opt/wz_mini/www 75 | echo "httpd enabled" 76 | elif [[ "$WEB_SERVER_AUTH" == "true" ]]; then 77 | httpd -p 80 -h /opt/wz_mini/www -r "Identify yourself:" -c /opt/wz_mini/etc/httpd.conf 78 | echo "httpd enabled" 79 | fi 80 | } 81 | do_stop() 82 | { 83 | 84 | #pkill httpd 85 | pidnum=$(ps | egrep "[0-9]{2} httpd -p 80" | awk '{print $1}') 86 | if [[ -z $pidnum ]]; then 87 | echo "httpd was not running" 88 | else 89 | kill $pidnum 90 | echo "httpd killed" 91 | fi 92 | 93 | } 94 | 95 | if [[ "$WEB_SERVER_ENABLED" == "true" ]]; then 96 | case "$1" in 97 | start) 98 | echo "#####$(basename "$0")#####" 99 | compose_home 100 | do_start 101 | ;; 102 | stop) 103 | do_stop 104 | ;; 105 | restart) 106 | do_stop 107 | compose_home 108 | do_start 109 | ;; 110 | *) 111 | echo "Usage: $0 {start|stop|restart}" 112 | exit 1 113 | ;; 114 | esac 115 | 116 | fi 117 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S12remoteaccessory: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Remote USB Accessory Support 5 | # Description: If enabled, support remote usb accessories using socat 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | remote() { 12 | wait_for_wlan_ip $(basename "$0") 13 | 14 | echo "#####$(basename "$0")#####" 15 | 16 | if [[ "$REMOTE_SPOTLIGHT" == "true" ]]; then 17 | /opt/wz_mini/bin/ser2net -c /opt/wz_mini/etc/ser2net.yaml 18 | echo "Remote accessory support enabled" 19 | else 20 | echo "Remote accessory support disabled" 21 | fi 22 | } 23 | 24 | case "$1" in 25 | start) 26 | remote & 27 | ;; 28 | stop) 29 | pkill ser2net 30 | ;; 31 | *) 32 | echo "Usage: $0 {start}" 33 | exit 1 34 | ;; 35 | esac 36 | 37 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S14storemac: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: 5 | # Short-Description: Store WLAN HW Address 6 | # Description: Store the WLAN HW Address for use by other scripts 7 | ### END INIT INFO 8 | 9 | . /opt/wz_mini/etc/rc.common 10 | 11 | storemac() { 12 | wait_for_wlan_wpa $(basename "$0") 13 | 14 | echo "#####$(basename "$0")#####" 15 | 16 | cat /sys/class/net/wlan0/address | tr '[:lower:]' '[:upper:]' > /opt/wz_mini/tmp/wlan0_mac 17 | echo "store original mac" 18 | } 19 | 20 | case "$1" in 21 | start) 22 | storemac 23 | ;; 24 | *) 25 | echo "Usage: $0 {start}" 26 | exit 1 27 | ;; 28 | esac 29 | 30 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S15v4l2rtspserver: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: 5 | # Short-Description: Start RTSP Server 6 | # Description: Provide RTSP Streaming Video over IP 7 | ### END INIT INFO 8 | 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | RTSP=/opt/wz_mini/log/v4l2rtspserver 12 | if [[ -e $RTSP.log || -L $RTSP.log ]] ; then 13 | i=0 14 | while [[ -e $RTSP.log.$i || -L $RTSP.log.$i ]] ; do 15 | let i++ 16 | done 17 | mv $RTSP.log $RTSP.log.$i 18 | RTSP=$RTSP 19 | fi 20 | touch -- "$RTSP".log 21 | 22 | 23 | case "$1" in 24 | start) 25 | 26 | echo "#####$(basename "$0")#####" 27 | 28 | if [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then 29 | 30 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 31 | HI_VIDEO_DEV="/dev/video6" 32 | else 33 | HI_VIDEO_DEV="/dev/video1" 34 | fi 35 | 36 | if [[ "$RTSP_PASSWORD" = "" ]]; then 37 | RTSP_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac) 38 | fi 39 | 40 | echo "Enable video ch 0" 41 | /opt/wz_mini/bin/cmd video 0 on > /dev/null 42 | 43 | if [[ "$RTSP_HI_RES_ENABLE_AUDIO" == "true" ]]; then 44 | echo "Enable audio ch 0" 45 | /opt/wz_mini/bin/cmd audio 0 on > /dev/null 46 | AUDIO_CH="-C 1" 47 | AUDIO_FMT="-a S16_LE" 48 | DEVICE1="$HI_VIDEO_DEV,hw:0,0" 49 | else 50 | DEVICE1="$HI_VIDEO_DEV" 51 | echo "rtsp hi_res audio disabled" 52 | fi 53 | 54 | else 55 | echo "rtsp hi_res disabled" 56 | 57 | fi 58 | 59 | 60 | if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]; then 61 | 62 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 63 | LOW_VIDEO_DEV="/dev/video7" 64 | else 65 | LOW_VIDEO_DEV="/dev/video2" 66 | fi 67 | 68 | echo "Enable video ch 1" 69 | /opt/wz_mini/bin/cmd video 1 on > /dev/null 70 | 71 | if [[ "$RTSP_PASSWORD" = "" ]]; then 72 | RTSP_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac) 73 | fi 74 | 75 | if [[ "$RTSP_LOW_RES_ENABLE_AUDIO" == "true" ]]; then 76 | echo "Enable video ch 1" 77 | /opt/wz_mini/bin/cmd audio 1 on > /dev/null 78 | AUDIO_CH="-C 1" 79 | AUDIO_FMT="-a S16_LE" 80 | DEVICE2="$LOW_VIDEO_DEV,hw:2,0" 81 | else 82 | DEVICE2="$LOW_VIDEO_DEV" 83 | echo "rtsp low_res audio disabled" 84 | fi 85 | 86 | else 87 | echo "rtsp low_res disabled" 88 | 89 | fi 90 | 91 | if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]] || [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then 92 | echo "delay RTSP for iCamera" 93 | #This delay is required. Sometimes, if you start the rtsp server too soon, live view will break on the app. 94 | sleep 5 95 | 96 | if [[ "$RTSP_AUTH_DISABLE" == "true" ]]; then 97 | echo "Starting RTSP server" 98 | LD_LIBRARY_PATH=/opt/wz_mini/lib LD_PRELOAD=/system/lib/libsetunbuf.so /opt/wz_mini/bin/v4l2rtspserver $AUDIO_CH $AUDIO_FMT -F0 -P "$RTSP_PORT" $DEVICE1 $DEVICE2 > $RTSP.log 2>&1 & 99 | else 100 | echo "Starting RTSP server" 101 | LD_LIBRARY_PATH=/opt/wz_mini/lib LD_PRELOAD=/system/lib/libsetunbuf.so /opt/wz_mini/bin/v4l2rtspserver $AUDIO_CH $AUDIO_FMT -F0 -U "$RTSP_LOGIN":"$RTSP_PASSWORD" -P "$RTSP_PORT" $DEVICE1 $DEVICE2 > $RTSP.log 2>&1 & 102 | fi 103 | 104 | fi 105 | 106 | sync;echo 3 > /proc/sys/vm/drop_caches 107 | ;; 108 | stop) 109 | pkill v4l2rtspserver 110 | cmd video 0 off 111 | cmd audio 0 off 112 | cmd video 1 off 113 | cmd audio 1 off 114 | ;; 115 | restart) 116 | $0 stop 117 | $0 start 118 | ;; 119 | *) 120 | echo "Usage: $0 {start|stop}" 121 | exit 1 122 | ;; 123 | esac 124 | 125 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S16rtmp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Start rtsp service 5 | # Description: Enable RTMP Streaming Video 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | echo "#####$(basename "$0")#####" 13 | 14 | if ([[ "$RTSP_LOW_RES_ENABLED" == "true" ]] || [[ "$RTSP_HI_RES_ENABLED" == "true" ]]) && [[ "$RTMP_STREAM_ENABLED" == "true" ]] && ([[ "$RTSP_LOW_RES_ENABLE_AUDIO" == "true" ]] || [[ "$RTSP_HI_RES_ENABLE_AUDIO" == "true" ]]); then 15 | if [[ "$RTMP_STREAM_DISABLE_AUDIO" == "true" ]]; then 16 | RTMP_AUDIO="no_audio" 17 | fi 18 | echo "delay RTMP server" 19 | #Follow the delay from the RTSP server 20 | sleep 5 21 | /opt/wz_mini/bin/rtmp-stream.sh "$RTMP_STREAM_SERVICE" "$RTMP_AUDIO" & 22 | fi 23 | ;; 24 | stop) 25 | pkill dnsmasq 26 | ;; 27 | restart) 28 | $0 stop 29 | $0 start 30 | ;; 31 | *) 32 | echo "Usage: $0 {start|stop}" 33 | exit 1 34 | ;; 35 | esac 36 | 37 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/network.d/S17go2rtc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: 5 | # Short-Description: Start go2rtc Server 6 | # Description: Provide Streaming Video over IP 7 | ### END INIT INFO 8 | 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | GO2RTC=/opt/wz_mini/log/go2rtc 12 | if [[ -e $GO2RTC.log || -L $GO2RTC.log ]] ; then 13 | i=0 14 | while [[ -e $GO2RTC.log.$i || -L $GO2RTC.log.$i ]] ; do 15 | let i++ 16 | done 17 | mv $GO2RTC.log $GO2RTC.log.$i 18 | GO2RTC=$GO2RTC 19 | fi 20 | touch -- "$GO2RTC".log 21 | 22 | 23 | case "$1" in 24 | start) 25 | echo "#####$(basename "$0")#####" 26 | if [[ "$GO2RTC_SERVER_ENABLED" == "true" ]]; then 27 | echo "go2rtc enabled" 28 | else 29 | echo "go2rtc disabled" 30 | exit 0 31 | fi 32 | if [[ "$GO2RTC_HI_RES_ENABLED" == "true" ]]; then 33 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 34 | HI_VIDEO_DEV="/dev/video6" 35 | else 36 | HI_VIDEO_DEV="/dev/video1" 37 | fi 38 | echo "Enable video ch 0" 39 | /opt/wz_mini/bin/cmd video 0 on > /dev/null 40 | if [[ "$GO2RTC_HI_RES_ENABLE_AUDIO" == "true" ]]; then 41 | echo "Enable audio ch 0" 42 | /opt/wz_mini/bin/cmd audio 0 on > /dev/null 43 | AUDIO_CH="-C 1" 44 | AUDIO_FMT="-a S16_LE" 45 | DEVICE1="$HI_VIDEO_DEV,hw:0,0" 46 | else 47 | DEVICE1="$HI_VIDEO_DEV" 48 | echo "go2rtc hi_res audio disabled" 49 | fi 50 | else 51 | echo "go2rtc hi_res disabled" 52 | fi 53 | if [[ "$GO2RTC_LOW_RES_ENABLED" == "true" ]]; then 54 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 55 | LOW_VIDEO_DEV="/dev/video7" 56 | else 57 | LOW_VIDEO_DEV="/dev/video2" 58 | fi 59 | echo "Enable video ch 1" 60 | /opt/wz_mini/bin/cmd video 1 on > /dev/null 61 | if [[ "$GO2RTC_LOW_RES_ENABLE_AUDIO" == "true" ]]; then 62 | echo "Enable video ch 1" 63 | /opt/wz_mini/bin/cmd audio 1 on > /dev/null 64 | AUDIO_CH="-C 1" 65 | AUDIO_FMT="-a S16_LE" 66 | DEVICE2="$LOW_VIDEO_DEV,hw:2,0" 67 | else 68 | DEVICE2="$LOW_VIDEO_DEV" 69 | echo "go2rtc low_res audio disabled" 70 | fi 71 | else 72 | echo "go2rtc low_res disabled" 73 | fi 74 | if [[ "$GO2RTC_LOW_RES_ENABLED" == "true" ]] || [[ "$GO2RTC_HI_RES_ENABLED" == "true" ]]; then 75 | echo "delay go2rtc for iCamera" 76 | #This delay is required. Sometimes, if you start the go2rtc server too soon, live view will break on the app. 77 | sleep 5 78 | export ALSA_CONFIG_PATH=/opt/wz_mini/etc/alsa/alsa.conf 79 | 80 | attempts=0 81 | while true; do 82 | SSL_CERT_FILE=/opt/wz_mini/etc/ssl/ca-bundle.crt /opt/wz_mini/bin/go2rtc_linux_mipsel -config /opt/wz_mini/etc/go2rtc.yml > $GO2RTC.log 2>&1 & 83 | pid=$! 84 | wait $pid 85 | exit_status=$? 86 | if [ $exit_status -eq 0 ]; then 87 | break 88 | else 89 | echo "Process exited unexpectedly, restarting." 90 | let "attempts+=1" 91 | if [ $attempts -ge 20 ]; then 92 | echo "Process exited unexpectedly too many times. Not restarting." 93 | break 94 | fi 95 | fi 96 | done & # run the loop in background 97 | fi 98 | sync;echo 3 > /proc/sys/vm/drop_caches 99 | ;; 100 | stop) 101 | pkill go2rtc_linux_mipsel 102 | pkill -f "/bin/sh /opt/wz_mini/bin/go2rtc_linux_mipsel" 103 | cmd video 0 off 104 | cmd audio 0 off 105 | cmd video 1 off 106 | cmd audio 1 off 107 | ;; 108 | restart) 109 | $0 stop 110 | $0 start 111 | ;; 112 | *) 113 | echo "Usage: $0 {start|stop}" 114 | exit 1 115 | ;; 116 | esac 117 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/passwd: -------------------------------------------------------------------------------- 1 | root:x:0:0:root:/opt/wz_mini/root:/bin/sh 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/profile: -------------------------------------------------------------------------------- 1 | # Set PS1 2 | if [ "$PS1" ]; then 3 | if [ "`id -u`" -eq 0 ]; then 4 | export PS1='[\u@\h:\W]# ' 5 | else 6 | export PS1='[\u@\h:\W]$ ' 7 | fi 8 | fi 9 | 10 | # Set terminal env 11 | export PATH=/bin:/sbin:/usr/bin:/usr/sbin 12 | export PATH=/opt/wz_mini/bin:/opt/wz_mini/tmp/.bin:/system/bin:$PATH 13 | export LD_LIBRARY_PATH=/system/lib 14 | export LD_LIBRARY_PATH=/opt/wz_mini/lib:/thirdlib:$LD_LIBRARY_PATH 15 | export TERMINFO=/opt/wz_mini/usr/share/terminfo 16 | export TERM=xterm-color 17 | 18 | /opt/wz_mini/bin/busybox resize 19 | 20 | #export TZ=UTC-8 21 | 22 | # Set directoty and file default create permission 23 | umask 022 24 | 25 | echo "wz_mini built on:" 26 | cat /opt/wz_mini/usr/bin/app.ver 27 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.common: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /opt/wz_mini/wz_mini.conf 4 | 5 | #Set module dir depending on platform 6 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 7 | KMOD_PATH="/opt/wz_mini/lib/modules/3.10.14" 8 | else 9 | KMOD_PATH="/opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__" 10 | fi 11 | 12 | if [[ "$ENABLE_USB_ETH" == "true" ]]; then 13 | ALT_IFACE=eth0 14 | elif [[ "$ENABLE_USB_DIRECT" == "true" ]] || [[ "$ENABLE_USB_RNDIS" == "true" ]]; then 15 | ALT_IFACE=usb0 16 | fi 17 | 18 | #Set the correct GPIO for the audio driver (T31 only) 19 | if [ -f /opt/wz_mini/tmp/.HL_PAN2 ]; then 20 | GPIO=7 21 | elif [ -f /opt/wz_mini/tmp/.WYZE_CAKP2JFUS ]; then 22 | GPIO=63 23 | fi 24 | 25 | wait_for_wlan() { 26 | while true; do 27 | if ifconfig wlan0 | grep "HWaddr" > /dev/null; then 28 | break 29 | fi 30 | echo "$1: Network HW not ready yet, try again in 5 seconds" 31 | sleep 5 32 | done 33 | } 34 | 35 | wait_for_wlan_wpa() { 36 | while true; do 37 | if [ -e /tmp/wpa_supplicant.conf ]; then 38 | break 39 | fi 40 | echo "$1: wpa_supplicant not initialized yet, try again in 5 seconds" 41 | sleep 5 42 | done 43 | } 44 | 45 | wait_for_wlan_ip() { 46 | while true; do 47 | if ifconfig wlan0 | grep "inet addr" > /dev/null; then 48 | break 49 | fi 50 | echo "$1: IP Address not acquired yet, try again in 5 seconds" 51 | sleep 5 52 | done 53 | } 54 | 55 | wait_for_icamera() { 56 | while ! pgrep -f "iCamera" > /dev/null; do 57 | sleep 5 58 | done 59 | 60 | sleep 10 61 | } 62 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/K01network: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . /opt/wz_mini/etc/rc.common 4 | . /opt/wz_mini/wz_mini.conf 5 | 6 | if [ -e /tmp/dbgflag ]; then 7 | echo "debug enabled, network.d disabled." 8 | exit 0 9 | fi 10 | 11 | wait_for_wlan $(basename "$0") 12 | 13 | for i in /opt/wz_mini/etc/network.d/S??* ;do 14 | 15 | # Ignore dangling symlinks (if any). 16 | [ ! -f "$i" ] && continue 17 | 18 | case "$i" in 19 | *.sh) 20 | # Source shell script for speed. 21 | ( 22 | trap - INT QUIT TSTP 23 | set start 24 | . $i 25 | ) 26 | ;; 27 | *) 28 | # No sh extension, so fork subprocess. 29 | $i start 30 | ;; 31 | esac 32 | done 33 | 34 | wait_for_wlan_ip $(basename "$0") 35 | 36 | for i in /opt/wz_mini/etc/rc.local.d/* ;do 37 | 38 | # Ignore dangling symlinks (if any). 39 | [ ! -f "$i" ] && continue 40 | 41 | case "$i" in 42 | *.sh) 43 | # Source shell script for speed. 44 | ( 45 | trap - INT QUIT TSTP 46 | set start 47 | . $i 48 | ) 49 | ;; 50 | *) 51 | # No sh extension, so fork subprocess. 52 | $i start 53 | ;; 54 | esac 55 | done 56 | 57 | 58 | if [ -f "$CUSTOM_SCRIPT_PATH" ]; then 59 | echo "Starting custom script" 60 | $CUSTOM_SCRIPT_PATH & 61 | else 62 | echo "No custom script configured in wz_mini.conf" 63 | fi 64 | 65 | /opt/wz_mini/etc/rc.d/K15logging 66 | 67 | echo "wz_mini done" > /dev/kmsg 68 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/K02webcam: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | LOG_NAME=/opt/wz_mini/log/wz_cam 4 | if [[ -e $LOG_NAME.log || -L $LOG_NAME.log ]] ; then 5 | i=0 6 | while [[ -e $LOG_NAME.log.$i || -L $LOG_NAME.log.$i ]] ; do 7 | let i++ 8 | done 9 | mv $LOG_NAME.log $LOG_NAME.log.$i 10 | LOG_NAME=$LOG_NAME 11 | fi 12 | touch -- "$LOG_NAME".log 13 | exec 1> $LOG_NAME.log 2>&1 14 | 15 | export WZMINI_CFG=/opt/wz_mini/wz_mini.conf 16 | 17 | [ -f $WZMINI_CFG ] && source $WZMINI_CFG 18 | 19 | echo "welcome to wz_cam.sh" 20 | echo "PID $$" 21 | 22 | if [ -f /opt/wz_mini/tmp/.T31 ]; then 23 | 24 | cp /opt/wz_mini/etc/uvc.config /opt/wz_mini/usr/bin/uvc.config 25 | 26 | if [[ "WEB_CAM_FPS_RATE" != "" ]]; then 27 | sed -i "s/fps_num :30/fps_num :$WEB_CAM_FPS_RATE/" "/opt/wz_mini/usr/bin/uvc.config" 28 | fi 29 | 30 | if [[ "WEB_CAM_BIT_RATE" != "" ]]; then 31 | sed -i "s/bitrate :8000/bitrate :$WEB_CAM_BIT_RATE/" "/opt/wz_mini/usr/bin/uvc.config" 32 | fi 33 | 34 | echo 1 > /proc/sys/vm/overcommit_memory 35 | 36 | mount --bind /opt/wz_mini/usr/bin /system/bin 37 | insmod /system/driver/avpu.ko 38 | insmod /system/driver/tx-isp-t31.ko isp_clk=220000000 39 | insmod /system/driver/sensor_gc2053_t31.ko 40 | insmod /system/driver/audio.ko 41 | insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/libcomposite.ko 42 | insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/videobuf2-vmalloc.ko 43 | insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/usbcamera.ko 44 | 45 | cd /system/bin/ 46 | /system/bin/ucamera & 47 | 48 | sleep 1 49 | 50 | echo "Set dwc2 ID_PIN driver memory" 51 | devmem 0x13500000 32 0x001100cc 52 | devmem 0x10000040 32 0x0b000096 53 | echo "Wipe dwc2 memory bits to set the ID_PIN" 54 | devmem 0x10000040 32 0x0b000FFF 55 | 56 | sleep 1 57 | 58 | cd /sys/class/gpio 59 | echo 39 > export 60 | cd gpio39 61 | echo out > direction 62 | echo 0 > active_low 63 | echo 0 > value 64 | 65 | /opt/wz_mini/bin/audioplay_t31 /opt/wz_mini/usr/share/audio/binbin_v3.wav 30 66 | 67 | else 68 | 69 | cp /opt/wz_mini/etc/uvc_v2.config /opt/wz_mini/usr/bin/uvc.config 70 | 71 | if [[ "WEB_CAM_FPS_RATE" != "" ]]; then 72 | sed -i "s/fps_num :30/fps_num :$WEB_CAM_FPS_RATE/" "/opt/wz_mini/usr/bin/uvc.config" 73 | fi 74 | 75 | if [[ "WEB_CAM_BIT_RATE" != "" ]]; then 76 | sed -i "s/bitrate :8000/bitrate :$WEB_CAM_BIT_RATE/" "/opt/wz_mini/usr/bin/uvc.config" 77 | fi 78 | 79 | mount --bind /opt/wz_mini/usr/bin /system/bin 80 | 81 | insmod /driver/tx-isp.ko isp_clk=100000000 82 | insmod /driver/exfat.ko 83 | insmod /driver/sample_motor.ko 84 | insmod /opt/wz_mini/lib/modules/3.10.14/extra/audio_webcam.ko 85 | insmod /driver/sinfo.ko 86 | insmod /driver/sample_pwm_core.ko 87 | insmod /driver/sample_pwm_hal.ko 88 | 89 | insmod /opt/wz_mini/lib/modules/3.10.14/extra/libcomposite.ko 90 | insmod /opt/wz_mini/lib/modules/3.10.14/extra/videobuf2-vmalloc.ko 91 | insmod /opt/wz_mini/lib/modules/3.10.14/extra/usbcamera.ko 92 | 93 | /opt/wz_mini/usr/bin/getSensorType 94 | /opt/wz_mini/usr/bin/ucamera_v2 & 95 | 96 | devmem 0x10000040 32 0x0b000096 97 | devmem 0x10000040 32 0x0b800096 98 | devmem 0x13500000 32 0x001100cc 99 | 100 | sleep 1 101 | 102 | echo 38 > /sys/class/gpio/export 103 | echo 39 > /sys/class/gpio/export 104 | 105 | echo out > /sys/class/gpio/gpio38/direction 106 | echo out > /sys/class/gpio/gpio39/direction 107 | 108 | /opt/wz_mini/bin/audioplay_t31 /opt/wz_mini/usr/share/audio/binbin_v3.wav 30 109 | 110 | fi 111 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/K03rcd: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -e /tmp/dbgflag ]; then 4 | echo "debug enabled, rc.d disabled." 5 | exit 0 6 | fi 7 | 8 | for i in /opt/wz_mini/etc/rc.d/S??* ;do 9 | 10 | # Ignore dangling symlinks (if any). 11 | [ ! -f "$i" ] && continue 12 | 13 | case "$i" in 14 | *.sh) 15 | # Source shell script for speed. 16 | ( 17 | trap - INT QUIT TSTP 18 | set start 19 | . $i 20 | ) 21 | ;; 22 | *) 23 | # No sh extension, so fork subprocess. 24 | $i start 25 | ;; 26 | esac 27 | done 28 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/K15logging: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /opt/wz_mini/wz_mini.conf 4 | 5 | echo "Store dmesg logs" 6 | 7 | DMESG_LOG=/opt/wz_mini/log/dmesg 8 | if [[ -e $DMESG_LOG.log || -L $DMESG_LOG.log ]] ; then 9 | i=0 10 | while [[ -e $DMESG_LOG.log.$i || -L $DMESG_LOG.log.$i ]] ; do 11 | let i++ 12 | done 13 | mv $DMESG_LOG.log $DMESG_LOG.log.$i 14 | DMESG_LOG=$DMESG_LOG 15 | fi 16 | touch -- "$DMESG_LOG".log 17 | dmesg > $DMESG_LOG.log 2>&1 18 | 19 | echo "Deleting logs older than 5 boots..." 20 | 21 | find /opt/wz_mini/log -name '*log*' | while read file; do 22 | [ "${file#/opt/wz_mini/log/*log.}" -gt 5 ] && rm -v "$file" 23 | done 24 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S01swap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Extract Swap archive 5 | # Description: Enable required swap file for system. System will crash without it. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | . /opt/wz_mini/etc/rc.common 10 | 11 | case "$1" in 12 | start) 13 | 14 | echo "#####$(basename "$0")#####" 15 | 16 | 17 | if [ -e /opt/wz_mini/swap.gz ]; then 18 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 19 | 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 20 | else 21 | 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 22 | /opt/wz_mini/bin/audioplay_t31 /opt/wz_mini/usr/share/audio/swap.wav $AUDIO_PROMPT_VOLUME 23 | rmmod audio 24 | fi 25 | echo "Swap archive present, extracting" 26 | gzip -d /opt/wz_mini/swap.gz 27 | mkswap /opt/wz_mini/swap 28 | sync;echo 3 > /proc/sys/vm/drop_caches 29 | else 30 | echo "Swap archive missing, not extracting" 31 | fi 32 | 33 | if [[ "$ENABLE_SWAP" == "true" ]] && [[ -e /opt/wz_mini/swap ]]; then 34 | echo "Swap file found, enable" 35 | /opt/wz_mini/bin/busybox swapon /opt/wz_mini/swap 36 | else 37 | echo "Swap file missing" 38 | fi 39 | ;; 40 | *) 41 | echo "Usage: $0 {start}" 42 | exit 1 43 | ;; 44 | esac 45 | 46 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S03ethernet: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: USB Ethernet Support 5 | # Description: Enable USB Ethernet adapter support and kernel module 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | case "$1" in 12 | start) 13 | 14 | echo "#####$(basename "$0")#####" 15 | 16 | 17 | if [[ "$ENABLE_USB_ETH" == "true" ]]; then 18 | 19 | insmod $KMOD_PATH/kernel/drivers/net/usb/usbnet.ko 20 | 21 | echo "Auto-Detect an Ethernet Driver and load it" 22 | if [[ "$ENABLE_USB_ETH_MODULE_AUTODETECT" == "true" ]]; then 23 | for DEVICE in `lsusb | awk '{print $6}'| tr '[:upper:]' '[:lower:]'`; do 24 | case $DEVICE in 25 | '077b:2226' | '0846:1040' | '2001:1a00' | '0b95:1720' | '07b8:420a' |\ 26 | '08dd:90ff' | '0557:2009' | '0411:003d' | '0411:006e' | '6189:182d' |\ 27 | '0df6:0056' | '07aa:0017' | '1189:0893' | '1631:6200' | '04f1:3008' |\ 28 | '17ef:7203' | '0b95:772b' | '0b95:7720' | '0b95:1780' | '0789:0160' |\ 29 | '13b1:0018' | '1557:7720' | '07d1:3c05' | '2001:3c05' | '2001:1a02' |\ 30 | '1737:0039' | '04bb:0930' | '050d:5055' | '05ac:1402' | '0b95:772a' |\ 31 | '14ea:ab11' | '0db0:a877' | '0b95:7e2b' | '0b95:172a' | '066b:20f9') 32 | echo "Loading ASIX Ethernet driver..." 33 | modprobe asix 34 | ;; 35 | '0b95:1790' | '0b95:178a' | '0df6:0072') 36 | echo "Loading AX88179 Gigabit Ethernet driver..." 37 | modprobe ax88179_178a 38 | ;; 39 | '1004:61aa' | '046d:c11f' | '1410:b001' | '1410:9010' | '413c:8195' |\ 40 | '413c:8196' | '413c:819b' | '16d5:650a' | '12d1:14ac') 41 | echo "Loading USB CDC Ethernet driver..." 42 | modprobe cdc_ether 43 | ;; 44 | '0bda:8152') 45 | echo "Loading Realtek RTL8152 driver..." 46 | modprobe r8152 47 | ;; 48 | esac 49 | done 50 | fi 51 | 52 | echo "Manually load any other Ethernet Drivers if asked for" 53 | if [[ "$ENABLE_USB_ETH_MODULE_MANUAL" != "" ]]; then 54 | for i in $(echo "$ENABLE_USB_ETH_MODULE_MANUAL" | tr "," "\n") 55 | do 56 | insmod $KMOD_PATH/kernel/drivers/net/usb/$i.ko 57 | done 58 | fi 59 | 60 | cat /sys/class/net/eth0/address | tr '[:lower:]' '[:upper:]' > /opt/wz_mini/tmp/eth0_mac 61 | 62 | if [ -n "$USB_ETH_MAC_ADDR" ]; then 63 | /opt/wz_mini/tmp/.bin/ifconfig eth0 hw ether $USB_ETH_MAC_ADDR 64 | fi 65 | 66 | else 67 | echo "USB Ethernet disabled" 68 | fi 69 | ;; 70 | *) 71 | echo "Usage: $0 {start}" 72 | exit 1 73 | ;; 74 | esac 75 | 76 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S04usbdirect: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: USB Direct Networking 5 | # Description: Enable USB Direct Networking kernel modules and support 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | case "$1" in 12 | start) 13 | 14 | echo "#####$(basename "$0")#####" 15 | 16 | if [[ "$ENABLE_USB_DIRECT" == "true" ]]; then 17 | 18 | HOST_MACADDR=$(echo "$CUSTOM_HOSTNAME"|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/') 19 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 20 | echo connect > /sys/devices/platform/jz-dwc2/dwc2/udc/dwc2/soft_connect 21 | sleep 1 22 | devmem 0x10000040 32 0x0b800096 23 | sleep 1 24 | devmem 0x13500000 32 0x001100cc 25 | else 26 | echo "Set dwc2 ID_PIN driver memory" 27 | devmem 0x13500000 32 0x001100cc 28 | devmem 0x10000040 32 0x0b000096 29 | echo "wipe dwc2 memory bits to set the ID_PIN, only for the V3" 30 | devmem 0x10000040 32 0x0b000FFF 31 | fi 32 | 33 | insmod $KMOD_PATH/kernel/drivers/usb/gadget/libcomposite.ko 34 | 35 | if [ -f /opt/wz_mini/tmp/.T31 ]; then 36 | insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/u_ether.ko 37 | insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/usb_f_ncm.ko 38 | fi 39 | 40 | insmod $KMOD_PATH/kernel/drivers/usb/gadget/g_ncm.ko iManufacturer=wz_mini_ncm host_addr="$HOST_MACADDR" dev_addr="$USB_DIRECT_MAC_ADDR" 41 | 42 | echo "USB Direct enabled" 43 | 44 | else 45 | echo "USB Direct disabled" 46 | 47 | fi 48 | ;; 49 | *) 50 | echo "Usage: $0 {start}" 51 | exit 1 52 | ;; 53 | esac 54 | 55 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S05rndis: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: USB RNDIS Tethering Support 5 | # Description: Enable USB RNDIS Tethering kernel modules and support 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | case "$1" in 12 | start) 13 | 14 | if [[ "$ENABLE_USB_RNDIS" == "true" ]]; then 15 | if [[ "$ENABLE_USB_ETH" == "true" ]] || [[ "$ENABLE_USB_DIRECT" == "true" ]]; then 16 | echo "RNDIS is not compatible with ENABLE_USB_ETH or ENABLE_USB_DIRECT. Please enable only ENABLE_USB_RNDIS" 17 | else 18 | 19 | insmod $KMOD_PATH/kernel/drivers/net/usb/usbnet.ko 20 | insmod $KMOD_PATH/kernel/drivers/net/usb/cdc_ether.ko 21 | insmod $KMOD_PATH/kernel/drivers/net/usb/rndis_host.ko 22 | 23 | fi 24 | 25 | echo "USB RNDIS enabled" 26 | else 27 | echo "USB RNDIS disabled" 28 | 29 | fi 30 | ;; 31 | *) 32 | echo "Usage: $0 {start}" 33 | exit 1 34 | ;; 35 | esac 36 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S06networkalt: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Configure alternate networking 5 | # Description: Configure networking that is not onboard WLAN 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | alternate_iface() { 12 | 13 | if [[ "$ENABLE_USB_ETH" == "true" ]] || [[ "$ENABLE_USB_DIRECT" == "true" ]] || [[ "$ENABLE_USB_RNDIS" == "true" ]]; then 14 | wait_for_wlan_wpa $(basename "$0") 15 | 16 | echo "#####$(basename "$0")#####" 17 | 18 | echo "Renaming interfaces" 19 | ifconfig $ALT_IFACE down 20 | 21 | ifconfig wlan0 down 22 | /opt/wz_mini/bin/busybox ip link set wlan0 name wlanold 23 | /opt/wz_mini/bin/busybox ip addr flush dev wlanold 24 | /opt/wz_mini/bin/busybox ip link set $ALT_IFACE name wlan0 25 | 26 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 27 | mount -o bind /opt/wz_mini/bin/wpa_cli.sh /system/bin/wpa_cli 28 | else 29 | mount -o bind /opt/wz_mini/bin/wpa_cli.sh /bin/wpa_cli 30 | fi 31 | 32 | else 33 | echo "No alternate iface enabled" 34 | fi 35 | 36 | } 37 | 38 | case "$1" in 39 | start) 40 | 41 | if ! [[ "$BONDING_ENABLED" == "true" ]]; then 42 | alternate_iface & 43 | fi 44 | 45 | ;; 46 | *) 47 | echo "Usage: $0 {start}" 48 | exit 1 49 | ;; 50 | esac 51 | 52 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S09coredump: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Disable coredump 5 | # Description: Disable dumpload and disable kernel coredump support 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | 10 | core() { 11 | wait_for_wlan_wpa $(basename "$0") 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | echo "Killing dumpload" 16 | /opt/wz_mini/bin/busybox pkill -f dumpload 17 | 18 | echo "Setting kernel core pattern" 19 | sysctl -w kernel.core_pattern='|/bin/false' > /dev/null 20 | } 21 | 22 | case "$1" in 23 | start) 24 | core & 25 | ;; 26 | *) 27 | echo "Usage: $0 {start}" 28 | exit 1 29 | ;; 30 | esac 31 | 32 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S10firmware: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: FW Upgrade Intercept 5 | # Description: Intercept FW Upgrades from vendor 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | echo "#####$(basename "$0")#####" 13 | 14 | if [[ "$DISABLE_FW_UPGRADE" == "true" ]]; then 15 | mkdir /tmp/Upgrade 16 | mount -t tmpfs -o size=1,nr_inodes=1 none /tmp/Upgrade 17 | #Setting this host causes iCamera to segfault, lets ignore it for now 18 | #echo -e "127.0.0.1 localhost \n127.0.0.1 wyze-upgrade-service.wyzecam.com" > /opt/wz_mini/tmp/.storage/hosts 19 | #mount --bind /opt/wz_mini/tmp/.storage/hosts /etc/hosts 20 | /opt/wz_mini/bin/busybox inotifyd /opt/wz_mini/usr/bin/watch_up.sh /tmp:n > /dev/null 2>&1 & 21 | 22 | if [ -f /opt/wz_mini/tmp/.WYZE_CAKP2JFUS ]; then 23 | # v3 24 | printf "[VER]\nappver=4.36.13.0416\n" > /opt/wz_mini/tmp/patched_app.ver 25 | elif [ -f /opt/wz_mini/tmp/.WYZEC1-JZ ]; then 26 | # v2 27 | printf "[VER]\nappver=4.9.9.3006\n" > /opt/wz_mini/tmp/patched_app.ver 28 | elif [ -f /opt/wz_mini/tmp/.WYZECP1_JEF ]; then 29 | # pan v1 30 | printf "[VER]\nappver=4.10.9.3006\n" > /opt/wz_mini/tmp/patched_app.ver 31 | elif [ -f /opt/wz_mini/tmp/.HL_PAN2 ]; then 32 | # pan v2 33 | printf "[VER]\nappver=4.49.13.0653\n" > /opt/wz_mini/tmp/patched_app.ver 34 | fi 35 | 36 | mount --bind /opt/wz_mini/tmp/patched_app.ver /system/bin/app.ver 37 | 38 | echo "Firmware updates disabled" 39 | else 40 | echo "Firmwware updates enabled, monitor script running" 41 | mkdir /tmp/Upgrade 42 | /opt/wz_mini/bin/busybox inotifyd /opt/wz_mini/usr/bin/watch_up.sh /tmp:n > /dev/null 2>&1 & 43 | fi 44 | 45 | ;; 46 | *) 47 | echo "Usage: $0 {start}" 48 | exit 1 49 | ;; 50 | esac 51 | 52 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S13mp4write: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: MP4WRITE Support 5 | # Description: Prevent system trashing with mp4write support provided by libcallback, temporary video files are written direct to media instead of /tmp 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | mp4write() { 12 | 13 | wait_for_icamera 14 | 15 | echo "#####$(basename "$0")#####" 16 | 17 | if [[ "$ENABLE_MP4_WRITE" == "true" ]]; then 18 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 19 | echo "mp4_write is not supported on T20" 20 | else 21 | /opt/wz_mini/bin/cmd mp4write on > /dev/null 22 | echo "mp4_write enabled" 23 | fi 24 | else 25 | echo "mp4_write disabled" 26 | fi 27 | } 28 | 29 | case "$1" in 30 | start) 31 | mp4write & 32 | ;; 33 | *) 34 | echo "Usage: $0 {start}" 35 | exit 1 36 | ;; 37 | esac 38 | 39 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S14nightdrop: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Enable NightDrop support 5 | # Description: Prevent the system from dropping FPS during night mode 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/wz_mini.conf 9 | 10 | case "$1" in 11 | start) 12 | 13 | echo "#####$(basename "$0")#####" 14 | 15 | if [[ "$NIGHT_DROP_DISABLE" == "true" ]]; then 16 | echo "Night Drop Disable, Enabled" 17 | touch /opt/wz_mini/tmp/.nd 18 | fi 19 | ;; 20 | *) 21 | echo "Usage: $0 {start}" 22 | exit 1 23 | ;; 24 | esac 25 | 26 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S17motor: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Set motor parameters 5 | # Description: Disable Motor, or set specified motor position on boot on motorized devices. 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | motor_position() { 12 | 13 | wait_for_icamera 14 | 15 | if [ -n "$MOTOR_DEFAULT_X" ]; then 16 | if [ -n "$MOTOR_DEFAULT_Y" ]; then 17 | echo "Moving to user-defined default position" 18 | cmd move $MOTOR_DEFAULT_X $MOTOR_DEFAULT_Y 19 | else 20 | echo "Default position not defined for Y-axis" 21 | fi 22 | else 23 | echo "Default position not defined for X-axis" 24 | fi 25 | } 26 | 27 | case "$1" in 28 | start) 29 | echo "#####$(basename "$0")#####" 30 | 31 | if [[ "$MOTOR_DISABLE" == "true" ]]; then 32 | echo "Motor Disabled" 33 | touch /opt/wz_mini/tmp/.ms 34 | else 35 | echo "Motor enabled" 36 | motor_position & 37 | fi 38 | 39 | ;; 40 | *) 41 | echo "Usage: $0 {start}" 42 | exit 1 43 | ;; 44 | esac 45 | 46 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S18fps: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Set system FPS 5 | # Description: Set system FPS in the hualai config based on user settings 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | imp_fps() { 12 | wait_for_icamera 13 | 14 | ##FPS should only need to be set once at boot, it shouldn't normally change after. 15 | #should be run after icamera is up --- FIXME 16 | if [ -n "$VIDEO_0_FPS" ]; then 17 | echo "Setting CH0 FPS" 18 | /system/bin/impdbg --enc_rc_s 0:80:4:$VIDEO_0_FPS 19 | else 20 | echo "fps channel 0 is empty" 21 | fi 22 | 23 | if [ -n "$VIDEO_1_FPS" ]; then 24 | echo "Setting CH1 FPS" 25 | /system/bin/impdbg --enc_rc_s 1:80:4:$VIDEO_1_FPS 26 | else 27 | echo "fps channel 1 is empty" 28 | fi 29 | } 30 | 31 | case "$1" in 32 | start) 33 | 34 | echo "#####$(basename "$0")#####" 35 | 36 | if [ $VIDEO_0_FPS -gt 20 ]; then 37 | #We may set fps below 20 using impdbg 38 | echo "System FPS greater than default, setting." 39 | if cat /configs/.user_config | grep fps; then 40 | sed -i "s/fps.*/fps\=$VIDEO_0_FPS/" /configs/.user_config 41 | else 42 | sed -i "/\[SETTING\].*/a fps=$VIDEO_0_FPS" /configs/.user_config 43 | fi 44 | 45 | fi 46 | 47 | imp_fps & 48 | 49 | ;; 50 | *) 51 | echo "Usage: $0 {start}" 52 | exit 1 53 | ;; 54 | esac 55 | 56 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S19video: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Set system video settings 5 | # Description: Set system video bitrates for video channels 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | delay_imp() { 12 | wait_for_icamera 13 | 14 | echo "Starting imp_monitor.sh in daemon mode..." 15 | 16 | /opt/wz_mini/usr/bin/imp_monitor.sh --daemon 17 | } 18 | 19 | case "$1" in 20 | start) 21 | 22 | echo "#####$(basename "$0")#####" 23 | 24 | delay_imp & 25 | 26 | ;; 27 | *) 28 | echo "Usage: $0 {start}" 29 | exit 1 30 | ;; 31 | esac 32 | 33 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S20cron: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Start cron daemon 5 | # Description: Enable cron service 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | autostart_crond() { 12 | wait_for_wlan_ip $(basename "$0") 13 | 14 | echo "#####$(basename "$0")#####" 15 | 16 | /opt/wz_mini/tmp/.bin/crond -b -c /opt/wz_mini/etc/cron/ 17 | } 18 | 19 | 20 | case "$1" in 21 | start) 22 | if [[ "$ENABLE_CRONTAB" == "true" ]]; then 23 | autostart_crond & 24 | fi 25 | ;; 26 | *) 27 | echo "Usage: $0 {start}" 28 | exit 1 29 | ;; 30 | esac 31 | 32 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.d/S21syslog: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: 4 | # Short-Description: Store syslogs 5 | # Description: Enable storing of syslogs to media 6 | ### END INIT INFO 7 | 8 | . /opt/wz_mini/etc/rc.common 9 | . /opt/wz_mini/wz_mini.conf 10 | 11 | syslog_save() { 12 | wait_for_icamera 13 | 14 | echo "#####$(basename "$0")#####" 15 | 16 | if [[ "$ENABLE_SYSLOG_SAVE" == "true" ]]; then 17 | echo "Store syslog logs" 18 | 19 | SYSLOG_LOG=/opt/wz_mini/log/syslog 20 | if [[ -e $SYSLOG_LOG.log || -L $SYSLOG_LOG.log ]] ; then 21 | i=0 22 | while [[ -e $SYSLOG_LOG.log.$i || -L $SYSLOG_LOG.log.$i ]] ; do 23 | let i++ 24 | done 25 | mv $SYSLOG_LOG.log $SYSLOG_LOG.log.$i 26 | SYSLOG_LOG=$SYSLOG_LOG 27 | fi 28 | touch -- "$SYSLOG_LOG".log 29 | logread -F > $SYSLOG_LOG.log & 30 | fi 31 | 32 | } 33 | 34 | case "$1" in 35 | start) 36 | syslog_save & 37 | ;; 38 | *) 39 | echo "Usage: $0 {start}" 40 | exit 1 41 | ;; 42 | esac 43 | 44 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.local: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #This file executes last, after rc.local.d/ 4 | 5 | 6 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/rc.local.d/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/etc/rc.local.d/.gitignore -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/resolv.conf: -------------------------------------------------------------------------------- 1 | nameserver 127.0.0.1 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/resolv.dnsmasq: -------------------------------------------------------------------------------- 1 | #List your desired upstream dns servers here 2 | 3 | nameserver 1.1.1.1 4 | nameserver 1.0.0.1 5 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/ser2net.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | # This is a ser2net configuration file, tailored to be rather 4 | # simple. 5 | # 6 | # Find detailed documentation in ser2net.yaml(5) 7 | # A fully featured configuration file is in 8 | # /usr/share/doc/ser2net/examples/ser2net.yaml.gz 9 | # 10 | # If you find your configuration more useful than this very simple 11 | # one, please submit it as a bugreport 12 | 13 | define: &banner \r\nser2net port \p device \d [\B] (wz_mini)\r\n\r\n 14 | 15 | connection: &con0096 16 | accepter: tcp,localhost,9000 17 | enable: on 18 | options: 19 | banner: *banner 20 | kickolduser: true 21 | telnet-brk-on-sync: true 22 | connector: serialdev, 23 | /dev/ttyUSB0, 24 | 9600n81,local 25 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/shadow: -------------------------------------------------------------------------------- 1 | root:aVG8.5PMEOfnQ:0:0:99999:7::: 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/ssh/authorized_keys: -------------------------------------------------------------------------------- 1 | #PLACE AUTHORIZED KEYS BELOW 2 | 3 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/uvc.config: -------------------------------------------------------------------------------- 1 | sensor_name :gc2053 2 | i2c_addr :0x37 3 | fps_num :30 4 | width :1920 5 | height :1080 6 | wdr_en :0 7 | bitrate :8000 8 | rcmode :cbr 9 | audio_en :1 10 | gop :30 11 | adb_en :1 12 | speak_en :0 13 | nframes :3 14 | {640, 360} 15 | {1280, 720} 16 | {1920, 1080} 17 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/uvc_jxf22.config: -------------------------------------------------------------------------------- 1 | sensor_name :jxf22 2 | i2c_addr :0x40 3 | fps_num :25 4 | width :1920 5 | height :1080 6 | wdr_en :0 7 | bitrate :8000 8 | rcmode :cbr 9 | audio_en :1 10 | gop :25 11 | adb_en :0 12 | speak_en :1 13 | nframes :3 14 | {640, 360} 15 | {1280, 720} 16 | {1920, 1080} -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/uvc_jxf23.config: -------------------------------------------------------------------------------- 1 | sensor_name :jxf23 2 | i2c_addr :0x40 3 | fps_num :25 4 | width :1920 5 | height :1080 6 | wdr_en :0 7 | bitrate :8000 8 | rcmode :cbr 9 | audio_en :1 10 | gop :25 11 | adb_en :0 12 | speak_en :1 13 | nframes :3 14 | {640, 360} 15 | {1280, 720} 16 | {1920, 1080} -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/uvc_v2.config: -------------------------------------------------------------------------------- 1 | sensor_name :jxf23 2 | i2c_addr :0x40 3 | fps_num :25 4 | width :1920 5 | height :1080 6 | wdr_en :0 7 | bitrate :8000 8 | rcmode :cbr 9 | audio_en :1 10 | gop :25 11 | adb_en :0 12 | speak_en :1 13 | nframes :3 14 | {640, 360} 15 | {1280, 720} 16 | {1920, 1080} -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/wireguard/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/etc/wireguard/.gitignore -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/etc/wz_mini.conf.dist: -------------------------------------------------------------------------------- 1 | #wz_mini configuration 2 | 3 | 4 | #### W E B CAMERA### 5 | ##THIS MODE DISABLES EVERYTHING AND IT WILL 6 | ## WORK AS A WEB CAMERA FOR YOUR PC ***ONLY*** 7 | WEB_CAM_ENABLE="false" 8 | WEB_CAM_BIT_RATE="8000" 9 | WEB_CAM_FPS_RATE="25" 10 | 11 | #####NETWORKING##### 12 | CUSTOM_HOSTNAME="WCV3" 13 | 14 | ENABLE_USB_ETH="false" 15 | ENABLE_USB_ETH_MODULE_AUTODETECT="true" 16 | ENABLE_USB_ETH_MODULE_MANUAL="" 17 | USB_ETH_MAC_ADDR="" 18 | 19 | ENABLE_USB_DIRECT="false" 20 | USB_DIRECT_MAC_ADDR="02:01:02:03:04:08" 21 | 22 | ENABLE_USB_RNDIS="false" 23 | 24 | ENABLE_IPV6="false" 25 | 26 | ENABLE_WIREGUARD="false" 27 | WIREGUARD_IPV4="" 28 | WIREGUARD_PEER_ENDPOINT="" 29 | WIREGUARD_PEER_PUBLIC_KEY="" 30 | WIREGUARD_PEER_ALLOWED_IPS="" 31 | WIREGUARD_PEER_KEEP_ALIVE="" 32 | 33 | ENABLE_IPTABLES="false" 34 | 35 | ENABLE_NFSv4="false" 36 | 37 | ENABLE_RTL8189FS_DRIVER="true" 38 | ENABLE_ATBM603X_DRIVER="true" 39 | 40 | NTP_SERVER="" 41 | 42 | ##### NETWORK INTERFACE BONDING ##### 43 | BONDING_ENABLED="false" 44 | BONDING_PRIMARY_INTERFACE="eth0" 45 | BONDING_SECONDARY_INTERFACE="wlan0" 46 | BONDING_LINK_MONITORING_FREQ_MS="100" 47 | BONDING_DOWN_DELAY_MS="5000" 48 | BONDING_UP_DELAY_MS="5000" 49 | BONDING_FAIL_OVER_MAC="0" 50 | 51 | #####ACCESSORIES##### 52 | REMOTE_SPOTLIGHT="false" 53 | 54 | ####MOTOR OPTIONS#### 55 | MOTOR_DISABLE="false" 56 | MOTOR_DEFAULT_X="" 57 | MOTOR_DEFAULT_Y="" 58 | 59 | #####VIDEO STREAM##### 60 | RTSP_LOGIN="admin" 61 | RTSP_PASSWORD="" 62 | RTSP_PORT="8554" 63 | 64 | RTSP_HI_RES_ENABLED="false" 65 | RTSP_HI_RES_ENABLE_AUDIO="false" 66 | 67 | RTSP_LOW_RES_ENABLED="false" 68 | RTSP_LOW_RES_ENABLE_AUDIO="false" 69 | 70 | RTSP_AUTH_DISABLE="false" 71 | 72 | VIDEO_0_MAX_BITRATE="" 73 | VIDEO_0_TARGET_BITRATE="" 74 | VIDEO_0_ENC_PARAMETER="" 75 | VIDEO_0_FPS="" 76 | 77 | VIDEO_1_MAX_BITRATE="" 78 | VIDEO_1_TARGET_BITRATE="" 79 | VIDEO_1_ENC_PARAMETER="" 80 | VIDEO_1_FPS="" 81 | 82 | GO2RTC_SERVER_ENABLED="false" 83 | GO2RTC_HI_RES_ENABLED="false" 84 | GO2RTC_HI_RES_ENABLE_AUDIO="false" 85 | GO2RTC_LOW_RES_ENABLED="false" 86 | GO2RTC_LOW_RES_ENABLE_AUDIO="false" 87 | 88 | #####RTMP STREAMING##### 89 | #### REQUIRES RTSP #### 90 | ### AND RTSP AUDIO ### 91 | RTMP_STREAM_ENABLED="false" 92 | RTMP_STREAM_FEED="video1_unicast" 93 | RTMP_STREAM_SERVICE="youtube" 94 | RTMP_STREAM_DISABLE_AUDIO="false" 95 | RTMP_STREAM_YOUTUBE_KEY="" 96 | RTMP_STREAM_TWITCH_KEY="" 97 | RTMP_STREAM_FACEBOOK_KEY="" 98 | 99 | #####GENERAL##### 100 | LIBCALLBACK_ENABLE="true" 101 | ENABLE_SWAP="true" 102 | ENABLE_USB_STORAGE="false" 103 | ENABLE_EXT4="false" 104 | ENABLE_CIFS="false" 105 | DISABLE_FW_UPGRADE="true" 106 | AUDIO_PROMPT_VOLUME="50" 107 | ENABLE_MP4_WRITE="false" 108 | NIGHT_DROP_DISABLE="false" 109 | ENABLE_FSCK_ON_BOOT="false" 110 | ENABLE_CAR_DRIVER="false" 111 | ENABLE_LOCAL_DNS="false" 112 | ENABLE_CRONTAB="false" 113 | ENABLE_SELFHOSTED_MODE="false" 114 | 115 | #####DEBUG##### 116 | #drops you to a shell via serial, doesn't load app_init.sh 117 | DEBUG_ENABLED="false" 118 | DEBUG_INITRAMFS_ENABLED="false" 119 | DEBUG_PASSWORD="false" 120 | ENABLE_SYSLOG_SAVE="false" 121 | 122 | ####WEB#### 123 | WEB_SERVER_ENABLED="false" 124 | WEB_SERVER_AUTH="true" 125 | WEB_SERVER_LOGIN="admin" 126 | WEB_SERVER_PASSWORD="" 127 | 128 | ####FILE SERVER#### 129 | ENABLE_FILESERVER="false" 130 | 131 | #####SCRIPTING##### 132 | CUSTOM_SCRIPT_PATH="" 133 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/libalog.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/libalog.so -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/libasound.so.2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/libasound.so.2 -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/libaudioProcess.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/libaudioProcess.so -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/libcallback.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/libcallback.so -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/libcallback_t20.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/libcallback_t20.so -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/libimp.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/libimp.so -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/libtinyalsa.so.2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/libtinyalsa.so.2 -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/libtinyalsa.so.2.0.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/libtinyalsa.so.2.0.0 -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/extra/8189es.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/8189es.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/extra/8189fs.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/8189fs.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/extra/audio.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/audio.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/extra/audio_webcam.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/audio_webcam.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/extra/libcomposite.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/libcomposite.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/extra/usbcamera.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/usbcamera.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/extra/v4l2loopback_V2.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/v4l2loopback_V2.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/extra/videobuf2-vmalloc.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/extra/videobuf2-vmalloc.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/crypto/md4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/crypto/md4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/bonding/bonding.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/bonding/bonding.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/tun.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/tun.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/asix.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/asix.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/ax88179_178a.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/ax88179_178a.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/cdc_ether.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/cdc_ether.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/r8152.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/r8152.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/rndis_host.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/rndis_host.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/usbnet.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/net/usb/usbnet.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/scsi/scsi_mod.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/scsi/scsi_mod.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/scsi/sd_mod.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/scsi/sd_mod.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/gadget/g_ncm.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/gadget/g_ncm.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/gadget/libcomposite.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/gadget/libcomposite.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/serial/cp210x.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/serial/cp210x.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/serial/usbserial.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/serial/usbserial.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/storage/usb-storage.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/drivers/usb/storage/usb-storage.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/cifs/cifs.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/cifs/cifs.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/ext4/ext4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/ext4/ext4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/jbd2/jbd2.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/jbd2/jbd2.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/mbcache.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/mbcache.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/nfs/nfsv4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/fs/nfs/nfsv4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/crc16.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/crc16.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/oid_registry.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/oid_registry.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/ts_bm.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/ts_bm.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/ts_fsm.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/ts_fsm.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/ts_kmp.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/lib/ts_kmp.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/dns_resolver/dns_resolver.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/dns_resolver/dns_resolver.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/ip_tunnel.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/ip_tunnel.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/ip_tables.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/ip_tables.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/ipt_REJECT.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/ipt_REJECT.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/iptable_filter.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/iptable_filter.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/iptable_mangle.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/iptable_mangle.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/tunnel4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv4/tunnel4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/netfilter/ip6_tables.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/netfilter/ip6_tables.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/netfilter/ip6t_REJECT.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/netfilter/ip6t_REJECT.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/netfilter/ip6table_filter.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/netfilter/ip6table_filter.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/netfilter/ip6table_mangle.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/netfilter/ip6table_mangle.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/sit.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/ipv6/sit.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/nf_conntrack.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/nf_conntrack.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/x_tables.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/x_tables.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_LOG.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_LOG.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_TCPMSS.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_TCPMSS.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_comment.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_comment.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_iprange.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_iprange.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_mac.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_mac.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_mark.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_mark.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_state.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_state.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_string.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_string.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_tcpudp.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/netfilter/xt_tcpudp.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/sunrpc/auth_gss/auth_rpcgss.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/sunrpc/auth_gss/auth_rpcgss.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/wireguard/wireguard.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/kernel/net/wireguard/wireguard.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/modules.alias.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/modules.alias.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/modules.builtin.alias.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/modules.builtin.alias.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/modules.builtin.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/modules.builtin.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/modules.dep: -------------------------------------------------------------------------------- 1 | kernel/fs/nfs/nfsv4.ko: 2 | kernel/fs/mbcache.ko: 3 | kernel/fs/ext4/ext4.ko: kernel/lib/crc16.ko kernel/fs/mbcache.ko kernel/fs/jbd2/jbd2.ko 4 | kernel/fs/jbd2/jbd2.ko: 5 | kernel/fs/cifs/cifs.ko: 6 | kernel/crypto/md4.ko: 7 | kernel/drivers/net/bonding/bonding.ko: 8 | kernel/drivers/net/tun.ko: 9 | kernel/drivers/net/usb/r8152.ko: 10 | kernel/drivers/net/usb/asix.ko: kernel/drivers/net/usb/usbnet.ko 11 | kernel/drivers/net/usb/ax88179_178a.ko: kernel/drivers/net/usb/usbnet.ko 12 | kernel/drivers/net/usb/cdc_ether.ko: kernel/drivers/net/usb/usbnet.ko 13 | kernel/drivers/net/usb/rndis_host.ko: kernel/drivers/net/usb/cdc_ether.ko kernel/drivers/net/usb/usbnet.ko 14 | kernel/drivers/net/usb/usbnet.ko: 15 | kernel/drivers/usb/storage/usb-storage.ko: kernel/drivers/scsi/scsi_mod.ko 16 | kernel/drivers/usb/gadget/libcomposite.ko: 17 | kernel/drivers/usb/gadget/g_ncm.ko: kernel/drivers/usb/gadget/libcomposite.ko 18 | kernel/drivers/usb/serial/usbserial.ko: 19 | kernel/drivers/usb/serial/cp210x.ko: kernel/drivers/usb/serial/usbserial.ko 20 | kernel/drivers/scsi/scsi_mod.ko: 21 | kernel/drivers/scsi/sd_mod.ko: kernel/drivers/scsi/scsi_mod.ko 22 | kernel/net/netfilter/nf_conntrack.ko: 23 | kernel/net/netfilter/x_tables.ko: 24 | kernel/net/netfilter/xt_tcpudp.ko: kernel/net/netfilter/x_tables.ko 25 | kernel/net/netfilter/xt_mark.ko: kernel/net/netfilter/x_tables.ko 26 | kernel/net/netfilter/xt_LOG.ko: kernel/net/netfilter/x_tables.ko 27 | kernel/net/netfilter/xt_TCPMSS.ko: kernel/net/netfilter/x_tables.ko 28 | kernel/net/netfilter/xt_comment.ko: kernel/net/netfilter/x_tables.ko 29 | kernel/net/netfilter/xt_iprange.ko: kernel/net/netfilter/x_tables.ko 30 | kernel/net/netfilter/xt_mac.ko: kernel/net/netfilter/x_tables.ko 31 | kernel/net/netfilter/xt_state.ko: kernel/net/netfilter/nf_conntrack.ko kernel/net/netfilter/x_tables.ko 32 | kernel/net/netfilter/xt_string.ko: kernel/net/netfilter/x_tables.ko 33 | kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko: kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/nf_conntrack.ko 34 | kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko: 35 | kernel/net/ipv4/netfilter/ip_tables.ko: kernel/net/netfilter/x_tables.ko 36 | kernel/net/ipv4/netfilter/iptable_filter.ko: kernel/net/ipv4/netfilter/ip_tables.ko kernel/net/netfilter/x_tables.ko 37 | kernel/net/ipv4/netfilter/iptable_mangle.ko: kernel/net/ipv4/netfilter/ip_tables.ko kernel/net/netfilter/x_tables.ko 38 | kernel/net/ipv4/netfilter/ipt_REJECT.ko: kernel/net/netfilter/x_tables.ko 39 | kernel/net/ipv4/ip_tunnel.ko: 40 | kernel/net/ipv4/tunnel4.ko: 41 | kernel/net/ipv6/netfilter/ip6_tables.ko: kernel/net/netfilter/x_tables.ko 42 | kernel/net/ipv6/netfilter/ip6table_filter.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko 43 | kernel/net/ipv6/netfilter/ip6table_mangle.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko 44 | kernel/net/ipv6/netfilter/ip6t_REJECT.ko: kernel/net/netfilter/x_tables.ko 45 | kernel/net/ipv6/sit.ko: kernel/net/ipv4/ip_tunnel.ko kernel/net/ipv4/tunnel4.ko 46 | kernel/net/sunrpc/auth_gss/auth_rpcgss.ko: kernel/lib/oid_registry.ko 47 | kernel/net/wireguard/wireguard.ko: kernel/net/ipv4/ip_tunnel.ko 48 | kernel/net/dns_resolver/dns_resolver.ko: 49 | kernel/lib/crc16.ko: 50 | kernel/lib/ts_kmp.ko: 51 | kernel/lib/ts_bm.ko: 52 | kernel/lib/ts_fsm.ko: 53 | kernel/lib/oid_registry.ko: 54 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/modules.dep.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/modules.dep.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/modules.devname: -------------------------------------------------------------------------------- 1 | # Device nodes to trigger on-demand module loading. 2 | tun net/tun c10:200 3 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/modules.order: -------------------------------------------------------------------------------- 1 | kernel/fs/nfs/nfsv4.ko 2 | kernel/fs/mbcache.ko 3 | kernel/fs/ext4/ext4.ko 4 | kernel/fs/jbd2/jbd2.ko 5 | kernel/fs/cifs/cifs.ko 6 | kernel/crypto/md4.ko 7 | kernel/drivers/net/bonding/bonding.ko 8 | kernel/drivers/net/tun.ko 9 | kernel/drivers/net/usb/r8152.ko 10 | kernel/drivers/net/usb/asix.ko 11 | kernel/drivers/net/usb/ax88179_178a.ko 12 | kernel/drivers/net/usb/cdc_ether.ko 13 | kernel/drivers/net/usb/rndis_host.ko 14 | kernel/drivers/net/usb/usbnet.ko 15 | kernel/drivers/usb/storage/usb-storage.ko 16 | kernel/drivers/usb/gadget/libcomposite.ko 17 | kernel/drivers/usb/gadget/g_ncm.ko 18 | kernel/drivers/usb/serial/usbserial.ko 19 | kernel/drivers/usb/serial/cp210x.ko 20 | kernel/drivers/scsi/scsi_mod.ko 21 | kernel/drivers/scsi/sd_mod.ko 22 | kernel/net/netfilter/nf_conntrack.ko 23 | kernel/net/netfilter/x_tables.ko 24 | kernel/net/netfilter/xt_tcpudp.ko 25 | kernel/net/netfilter/xt_mark.ko 26 | kernel/net/netfilter/xt_LOG.ko 27 | kernel/net/netfilter/xt_TCPMSS.ko 28 | kernel/net/netfilter/xt_comment.ko 29 | kernel/net/netfilter/xt_iprange.ko 30 | kernel/net/netfilter/xt_mac.ko 31 | kernel/net/netfilter/xt_state.ko 32 | kernel/net/netfilter/xt_string.ko 33 | kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko 34 | kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko 35 | kernel/net/ipv4/netfilter/ip_tables.ko 36 | kernel/net/ipv4/netfilter/iptable_filter.ko 37 | kernel/net/ipv4/netfilter/iptable_mangle.ko 38 | kernel/net/ipv4/netfilter/ipt_REJECT.ko 39 | kernel/net/ipv4/ip_tunnel.ko 40 | kernel/net/ipv4/tunnel4.ko 41 | kernel/net/ipv6/netfilter/ip6_tables.ko 42 | kernel/net/ipv6/netfilter/ip6table_filter.ko 43 | kernel/net/ipv6/netfilter/ip6table_mangle.ko 44 | kernel/net/ipv6/netfilter/ip6t_REJECT.ko 45 | kernel/net/ipv6/sit.ko 46 | kernel/net/sunrpc/auth_gss/auth_rpcgss.ko 47 | kernel/net/wireguard/wireguard.ko 48 | kernel/net/dns_resolver/dns_resolver.ko 49 | kernel/lib/crc16.ko 50 | kernel/lib/ts_kmp.ko 51 | kernel/lib/ts_bm.ko 52 | kernel/lib/ts_fsm.ko 53 | kernel/lib/oid_registry.ko 54 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/modules.softdep: -------------------------------------------------------------------------------- 1 | # Soft dependencies extracted from modules themselves. 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14/modules.symbols.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14/modules.symbols.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/8189fs.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/8189fs.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/atbm603x_wifi_sdio.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/atbm603x_wifi_sdio.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/atbm_txpwer_dcxo_cfg.txt: -------------------------------------------------------------------------------- 1 | delta_gain1:-1 delta_gain2:-1 delta_gain3:-1 dcxo:-1 2 | b_delta_gain1:10 b_delta_gain2:12 b_delta_gain3:15 3 | gn_delta_gain1:10 gn_delta_gain2:8 gn_delta_gain3:12 -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/audio.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/audio.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/usbcamera.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/usbcamera.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/v4l2loopback.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/v4l2loopback.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/videobuf2-vmalloc.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/videobuf2-vmalloc.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/crypto/cmac.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/crypto/cmac.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/crypto/md4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/crypto/md4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/bonding/bonding.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/bonding/bonding.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/asix.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/asix.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/ax88179_178a.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/ax88179_178a.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/cdc_ether.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/cdc_ether.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/r8152.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/r8152.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/rndis_host.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/rndis_host.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/usbnet.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/usbnet.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/scsi/scsi_mod.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/scsi/scsi_mod.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/scsi/sd_mod.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/scsi/sd_mod.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/g_ncm.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/g_ncm.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/libcomposite.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/libcomposite.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/u_ether.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/u_ether.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/usb_f_ncm.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/usb_f_ncm.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/serial/cp210x.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/serial/cp210x.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/serial/usbserial.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/serial/usbserial.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/storage/usb-storage.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/storage/usb-storage.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/cifs/cifs.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/cifs/cifs.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/ext4/ext4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/ext4/ext4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/fscache/fscache.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/fscache/fscache.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/jbd2/jbd2.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/jbd2/jbd2.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/mbcache.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/mbcache.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/nfs/nfsv4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/nfs/nfsv4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/lib/oid_registry.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/lib/oid_registry.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/dns_resolver/dns_resolver.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/dns_resolver/dns_resolver.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/ip_tunnel.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/ip_tunnel.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/ip_tables.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/ip_tables.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/ipt_REJECT.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/ipt_REJECT.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/iptable_filter.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/iptable_filter.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/iptable_mangle.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/iptable_mangle.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/tunnel4.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/tunnel4.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/netfilter/ip6_tables.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/netfilter/ip6_tables.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/netfilter/ip6t_REJECT.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/netfilter/ip6t_REJECT.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/netfilter/ip6table_filter.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/netfilter/ip6table_filter.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/netfilter/ip6table_mangle.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/netfilter/ip6table_mangle.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/sit.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv6/sit.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/nf_conntrack.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/nf_conntrack.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/x_tables.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/x_tables.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_LOG.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_LOG.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_TCPMSS.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_TCPMSS.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_mark.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_mark.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_state.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_state.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_tcpudp.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/netfilter/xt_tcpudp.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/sunrpc/auth_gss/auth_rpcgss.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/sunrpc/auth_gss/auth_rpcgss.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/wireguard/wireguard.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/wireguard/wireguard.ko -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.alias.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.alias.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.builtin.alias.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.builtin.alias.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.builtin.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.builtin.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.dep: -------------------------------------------------------------------------------- 1 | kernel/fs/nfs/nfsv4.ko: 2 | kernel/fs/mbcache.ko: 3 | kernel/fs/fscache/fscache.ko: 4 | kernel/fs/ext4/ext4.ko: kernel/fs/mbcache.ko kernel/fs/jbd2/jbd2.ko 5 | kernel/fs/jbd2/jbd2.ko: 6 | kernel/fs/cifs/cifs.ko: 7 | kernel/crypto/cmac.ko: 8 | kernel/crypto/md4.ko: 9 | kernel/drivers/net/bonding/bonding.ko: 10 | kernel/drivers/net/usb/r8152.ko: 11 | kernel/drivers/net/usb/asix.ko: kernel/drivers/net/usb/usbnet.ko 12 | kernel/drivers/net/usb/ax88179_178a.ko: kernel/drivers/net/usb/usbnet.ko 13 | kernel/drivers/net/usb/cdc_ether.ko: kernel/drivers/net/usb/usbnet.ko 14 | kernel/drivers/net/usb/rndis_host.ko: kernel/drivers/net/usb/cdc_ether.ko kernel/drivers/net/usb/usbnet.ko 15 | kernel/drivers/net/usb/usbnet.ko: 16 | kernel/drivers/usb/storage/usb-storage.ko: kernel/drivers/scsi/scsi_mod.ko 17 | kernel/drivers/usb/gadget/libcomposite.ko: 18 | kernel/drivers/usb/gadget/u_ether.ko: 19 | kernel/drivers/usb/gadget/usb_f_ncm.ko: kernel/drivers/usb/gadget/u_ether.ko kernel/drivers/usb/gadget/libcomposite.ko 20 | kernel/drivers/usb/gadget/g_ncm.ko: kernel/drivers/usb/gadget/u_ether.ko kernel/drivers/usb/gadget/libcomposite.ko 21 | kernel/drivers/usb/serial/usbserial.ko: 22 | kernel/drivers/usb/serial/cp210x.ko: kernel/drivers/usb/serial/usbserial.ko 23 | kernel/drivers/scsi/scsi_mod.ko: 24 | kernel/drivers/scsi/sd_mod.ko: kernel/drivers/scsi/scsi_mod.ko 25 | kernel/net/netfilter/nf_conntrack.ko: 26 | kernel/net/netfilter/x_tables.ko: 27 | kernel/net/netfilter/xt_tcpudp.ko: kernel/net/netfilter/x_tables.ko 28 | kernel/net/netfilter/xt_mark.ko: kernel/net/netfilter/x_tables.ko 29 | kernel/net/netfilter/xt_LOG.ko: kernel/net/netfilter/x_tables.ko 30 | kernel/net/netfilter/xt_TCPMSS.ko: kernel/net/netfilter/x_tables.ko 31 | kernel/net/netfilter/xt_state.ko: kernel/net/netfilter/nf_conntrack.ko kernel/net/netfilter/x_tables.ko 32 | kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko: kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/nf_conntrack.ko 33 | kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko: 34 | kernel/net/ipv4/netfilter/ip_tables.ko: kernel/net/netfilter/x_tables.ko 35 | kernel/net/ipv4/netfilter/iptable_filter.ko: kernel/net/ipv4/netfilter/ip_tables.ko kernel/net/netfilter/x_tables.ko 36 | kernel/net/ipv4/netfilter/iptable_mangle.ko: kernel/net/ipv4/netfilter/ip_tables.ko kernel/net/netfilter/x_tables.ko 37 | kernel/net/ipv4/netfilter/ipt_REJECT.ko: kernel/net/netfilter/x_tables.ko 38 | kernel/net/ipv4/ip_tunnel.ko: 39 | kernel/net/ipv4/tunnel4.ko: 40 | kernel/net/ipv6/netfilter/ip6_tables.ko: kernel/net/netfilter/x_tables.ko 41 | kernel/net/ipv6/netfilter/ip6table_filter.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko 42 | kernel/net/ipv6/netfilter/ip6table_mangle.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko 43 | kernel/net/ipv6/netfilter/ip6t_REJECT.ko: kernel/net/netfilter/x_tables.ko 44 | kernel/net/ipv6/sit.ko: kernel/net/ipv4/ip_tunnel.ko kernel/net/ipv4/tunnel4.ko 45 | kernel/net/sunrpc/auth_gss/auth_rpcgss.ko: kernel/lib/oid_registry.ko 46 | kernel/net/wireguard/wireguard.ko: kernel/net/ipv4/ip_tunnel.ko 47 | kernel/net/dns_resolver/dns_resolver.ko: 48 | kernel/lib/oid_registry.ko: 49 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.dep.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.dep.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.devname: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.devname -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.order: -------------------------------------------------------------------------------- 1 | kernel/fs/nfs/nfsv4.ko 2 | kernel/fs/mbcache.ko 3 | kernel/fs/fscache/fscache.ko 4 | kernel/fs/ext4/ext4.ko 5 | kernel/fs/jbd2/jbd2.ko 6 | kernel/fs/cifs/cifs.ko 7 | kernel/crypto/cmac.ko 8 | kernel/crypto/md4.ko 9 | kernel/drivers/net/bonding/bonding.ko 10 | kernel/drivers/net/usb/r8152.ko 11 | kernel/drivers/net/usb/asix.ko 12 | kernel/drivers/net/usb/ax88179_178a.ko 13 | kernel/drivers/net/usb/cdc_ether.ko 14 | kernel/drivers/net/usb/rndis_host.ko 15 | kernel/drivers/net/usb/usbnet.ko 16 | kernel/drivers/usb/storage/usb-storage.ko 17 | kernel/drivers/usb/gadget/libcomposite.ko 18 | kernel/drivers/usb/gadget/u_ether.ko 19 | kernel/drivers/usb/gadget/usb_f_ncm.ko 20 | kernel/drivers/usb/gadget/g_ncm.ko 21 | kernel/drivers/usb/serial/usbserial.ko 22 | kernel/drivers/usb/serial/cp210x.ko 23 | kernel/drivers/scsi/scsi_mod.ko 24 | kernel/drivers/scsi/sd_mod.ko 25 | kernel/net/netfilter/nf_conntrack.ko 26 | kernel/net/netfilter/x_tables.ko 27 | kernel/net/netfilter/xt_tcpudp.ko 28 | kernel/net/netfilter/xt_mark.ko 29 | kernel/net/netfilter/xt_LOG.ko 30 | kernel/net/netfilter/xt_TCPMSS.ko 31 | kernel/net/netfilter/xt_state.ko 32 | kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko 33 | kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko 34 | kernel/net/ipv4/netfilter/ip_tables.ko 35 | kernel/net/ipv4/netfilter/iptable_filter.ko 36 | kernel/net/ipv4/netfilter/iptable_mangle.ko 37 | kernel/net/ipv4/netfilter/ipt_REJECT.ko 38 | kernel/net/ipv4/ip_tunnel.ko 39 | kernel/net/ipv4/tunnel4.ko 40 | kernel/net/ipv6/netfilter/ip6_tables.ko 41 | kernel/net/ipv6/netfilter/ip6table_filter.ko 42 | kernel/net/ipv6/netfilter/ip6table_mangle.ko 43 | kernel/net/ipv6/netfilter/ip6t_REJECT.ko 44 | kernel/net/ipv6/sit.ko 45 | kernel/net/sunrpc/auth_gss/auth_rpcgss.ko 46 | kernel/net/wireguard/wireguard.ko 47 | kernel/net/dns_resolver/dns_resolver.ko 48 | kernel/lib/oid_registry.ko 49 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.softdep: -------------------------------------------------------------------------------- 1 | # Soft dependencies extracted from modules themselves. 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.symbols.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/modules.symbols.bin -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/lib/uClibc.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/lib/uClibc.tar -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/log/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/log/.gitignore -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/mnt/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/mnt/.gitignore -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/root/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/root/.gitignore -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/swap.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/swap.gz -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/tmp/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/tmp/.gitignore -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/bin/app.ver: -------------------------------------------------------------------------------- 1 | 2024-10-16_03:29:16 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/bin/getSensorType: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/bin/getSensorType -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/bin/iCamera: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -x 4 | 5 | echo "inject callback library and run" 6 | 7 | export LD_LIBRARY_PATH='/thirdlib:/system/lib:/opt/wz_mini/lib' 8 | 9 | if [ -f /opt/wz_mini/tmp/.T20 ]; then 10 | echo "libcallback for T20" 11 | LD_PRELOAD='libcallback_t20.so:libtinyalsa.so.2.0.0' /system/bin/iCamera 12 | else 13 | LD_PRELOAD='libcallback.so:libtinyalsa.so.2.0.0' /system/bin/iCamera 14 | fi 15 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/bin/iCamera-dbg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -x 4 | 5 | echo "inject callback library and run" 6 | 7 | export LD_LIBRARY_PATH='/thirdlib:/system/lib:/opt/wz_mini/lib' 8 | 9 | LD_DEBUG_OUTPUT=/tmp/icam1.log LD_DEBUG=bindings /opt/wz_mini/tmp/.storage/iCamera 10 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/bin/netmon.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -x 4 | 5 | . /opt/wz_mini/wz_mini.conf 6 | . /opt/wz_mini/etc/rc.common 7 | 8 | wait_for_wlan_ip $(basename "$0") 9 | 10 | sleep 30 11 | 12 | echo "kill icamera udhcpc extra" 13 | kill $(pgrep -f 'udhcpc -i wlan0 -H WyzeCam -p /var/run/udhcpc.pid -b') 14 | 15 | # Specify the interfaces 16 | MAIN="usb0" 17 | BACKUP="wlan_old" 18 | BOND="wlan0" 19 | 20 | # Specify the log file 21 | LOGFILE="/opt/wz_mini/log/netmon.log" 22 | 23 | gateway_supervisor() { 24 | # Get the default gateway 25 | GATEWAY=$(/opt/wz_mini/tmp/.bin/ip route show default | awk '/default/ {print $3}') 26 | 27 | # Initialize variables 28 | is_interface_down=0 29 | attempt=0 30 | 31 | # Check if the gateway can be reached 32 | while true; do 33 | if /opt/wz_mini/tmp/.bin/ifconfig $MAIN | grep -q "UP"; then 34 | is_interface_down=0 35 | echo "$(date) - Interface $MAIN is up." >> $LOGFILE 36 | fi 37 | 38 | if [ $is_interface_down -eq 0 ]; then 39 | attempt=$((attempt+1)) 40 | if /opt/wz_mini/tmp/.bin/ping -c 1 $GATEWAY > /dev/null 2>&1; then 41 | echo "$(date) - Internet connection is active." >> $LOGFILE 42 | attempt=0 43 | else 44 | echo "$(date) - Attempt $attempt: Internet connection is down." >> $LOGFILE 45 | if [ $attempt -ge 10 ]; then 46 | /opt/wz_mini/tmp/.bin/ifconfig $MAIN down 47 | echo "$(date) - Interface $MAIN has been brought down." >> $LOGFILE 48 | is_interface_down=1 49 | fi 50 | fi 51 | else 52 | if /opt/wz_mini/tmp/.bin/ifconfig $MAIN | grep -q "UP"; then 53 | is_interface_down=0 54 | echo "$(date) - Interface $MAIN is up." >> $LOGFILE 55 | attempt=0 56 | fi 57 | fi 58 | 59 | sleep 5 60 | done 61 | } 62 | 63 | monitor_bond() { 64 | # Initial active interface 65 | active_interface=$(cat /proc/net/bonding/$BOND | grep "Currently Active Slave" | awk '{print $4}') 66 | 67 | while true; do 68 | # Current active interface 69 | current_interface=$(cat /proc/net/bonding/$BOND | grep "Currently Active Slave" | awk '{print $4}') 70 | 71 | if [ "$active_interface" != "$current_interface" ]; then 72 | echo "$(date) - Network interface switched from $active_interface to $current_interface." >> $LOGFILE 73 | 74 | # Kill any running udhcpc processes 75 | killall udhcpc 76 | 77 | # Start a new udhcpc client 78 | udhcpc -i wlan0 -p /var/run/udhcpc.pid -b -S 79 | 80 | # Update the active interface 81 | active_interface=$current_interface 82 | fi 83 | 84 | # Sleep for 15 seconds before checking again 85 | sleep 15 86 | done 87 | } 88 | 89 | # Start both functions in the background 90 | gateway_supervisor & 91 | monitor_bond & 92 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/bin/restart_wlan0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "up" 4 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/bin/ucamera: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/bin/ucamera -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/bin/ucamera_v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/bin/ucamera_v2 -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/bin/watch_up.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | DEBUG=false 4 | 5 | export WZMINI_CFG=/opt/wz_mini/wz_mini.conf 6 | 7 | [ -f $WZMINI_CFG ] && source $WZMINI_CFG 8 | 9 | if [ "$DEBUG" == "true" ]; then 10 | 11 | if [ -L /dev/fd ]; then 12 | echo fd exists 13 | else 14 | echo fd does not exist, link 15 | ln -s /proc/self/fd /dev/fd 16 | fi 17 | 18 | LOG_FILE=/opt/wz_mini/log/watch_up.log 19 | exec > >(busybox tee -a ${LOG_FILE}) 2>&1 20 | fi 21 | 22 | set -x 23 | 24 | event="$1" 25 | directory="$2" 26 | file="$3" 27 | 28 | case "$event" in 29 | n) date; if [[ "$file" == "img" ]]; then 30 | 31 | set -x 32 | 33 | if [[ "$DISABLE_FW_UPGRADE" == "true" ]]; then 34 | #Reboot as soon as we see "img", this means an update is incoiming 35 | reboot 36 | fi 37 | 38 | #hook the v2 39 | if cat /params/config/.product_config | grep WYZEC1-JZ; then 40 | while [ ! -f /tmp/Upgrade/upgraderun.sh ] 41 | do 42 | # sed -i '/pgrep/,+4d' /tmp/Upgrade/upgraderun.sh 43 | sleep 0.1 44 | done 45 | 46 | else 47 | 48 | #t31 49 | while [ ! -f /tmp/Upgrade/upgraderun.sh ] 50 | do 51 | pkill -f "sh /tmp/Upgrade/upgraderun.sh" 52 | mv /tmp/Upgrade/upgraderun.sh /tmp/Upgrade/upgraderun.old 53 | echo "squashed upgraderun.sh" 54 | sleep 0.1 55 | done 56 | 57 | echo "start countdown" 58 | secs=30 59 | endTime=$(( $(date +%s) + secs )) 60 | while [ $(date +%s) -lt $endTime ]; do 61 | if pgrep -f 'upgraderun.sh' > /dev/null ; then 62 | pkill -f "sh /tmp/Upgrade/upgraderun.sh" 63 | pkillexitstatus=$? 64 | if [ $pkillexitstatus -eq 0 ]; then 65 | echo "matched upgraderun.sh, killed." 66 | status=false 67 | break 1 68 | fi 69 | fi 70 | done 71 | fi 72 | 73 | if cat /params/config/.product_config | grep WYZEC1-JZ; then 74 | echo "v2 found" 75 | upgrade_path=$(find /tmp/Upgrade | grep upgradecp.sh) 76 | sed -i '/wc -c $KERNEL/,+14d' $upgrade_path 77 | #mv /tmp/Upgrade/upgraderun.sh /tmp/Upgrade/run_upg.sh 78 | #sh /tmp/Upgrade/run_upg.sh 79 | #/tmp/Upgrade/system_upgrade.sh 80 | else 81 | 82 | if [[ -e /tmp/Upgrade/app ]]; then 83 | echo "found app image, flashing" 84 | flashcp -v /tmp/Upgrade/app /dev/mtd3 85 | /opt/wz_mini/bin/busybox sync 86 | else 87 | echo "no kernel image present" 88 | fi 89 | 90 | if [[ -e /tmp/Upgrade/kernel ]]; then 91 | echo "found kernel image, flashing" 92 | flashcp -v /tmp/Upgrade/kernel /dev/mtd1 93 | /opt/wz_mini/bin/busybox sync 94 | else 95 | echo "no app image present" 96 | fi 97 | 98 | if [[ -e /tmp/Upgrade/rootfs ]]; then 99 | echo "found rootfs image, flashing" 100 | flashcp -v /tmp/Upgrade/rootfs /dev/mtd2 101 | /opt/wz_mini/bin/busybox sync 102 | else 103 | echo "no root image present" 104 | fi 105 | 106 | /opt/wz_mini/bin/busybox sync 107 | /opt/wz_mini/bin/busybox sync 108 | sleep 5 109 | echo reboot 110 | /opt/wz_mini/bin/busybox reboot 111 | 112 | fi 113 | 114 | fi;; 115 | *) echo "This script must be run from inotifyd";; 116 | esac 117 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/audio/binbin_v3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/audio/binbin_v3.wav -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/audio/honk.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/audio/honk.wav -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/audio/honk_v2.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/audio/honk_v2.pcm -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/audio/init.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/audio/init.wav -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/audio/init_v2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/audio/init_v2.wav -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/audio/swap.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/audio/swap.wav -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/audio/swap_v2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/audio/swap_v2.wav -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/audio/upgrade_mode.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/audio/upgrade_mode.wav -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/audio/upgrade_mode_v2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/audio/upgrade_mode_v2.wav -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/misc/magic.mgc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/misc/magic.mgc -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/usr/share/terminfo.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/SD_ROOT/wz_mini/usr/share/terminfo.tar -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cam.js: -------------------------------------------------------------------------------- 1 | 2 | // https://stackoverflow.com/questions/14636536/how-to-check-if-a-variable-is-an-integer-in-javascript#14794066 3 | function isInt(value) { 4 | return !isNaN(value) && 5 | parseInt(Number(value)) == value && 6 | !isNaN(parseInt(value, 10)); 7 | } 8 | 9 | 10 | function enable_submit() 11 | { 12 | alert("no guarantees at all on this one. Change values at your own risk"); 13 | document.getElementById("update").disabled = false; 14 | 15 | } 16 | 17 | window.addEventListener("load",function() 18 | { 19 | var sels = document.querySelectorAll('.ii_select').forEach(function(item){ 20 | var row = item.getAttribute("row"); 21 | item.addEventListener('change',function(e){ 22 | var row = this.getAttribute("row"); 23 | document.querySelector(".ii_value[row='" + row + "']").value = this.value; 24 | 25 | }); 26 | var b = document.querySelector(".ii_value[row='" + row + "']"); 27 | item.value = b.value; 28 | 29 | b.classList.add('ii_shared'); 30 | b.addEventListener('change',function(e){ 31 | var row = this.getAttribute("row"); 32 | document.querySelector(".ii_select[row='" + row + "']").value = this.value; 33 | 34 | }); 35 | }); 36 | 37 | document.querySelector('[name="update_config"]').addEventListener('submit', 38 | function(e){ 39 | var changed = 0; 40 | const values = document.getElementsByClassName('ii_value'); 41 | Array.from(values).forEach(function(item){ 42 | if (item.getAttribute('default_value') == item.value) { item.disabled = true; } else { changed++; } 43 | }); 44 | if (changed == 0) { 45 | e.preventDefault(); 46 | Array.from(values).forEach(function(item){ item.disabled = false; }); 47 | } 48 | }); 49 | }); 50 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/car/car.css: -------------------------------------------------------------------------------- 1 | .wz_car_BUTTON { 2 | background-color: #4CAF50; /* Green */ 3 | border: none; 4 | color: white; 5 | padding: 15px 32px; 6 | text-align: center; 7 | text-decoration: none; 8 | display: inline-block; 9 | font-size: 16px; 10 | margin: 4px 2px; 11 | cursor: pointer; 12 | } 13 | 14 | .wz_car_BUTTON_N { 15 | background-color: #4CAF50; /* Green */ 16 | border: none; 17 | color: white; 18 | padding: 15px 32px; 19 | text-align: center; 20 | text-decoration: none; 21 | display: inline-block; 22 | font-size: 14px; 23 | margin: 4px 2px; 24 | cursor: pointer; 25 | } 26 | 27 | .wz_car_TABLE { 28 | width: 55%; 29 | border-collapse: collapse; 30 | float: left; 31 | } 32 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/car/car.js: -------------------------------------------------------------------------------- 1 | const queryString = window.location.search; 2 | console.log(queryString); 3 | const urlParams = new URLSearchParams(queryString); 4 | 5 | const speed = urlParams.get('speed') 6 | console.log("speed is", speed); 7 | 8 | const sleep_timer = urlParams.get('sleep_time') 9 | console.log("sleep_timer is", sleep_timer); 10 | 11 | function set_sleep() { 12 | sleep_timer2 = document.getElementById("sleep_timer").value; 13 | window.location = "car.html?sleep_time=" + sleep_timer2; 14 | } 15 | 16 | function set_vars() { 17 | sleep_timer2 = document.getElementById("sleep_timer").value; 18 | var speed = $('input[class="speed"]:checked').val(); 19 | 20 | window.location = "car.html?sleep_time=" + sleep_timer2 + "&speed=" + speed; 21 | } 22 | 23 | 24 | var wz_mini_car = { 25 | post: function(action) 26 | { 27 | $.post( "../cgi-bin/car.sh", { speed: speed, action: action, sleep_time: sleep_timer } ); 28 | } , 29 | init: function() { 30 | this.logarray = []; 31 | $("[class*='BUTTON']").on('click',function(e) { 32 | var action = $(this).attr('id'); 33 | wz_mini_car.post(action); 34 | }); 35 | 36 | /* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch 37 | switch is strict 38 | */ 39 | 40 | addEventListener("keydown", function (e) { 41 | var action = false; 42 | switch(e.key) { 43 | case "w": action = "forward"; break; 44 | case "s": action = "reverse"; break; 45 | case "a": action = "left"; break; 46 | case "d": action = "right"; break; 47 | case "q": action = "forward_left" ; break; 48 | case "e": action = "forward_right"; break; 49 | case "z": action = "reverse_left"; break; 50 | case "c": action = "reverse_right" ; break; 51 | case "x": action = "all_stop" ; break; 52 | case "h": action = "headlight_on" ; break; 53 | case "g": action = "headlight_off" ; break; 54 | case "j": action = "irled_on" ; break; 55 | case "k": action = "irled_off" ; break; 56 | case "b": action = "honk" ; break; 57 | } 58 | if (action) { 59 | wz_mini_car.post(action); 60 | } 61 | }); 62 | }, 63 | log: function(text) 64 | { 65 | this.logarray.push(text); 66 | } 67 | } 68 | 69 | 70 | $(document).ready(function() { 71 | wz_mini_car.init(); 72 | }); 73 | 74 | setInterval(function() { 75 | var myImageElement = document.getElementById('car_feed'); 76 | myImageElement.src = '/cgi-bin/jpeg.cgi?channel=1&rand=' + Math.random(); 77 | }, 1000); 78 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/car/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

wz_mini Car Control

14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 36 | 37 | 38 | 39 | 40 |
33 | 34 | 35 |
41 | 42 |

43 | 44 | Speed Sleep: 45 | 46 | Car Speed: 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/BONDING_ENABLED.md: -------------------------------------------------------------------------------- 1 | Network Interface Bonding Support 2 | 3 | BONDING_ENABLED="false" 4 | BONDING_PRIMARY_INTERFACE="eth0" 5 | BONDING_SECONDARY_INTERFACE="wlan0" 6 | BONDING_LINK_MONITORING_FREQ_MS="100" 7 | BONDING_DOWN_DELAY_MS="5000" 8 | BONDING_UP_DELAY_MS="5000" 9 | Bonding description is best described here: https://wiki.debian.org/Bonding#Configuration_-_Example_2_.28.22Laptop-Mode.22.29: 10 | 11 | ("Laptop-Mode") 12 | 13 | Tie cable and wireless network interfaces (RJ45/WLAN) together to define a single, virtual (i.e. bonding) network interface (e.g. bond0). As long as the network cable is connected, its interface (e.g. eth0) is used for the network traffic. If you pull the RJ45-plug, ifenslave switches over to the wireless interface (e.g. wlan0) transparently, without any loss of network packages. After reconnecting the network cable, ifenslave switches back to eth0 ("failover mode"). From the outside (=network) view it doesn't matter which interface is active. The bonding device presents its own software-defined (i.e. virtual) MAC address, different from the hardware defined MACs of eth0 or wlan0. The dhcp server will use this MAC to assign an ip address to the bond0 device. So the computer has one unique ip address under which it can be identified. Without bonding each interface would have its own ip address. Currenly supported with ethernet adapters and usb-direct mode. 14 | 15 | BONDING_PRIMARY_INTERFACE Specifies the interface that should be the primary. Typically "eth0". 16 | 17 | BONDING_SECONDARY_INTERFACE Specifies the interface that should be the secondary. Typically "wlan0". 18 | 19 | BONDING_LINK_MONITORING_FREQ_MS Specifies the MII link monitoring frequency in milliseconds. This determines how often the link state of each slave is inspected for link failures. 20 | 21 | BONDING_DOWN_DELAY_MS Specifies the time, in milliseconds, to wait before disabling a slave after a link failure has been detected. This option is only valid for the miimon link monitor. The downdelay value should be a multiple of the miimon value; if not, it will be rounded down to the nearest multiple. 22 | 23 | BONDING_UP_DELAY_MS Specifies the time, in milliseconds, to wait before enabling a slave after a link recovery has been detected. This option is only valid for the miimon link monitor. The updelay value should be a multiple of the miimon value; if not, it will be rounded down to the nearest multiple. 24 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/DISABLE_FW_UPGRADE.md: -------------------------------------------------------------------------------- 1 | If a remote or app update is initiated, the camera will reboot due to the failure of the update. The firmware update should not proceed again for some time, or at all. 2 | 3 | When a firmware update is initiated, due to a bootloader issue (bug?), we intercept the update process and flash it manually. This should now result in a successful update, if it doesn't, please restore the unit's firmware manually using demo_wcv3.bin on the micro sd card. 4 | 5 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/ENABLE_MP4_WRITE.md: -------------------------------------------------------------------------------- 1 | ENABLE_MP4_WRITE="false" 2 | Forces the camera to skip writing files to /tmp, and write them directly to your storage medium or network mount, prevents trashing. Normally videos are written to /tmp then moved using mv, which can overload camera and or remote network connections. Useful for NFS/CIFS remote video storage. 3 | 4 | 5 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/ENABLE_USB_DIRECT.md: -------------------------------------------------------------------------------- 1 | the next time you boot your camera, make sure your USB cable is connected to the router. Remember, the camera has to be setup initially with Wi-Fi for this to work. After setup, Wi-Fi is no longer needed. Note that using USB Direct disables the onboard Wi-Fi. Change the MAC Address if you desire via USB_DIRECT_MAC_ADDR variable. 2 | 3 | Connectivity is supported using a direct USB connection only... this means a single cable from the camera, to a supported host (An OpenWRT router, for example) that supports the usb-cdc-ncm specification. (NCM, not ECM) If you have an OpenWrt based router, install the kmod-usb-net-cdc-ncm package. The camera should automatically pull the IP from the router with most configurations. You can also use any modern linux distro to provide internet to the camera, provided it supports CDC_NCM. enjoy! 4 | 5 | Note: In my testing, the micro-usb cables included with the various cameras do not pass data, so they will not work. Make sure you have a micro-usb cable that passes data! 6 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/ENABLE_USB_ETH.md: -------------------------------------------------------------------------------- 1 | USB Ethernet Adapter support: 2 | 3 | ENABLE_USB_ETH="true" 4 | ENABLE_USB_ETH_MODULE_AUTODETECT="true" 5 | ENABLE_USB_ETH_MODULE_MANUAL="" 6 | To have the Ethernet NIC be auto-detected and loaded automatically, set the ENABLE_USB_ETH_MODULE_AUTODETECT value to true. 7 | 8 | To load a specific USB Ethernet NIC driver, set ENABLE_USB_ETH_MODULE_MANUAL to one of the following: asix, ax88179_178a, cdc_ether, r8152 9 | 10 | NOTE: There is a possibility of a conflict between Ethernet NIC adapters that report themselves as PCI ID '0bda:8152'. (Realtek 8152 and CDC Ethernet) Since the 8152 is Realtek's product, that driver will be the one used for products that report that PCI ID. If you happen to have a CDC Ethernet product that uses that specific PCI ID, please set the ENABLE_USB_ETH_MODULE_AUTODETECT option to false, and set ENABLE_USB_ETH_MODULE_MANUAL to "cdc_ether" 11 | 12 | The next time you boot your camera, make sure your USB Ethernet Adapter is connected to the camera and ethernet. The camera has to be setup initially with Wi-Fi for this to work. After setup, Wi-Fi is no longer needed, as long as you are using the USB Ethernet Adapter. Note that using USB Ethernet disables the onboard Wi-Fi. 13 | 14 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/ENABLE_USB_STORAGE.md: -------------------------------------------------------------------------------- 1 | USB Mass Storage Support: 2 | 3 | ENABLE_USB_STORAGE="true" 4 | If you would like to mount an EXT3/4 filesystem, also change: 5 | 6 | ENABLE_EXT4="true" 7 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/ENABLE_WIREGUARD.md: -------------------------------------------------------------------------------- 1 | Wireguard support is available as a kernel module: 2 | 3 | ENABLE_WIREGUARD="true" 4 | Use the command wg to setup. See https://www.wireguard.com/quickstart/ for more info. 5 | 6 | Some users have asked about tailscale support, I have tested and it works. See the issue #30 for further information. 7 | 8 | Example setup: 9 | 10 | ENABLE_WIREGUARD="true" 11 | WIREGUARD_IPV4="192.168.2.101/32" 12 | WIREGUARD_PEER_ENDPOINT="x.x.x.x:51820" 13 | WIREGUARD_PEER_PUBLIC_KEY="INSERT_PEER_PUBLIC_KEY_HERE" 14 | WIREGUARD_PEER_ALLOWED_IPS="192.168.2.0/24" 15 | WIREGUARD_PEER_KEEP_ALIVE="25" 16 | To retrieve the public key that you'll need to add the peer to your wireguard endpoint: 17 | 18 | Use SSH to log in 19 | wg 20 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/GO2RTC_SERVER_ENABLED.md: -------------------------------------------------------------------------------- 1 | GO2RTC_SERVER provide an alternative way to do RTSP and streaming to web! 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/REMOTE_SPOTLIGHT.md: -------------------------------------------------------------------------------- 1 | When USB Direct connectivity is enabled, the camera will be unable to communicate with accessories. To enable remote spotlight accessory support, enable the following variable and set the IP Address of the host as follows: 2 | 3 | REMOTE_SPOTLIGHT="true" 4 | REMOTE_SPOTLIGHT_HOST="0.0.0.0" 5 | Then, run the following command on the host where the spotlight is attached to: 6 | 7 | socat TCP4-LISTEN:9000,reuseaddr,fork /dev/ttyUSB0,raw,echo=0 8 | Change /dev/ttyUSB0 to whatever path your spotlight enumerated to if necessary. The camera will now be able to control the spotlight. 9 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/RTMP_STREAM_ENABLED.md: -------------------------------------------------------------------------------- 1 | RTMP Streaming: 2 | 3 | RTMP_STREAM_ENABLED="true" 4 | RTMP_STREAM_FEED="video1_unicast" 5 | RTMP_STREAM_SERVICE="youtube" 6 | RTMP_STREAM_DISABLE_AUDIO="false" 7 | RTMP_STREAM_YOUTUBE_KEY="xxx-xxx-xxx-xxx" 8 | RTMP_STREAM_TWITCH_KEY="" 9 | RTMP_STREAM_FACEBOOK_KEY="" 10 | Live stream DIRECTLY from the camera's local RTSP server to: youtube / twitch / facebook live. Audio must be enabled in the RTSP section of the configuration for this to work. 11 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/RTSP_HI_RES_ENABLED.md: -------------------------------------------------------------------------------- 1 | RTSP streaming: The RTSP server supports the two video streams provided by the camera, 1080p/360p (1296p/480p for the DB3). You can choose to enable a single stream of your choice, or both. Audio is also available. Set your login credentials here, server listening port, and the stream bitrate. (ENC_PARAMETER variable accepts numbers only. 0=FIXQP, 1=CBR, 2=VBR, 4=CAPPED VBR, 8=CAPPED QUALITY. Currently only 2, 4, and 8 are working) 2 | 3 | RTSP_LOGIN="admin" 4 | RTSP_PASSWORD="" 5 | RTSP_PORT="8554" 6 | 7 | RTSP_HI_RES_ENABLED="true" 8 | RTSP_HI_RES_ENABLE_AUDIO="true" 9 | RTSP_HI_RES_MAX_BITRATE="2048" 10 | RTSP_HI_RES_TARGET_BITRATE="1024" 11 | RTSP_HI_RES_ENC_PARAMETER="2" 12 | RTSP_HI_RES_FPS="15" 13 | 14 | RTSP_LOW_RES_ENABLED="false" 15 | RTSP_LOW_RES_ENABLE_AUDIO="false" 16 | RTSP_LOW_RES_MAX_BITRATE="" 17 | RTSP_LOW_RES_TARGET_BITRATE="" 18 | RTSP_LOW_RES_ENC_PARAMETER="" 19 | RTSP_LOW_RES_FPS="" 20 | 21 | the singular stream will be located at rtsp://login:password@IP_ADDRESS:8554/unicast multiple streams are located at rtsp://login:password@IP_ADDRESS:8554/video1_unicast and rtsp://login:password@IP_ADDRESS:8554/video2_unicast 22 | 23 | Note: If you don't set the password, the password will be set to the unique MAC address of the camera, in all uppercase, including the colons... for example:. AA:BB:CC:00:11:22. It's typically printed on the camera. Higher video bitrates may overload your Wi-Fi connection, so a wired connection is recommended. 24 | 25 | Huge credit to @mnakada for his libcallback library: https://github.com/mnakada/atomcam_tools 26 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/WEB_CAM_ENABLE.md: -------------------------------------------------------------------------------- 1 | Use as a USB Video Class (UVC) Web Camera for your PC is supported. I have tested with Windows 10, Linux, and Android TV, and it appears as a Generic HD Camera. Audio is supported. This mode disables all other functionality, and only works as a USB Web Camera for your PC. Experimental. Note that the cables typically included with the camera do not data, use a known working micro-usb cable which supports data. 2 | 3 | Supported modes: MJPG,Video 360p/720p/1080p 4 | 5 | WEB_CAM_ENABLE="true" 6 | WEB_CAM_BIT_RATE="8000" 7 | WEB_CAM_FPS_RATE="25" 8 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-NIGHT_LED_flag.md: -------------------------------------------------------------------------------- 1 | Night Vision IR Lights Far (1=Far, 2=Off or Near) 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-bitRate.md: -------------------------------------------------------------------------------- 1 | (60=360p or SD, 120=HD) 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-drawBoxSwitch.md: -------------------------------------------------------------------------------- 1 | Motion Box (1=Enabled, 2=Disabled) 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-fps.md: -------------------------------------------------------------------------------- 1 | Frames Per Second 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-indicator.md: -------------------------------------------------------------------------------- 1 | Camera Status Light (1=Enabled, 2=Disabled) 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-nightVision.md: -------------------------------------------------------------------------------- 1 | Night Vision Mode (1=On, 2=Off, 3=Auto) 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-night_cut_thr.md: -------------------------------------------------------------------------------- 1 | Nightvision Conditions (1=Dusk, 2=Dark) 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-res.md: -------------------------------------------------------------------------------- 1 | (1=SD or HD, 2=360p) 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-timezone.md: -------------------------------------------------------------------------------- 1 | Timezone offset from GMT 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-values.txt: -------------------------------------------------------------------------------- 1 | bitRate=120 # (60=360p or SD, 120=HD) 2 | res=1 # (1=SD or HD, 2=360p) 3 | drawBoxSwitch=2 # Motion Box (1=Enabled, 2=Disabled) 4 | MASwitch=2 # Detects Motion (1=Enabled, 2=Disabled) 5 | AASwitch=2 # Detects Sound (1=Enabled, 2=Disabled) 6 | SASwitch=2 # Smoke Alarm Sound (1=Enabled, 2=Disabled) 7 | CASwitch=2 # CO Alarm Sound (1=Enabled, 2=Disabled) 8 | recordType=1 # Record to SD (1=Continous, 2=Events Only, 3=Disabled) 9 | nightVision=3 # Night Vision Mode (1=On, 2=Off, 3=Auto) 10 | night_cut_thr=1 # Nightvision Conditions (1=Dusk, 2=Dark) 11 | night_led_ex=1 # Night Vision IR Lights Near (1=Near, 2=Off or Far) 12 | NIGHT_LED_flag=2 # Night Vision IR Lights Far (1=Far, 2=Off or Near) 13 | indicator=2 # Camera Status Light (1=Enabled, 2=Disabled) 14 | verSwitch=1 # Flip Vertical (1=Disabled, 2=Enabled) 15 | horSwitch=1 # Flip Horizontal (1=Disabled, 2=Enabled) 16 | osdSwitch=2 # Show Timestamp (1=Enabled, 2=Disabled) 17 | watermark_flag=2 # Show WYZE Logo (1=Enabled, 2=Disabled) 18 | AST=2 # Record Sound (1=Enabled, 2=Disabled) 19 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/cam-watermark_flag.md: -------------------------------------------------------------------------------- 1 | watermark_flag 2 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/car.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -x 4 | 5 | . /opt/wz_mini/www/cgi-bin/shared.cgi 6 | test_area_access car 7 | 8 | 9 | echo "HTTP/1.1 200" 10 | echo -e "Content-type: text/html\n\n" 11 | echo "" 12 | 13 | read POST_STRING 14 | 15 | SPEED=$(echo $POST_STRING | sed 's/.*speed=//;s/\&.*//') 16 | ACTION=$(echo $POST_STRING | sed 's/.*action=//;s/\&.*//') 17 | SLEEP_TIME=$(echo $POST_STRING | sed 's/.*sleep_time=//;s/\&.*//') 18 | 19 | echo "raw post string: $POST_STRING" 20 | echo "speed: $SPEED" 21 | echo "action: $ACTION" 22 | echo "sleep: $SLEEP_TIME" 23 | 24 | if [ "$ACTION" = "forward" ]; then 25 | 26 | if [ "$SPEED" = "slow" ]; then 27 | echo "slow" 28 | echo -ne "\xaa\x55\x43\x06\x29\x80\xca\x00\x02\xbb" > /dev/ttyUSB0 29 | else 30 | echo "forward" 31 | echo -ne "\xaa\x55\x43\x06\x29\x80\xe3\x00\x02\xd4" > /dev/ttyUSB0 32 | fi 33 | 34 | sleep $SLEEP_TIME 35 | echo -ne "\xaa\x55\x43\x06\x29\x80\x80\x00\x02\x71" > /dev/ttyUSB0 36 | 37 | elif [ "$ACTION" = "reverse" ]; then 38 | echo "reverse" 39 | echo -ne "\xaa\x55\x43\x06\x29\x80\x36\x00\x02\x27" > /dev/ttyUSB0 40 | 41 | sleep $SLEEP_TIME 42 | echo -ne "\xaa\x55\x43\x06\x29\x80\x80\x00\x02\x71" > /dev/ttyUSB0 43 | elif [ "$ACTION" = "left" ]; then 44 | echo "left" 45 | echo -ne "\xaa\x55\x43\x06\x29\x76\x81\x00\x02\x68" > /dev/ttyUSB0 46 | 47 | sleep $SLEEP_TIME 48 | echo -ne "\xaa\x55\x43\x06\x29\x80\x80\x00\x02\x71" > /dev/ttyUSB0 49 | elif [ "$ACTION" = "right" ]; then 50 | echo "right" 51 | echo -ne "\xaa\x55\x43\x06\x29\x8a\x81\x00\x02\x7c" > /dev/ttyUSB0 52 | 53 | sleep $SLEEP_TIME 54 | echo -ne "\xaa\x55\x43\x06\x29\x80\x80\x00\x02\x71" > /dev/ttyUSB0 55 | elif [ "$ACTION" = "forward_left" ]; then 56 | echo "left_forward" 57 | echo -ne "\xaa\x55\x43\x06\x29\x76\xe3\x00\x02\xca" > /dev/ttyUSB0 58 | 59 | sleep $SLEEP_TIME 60 | echo -ne "\xaa\x55\x43\x06\x29\x80\x80\x00\x02\x71" > /dev/ttyUSB0 61 | elif [ "$ACTION" = "forward_right" ]; then 62 | echo "right_forward" 63 | echo -ne "\xaa\x55\x43\x06\x29\x8a\xe3\x00\x02\xde" > /dev/ttyUSB0 64 | 65 | sleep $SLEEP_TIME 66 | echo -ne "\xaa\x55\x43\x06\x29\x80\x80\x00\x02\x71" > /dev/ttyUSB0 67 | elif [ "$ACTION" = "reverse_left" ]; then 68 | echo "left_reverse" 69 | echo -ne "\xaa\x55\x43\x06\x29\x76\x36\x00\x02\x1d" > /dev/ttyUSB0 70 | sleep $SLEEP_TIME 71 | echo -ne "\xaa\x55\x43\x06\x29\x80\x80\x00\x02\x71" > /dev/ttyUSB0 72 | elif [ "$ACTION" = "reverse_right" ]; then 73 | echo "right_reverse" 74 | echo -ne "\xaa\x55\x43\x06\x29\x8a\x36\x00\x02\x31" > /dev/ttyUSB0 75 | sleep $SLEEP_TIME 76 | echo -ne "\xaa\x55\x43\x06\x29\x80\x80\x00\x02\x71" > /dev/ttyUSB0 77 | elif [ "$ACTION" = "all_stop" ]; then 78 | echo "all stop" 79 | echo -ne "\xaa\x55\x43\x06\x29\x80\x80\x00\x02\x71" > /dev/ttyUSB0 80 | elif [ "$ACTION" = "headlight_on" ]; then 81 | echo "headlight_on" 82 | echo -ne "\xaa\x55\x43\x04\x1e\x01\x01\x65" > /dev/ttyUSB0 83 | elif [ "$ACTION" = "headlight_off" ]; then 84 | echo "headlight_off" 85 | echo -ne "\xaa\x55\x43\x04\x1e\x02\x01\x66" > /dev/ttyUSB0 86 | elif [ "$ACTION" = "irled_on" ]; then 87 | echo "irled_on" 88 | cmd irled on > /dev/null 89 | elif [ "$ACTION" = "irled_off" ]; then 90 | echo "irled_off" 91 | cmd irled off > /dev/null 92 | elif [ "$ACTION" = "honk" ]; then 93 | echo "honk" 94 | /opt/wz_mini/bin/cmd aplay /opt/wz_mini/usr/share/audio/honk.wav 70 > /dev/null 2>&1 & 95 | 96 | 97 | else 98 | echo "no input" 99 | fi 100 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/diagnostics.cgi: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # diagnostics 3 | 4 | . /opt/wz_mini/www/cgi-bin/shared.cgi 5 | title="Diagnostics $camver on $camfirmware running wz_mini $hackver as $HOSTNAME" 6 | 7 | 8 | function handle_css 9 | { 10 | echo -ne "'; 13 | } 14 | 15 | 16 | dmesg_test() 17 | { 18 | x=$(dmesg | grep "$1") 19 | if [ -n "$x" ]; then 20 | echo "
$2 error found
$x
" 21 | else 22 | echo "
no $2 error
" 23 | fi 24 | 25 | } 26 | 27 | logread_test() 28 | { 29 | x=$(logread | grep "$1") 30 | 31 | if [ -n "$x" ]; then 32 | echo "
$2 error found
$x
" 33 | else 34 | echo "
no $2 error
" 35 | fi 36 | 37 | } 38 | 39 | echo "HTTP/1.1 200" 40 | echo -e "Content-type: text/html\n\n" 41 | echo "" 42 | 43 | echo "$title" 44 | handle_css 45 | echo "" 46 | 47 | echo "" 48 | 49 | echo "

$title

" 50 | 51 | 52 | echo "

SD Card Test

" 53 | 54 | dmesg_test "invalid access to FAT" "SD card" 55 | dmesg_test "Filesystem has been set read-only" "SD read only" 56 | dmesg_test "fat_get_cluster: invalid cluster chain" "file system" 57 | logread_test "run: tf_prepare failed!" "SD card (tf_prepare)" 58 | logread_test "(health_test) fail" "SD card health fail" 59 | 60 | echo "

Firmware Version Test

" 61 | 62 | echo "Firmware Version: $camfirmware
" 63 | 64 | if [ "$camfirmware" = "4.36.10.2163" ]; then 65 | echo "
this version is broken. Please downgrade to a working version
" 66 | fi 67 | if [ "$camfirmware" = "4.61.0.3"]; then 68 | echo "
wz_mini_hacks does not support the official RTSP firmware.
" 69 | fi 70 | 71 | 72 | echo "
"
73 | dmesg
74 | echo "
" 75 | 76 | 77 | version_info "display_BAR" 78 | echo "" 79 | 80 | echo "" 81 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/jpeg.cgi: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . /opt/wz_mini/www/cgi-bin/shared.cgi 3 | test_area_access jpeg 4 | 5 | #test for jpeg 6 | if [[ $REQUEST_METHOD = 'GET' ]]; then 7 | 8 | #since ash does not handle arrays we create variables using eval 9 | IFS='&' 10 | for PAIR in $QUERY_STRING 11 | do 12 | K=$(echo $PAIR | cut -f1 -d=) 13 | VA=$(echo $PAIR | cut -f2 -d=) 14 | #VB=${VA//%3A/:} 15 | #echo "
$K=$VA
" 16 | eval GET_$K=$VA 17 | done 18 | fi 19 | 20 | if [ -z "$GET_channel" ]; 21 | then 22 | echo -ne "X-Channel-Override: 0\r\n" 23 | GET_channel=0 24 | fi 25 | 26 | echo -ne "X-Channel: $GET_channel\r\n" 27 | echo -ne "Content-Type: image/jpeg\r\n\r\n" 28 | 29 | cmd jpeg "$GET_channel" -n 30 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/cgi-bin/numerics.txt: -------------------------------------------------------------------------------- 1 | WEB_CAM_BIT_RATE 2 | WEB_CAM_FPS_RATE 3 | BONDING_LINK_MONITORING_FREQ_MS 4 | BONDING_DOWN_DELAY_MS 5 | BONDING_UP_DELAY_MS 6 | RTSP_PORT 7 | AUDIO_PROMPT_VOLUME 8 | 9 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/feed.js: -------------------------------------------------------------------------------- 1 | 2 | var feed_interval_frequency = 1000; 3 | 4 | window.addEventListener("load",function() 5 | { 6 | var feed = document.getElementById("current_feed"); 7 | function update_image() 8 | { 9 | feed.src = feed.src.split("&")[0] + "&load=" + new Date().getTime(); 10 | } 11 | feed_interval = setInterval(update_image, feed_interval_frequency); 12 | 13 | feed.addEventListener('click', 14 | function(e){ 15 | e.preventDefault(); 16 | e.target.classList.toggle("full_JPEG"); 17 | }); 18 | 19 | } 20 | ); 21 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | WZ Mini Web Tools 3 | 4 |

wz_mini web server

5 | wz_mini GitHub 6 | 7 |

Wz Mini Configuration Editor

8 |

Camera Configuration

9 |

Car Interface

10 |

Current Screen

11 |

Multi-Cam Viewer

12 |

Diagnostics

13 | 14 | 15 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/index.top.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | WZ Mini Web Tools 4 | 23 | 24 | 25 |

Wyze Mini Web Server Menu

26 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/multicam/index.css: -------------------------------------------------------------------------------- 1 | BODY { 2 | --cc_bar_height: 20px; 3 | --cam_height: 20%; 4 | } 5 | .za_images { 6 | display:flex; 7 | flex-direction:column; 8 | flex-wrap:wrap; 9 | height:calc(100% - var(--cc_bar_height)); 10 | width:100%; 11 | background-color:#5a8dd8; 12 | } 13 | .za_images .cam_DIV { 14 | border:2px solid blue; 15 | border-radius:5px; 16 | padding:2px; 17 | margin:1px; 18 | position:relative; 19 | } 20 | .za_images .cam_DIV:not(.first_CAM) 21 | { 22 | height:calc(var(--cam_height) - 10px); 23 | text-align:center; 24 | width:17%; 25 | } 26 | .cam_DIV::after { 27 | position:absolute; 28 | bottom:0; 29 | right:0; 30 | color:yellow; 31 | font-size:3vh; 32 | font-weight:bold; 33 | content:attr(cam); 34 | z-index:5; 35 | } 36 | 37 | .cam_DIV::before 38 | { 39 | z-index:5; 40 | font-size:3vh; 41 | position:absolute; 42 | top:0; 43 | right:0; 44 | } 45 | 46 | .cam_DIV[night=OK]::before { 47 | color: #ccccff; 48 | content:"\263d"; 49 | } 50 | .cam_DIV[night=NG]::before { 51 | color:yellow; 52 | content:"\263c"; 53 | } 54 | 55 | 56 | 57 | .za_images .first_CAM { 58 | flex:0 0 calc(100% - 40px); 59 | width:75%; 60 | order:0; 61 | width:calc(100% - 17% - 16px); 62 | } 63 | .broken_cam { 64 | border:2px solid red; 65 | } 66 | .active_button { 67 | background:green; 68 | color:white; 69 | } 70 | .inactive_button { 71 | background:grey; 72 | color:black; 73 | } 74 | .full_CAM { 75 | position:absolute; 76 | top:0; 77 | left:0; 78 | width:100% !important; 79 | height:100% !important; 80 | } 81 | .cam_DIV { 82 | position:relative; 83 | } 84 | 85 | .za_images IMG { 86 | max-height:100%; 87 | max-width:100%; 88 | position:absolute; 89 | top:0; 90 | left:0; 91 | } 92 | .cam_control { 93 | width:calc(100% - 18px); 94 | position:absolute; 95 | bottom:0; 96 | height:var(--cc_bar_height); 97 | margin:1px; 98 | padding:2px; 99 | background-color:lightgreen; 100 | border-radius:5px; 101 | border:2px solid green; 102 | } 103 | .cam_control BUTTON { 104 | width:calc(30% - 4px); 105 | } 106 | .cam_control DIV { 107 | width:calc(20% - 4px); 108 | display:inline-flex; 109 | text-align:right; 110 | } 111 | 112 | @media (orientation: portrait) and (max-device-width: 450px) { 113 | .cam_control { 114 | top:0; 115 | } 116 | .za_images { 117 | flex-direction:row; 118 | flex-wrap:wrap; 119 | margin-top:30px; 120 | } 121 | .za_images .cam_DIV:not(.first_CAM) { 122 | width:calc(50% - 10px); 123 | } 124 | .za_images .cam_DIV.first_CAM { 125 | width:calc(100% - 3px) !important; 126 | flex:0 0 calc(100% - 5px) !important; 127 | height:30%; 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/www/multicam/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Multicam Tool 4 | 5 | 6 | 7 | 17 | 18 | 19 |
20 |
21 | 22 | 23 |
0
24 |
25 |
Auto
26 |
Manual: 27 | 28 |
29 |
30 | 31 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /SD_ROOT/wz_mini/wz_mini.conf: -------------------------------------------------------------------------------- 1 | #wz_mini configuration 2 | 3 | 4 | #### W E B CAMERA### 5 | ##THIS MODE DISABLES EVERYTHING AND IT WILL 6 | ## WORK AS A WEB CAMERA FOR YOUR PC ***ONLY*** 7 | WEB_CAM_ENABLE="false" 8 | WEB_CAM_BIT_RATE="8000" 9 | WEB_CAM_FPS_RATE="25" 10 | 11 | #####NETWORKING##### 12 | CUSTOM_HOSTNAME="WCV3" 13 | 14 | ENABLE_USB_ETH="false" 15 | ENABLE_USB_ETH_MODULE_AUTODETECT="true" 16 | ENABLE_USB_ETH_MODULE_MANUAL="" 17 | USB_ETH_MAC_ADDR="" 18 | 19 | ENABLE_USB_DIRECT="false" 20 | USB_DIRECT_MAC_ADDR="02:01:02:03:04:08" 21 | 22 | ENABLE_USB_RNDIS="false" 23 | 24 | ENABLE_IPV6="false" 25 | 26 | ENABLE_WIREGUARD="false" 27 | WIREGUARD_IPV4="" 28 | WIREGUARD_PEER_ENDPOINT="" 29 | WIREGUARD_PEER_PUBLIC_KEY="" 30 | WIREGUARD_PEER_ALLOWED_IPS="" 31 | WIREGUARD_PEER_KEEP_ALIVE="" 32 | 33 | ENABLE_IPTABLES="false" 34 | 35 | ENABLE_NFSv4="false" 36 | 37 | ENABLE_RTL8189FS_DRIVER="true" 38 | ENABLE_ATBM603X_DRIVER="true" 39 | 40 | NTP_SERVER="" 41 | 42 | ##### NETWORK INTERFACE BONDING ##### 43 | BONDING_ENABLED="false" 44 | BONDING_PRIMARY_INTERFACE="eth0" 45 | BONDING_SECONDARY_INTERFACE="wlan0" 46 | BONDING_LINK_MONITORING_FREQ_MS="100" 47 | BONDING_DOWN_DELAY_MS="5000" 48 | BONDING_UP_DELAY_MS="5000" 49 | BONDING_FAIL_OVER_MAC="0" 50 | 51 | #####ACCESSORIES##### 52 | REMOTE_SPOTLIGHT="false" 53 | 54 | ####MOTOR OPTIONS#### 55 | MOTOR_DISABLE="false" 56 | MOTOR_DEFAULT_X="" 57 | MOTOR_DEFAULT_Y="" 58 | 59 | #####VIDEO STREAM##### 60 | RTSP_LOGIN="admin" 61 | RTSP_PASSWORD="" 62 | RTSP_PORT="8554" 63 | 64 | RTSP_HI_RES_ENABLED="false" 65 | RTSP_HI_RES_ENABLE_AUDIO="false" 66 | 67 | RTSP_LOW_RES_ENABLED="false" 68 | RTSP_LOW_RES_ENABLE_AUDIO="false" 69 | 70 | RTSP_AUTH_DISABLE="false" 71 | 72 | VIDEO_0_MAX_BITRATE="" 73 | VIDEO_0_TARGET_BITRATE="" 74 | VIDEO_0_ENC_PARAMETER="" 75 | VIDEO_0_FPS="" 76 | 77 | VIDEO_1_MAX_BITRATE="" 78 | VIDEO_1_TARGET_BITRATE="" 79 | VIDEO_1_ENC_PARAMETER="" 80 | VIDEO_1_FPS="" 81 | 82 | GO2RTC_SERVER_ENABLED="false" 83 | GO2RTC_HI_RES_ENABLED="false" 84 | GO2RTC_HI_RES_ENABLE_AUDIO="false" 85 | GO2RTC_LOW_RES_ENABLED="false" 86 | GO2RTC_LOW_RES_ENABLE_AUDIO="false" 87 | 88 | #####RTMP STREAMING##### 89 | #### REQUIRES RTSP #### 90 | ### AND RTSP AUDIO ### 91 | RTMP_STREAM_ENABLED="false" 92 | RTMP_STREAM_FEED="video1_unicast" 93 | RTMP_STREAM_SERVICE="youtube" 94 | RTMP_STREAM_DISABLE_AUDIO="false" 95 | RTMP_STREAM_YOUTUBE_KEY="" 96 | RTMP_STREAM_TWITCH_KEY="" 97 | RTMP_STREAM_FACEBOOK_KEY="" 98 | 99 | #####GENERAL##### 100 | LIBCALLBACK_ENABLE="true" 101 | ENABLE_SWAP="true" 102 | ENABLE_USB_STORAGE="false" 103 | ENABLE_EXT4="false" 104 | ENABLE_CIFS="false" 105 | DISABLE_FW_UPGRADE="true" 106 | AUDIO_PROMPT_VOLUME="50" 107 | ENABLE_MP4_WRITE="false" 108 | NIGHT_DROP_DISABLE="false" 109 | ENABLE_FSCK_ON_BOOT="false" 110 | ENABLE_CAR_DRIVER="false" 111 | ENABLE_LOCAL_DNS="false" 112 | ENABLE_CRONTAB="false" 113 | ENABLE_SELFHOSTED_MODE="false" 114 | 115 | #####DEBUG##### 116 | #drops you to a shell via serial, doesn't load app_init.sh 117 | DEBUG_ENABLED="false" 118 | DEBUG_INITRAMFS_ENABLED="false" 119 | DEBUG_PASSWORD="false" 120 | ENABLE_SYSLOG_SAVE="false" 121 | 122 | ####WEB#### 123 | WEB_SERVER_ENABLED="false" 124 | WEB_SERVER_AUTH="true" 125 | WEB_SERVER_LOGIN="admin" 126 | WEB_SERVER_PASSWORD="" 127 | 128 | ####FILE SERVER#### 129 | ENABLE_FILESERVER="false" 130 | 131 | #####SCRIPTING##### 132 | CUSTOM_SCRIPT_PATH="" 133 | -------------------------------------------------------------------------------- /generate_checksum.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #set release date before generation 4 | date +"%Y-%m-%d_%H:%M:%S" > SD_ROOT/wz_mini/usr/bin/app.ver 5 | 6 | rm -f file.chk 7 | find SD_ROOT/ -type f -exec md5sum "{}" + > file.chk 8 | 9 | #Ignore demo.bin 10 | find v2_install -type f ! -name "demo.bin" -exec md5sum "{}" + >> file.chk 11 | -------------------------------------------------------------------------------- /v2_install/.gitignore: -------------------------------------------------------------------------------- 1 | demo.bin 2 | demo*.zip 3 | -------------------------------------------------------------------------------- /v2_install/fw_tool.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #custom for V2 4 | 5 | set -x 6 | 7 | ACTION=$1 8 | 9 | KERNEL_OFFSET=$((64)) 10 | ROOTFS_OFFSET=$((2097216)) 11 | DRIVER_OFFSET=$((5570624)) 12 | APPFS_OFFSET=$((6225984)) 13 | 14 | if [ "$ACTION" = "unpack" ]; then 15 | DEMO_IN=$2 16 | OUT_DIR=$3 17 | 18 | dd if=${DEMO_IN} of=$OUT_DIR/kernel.bin skip=$KERNEL_OFFSET count=$(($ROOTFS_OFFSET-$KERNEL_OFFSET)) bs=1 19 | md5sum $OUT_DIR/kernel.bin 20 | 21 | dd if=${DEMO_IN} of=$OUT_DIR/rootfs.bin skip=$ROOTFS_OFFSET count=$(($DRIVER_OFFSET-$ROOTFS_OFFSET)) bs=1 22 | md5sum $OUT_DIR/rootfs.bin 23 | 24 | dd if=${DEMO_IN} of=$OUT_DIR/driver.bin skip=$DRIVER_OFFSET count=$(($APPFS_OFFSET-$DRIVER_OFFSET)) bs=1 25 | md5sum $OUT_DIR/driver.bin 26 | 27 | if [ "$(uname -s)" = "Darwin" ]; then 28 | IMAGE_END=$(($(stat -f %z ${DEMO_IN}))) 29 | else 30 | IMAGE_END=$(($(stat -c %s ${DEMO_IN}))) 31 | fi 32 | 33 | dd if=${DEMO_IN} of=$OUT_DIR/appfs.bin skip=$APPFS_OFFSET count=$(($IMAGE_END-$APPFS_OFFSET)) bs=1 34 | md5sum $OUT_DIR/appfs.bin 35 | 36 | elif [ "$ACTION" = "pack" ]; then 37 | TMP_DIR=$2 38 | DEMO_OUT=$3 39 | 40 | #need to pad kernel is its smaller than the stock kernel size, 2097152 bytes 41 | dd if=/dev/zero of=$TMP_DIR/kernel.bin bs=1 count=1 seek=2097151 42 | 43 | #only run mkimage if cat succeeds, otherwise it's possible that a bad image is created 44 | cat $TMP_DIR/kernel.bin $TMP_DIR/rootfs.bin $TMP_DIR/driver.bin $TMP_DIR/appfs.bin > $TMP_DIR/flash.bin && \ 45 | mkimage -A MIPS -O linux -T firmware -C none -a 0 -e 0 -n jz_fw -d $TMP_DIR/flash.bin $DEMO_OUT 46 | 47 | else 48 | echo "Unknown action '$ACTION'" 49 | fi 50 | -------------------------------------------------------------------------------- /v2_install/v2_kernel.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gtxaspec/wz_mini_hacks/f2075d09f73b53b2c69760b40562fe6507364666/v2_install/v2_kernel.bin --------------------------------------------------------------------------------