yi-hack-Allwinner is a modification of the firmware for the Allwinner-based Yi Camera platform.
Table of Contents
- Table of Contents
- Installation
- Backup
- Install Procedure
- Online Update Procedure
- Contributing
- Features
- Performance
- Supported cameras
- Is my cam supported?
- Home Assistant integration
- Build your own firmware
- License
- Disclaimer
- Donation
Installation
Backup
It's not easy to brick the cam but it can happen. So please, make your backup copy: https://github.com/roleoroleo/yi-hack-Allwinner/wiki/Dump-your-backup-firmware-(SD-card)
Install Procedure
- Check if your cam is supported in the "Supported cameras" section and note the file prefix.
- Format an SD Card as FAT32. It's recommended to format the card in the camera using the camera's native format function. If the card is already formatted, remove all the files.
- Download the latest release from the Releases page based on the file prefix.
- Extract the contents of the archive to the root of your SD card.
- Insert the SD Card and reboot the camera.
- Wait for the camera to update. It will reboot a couple of times as the camera is rooted and the new firmware is applied. It can take up to an hour to update. Once the light is solid blue for at least a minute it is complete.
Online Update Procedure
- Go to the "Motion Events" web page
- Remove all unnecessary video files
- Go to the "Maintenance" web page
- Check if a new release is available
- Click "Upgrade Firmware"
- Wait for cam reboot
If you don't delete mp4 files, the upgrade procedure will take a long time.
Contributing and Bug Reports
See CONTRIBUTING
Features
This custom firmware contains features replicated from the yi-hack-MStar project and similar to the yi-hack-v4 project.
- FEATURES
- RTSP server - allows a RTSP stream of the video (high and/or low resolution) and audio (thanks to @PieVo for the work on MStar platform).
- rtsp://IP-CAM/ch0_0.h264 (high res)
- rtsp://IP-CAM/ch0_1.h264 (low res)
- rtsp://IP-CAM/ch0_2.h264 (only audio)
- ONVIF server (with support for h264 stream, snapshot, ptz, presets and WS-Discovery) - standardized interfaces for IP cameras.
- Snapshot service - allows to get a jpg with a web request.
- http://IP-CAM:8080/cgi-bin/snapshot.sh?res=low&watermark=yes (select resolution: low or high, and watermark: yes or no)
- http://IP-CAM:8080/cgi-bin/snapshot.sh (default high without watermark)
- MQTT - Motion detection and baby crying detection through mqtt protocol.
- Web server - web configuration interface (port 8080).
- SSH server - dropbear.
- Telnet server - busybox.
- FTP server.
- FTP push: export mp4 video to an FTP server (thanks to @Catfriend1).
- Authentication for HTTP, RTSP and ONVIF server.
- Proxychains-ng - Disabled by default. Useful if the camera is region locked.
- The possibility to change some camera settings (copied from official app):
- camera on/off
- video saving mode
- detection sensitivity
- motion detections (it depends on your cam and your plan)
- baby crying detection
- status led
- ir led
- rotate
- Management of motion detect events and videos through a web page.
- View recorded video through a web page (thanks to @BenjaminFaal)
- PTZ support through a web page (if the cam supports it).
- PTZ presets
- The possibility to disable all the cloud features.
- Swap File on SD
- Online firmware upgrade
- Load/save/reset configuration
- RTSP server - allows a RTSP stream of the video (high and/or low resolution) and audio (thanks to @PieVo for the work on MStar platform).
Performance
The performance of the cam is not so good (CPU, RAM, etc...). Low ram is the bigger problem. If you enable all the services you may have some problems. For example, enabling both rtsp streams is not recommended. Disable cloud is recommended to save resources. If you notice problems and you have a SD to waste, try to enable swap file.
Supported cameras
Currently this project supports only the following cameras:
Camera | Firmware | File prefix | Remarks |
---|---|---|---|
Yi 1080p Home 9FUS | 8.2.0* | y20ga | - |
Yi 1080p Home 9FUS | 12.2.0* | y20ga | - |
Yi 1080p Home BFUS | 8.2.0* | y20ga | - |
Yi 1080p Home BFUS | 12.2.0* | y20ga | - |
Yi 1080p Home BFCN | 8.2.0* | y20ga | - |
Yi 1080p Home BFCN | 12.2.0* | y20ga | - |
Yi 1080p Home 9FUS | 8.3.0* | y25ga | - |
Yi 1080p Home IFUS | 8.3.0* | y25ga | - |
Yi Dome X BFUS | 8.1.0* | y30qa | - |
USE AT YOUR OWN RISK.
Do not try to use a fw on an unlisted model
Do not try to force the fw loading renaming the files
Is my cam supported?
If you want to know if your cam is supported, please check the serial number (first 4 letters) and the firmware version. If both numbers appear in the same row in the table above, your cam is supported. If not, check the other projects related to Yi cams:
- https://github.com/TheCrypt0/yi-hack-v4 and previous
- https://github.com/roleoroleo/yi-hack-MStar
- https://github.com/roleoroleo/yi-hack-Allwinner-v2
Home Assistant integration
Are you using Home Assistant?
Do you want to integrate your cam?
Try this custom integration: https://github.com/roleoroleo/yi-hack_ha_integration
Build your own firmware
If you want to build your own firmware, clone this git and compile using a linux machine. Quick explanation:
- Download and install the SDK as described here
- clone this git:
git clone https://github.com/roleoroleo/yi-hack-Allwinner
- Init modules:
git submodule update --init
- Compile:
./scripts/compile.sh
- Pack the firmware:
./scripts/pack_fw.all.sh
License
DISCLAIMER
NOBODY BUT YOU IS RESPONSIBLE FOR ANY USE OR DAMAGE THIS SOFTWARE MAY CAUSE. THIS IS INTENDED FOR EDUCATIONAL PURPOSES ONLY. USE AT YOUR OWN RISK.