Skip to content
gtxaspec edited this page Jul 14, 2023 · 9 revisions

wz_mini_hacks

Ingenic based T20/T31 based devices only!

Run whatever firmware you want on your camera and have root access to the device. Use CAUTION if you are unsure of what you are doing. Permanent damage is possible to your device. No support whatsoever is offered with this release.

Do not contact any manufacturer for information or support, they will not be able to assist or advise you!

Important matters related to security

Using this project can potentially expose your device to the open internet depending on the configuration of your network. You alone are responsible for the configuration and security of your network, make sure you are aware of the risks involved before using.

Features

  • No hardware modifications needed to the device!
  • Easy uninstall, just remove files from micro-sd card, or don't use a micro-sd card at all!
  • Compatibility is not guaranteed with really old firmware versions!
  • Update to the latest stable or beta firmware, this mod should still work! (most features!)
  • Block remote or app initiated firmware updates
  • DNS Spoofing or Telnet mod are not required prior to installation
  • RTSP Streaming Support:
    • v4l2rtspserver
    • go2rtc
  • RTMP Streaming - Stream live video from the camera to your favorite service, youtube, twitch, or facebook live.
  • Networking:
    • Wireguard, IPv6, CIFS/Samba and iptables support enabled
    • Tether your camera directly to android phones using USB via RNDIS support
    • USB gadget support, connect the camera directly to a supported router to get an internet connection, no USB Ethernet Adapter required, using USB CDC_NCM.
  • Supports the following USB Ethernet adapters:
    • ASIX AX88xxx Based USB 2.0 Ethernet Adapters
    • ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet
    • Realtek RTL8152 Based USB 2.0 Ethernet Adapters
    • CDC-Ether Based Adapters
  • USB Mass storage enabled, mount USB SSD/HDD/flash drives
  • Play audio to the camera speaker from files or streaming audio!
  • Web Cam Mode - Use your camera as a spare UVC USB Web Camera on your PC or AndroidTV!
  • Custom boot script support included

How you can help!

  • Vertical Tilt on the PANv2 doesn't work properly. Only does this on the modified kernel. Need investigation why this happens.

Why?

  • Most things in life relate to cats somehow. I started this project to track the local feral cat population in my neighborhood using cameras.

Prerequisites

  • Person
  • Cat ( for emotional support during setup )
  • Computer
  • 256MB or larger Micro-SD Card is required!
  • Higher class Micro-SD cards will ensure better performance

What Works / What Doesn't Work

  • Everything works except:

    1. PAN v2:
      • Tilt (Vertical) only works at motor speed 9

HELP! SOMETHING DOESN'T DOESN'T WORK

  • If you need assistance, or have general questions, feel free to visit the Discussions area! There are folks always willing to help out.

