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

  1. 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.

  2. 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).
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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


Tools, Software, and Technologies Mentioned


Summary of Outcomes


Main Speakers / Sources


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.

Video