"Sonoff iHost" (smart home hub/computer) from ITead - Can it be hacked to run Home Assistant OS with Bluetooth, Thread/Matter, and ZHA integrations?

Which version are you running, @Walltanot ? As I do not see the device option in 1.9.1. My options end with the microphone/speaker. Thanks and cheers.

That is remarkable progress @darkxst
Looks like we shouldn’t give up hope on using the iHost as a decent Home Assistant base.

If Sonoff ever decide to expose the Serial port to docker, then the onboard zigbee will work with ZHA. Will they do that though, when it will break pretty much the main feature of the stock OS?

If I can get it to boot upstream u-boot and kernel, then a HAOS build wont be too far off.

3 Likes

Yeah that is not suprising, Zigbee EmberZNet 6.10.x and 7.0.x are both compatible with EZSP v8, so should in theory only get into problems if go to Zigbee EmberZNet 7.1.x or later (as 7.1 use EZSP v9, while 7.2 uses EZSP v10, then 7.3 mix it up by supporting EZSP v11 and v12 depending om minor version used.

I am using the 1.9.1

You need to plug in the USB dognle first, and ihost will recognize a USB device.After that, you will download and install HA docker, and you will find the USB device in the “Advanced” option during installation.

I’ve seen a reply from their developers that they won’t open the serial ports of zigbee modules to docker:

But he says we can install any system we want through our own reflash ihost - and I believe that includes HAOS.

I asked them by email whether they could assist us in porting HAOS to ihost, but they said they didn’t know much about HAOS either. But they can provide some of the necessary information I need to do this - if it’s not covered by Rockchip’s NDA - but I’m not sure what porting HAOS needs

In this post, there are github links about Uboot and Kernel, can you use these two directly?

Yes, will be able to reflash with HAOS or Debian or any other Linux but need a suitable firmware image first.

Might need further info to get certain peripherals working, such as the YC1175 chip (for buttons/leds) and sound etc. But there is enough info available to get initial boot working I think.

They serve as good reference material, but too old to use with HAOS. Rockchip kernel for this SoC is 4.19 (atleast what is publicly available), that is way too old to work reliably with HAOS, like it might work, but it also very likely to cause all sorts of strange bugs and issues. U-boot is less of an issue, probably could use the old rockchip version, but given the upstream support, better to use that.

Further I plan to use the existing HAOS Builder framework, for which using upstream components will be easier and make future maintenance easier as well. Potentially even getting the iHost support merged upstream into NabuCasa’s repos later (would need a better way to install though, something like enter maskRom, boot from SD-card then flash eMMC).

2 Likes

Or if they had used a patched firmware! I was kinda expecting it to break, but it would seem they are indeed just using stock ezsp firmware.

Regardless my iHost has been nuked of all iTead software now, I wont be doing anymore testing in the iHost OS :laughing:

1 Like

The YC1175 is connect to RV1109 via UART3. And in this post there is a file - " Indicator (RK1109 and YC1175 serial communication commands)"

Does this mean that you are already running a suite of your own compiled linux distro on ihost ? Or your ihost has turned into a brick :scream:

Yes I have seen this, and actually all the interfaces that are off the Core Board have pins documented in this external interface doc.

There is also some documentation of the serial commands for YC1175 (thats bundled with the linux image), however I suspect this is probably incomplete. For example this chip also controls maskROM mode that you can activate through the ewelink app. Additionally there is a Bluetooth interface on this chip (and antenna on motherboard).

There is no documentation for the RK809 however, I2C0 seems to control the PMIC part, but not clear how sound is connected, presumably there is an I2S bus for audio and I2S or PDM for the Mic.

I extracted the DTS files from the iHost Linux image which seems to just be using the reference RV1126-EVB v13 which is the Rockchip Evaluation board, they probably changed a few things, but also left a lot of stuff in there that this board doesnt have such as video etc.

I currently have the previously mentioned iHost Linux Distro installed on the eMMC. I also have the debug console wired up and am trying to get sd-card boot to work. The provided image doesnt work on sdcard, atleast if I just dd it to a card.

If you do get the SD-card boot to work but not the eMMC then might be good to make SD-card boot in turn redirect to USB disk as the main storage, because most SD-cards do not handle a lot of rewrites before becoming corrupt. That is what many recommended for Raspberry Pi before it boot directly from USB :wink:

Then directly use this DTS file, whether the microphone and speaker can work directly?

I have posted on the eWeLink forum, hoping that they will provide more information, and hope that they will be willing to help provide more information.

sd-card was more for development purposes, but probably can also use it later also for installation to flash eMMC.
Ultimate goal is HAOS on eMMC, with data disk on USB or sd-card (user can do whatever they want for that).
Direct USB boot is not possible on Rockchip SoC’s afaict.

2 Likes

I don’t think sound is working/setup in the iHost Linux distro, but I didnt look closely. Thats not really that important at this stage!

Wow, a lot of info bits raining in.

I see, you got Alexie to chat a bit. Anything helpful?

he is going to try get us some further info.

So far, Upstream U-boot is booting :wink:

U-Boot SPL 2023.07.02 (Sep 12 2023 - 03:48:05 +0000)
Trying to boot from MMC2


U-Boot 2023.07.02 (Sep 12 2023 - 03:48:05 +0000)

Model: Edgeble Neu2 IO Board
DRAM:  4 GiB
PMIC:  RK8090 (on=0x10, off=0x00)
Core:  98 devices, 19 uclasses, devicetree: separate
MMC:   mmc@ffc50000: 0, mmc@ffc60000: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial@ff570000
Out:   serial@ff570000
Err:   serial@ff570000
Model: Edgeble Neu2 IO Board
Net:   No ethernet found.
** Booting bootflow '[email protected]_1' with script

3 Likes

This is very exciting news,but why the Model show Edgeble Neu IO Board ?

Because I am using those configs from upstream for the moment. Their board is very similar to the iHost.

Also these logs would never been seen by a normal user!