Latest Updates

  • 07-12-23: Fixed RTSP urls for v2 camera's in web config, set config modification in web server to read-only, set lib-opus as default in go2rtc config
  • 07-11-23: Support 30fps. Add new go2rtc server support for rtsp/hls/webrtc/etc. go2rtc fixed audio in tinycam app. Make video parameters, bitrate, rcmode, and fps independent of rtsp server settings. fixed various init scripts. Recommend to start from a fresh install.
  • 06-28-23: Add basic auth to web server portal, clarify v2/panv1 setup instructions, http/1.1 RFC7230 compliance
  • 09-27-22: Add self_hosted iCamera patch by @kohrar, fix config backup script, add ntp client on boot.
  • 08-07-22: Updated init.d scripts. Added syslog save feature. Fixed orientation issue on T31 devices in webcam mode. Added crontab support.
  • 07-25-22: Add dnsmasq local dns option in configuration to prevent dns flooding on local networks. Added web server capability for configuration and car control.
  • 07-14-22: Add car compatability with normally unsupported devices.
  • 07-13-22: Includes latest build of libcallback, better RTSP video and audio performance: fixed broken audio caused by motor_stop on T20 devices, fixed waitMotion errors. cmd jpeg currently still broken on T20 devices, updated scripts to account for changed. Some usage of cmd has changes, please see command output. Kernel & modules updated to prepare for H265 support on T31.
  • 07-08-22: Added support for multiple custom scripts, simply create scripts ending in .sh in wz_mini/etc/rc.local.d. You can prefix them with numbers to order execution if desired.
  • 07-08-22: Updated T31 Kernel & Modules, added cp210x serial kernel module to support car. Add motor disable, fsck on boot. Disable debug logging for wifi drivers to prevent log spam, improved method of setting imp variables, fixed soundcard issues in the kernel, revert libcallback to account for this change.
  • 06-24-22: BIG UPGRADE! Updated & improved WiFi Drivers - 8189fs and 6032i - Drivers work across all supported camera models. This update requires you to copy over a new wz_mini.conf before upgrading! Drivers required for operation, do not disable! Updated upgrade-run.sh script to prevent broken boot during a rare corrupted file situation. Added connection bonding, for network fail-over support.
  • 06-19-22: Fixed no rtsp video when wz_mini is used with the old stock rtsp firmware.
  • 06-18-22: Added night drop feature preventing fps drop during nightvision. Upgrade script can now work unattended. Add -F0 flag to rtsp server.
  • 06-17-22: Fix custom hostname not being set. Note: The hostname variable has CHANGED! You will need to update your wz_mini.conf file.
  • 06-16-22: Simplified the camera model detection method throughout wz_mini.
  • 06-16-22: fix scp client bug, allow user modifications to app_init, updated initramfs script, moved upgrade-run to PATH, revised kernel module paths, added ENABLE_RTL8189FS_DRIVER option for v2/v3, updated kernels for v2/v3. ( NOTE: this is a major upgrade, file names for the init scripts have changed, if you are upgrading the V2, do not use the upgrade-run.sh script, please manually update )
  • 06-14-22: Updated v4l2rtspserver, fixes to prevent rare low memory situations and RTSP server crashes, fixed intermittant failed RTSP HD stream, script logic updates.
  • 06-12-22: Added additional audio variables for tuning in libcallback, various bug fixes in wz_user. Added gather_wz_logs.sh script for users to share debug logs.
  • 06-07-22: Added support to tune IMP video and audio options in libcallback.
  • 06-04-22: updated v2 kernel with fix for webcam mode on v2 camera's, working well now. Updated RTMP streaming.
  • 05-31-22: added kernel and initramfs configs to src dir, fixed old logs deleted on boot, save dmesg to log folder, upgrade script fixes, user selectable usb ethernet kernel modules in config.
  • 05-27-22: update rtmp-stream.sh, update various system binaries.
  • 05-25-22: usb direct mode and rndis are now supported on the v2 camera
  • 05-25-22: add experimental youtube/twitch/facebook live steam rtmp support in wz_mini/usr/bin/rtmp-stream.sh
  • 05-24-22: add wz_mini.conf to replace run_mmc.sh, all configuration variables are now stored in this file, scripting logic now in wz_user.sh inside init.d folder. add support for user to add a custom script to run on boot.
  • 05-23-22: added simple wireguard startup configuration.
  • 05-22-22: added fps variable for rtsp server, thanks @claudobahn.
  • 05-22-22: Update wz_mini scripts and libraries to support v2 camera. experimental.
  • 05-20-22: updated to latest libcallback including mp4write, bug fixes: usb direct mac addr, usb webcam mode bad variable.
  • 05-18-22: Added PC Web Camera functionality, changed RTSP server, when you use enable more than one stream, they share the port and use different paths.
  • 05-15-22: fixed rtsp audio for low-res rtsp stream, patched libcallback sources for audio channel 1.
  • 05-15-22: patched libcallback to support both video streams from the camera. Added support for them in run_mmc.sh.
  • 05-14-22: Added ability to specify RTSP bitrate parameters. Note that changing bitrate in the mobile app will briefly reset the bitrate for the RTSP stream.
  • 05-14-22: Update v4l2rtspserver, tinyalsa, alsa-lib. Patch busybox for older official FW's failing to run scripts, fix choppy/static audio in libcallback
  • 05-09-22: fix bug in run_mmc.sh that did not store the wlan mac when using a wired usb or ethernet connection for the rtsp server
  • 05-09-22: update libcallback sources with patch to fix rtsp across multiple firmware versions for all devices (v3/panv2/db)
  • 05-08-22: update libcallback sources with patch to enable pan v2 rtsp functionality.
  • 05-08-22: Include iptables and NFSv4 kernel modules, enable swap ON by default.
  • 05-07-22: RTSP Server fixed, ported latest full libcallback from @mnakada with modifications.
  • 05-01-22: Removed dropbearmulti, replaced with individual binaries. dropbear dbclient dropbearkey dropbearconvert scp now included.
  • 04-30-22: Recompiled uClibc with LD_DEBUG enabled. Enable in v3_post.sh, for debugging.
  • 04-30-22: Move built-in kernel stuff to modules, usb_direct kernel no longer needed, modules now included. Added usb-storage support for usb hdd/ssd/flash drive, cifs support, and rndis support for tethering camera directly to a mobile device.
  • 04-26-22: Add customization of PATH via hook in v3_init.sh, and add audioplay_t31 binary for playing audio files before iCamera loads.
  • 04-21-22: Add authentication to rtsp server. use default password as unique device mac address.
  • 04-21-22: Updated dropbear ssh, enabled public key authentication, disable password auth.
  • 04-21-22: wz_mini/tmp folder was missing in git, preventing the camera from booting. Fixed.
  • 04-21-22: Workaround for bootloader F/W upgrade bug, F/W blocking is now disabled by default.
  • 04-19-22: Add RTSP Server functionality
  • 04-17-22: Add remote spotlight accessory capability
  • 04-15-22: Enable USB Direct functionality. Allows you to connect camera using a USB cable to a device supporting CDC_NCM devices to get an internet connection, no USB Ethernet Adapter required.
  • 04-14-22: Fix kernel command line memory mappings, resolves stability issues
  • 04-14-22: Possible memory leak with some USB adapters used, added 128MB swap file and logic as workaround to prevent oom killing
  • 04-13-22: Firmware updates are disabled by default, there is a bug in the bootloader that corrupts the kernel partition requiring the re-flash of the camera if an update is processed and the memory card is removed before next boot. The bootloader proceeds to copy the partitions and the system will not boot unless re-flashed. pending investigation.
  • 04-12-22: Updated, custom kernel loads all required items from micro sd card. System modification no longer needed.
  • 04-05-22: Update readme to indicate that telnet mod nor DNS spoofing is required for installation, and add pre-requisites section.
  • 04-02-22: Update to automatic install method, remove manual install.

