Releases: duhow/xiaoai-patch
Xiao Ai Patched v2024.12.31
✅ Tested in LX01, LX06, L09A.
❔ Untested in L06A, L09B.
📝 Instructions
To install, 💾 download the tar file as-is to the speaker, extract only the update.sh
file to /tmp
, and execute:
cd /tmp
tar xf mico_firmware_FILENAME.tar ./update.sh
./update.sh /tmp/mico_firmware_FILENAME.tar
📑 Notes
This is a hotfix from previous version, which had an issue playing MP3 files. Release notes are the same as previous version, plus a new feature to switch root partition.
This release adds more support and stability to LX01, which was abandoned for a while.
There is some work in progress towards migrating to latest stable version of LX01 1.62.6
, as the device did not receive any updates for 1 year (EOL?), however this new version causes conflict with mixture of libraries (specifically, openssl
1.0, 1.1 and 1.1.1 where all apps would use the latest version). While "it works", there's some additional effort to do including packages to try fix this.
❗ BREAKING CHANGES
- 🔥 As of 9a6770a fc3fdf1 , there are several libraries that may be used by each speaker firmware, which could break for some internal tools. Some testing and validation was done with LX01 and LX06 but may require additional testing.
Changes
- 🆕 long press ⏯️ button to switch system partition (useful for recovery or issues)
- 🆕 add
squeezelite
package - 🆙 add Bluetooth support for codecs LC3plus and Opus, and activate all codecs available
- 🆕 add command
ytplay
to play YouTube audio from video, using Home Assistant Media Extractor - improvements in
shairport-sync
default config, integrate with system volume sound (requires to delete previous config) - improvements in
listener
if error found, early exit - improvements in update OTA script, add support for LX01
- system: mount /var/lib to /data (dbus, blue-alsa)
- fix:
custom
builds would runadb
by default (causes MAC addr conflict), disabled automatic run - strip all binary and libraries
- 🗑️ remove
upmpdcli
web and cdplugins (unused) - remove multiple binary tools unused
- ❌ remove packages for LX01 (
upmpdcli
and other system tools)
Xiao Ai Patched v2024.12.30
✅ Tested in LX01, LX06.
❔ Untested in L06A, L09A, L09B.
📝 Instructions
To install, 💾 download the tar file as-is to the speaker, extract only the update.sh
file to /tmp
, and execute:
cd /tmp
tar xf mico_firmware_FILENAME.tar ./update.sh
./update.sh /tmp/mico_firmware_FILENAME.tar
📑 Notes
This release adds more support and stability to LX01, which was abandoned for a while.
There is some work in progress towards migrating to latest stable version of LX01 1.62.6
, as the device did not receive any updates for 1 year (EOL?), however this new version causes conflict with mixture of libraries (specifically, openssl
1.0, 1.1 and 1.1.1 where all apps would use the latest version). While "it works", there's some additional effort to do including packages to try fix this.
🐞 BUGS
- MP3 sounds are not working, as
mpg123
binary is not built in as part of cleanup. Will be fixed in next release. This affectstts
service and some notification sounds.
❗ BREAKING CHANGES
- 🔥 As of 9a6770a fc3fdf1 , there are several libraries that may be used by each speaker firmware, which could break for some internal tools. Some testing and validation was done with LX01 and LX06 but may require additional testing.
Changes
- 🆕 add
squeezelite
package - 🆙 add Bluetooth support for codecs LC3plus and Opus, and activate all codecs available
- 🆕 add command
ytplay
to play YouTube audio from video, using Home Assistant Media Extractor - improvements in
shairport-sync
default config, integrate with system volume sound (requires to delete previous config) - improvements in
listener
if error found, early exit - improvements in update OTA script, add support for LX01
- system: mount /var/lib to /data (dbus, blue-alsa)
- fix:
custom
builds would runadb
by default (causes MAC addr conflict), disabled automatic run - strip all binary and libraries
- 🗑️ remove
upmpdcli
web and cdplugins (unused) - remove multiple binary tools unused
- ❌ remove packages for LX01 (
upmpdcli
and other system tools)
XiaoAi Patched v2024.12.18
Note
❗ LX01 is currently disabled due to missing device for testing, and root image size got larger than allowed.
✅ Tested in LX06, L06A and L09A.
❔ Untested in L09B.
The package format contains the kernel
and rootfs
image.
📝 Instructions
To install, 💾 download the tar file as-is to the speaker, extract only the update.sh
file to /tmp
, and execute:
/tmp/update.sh /tmp/mico_firmware_FILENAME.tar
BREAKING CHANGES
- 🔥 As of a8ccd0e, some
gconv
and propietary system binaries (Realtek, Wireless) are deleted to save some space.
Raise an issue if this causes any misbehaviour in your system (eg. can't connect to WiFi or Bluetooth).
Changes
- packages: fix
python3
- packages: fix
blue-alsa
, set tov4.3.0
instead oflatest
. - 🆕 implement
api
service with web-ui . Go to the speaker IP address in HTTP port 80 to configure. This allows to easily connect the speaker to Home Assistant, by generating a Token - required to use Conversation API / Voice Assistant. - add a small delay after triggering wakeword, so that sound effect does not get recorded.
- added
mute
andunmute
sounds from Home Assistant Voice Assistant. - remove unused Alsa and Xiaoai original sounds
- fix TTS when message contains accents
- remove announcement of SSH services via avahi
- restore volume on boot
- detect if bluetooth is available to use with pairing systems (mobile and improv)
- improv: add redirect to API service to configure after provisioning wifi
- hold play button for 2 seconds to disconnect Bluetooth device
- click play button 2 times to trigger wakeword
- sync volume of AirPlay
shairport-sync
with general mixer - allow pausing AirPlay casted music
- on boot, play only boot music instead of unmute sound
- mount crontabs to data partition for persistent scheduled tasks
XiaoAi Patched v2024.9.8
Note
These images have not been fully tested.
Caution
❌ DO NOT FLASH if you don't know what you are doing.
These images ❌ can not be used directly to flash a 🆕 new speaker.
Warning
You need to flash kernel
partitions separated from the official upgrade, to ensure that the built applications will be compatible!
Changes
- replace
hey-wifi
with improv-wifi for wireless setup - reduce bluetooth pairing timeout to pair to 45s
- remove duplicated libraries and
strip
all built binaries - enable
opus
playback with opus-tools - miplay: load sounds by multiple extensions, add sounds to pairing bluetooth and wireless
- wifi_connect: add timeout and password check
- packages: replace openaptx lib to build bluez-alsa
- packages: add
python3
and aec-cmdline - listener: use sox with VAD for recording
- listener: check system date with NTP if old year
- listener: validate and fix STT configuration set by user to be compatible with multiple providers
Note
lx01
release will be published in a new version as the built image got larger than allowed.
XiaoAi Patched v2024.1.8
This release is marked before unstable / latest changes.
Note it may not be 100% functional.
Caution
❌ DO NOT FLASH if you don't know what you are doing.
These images ❌ can not be used directly to flash a new speaker.
Warning
You need to flash kernel
partitions separated from the official upgrade, to ensure that the built applications will be compatible!