ArgonOne on Umbrel - How to fix Cooler - partially SOLVED

Hi Community,

when using the latest installation of Umbrel on a Raspberry Pi 4 with an Argon One case, the cooling fan does not function properly. The root cause of this issue is that the I2C interface is disabled, and the /boot/config.txt file is set to read-only. This problem can be resolved as follows:

Enabling I2C on Raspberry Pi

  1. Open Terminal:

    • Launch the terminal on your Raspberry Pi.
  2. Remount /boot with Write Permissions:

    • Run the command:
      sudo mount -o remount,rw /boot
      
  3. Edit /boot/config.txt:

    • Open the configuration file with nano:
      sudo nano /boot/config.txt
      
  4. Enable I2C:

    • Add or uncomment the following line:
      dtparam=i2c_arm=on
      
  5. Save and Exit:

    • Press Ctrl+X to exit, Y to confirm saving, and Enter to finish.
  6. Uninstall Argon One Service:

    • Remove the Argon One service:
      sudo argonone-uninstall
      
  7. Reinstall Argon One Service:

    • Reinstall the Argon One service:
      curl https://download.argon40.com/argon1.sh | bash
      
  8. Reboot the Raspberry Pi:

    • Apply the changes by rebooting:
      sudo reboot
      

This guide ensures that the /boot/config.txt file is writable, I2C is enabled, and the Argon One service is reinstalled.

Hope it will work in your case. Still it will be nice to solve it in future updates of Umbrel, since in next update you will loose all changes and you can do this again

Have a nice day,
Jan

1 Like

Hi Jan, thanks for your feedback. Unfortunately, it still doesn’t work for me. I don’t know why. I did it as described in the instructions. Unfortunately the Argon script still says i2c cannot be detected. I have a Pi 5 but that shouldn’t be a problem. The Argon script is the same.

i2c Test