BYO

Build your own!!

https://github.com/mnakada/atomcam_tools has a great repo with docker images which include kernel sources, config, and a whole bunch of other stuff. Check it out.

WARNING

AS WITH ANY UNSUPPORTED SYSTEM MODIFICATIONS, USING THIS MAY LEAD TO A DEVICE BRICK
IF YOU DON'T KNOW WHAT YOU ARE DOING ( HAVEN'T BRICKED MY DEVICE YET! ) PLEASE
BE AWARE THAT NO ONE ON THE INTERNET IS RESPONSIBLE FOR ANY DAMAGE TO YOUR
UNIT. ANY PROBLEMS WILL BE CONSIDERED USER ERROR OR ACTS OF WHATEVER GOD YOU BELIEVE IN.
USE AT YOUR OWN RISK. NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. 
DO NOT USE THIS SOFTWARE IF YOU ARE NOT CONFIDENT IN RESTORING YOUR DEVICE FROM A FAILED STATE.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Thank You

Inspired by HclX, bakueikozo, and mnakada!

Thank you to everyone who is passionate about Wyze products for making the devices popular, and thank you to Wyze for producing them. Sign up for CamPlus, show some love and support to the company.

Thanks for HclX for WyzeHacks! https://github.com/HclX/WyzeHacks/

Thank you mnakada for his atomcam_tools fork! https://github.com/mnakada/atomcam_tools

Thank you bakueikozo for his atomcam_tools repo! https://github.com/bakueikozo/atomcam_tools

Thank you to virmaior for the atomcam_tools tip!

Clone this wiki locally