Video summary
ВЗЛОМАЛ колонку и заменил Алису на своего ассистента: 5 лет на получение root и модификацию прошивки
Main summary
Key takeaways
Summary of Video: “ВЗЛОМАЛ колонку и заменил Алису на своего ассистента: 5 лет на получение root и модификацию прошивки”
Main Technological Concepts and Project Overview
The video narrates a 5-year-long hacking and firmware modification journey of an old Alice (Yandex smart assistant) OTB speaker purchased in 2019. The creator’s goal was to replace the default Alice assistant with a custom voice assistant integrated into their existing smart home system (Home Assistant). The project involved gaining root access, dumping and modifying the firmware, and building a new software stack on the speaker.
Key Technical Steps and Features
-
Initial Motivation Alice was not useful due to poor voice control reliability and unnecessary features (e.g., playing unwanted music at night). The speaker was repurposed to play music over Wi-Fi and integrate with Home Assistant.
-
Hardware and Firmware Exploration
- The speaker is powered via USB, initially used only for power but later discovered to expose a device recognized as an Amlogic-based device (common in Android TV boxes).
- Attempts to access via ADB failed due to disabled USB debugging and SSH servers.
- Firmware was dumped using an update utility found on the manufacturer’s and Amlogic’s websites (now defunct).
- The firmware was identified as a Linux system with a UBI filesystem, open-source based on Buildroot (a firmware build environment for embedded devices).
-
Gaining Root Access
- Modified the firmware to enable SSH and other access points.
- Successfully reflashed the speaker with modified firmware using the update utility without triggering security protections.
- Root access allowed changing default sounds and customizing the device.
-
Installing Custom Software
- Installed MPD (Music Player Daemon) to play local music without subscriptions.
- MPD and other software had to be cross-compiled via Buildroot.
- The Buildroot environment was old (2017), limiting software versions and compatibility.
-
Python and Voice Assistant Software
- Needed to run Voming Lite, a Python-based voice assistant integration compatible with Home Assistant.
- Original Buildroot’s Python (3.6) was too old; required at least Python 3.7 or 3.9.
- Attempted to compile newer Python versions on old Buildroot but faced compatibility issues mainly due to glibc version mismatches.
- Eventually backported Python 3.9 to old Buildroot, using UPX compression to fit limited flash memory.
- Installed Voming Lite and integrated with speech recognition (Sber’s Speech) and Yandex GPT for natural language processing.
-
Backlight (LED Ring) Control
- Reverse engineered the LED control system.
- Found a compiled binary service (LEDD) controlling LEDs via an I2C bus and a proprietary driver.
- Unable to obtain source code from the manufacturer; resorted to debugging and disassembly.
- Developed a custom Python wrapper to control LEDs and animations, including using original animation files.
- Integrated LED control scripts with Voming Lite hooks to trigger lighting effects on voice assistant events.
-
Final Assistant Features
- Fully custom assistant replacing Alice, running on the original hardware.
- Can control smart home devices via Home Assistant.
- Supports playing music, voice commands, and LED feedback.
- Integrated with Yandex GPT for voice synthesis and comprehension.
- Also developed a Telegram assistant (Magotchi) based on similar technology.
Challenges and Limitations
- Voice control reliability was initially poor.
- Limited flash memory required creative solutions such as UPX compression.
- Older Buildroot environment limited software versions and compatibility.
- Lack of official source code for some firmware components (e.g., LED control).
- Audio quality issues due to sampling rate mismatches.
- Cannot simultaneously play music and listen for activation phrases without additional services.
- LED ring control was not fully stable initially.
Tools, Software, and Technologies Mentioned
- Home Assistant – smart home automation platform
- Buildroot – embedded Linux build environment
- Amlogic chipsets – hardware platform
- ADB (Android Debug Bridge) – tool for Android device debugging
- MPD (Music Player Daemon) – music server
- Python (versions 3.6 to 3.9) – programming language for assistant
- Voming Lite – Python-based voice assistant software
- Sber Speech – speech recognition
- Yandex GPT – language model integration for assistant intelligence
- UPX – executable packer to compress binaries
- I2C protocol – hardware communication for LEDs
- Custom Python scripts – for LED control and integration
Summary of Outcomes
- Successfully rooted and reflashed the speaker with custom firmware.
- Replaced Alice with a modular, customizable voice assistant integrated with Home Assistant.
- Added LED ring control and custom animations.
- Created a flexible assistant platform that is cloud-independent and extensible.
- The project was more a hacker’s puzzle than a practical necessity, as the creator still prefers automation over voice control.
Main Speakers / Sources
- Roland – the video creator and narrator, who conducted the hacking and development
- Alice – original Yandex smart assistant on the speaker (referenced)
- Clippy / Squeezy – names given to the custom assistant developed by Roland
Overall, the video serves as a detailed case study and tutorial on hacking a commercial smart speaker, gaining root access, modifying firmware, and building a custom voice assistant integrated with smart home platforms.