umbrel@umbrel:~$ sudo apt-get install -y i2c-tools
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
i2c-tools is already the newest version (4.3-2+b3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
umbrel@umbrel:~$ sudo i2cdetect -y 1
Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory

Argon Tool

Unable to detect i2c
TEMPERATURE INFORMATION:
   CPU: 49.6°C
FAN CONFIGURATION INFORMATION:
        65.0=100
        60.0=55
        55.0=30
FAN SPEED INFORMATION:
Unable to detect i2c
   Fan Speed 0

boot.txt

  GNU nano 7.2                                               /boot/config.txt                                                         
# Enable DRM VC4 V3D driver.
#
# MX: This has been enabled by default and is required for 3D graphics
# hardware acceleration. We just leave it enabled.
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# We want to run the processor in its 64-bit mode.
arm_64bit=1

# Enable NVMe interface
# This is not needed if booting with NVMe so potentially
# we only want to support that and don't need this.
dtparam=nvme

# This may improve NVMe performance but is not stable:
# > The Raspberry Pi 5 is not certified for Gen 3.0 speeds. PCIe Gen 3.0 connections may be unstable.
# - https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#pcie-gen-3-0
dtparam=pciex1_gen=3

dtparam=i2c_arm=on
max_usb_current=1

It looks like problem needs to be addressed by Umbrel development.

yeah i think so too. i would be very nice because my photoprism is running hot (85°C while indexing) :fire:

PI4-CASE-ARGON-ONE-14_960 - Copy
change fan pin position, it makes fan to spin at full speed, annoying sound I must admit. but i suppose that is better than 85*C
:fire:

ah yes, that’s right. good tip. i can do that later and put the pi in the basement where nobody can hear it.

I have to come back to the problem for a moment. At least for my Argon ONE V3 M2 case, reconnecting or changing the fan connector is not an option (see screenshot). The whole board is controlled by the Argon software. So it would be really great if someone could take care of it. As much as I like the OS I’m considering switching back to casa.

Hi everyone,

After troubleshooting my Argon One V1 case on Umbrel, I’ve found a straightforward fix for the fan control issue that specifically applies to the Argon One V1 case. Here’s the step-by-step solution:

The Issue

The default Argon fan driver installed via the standard argon1.sh script is not fully compatible with the Argon One V1 case on Umbrel. This results in the fan failing to operate as expected, even if I2C is enabled.

The Fix is to install an earlier version of the driver having first enabled i2c as per OP

1. Uninstall the Previous Argon Driver:
      • First, uninstall any previously installed Argon fan drivers:

          sudo argonone-uninstall 


2. Install the Correct Argon One V1 Driver:
    • Use the following command to install the version-specific driver for V1:

        curl https://download.argon40.com/argon1v1.sh | bash


3. Reboot the System:
    • Restart your Raspberry Pi:

        sudo reboot


4. Confirm the Fan Driver is Running:
    • After the reboot, verify the Argon fan driver service is active:

       sudo systemctl status argononed.service


  • You should see Active: active (running) in the output and no errors
umbrel@umbrel:~$ sudo systemctl status argononed.service
[sudo] password for umbrel:
â—Ź argononed.service - Argon One Fan and Button Service
     Loaded: loaded (/lib/systemd/system/argononed.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-01-20 23:03:37 UTC; 55s ago
   Main PID: 568 (python3)
      Tasks: 3 (limit: 9272)
     Memory: 13.0M
        CPU: 46ms
     CGroup: /system.slice/argononed.service
             └─568 /usr/bin/python3 /etc/argon/argononed.py SERVICE

Jan 20 23:03:37 umbrel systemd[1]: Started argononed.service - Argon One Fan and Button Service.
Jan 20 23:03:38 umbrel python3[568]: Unable to detect i2c

unfortunately no success :confused:

Here’s some detailed information about my setup and results, which might help you debug the issue.

This is the link I found that led to the fix on my system.


1. Detected I2C Devices

I ran the following commands to verify the I2C buses and the Argon One fan controller:

I2C Devices Detected

ls /dev/i2c-*

Output:

/dev/i2c-1  /dev/i2c-20  /dev/i2c-21

Permissions for I2C Devices

ls -la /dev/i2c-*

Output:

crw-rw---- 1 root i2c 89,  1 Oct 10 17:40 /dev/i2c-1
crw-rw---- 1 root i2c 89, 20 Oct 10 17:40 /dev/i2c-20
crw-rw---- 1 root i2c 89, 21 Oct 10 17:40 /dev/i2c-21

I2C Bus 1

sudo i2cdetect -y 1

Output:

     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 Argon One fan controller is detected on bus 1 at address 0x1a.


My Configuration

  1. I2C is Enabled:
  • Verified in /boot/config.txt with the line:
dtparam=i2c_arm=on
  1. Driver Installation:
  • I used the V1-specific driver:
curl https://download.argon40.com/argon1v1.sh | bash
  1. Fan Service Status:
  • The Argon fan service is active and running:
sudo systemctl status argononed.service

Output:

umbrel@umbrel:~$ sudo systemctl status argononed.service
â—Ź argononed.service - Argon One Fan and Button Service
     Loaded: loaded (/lib/systemd/system/argononed.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-01-19 22:35:13 UTC; 4 days ago
   Main PID: 702 (python3)
      Tasks: 3 (limit: 8751)
     Memory: 11.9M
        CPU: 264ms
     CGroup: /system.slice/argononed.service
             └─702 /usr/bin/python3 /etc/argon/argononed.py SERVICE

Jan 19 22:35:13 umbrel systemd[1]: Started argononed.service - Argon One Fan and Button Service.

Troubleshooting Suggestions for You

  1. Verify the I2C Bus:
  • Run ls /dev/i2c-* and i2cdetect on all buses (1, 20, 21).
  • Confirm if your fan controller is on a different bus (it might be on 20 or 21).
  1. Enable I2C:
  • Ensure I2C is enabled in /boot/config.txt:
dtparam=i2c_arm=on
  1. Reinstall the Driver:
  • Uninstall the current driver:
sudo argonone-uninstall
  • Reinstall the correct V1 driver for the Argon One V1 Case - argon1v1 for bus = 1, or latest for other bus refs.
curl https://download.argon40.com/argon1v1.sh | bash
  1. Modify the Driver Script (if needed):
  • If your fan controller is on a non-default bus (20 or 21), update the /etc/argon/argononed.py script to use the correct bus:
bus = smbus.SMBus(20)  # Replace 20 with the correct bus number

Hello so I got into the same issue on my Raspberry Pi 5 and this thread helped me a lot. But I needed extra help in my case, this is what I did additionally to this thread to make everything work.
My issue:
The I2C buses didn’t show by doing ls /dev/i2c-*
Solution:
Enable the i2c_dev kernel module.
Steps:
Manual load of the module

sudo modprobe i2c-dev

Magically all I2C buses appear

ls /dev/i2c-*

Make the module load on each boot

sudo nano /etc/modules

Add i2c-dev at the end of the file like so:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

i2c-dev # Add this, yes, right there!

Now normally you can use argon-config without any issue. Hope this helps someone one day!