Latest OSMC i2c not working on RPI4

Since last big upgrade I noticed that the fan in Argon case was always on full speed. As it turns out, something is very strange/wrong with i2c on my RPI4.
Instead of /dec/i2c-1 (or -0) I seem to have /dev/i2c-20 and -21.
But also i2cdetect doesn’t really work on these, as it appears I’ve many devices on the bus, while only thing connected is the Argon one case.
Any idea what’s going on ?

root@osmc:~# ls -l /dev/i2c-2*
crw-rw---- 1 root i2c 89, 20 Jan 17 23:52 /dev/i2c-20
crw-rw---- 1 root i2c 89, 21 Jan 17 23:52 /dev/i2c-21
root@osmc:~# i2cdetect -y 20
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: – – – – – – – – 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: – – – – – – – – – – – – – – – –
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77
root@osmc:~# i2cdetect -y 21
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: – – – – – – – – 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: – – – – – – – – – – – – – – – –
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77
root@osmc:~# uname -a
Linux osmc 5.10.78-2-osmc #1 SMP PREEMPT Wed Nov 17 04:52:11 UTC 2021 aarch64 GNU/Linux
root@osmc:~# lsmod | grep i2c
i2c_brcmstb 16384 0
i2c_dev 20480 0
root@osmc:~# grep i2c /boot/config.txt
dtparam=i2c_arm=on

PS I found this alternative package for the argon one, but that’s also expecting the i2c to be at /dev/i2c-1

That package is reported to be working on OSMC

I can confirm that the package works, at least on my ArgonOne M.2-case. Running the above commands I get the same results as you. On the other hand I don’t know what they do/mean :neutral_face:
But the argononed-package works.

@MitraMAi
Ok, decided just to try this and indeed works great (at least the fan stopped, haven’t checked yet if it start when things are heating up.)
Interestingly, I now also have an /dev/i2c-1 device node which =does= give good/expected output:

i2cdetect -y 1

 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00: – – – – – – – – – – – – –
10: – – – – – – – – – – 1a – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
The ‘1a’ being the i2c address of the Argon.
This link argon i2c codes has info on how this address is used.

Ok, cool! On my case the fan starts spinning at the values I’ve set.
When it comes to the i2c-codes, seems like something that I should look closer at. But I’m home with Covid right now and my brain doesn’t function as should.

I just tried this recently and it doesn’t seem to be working on the latest version.
Can you please check and see if I am missing something.

On a fresh install of OSMC (July 2023 2023.07-01) I did the following:

sudo apt-get update
sudo apt-get install i2c-tools libi2c-dev
sudo nano /etc/modules

In modules I added i2c-dev

sudo nano /boot/config-user.txt

In config-user.txt I added dtparam=i2c1=on

reboot
sudo apt-get install gcc device-tree-compiler git bash make libc6-dev
git clone https://gitlab.com/DarkElvenAngel/argononed.git
cd argononed/
./configure
./install

reboot

If I try to set the fan manually it just does nothing, the fan does not spin:

osmc@osmc:~$ sudo argonone-cli --manual --fan 100%
osmc@osmc:~$ argonone-cli --decode
INFO:  Running under normal user some features may not work.
>> DECODEING MEMORY <<
Fan Status ON Speed 100%
System Temperature 40°
Hysteresis set to 3°
Fan Speeds set to 10% 55% 100%
Fan Temps set to 55° 60° 65°
Fan Mode [ MANUAL ]
Fan Speed Override 100%
Target Temperature 0°
Daemon Status : Waiting for request
Maximum Temperature : 42°
Minimum Temperature : 37°
Daemon Warnings : 0
Daemon Errors : 0
Daemon Critical Errors : 0

Is it possible that I need to change to bus 20 or 21? If so how do I do that?

Many thanks in advance!