HAOS on Sonoff iHost? Worth a try

I’ve mostly been using Home Assistant at home and I thought it’d be cool to have a second one in my office. I came across a project that ports HAOS for Sonoff iHost – this intrigued me because it makes iHost one of the cheapest alternatives to HA Green that I am considering purchasing.

I followed a guide from @darkxst (big shout to the genius who also developed tools to flash Sonoff Zigbee dongle!) and managed to flash HAOS to my iHost, the result is a mixed blessing – it runs HA smoothly with built-in Zigbee. However, the SoC doesn’t support 64-bit packages which means features like Matter and OpenThread add-ons can’t be installed.

After using the new flash for a few days, here is my experience with Home Assistant on an iHost:

Notable things that work

  • External TF card

  • Ethernet Network

  • Zigbee (tested via ZHA)

  • Bluetooth

  • 32-bit Add-ons

  • Indicator LED control (developed by @darkxst)

  • HACS

What doesn’t for me

  • 64-bit-only Add-ons

  • Native Matter/OpenThread

  • Assist Microphone

First, I did the flash process according to the official guide posted on their forum and used their app to put the iHost into maskrom mode for image flashing. The flash kit in the post worked fine with the included Linux image. But, it was basic and didn’t have key package management tools like apt and dpkg. So, I ditched the idea of installing HA through the Supervised method.

I then turned to @darkxst’s guide, which needs to open up the right panel of the case, and short contacts to enter HAOS. For performance concerns, I flashed the HASO directly to the internal emmc storage. The guide suggested iHost’s LED light would turn green after five minutes when it finished the flash but it did not happen for me. So I just waited for like a quarter and reconnected its power.

Got my HA set up and, wow, it’s running super smooth (thanks to the efficiency of HA). For comparison, I’m using an RK3588s board for my setup at home. Even though it’s not as powerful, I can hardly tell the difference in performance, plus, my iHost model only has 2 GB of memory. Not bad at all!

During installation or booting, CPU usage could go up to the max, while memory usage stayed quite low. General use would be around 30% for CPU and 25 for memory. My only gripe for performance was that the iHost took 5 - 6 minutes to boot up. That’s pretty long compared to other modern devices. But it’s a smart home hub, designed to be on all the time, so it’s not that big of a deal.

Internal storage is a bit small so I shifted it to an external TF card right from the HA settings.

I tried integrating some devices and platforms into the HA setup like ZHA, Xiaomi, and Yeelight, and all work well and are stable. But the built-in Zigbee chip needs extra steps provided along with the guide to work after flashing a new firmware.

However, things hit a snag when I tried to set up the Matter service – it just wouldn’t install in the integration tab. Then I attempted to install it via the add-on page, only to find all 64-bit-only add-ons grayed out in the store and unable to install.

Well, I assume they could be compiled to work with ARMv7 in some way, but that is far beyond my knowledge especially to have it work with the whole HA system. I tried to search for similar issues posted by the old Raspberry Pi owner, and the answer is common “time to move on.” Running the Matter server in another device in your local network might also work but it adds more complexity as well as more time that I don’t have.

So for now, that means a major feature absence for “HA on iHost” as at least half of my devices are connected via Matter (some are bridged for OTA convenience).

While some bonus features are great. Like controlling the indicator light via HA as a light entity, and triggering the physical buttons on the iHost in HA.

The projects developed by @darkxst for the Sonoff Zigbee dongle make me wonder if multi-protocol (Zigbee and Thread) would work via Skyconnect’s firmware. But it would also need further work to get the OpenThread add-on running on 32-bit devices.

If you just want to try the setup, go with the SD card-boot-only installation to preserve the stock OS, otherwise, there’s no way back and it would void your warranty. The performance is enough for a less ambitious HA setup from my experience. And a big attraction is its built-in Zigbee chip, which other options like Green and Raspberry Pi do not have.

If you have an iHost and rely heavily on Matter bridge and eWelink Cube (a Lovelace-like dashboard), it is just wise to stay with the original iHost firmware. While the HA itself does not support the Matter bridge (port HA devices to other platforms via Matter) and the Matter controller won’t work on 32-bit devices natively.

4 Likes

Nice write up :wink:

Performance of the 2GB model suprised me as well, however the 4GB model with its quad core processor does make a difference (RAM not so much I expect)

Multiprotocol addon should work, but use my RCP Multipan firmware for Zbdongle-E, not the SkyConnect one!. But as you noticed Matter server needs to be on another system, for now atleast.

wow thx! I will give it a try when free

Hey I tried to flash rcp-uart-802154-v4.3.2-zbdonglee-115200.gbl via Silicon Lab Flasher (/dev/ttyS4 and 115200)

but it shows:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service banner: starting

-----------------------------------------------------------
 Add-on: Silicon Labs Flasher
 Silicon Labs firmware flasher add-on
