[add-on] HassOS I2C Configurator

Migrated yesterday and i didn’t know about the add-on reload option so i guess was trying with the older version. Was not a big deal because the offical way worked fine. Thanks for the support!

Did you use the new HA> console method I added to the docs a few weeks ago?

No I used the manual method by copy the folder(s) and file.

1 Like

Which addon? The i2c addon or the argon fan addon?

The i2c addon of course. Make sure to update.

That’s what I figured you meant. Per my #50 and #57 posts above, prior to v.11a I couldn’t even start the I2C addon and I kept getting an popup error message. The v.11a release seemed to fix the I2C not-starting-issue and apparently applied the I2C changes correctly, according to the logs. My issue is now with the ArgonOne addon not starting correctly and its logs suggesting the I2C wasn’t successful after all.

Wait, so you’re having a new issue? Try this;

  1. Uninstall
  2. Go to marketplace and reload market, using the 3-dot button at the top right.
  3. Reinstall

It should work. I can’t make it fail on my side.

Hey guys - i can’t get it to work.
Did several reboots.

Will try to uninstall and try again. Any other advice? :confused:

LOG:

I don’t see I2C.
no sda1 available
ls: /dev/i2c-1: No such file or directory
no sdb1 available
mount: permission denied (are you root?)
Detected Protection Mode is enabled. Disable Protection Mode in Info Screen.
no mmcblk0p1 config found
This Configurator did it’s job. Perform a hard-power-off reboot now.
You will need to reboot twice total, once to place the files, and again to activate the I2C.

EDIT:
I am sorry - apperently i have to learn to read properly
deactivated Protection Mode and now it works just fine :slight_smile:

