Summary of "ВЗЛОМАЛ колонку и заменил Алису на своего ассистента: 5 лет на получение root и модификацию прошивки"
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.
Category
Technology
Share this summary
Is the summary off?
If you think the summary is inaccurate, you can reprocess it with the latest model.