-----------------------------------------------------------
 Add-on version: 0.2.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.1.rc2  (armv7 / tinker)
 Home Assistant Core: 2023.12.3
 Home Assistant Supervisor: 2023.11.6
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[13:38:59] INFO: Starting universal-silabs-flasher with /dev/ttyS4 (bootloader baudrate 115200)
2023-12-19 13:39:06 core-silabs-flasher universal_silabs_flasher.flash[150] INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.3.2', ezsp_version=None, ot_rcp_version=None, fw_type=<FirmwareImageType.RCP_UART_802154: 'rcp-uart-802154'>, baudrate=115200)
2023-12-19 13:39:06 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2023-12-19 13:39:08 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.CPC at 115200 baud
2023-12-19 13:39:12 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.CPC at 460800 baud
2023-12-19 13:39:16 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.CPC at 230400 baud
2023-12-19 13:39:21 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.EZSP at 115200 baud
2023-12-19 13:39:26 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.SPINEL at 460800 baud
Error: Failed to probe running application type
[13:39:30] INFO: universal-silabs-flasher-up script exited with code 1
s6-rc: warning: unable to start service universal-silabs-flasher: command exited 1
s6-rc: info: service banner: stopping
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Is there anything particular I should do during the flash?

You need to disable ZHA (or Z2M) before you can flash. Or use this:

btw stick with 4.3.1 for now, 4.3.2 has some issues. 4.4.0 will come soon though.

Thanks for your reply.

I have tried both with ZHA/Z2M disabled. But I am kind of stuck in an awkward situation, any flash would fail, and can not return to the Zigbee only one.

Multiple Flasher gives:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service banner: starting

-----------------------------------------------------------
 Add-on: Multipan Flasher
 Silicon Labs multipan firmware flasher add-on
-----------------------------------------------------------
 Add-on version: 0.1.2
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.1.rc2  (armv7 / tinker)
 Home Assistant Core: 2023.12.3
 Home Assistant Supervisor: 2023.11.6
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[15:42:22] INFO: The selected serial port is not a USB device.
[15:42:22] WARNING: No firmware found for the selected device, assuming firmware is installed.
[15:42:22] INFO: universal-silabs-flasher-up script exited with code 0
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service universal-silabs-flasher: stopping
s6-rc: info: service universal-silabs-flasher successfully stopped
s6-rc: info: service banner: stopping
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

While Silicon Lab Flasher with firmware in your gibhub repo gives:

2023-12-19 16:06:25 core-silabs-flasher bellows.uart[150] ERROR CRC error in frame b'7e' (b'' != b'ffff')
2023-12-19 16:06:25 core-silabs-flasher bellows.uart[150] ERROR CRC error in frame b'8006704672616d696e67206572726f7220363a205bcafd7e' (b'cafd' != b'6e1e')
2023-12-19 16:06:25 core-silabs-flasher bellows.uart[150] ERROR CRC error in frame b'7e' (b'' != b'ffff')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.CPC at 460800 baud
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b' '): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\xc0'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\xfe'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'<'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\xfe'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'<'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\xc0'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'<'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'<'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'<'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\xc0'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\xfc'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'<'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x80'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'<'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'<'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'x'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\x00'): ValueError('Invalid flag')
2023-12-19 16:06:26 core-silabs-flasher universal_silabs_flasher.cpc[150] WARNING Failed to parse buffer bytearray(b'\xf8'): ValueError('Invalid flag')
2023-12-19 16:06:30 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.CPC at 115200 baud
2023-12-19 16:06:34 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.CPC at 230400 baud
2023-12-19 16:06:38 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.SPINEL at 460800 baud
Error: Failed to probe running application type
[16:06:43] INFO: universal-silabs-flasher-up script exited with code 1
s6-rc: warning: unable to start service universal-silabs-flasher: command exited 1
s6-rc: info: service banner: stopping
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

oh multipan flasher thinks its USB that wont work!

I dont know what is going on with silabs flasher, however you can use universal-silabs-flasher directly to flash it from ssh terminal.

  1. from debug host console (via USB)
    docker exec -it homeassistant

OR
2. if in a terminal addon shell
pip install universal-silabs-flasher

Then
universal-silabs-flasher --device /dev/ttyS4 flash --firmware <<downloaded_file>> --sonoff-reset

1 Like

EDIT: Multipotocal firmware worked on iHost despite the poor performance of Thread. @darkxst is working to modify the flasher tools for optimization for iHost.

I tried the latter and the cmd outputted similar errors, maybe I should open an issue on this?

sorry for the image full of text, I can not copy them from the WebUI of the terminal addon.

these lines are identical though

2023-12-19 16:06:25 core-silabs-flasher bellows.uart[150] ERROR CRC error in frame b'7e' (b'' != b'ffff')
2023-12-19 16:06:25 core-silabs-flasher bellows.uart[150] ERROR CRC error in frame b'8006704672616d696e67206572726f7220363a205bcafd7e' (b'cafd' != b'6e1e')
2023-12-19 16:06:25 core-silabs-flasher bellows.uart[150] ERROR CRC error in frame b'7e' (b'' != b'ffff')
2023-12-19 16:06:25 core-silabs-flasher universal_silabs_flasher.flasher[150] INFO Probing ApplicationType.CPC at 460800 baud

oops yeh that wont work either, wrong command, mixing up the dongle and ihost! :upside_down_face: Open an issue and I will get you instructions that work to recover it.

EDIT: I will add the firmware somehow appears to have got corrupted the first time you tried with Silabs flasher at a guess

1 Like

So DUMB question…

I have my HA running as a VM, with a zigbee dongle and a z-wave dongle.

If I succesfully move over to running this on iHost, can I bring that dongle over to iHost and keep all my devices attached to that, so I can migrate slowly?

yes you can use your dongles with the iHost, there is only a single USB port, but you could use a USB2 hub.

1 Like