ok, what am I missing? I am newbie to HA but pretty sure I have followed everything exactly as noted:(

I have installed, deactivated protection mode, started the add-on, hard reboot multiple times (pull the plug restarts)

to me, it looks like there is a permission error creating the i2c directories during it’s install.

current version Hass.os
external ssd plugged into usb
no microsd card
raspberry pi 4 b

argon m.2 case

log after multiple attempts
crw–w---- 1 root tty 4, 29 Dec 16 09:25 tty29
crw–w---- 1 root tty 4, 3 Dec 16 09:25 tty3
crw–w---- 1 root tty 4, 30 Dec 16 09:25 tty30
crw–w---- 1 root tty 4, 31 Dec 16 09:25 tty31
crw–w---- 1 root tty 4, 32 Dec 16 09:25 tty32
crw–w---- 1 root tty 4, 33 Dec 16 09:25 tty33
crw–w---- 1 root tty 4, 34 Dec 16 09:25 tty34
crw–w---- 1 root tty 4, 35 Dec 16 09:25 tty35
crw–w---- 1 root tty 4, 36 Dec 16 09:25 tty36
crw–w---- 1 root tty 4, 37 Dec 16 09:25 tty37
crw–w---- 1 root tty 4, 38 Dec 16 09:25 tty38
crw–w---- 1 root tty 4, 39 Dec 16 09:25 tty39
crw–w---- 1 root tty 4, 4 Dec 16 09:25 tty4
crw–w---- 1 root tty 4, 40 Dec 16 09:25 tty40
crw–w---- 1 root tty 4, 41 Dec 16 09:25 tty41
crw–w---- 1 root tty 4, 42 Dec 16 09:25 tty42
crw–w---- 1 root tty 4, 43 Dec 16 09:25 tty43
crw–w---- 1 root tty 4, 44 Dec 16 09:25 tty44
crw–w---- 1 root tty 4, 45 Dec 16 09:25 tty45
crw–w---- 1 root tty 4, 46 Dec 16 09:25 tty46
crw–w---- 1 root tty 4, 47 Dec 16 09:25 tty47
crw–w---- 1 root tty 4, 48 Dec 16 09:25 tty48
crw–w---- 1 root tty 4, 49 Dec 16 09:25 tty49
crw–w---- 1 root tty 4, 5 Dec 16 09:25 tty5
crw–w---- 1 root tty 4, 50 Dec 16 09:25 tty50
crw–w---- 1 root tty 4, 51 Dec 16 09:25 tty51
crw–w---- 1 root tty 4, 52 Dec 16 09:25 tty52
crw–w---- 1 root tty 4, 53 Dec 16 09:25 tty53
crw–w---- 1 root tty 4, 54 Dec 16 09:25 tty54
crw–w---- 1 root tty 4, 55 Dec 16 09:25 tty55
crw–w---- 1 root tty 4, 56 Dec 16 09:25 tty56
crw–w---- 1 root tty 4, 57 Dec 16 09:25 tty57
crw–w---- 1 root tty 4, 58 Dec 16 09:25 tty58
crw–w---- 1 root tty 4, 59 Dec 16 09:25 tty59
crw–w---- 1 root tty 4, 6 Dec 16 09:25 tty6
crw–w---- 1 root tty 4, 60 Dec 16 09:25 tty60
crw–w---- 1 root tty 4, 61 Dec 16 09:25 tty61
crw–w---- 1 root tty 4, 62 Dec 16 09:25 tty62
crw–w---- 1 root tty 4, 63 Dec 16 09:25 tty63
crw–w---- 1 root tty 4, 7 Dec 16 09:25 tty7
crw–w---- 1 root tty 4, 8 Dec 16 09:25 tty8
crw–w---- 1 root tty 4, 9 Dec 16 09:25 tty9
crw-rw---- 1 root audio 204, 64 Feb 20 23:38 ttyAMA0
crw-rw---- 1 root audio 188, 0 Feb 20 23:40 ttyUSB0
crw------- 1 root root 5, 3 Dec 16 09:25 ttyprintk
crw------- 1 root root 10, 239 Dec 16 09:25 uhid
crw------- 1 root root 10, 223 Dec 16 09:25 uinput
crw-rw-rw- 1 root root 1, 9 Dec 16 09:25 urandom
drwxr-xr-x 2 root root 60 Dec 16 09:25 usb
drwxr-xr-x 3 root root 60 Dec 16 09:25 v4l
crw------- 1 root root 247, 0 Dec 16 09:25 vc-mem
crw------- 1 root root 242, 0 Dec 16 09:25 vchiq
crw------- 1 root root 246, 0 Dec 16 09:25 vcio
crw-rw---- 1 root tty 7, 0 Dec 16 09:25 vcs
crw-rw---- 1 root tty 7, 1 Dec 16 09:25 vcs1
crw-rw---- 1 root tty 7, 2 Feb 20 23:38 vcs2
crw-rw---- 1 root tty 7, 3 Feb 20 23:38 vcs3
crw-rw---- 1 root tty 7, 4 Feb 20 23:38 vcs4
crw-rw---- 1 root tty 7, 5 Feb 20 23:38 vcs5
crw-rw---- 1 root tty 7, 6 Feb 20 23:38 vcs6
crw-rw---- 1 root tty 7, 128 Dec 16 09:25 vcsa
crw-rw---- 1 root tty 7, 129 Dec 16 09:25 vcsa1
crw-rw---- 1 root tty 7, 130 Feb 20 23:38 vcsa2
crw-rw---- 1 root tty 7, 131 Feb 20 23:38 vcsa3
crw-rw---- 1 root tty 7, 132 Feb 20 23:38 vcsa4
crw-rw---- 1 root tty 7, 133 Feb 20 23:38 vcsa5
crw-rw---- 1 root tty 7, 134 Feb 20 23:38 vcsa6
crw-rw-rw- 1 root root 10, 60 Dec 16 09:25 vcsm-cma
crw-rw---- 1 root tty 7, 64 Dec 16 09:25 vcsu
crw-rw---- 1 root tty 7, 65 Dec 16 09:25 vcsu1
crw-rw---- 1 root tty 7, 66 Feb 20 23:38 vcsu2
crw-rw---- 1 root tty 7, 67 Feb 20 23:38 vcsu3
crw-rw---- 1 root tty 7, 68 Feb 20 23:38 vcsu4
crw-rw---- 1 root tty 7, 69 Feb 20 23:38 vcsu5
crw-rw---- 1 root tty 7, 70 Feb 20 23:38 vcsu6
crw------- 1 root root 10, 63 Dec 16 09:25 vga_arbiter
crw------- 1 root root 10, 137 Dec 16 09:25 vhci
crw------- 1 root root 10, 238 Dec 16 09:25 vhost-net
crw-rw---- 1 root netdev 81, 4 Dec 16 09:25 video10
crw-rw---- 1 root netdev 81, 5 Dec 16 09:25 video11
crw-rw---- 1 root netdev 81, 6 Dec 16 09:25 video12
crw-rw---- 1 root netdev 81, 0 Dec 16 09:25 video13
crw-rw---- 1 root netdev 81, 1 Dec 16 09:25 video14
crw-rw---- 1 root netdev 81, 2 Dec 16 09:25 video15
crw-rw---- 1 root netdev 81, 3 Dec 16 09:25 video16
crw------- 1 root root 10, 130 Dec 16 09:25 watchdog
crw------- 1 root root 249, 0 Dec 16 09:25 watchdog0
crw-rw-rw- 1 root root 1, 5 Dec 16 09:25 zero
brw-rw---- 1 root disk 254, 0 Dec 16 09:25 zram0
brw-rw---- 1 root disk 254, 1 Dec 16 09:25 zram1
brw-rw---- 1 root disk 254, 2 Dec 16 09:25 zram2
ls: /dev/i2c-1: No such file or directory
I don’t see I2C.
mount: permission denied (are you root?)
Detected Protection Mode is enabled. Disable Protection Mode in Info Screen.
no sda1 config found
no sdb1 available
no mmcblk0p1 available
This Configurator did it’s job. Perform a hard-power-off reboot now.
You will need to reboot twice total, once to place the files, and again to activate the I2C.

Blockquote

sorry for what seems like a repetitive question, but every method I try (official, manual, this add-on) gives me the same result - failure to install:(

your help is appreciated.

d

ls: /dev/i2c-1: No such file or directory
I don’t see I2C.
mount: permission denied (are you root?)
Detected Protection Mode is enabled. Disable Protection Mode in Info Screen.
no sda1 config found
no sdb1 available
no mmcblk0p1 available
This Configurator did it’s job. Perform a hard-power-off reboot now.
You will need to reboot twice total, once to place the files, and again to activate the I2C.

Is what im getting, even when Protection Mode is disabled.

Are you running a Raspberry Pi? It doesn’t look like a Raspberry pi. If it is a Raspberry Pi, it appears there is no config.txt.

Looks like a home assistant bug. https://github.com/home-assistant/supervisor/issues/2590

Yes, raspberry Pi 4b

Yup, that sounds like the issue.

Installed home assistant from image created from this official link.

Is it because of the 64bit version?

Is there any workaround that you are aware to truely disable protection mode for this add on?

This affects all versions. After finding the issue, I got involved, laid out the problems, and submitted a patch to Home Assistant Supervisor to get it fixed. There is currently nothing I can do with the last two versions of HA OS. They are simply cursed with RO mounting of /dev.

If you guys are interested in getting this working, please comment here. https://github.com/home-assistant/supervisor/pull/2596

Great, at least it’s not me:). I’m newbie, but not that newbie - LOL

I was going crazy thinking I missed some simple step.

fortunately system isnt running super hot, the passive cooling of the Argon case seems to be enough for now.

Now we wait for a fix:)

I appreciate your help!!!

d

Great post on GitHub, thank you for that.l!

You mention there are “impractical” means to enable/install i2c support.

I’m willing to take a shot at it, Is there anything you can point us to?

I wrote this last month. https://www.home-assistant.io/common-tasks/os#from-home-assistant-operating-system-terminal

Yes, thank you for that… I had tried a few times to accomplish this before posting the 1st time.

1st few times under raspberian
No luck, couldn’t find the appropriate directories

After some further reading, found an old pc this morning (I’m a Mac) and tried again.

That got me to the hasslos-boot partition
I was able to make the changes/updates as noted in step 2

Full power off reboot a few times and still no i2c directories under /dev

Pulled the disk again and plugged into windows machine …

  • the /CONFIG directory and sub directory /modules is gone, so it did something
  • the changes I made to the config file in root are still intact.

What did I miss??

ok, after WAY toooo many hours and help from a bunch of posts and the dev here… here was my solution. Copied and reposted a modified version from an unknown link that i stumbled across. Thank you to whomever this originally was!

I am posting these directions as this is what worked for me and I’m guessing issues may be similar for others. They are yours to use at your own risk if you so choose.

  1. remove your sd (or SSD in my case) from the pi and plug it into a system running a Linux OS (raspberian in my case)

  2. most likley linux will not mount the partition “hassos-boot” because it is FAT
    a) open a terminal window
    b) type > blkid
    c) in the resulting output, you will see "LABEL=“hassos-boot”
    note the location (mine was /dev/sda1)
    d) type > sudo mkdir /mnt/msdos
    e) type > sudo mount -t vfat /dev/sda1 /mnt/msdos
    f) now on your desktop, you can use the file explorer to navigate to the directory /mnt/msdos where you should see the file config.txt
    g) open that file and uncomment the following lines.
    dtparam=i2c_vc=on
    dtparam=i2c_arm=on
    in my config file there were actually 3 items under the i2c section - i uncommented all 3
    save the config.txt file

NOW, this is where the problems started. the file is read only and unable to save:(
probably did something that I shouldn’t have, BUT

  • go back to the terminal window
  • cd /mnt/msdos
  • sudo chmod 777 confg.txt
  • go back to your txt editor with the config.txt file and hit save. It should now save the changes you made.
  • go back to terminal
  • sudo chmod 755 config.txt (i hope this is the default permission for this file)

ALMOST DONE

  1. go back to your desktop and look to see if your system mounted the other drives/partitions from attached your HA sd/ssd drive. You should see a partition named hassos-overlay (if not go back and complete steps 2a-f for this partition)
    a) open the file > hassos-overlay/etc/modules-load.d/rpi-i2c.conf
    b) make sure it has the line i2c-dev in it. Save the file.

This was problem #2. For some reason, my file was named rpi-i2c.conf.txt (probably related to something i did while trying multiple times to get i2c to work)

and again the file will probably be write restricted. If so go back to terminal.

  • cd to the directory where that file is located (you should be able to get the full path from your desktop
  • ie (mine was similar to this)
    cd /ha/hassos-overlay/etc/modules-load.d/
  • then
  • sudo chmod 777 rpi-i2c.conf.txt (or whatever your file name is)
  • go back to your txt editor with the rpi-i2c.conf file make the changes you need and hit save/save as with the correct file name rpi-i2c.conf. It should now save the changes you made.
  • go back to terminal
  • sudo chmod 755 rpi-i2c.conf
  1. eject the HA disk from the linux device you are using. put it back into the raspberry pi and start her up.

You may need to start up and shut down twice, BUT, you should now see the i2c device:)

I used supervisor system “shutdown host”, wait for it to power down, unplug the power cord, plug it back in and restart. (DO THIS TWICE)

I hope this is able to help.

d

2 Likes