Geekworm enclosure with their fan, followed the steps to SSH into the RPi / Umbrel unit and create the x-c1 directory per their instructions, but I can’t tell if the fan is running, and my temperature is at 78 degrees celsius and climbing (so I think it’s not working).
I’ve tried the command shown on their FAQ for the product to start the fan:
As the software is in the /x-c1 directory, the path wasn’t the same, but then “x-c1_pwm_fan_control.py” wasn’t found. I checked the directory - instead there’s just a file called “fan.py”, so I substituted that:
sudo python fan.py [while logged into the /x-c1 directory]
This -seemed- to work; indeed, the “jobs” command shows
Let me know if you need me to make a script for you to copy and paste easily and not to worry about something breaking.
-Or- if you can follow the instructions as shown in the link above starting with installing pigpiod, then follow the instructions to install the fan script for “Raspbian” as that’s what Umbrel is based off.
Thanks - yes, I got the “steps” (not a script, I don’t think, as you have to enter each command separately) from that exact webpage. I don’t know enough about RPi / Linux to know which set of steps to use, so I used the first set (“For Raspbian / RetroPie / Twister OS v2.0.2”), which seemed to work. The /x-c1 directory was initially a subdirectory within /umbrel, but then I ran the commands again, and now I have an /x-c1 directory off of the root, next to /umbrel. [on edit: to be clear I have two /x-c1 directories, one off the root and one as a subdirectory of /umbrel]
I also ran the steps they offered for crontab (whatever that is), which I think should make the fan start automatically. But I’m really out of my depths here, learning as I go along.
The temp is now up to 85 degrees celsius, so I’m pretty sure the fan isn’t running.
I have / can see the fan.py file within /x-c1. If I “run” it, shouldn’t that start the fan? How do I do that in Linux?
UPDATE: if I cd to the /x-c1 directory off of the root, and then type
sudo python fan.py&
It asks for me to enter the password for the umbrel (by writing “[sudo] password for umbrel:”), then (after I enter the password) it says
@Hdg The “ 30218” thing shows that the python script is running in the background, and I see the instructions on how to run it as a crontab job. It looks a little confusing – but I think this guide should help you:
First we need to get rid of the background process, as we don’t need it interfering with the next few steps sudo killall python
I’m assuming you’re in the home directory of Umbrel (it should say umbrel@umbrel:~ $) if you’re not in it, you can do cd ~
Let’s clean up the folder just in case. sudo rm -rf ./x-c1/
Now you can copy and paste from this step by step: sudo apt update && sudo apt upgrade -y sudo apt install pigpio python-pigpio python-smbus python3-pigpio wiringpi git -y git clone https://github.com/geekworm-com/x-c1.git cd x-c1 sudo chmod +x *.sh sudo bash install.sh sudo reboot
When it reboots, then the fan should start running, if not – then it needs the crontab job to be added: sudo select-editor
Choose nano, I’m assuming it is 1 sudo crontab -e
Use the arrow keys on your keyboard to scroll down all the way to the bottom
If you have any other crontab jobs that you put in, you can remove them.
Copy and paste the line below on the very bottom of the crontab: @reboot python /home/umbrel/x-c1/fan.py
Save and exit by pressing CTRL+O (letter o, not zero) then press CTRL+X
then reboot it once again (sudo reboot), it should start running the fan.
I really hope this works, as after reading that set of instructions I can see why it’s confusing.
Thanks so much - this is very helpful. I used your commands verbatim, and got this far, and but then these error messages came up:
umbrel@umbrel:~/x-c1 $ sudo bash install.sh install.sh: line 77: /home/pi/.bashrc: No such file or directory 2021-09-19 14:33:26 initInitialise: Can’t lock /var/run/pigpio.pid Can’t initialise pigpio library The installation is complete. Please run ‘sudo reboot’ to reboot the device. NOTE: 1. DON’T modify the name fold: x-c1, or the PWM fan will not work after reboot. 2. fan.py is python file to control fan speed according temperature of CPU, you can modify it according your needs. 3. PWM fan needs a PWM signal to start working. If fan doesn’t work in third-party OS afer reboot only remove the YELLOW wire of fan to let the fan run immediately or contact us: firstname.lastname@example.org.
Should I just keep going, or is something else wrong?
@Hdg Blah… that’s what I was afraid of, the install.sh script literally put in the “pi” user not the current user, that’s on them not us, but you should be good, as it only adds the “xoff” command as an alias.
You can continue to do the crontab job portion. Sorry if I’m taking a while to respond. Thank you for being patient with me.
@DarthCoin – I have the Argon One case (not the M.2 case); the only thing I did was remove the magnetic flap to access the GPIO, since I noticed that if I left it on, it’d heat up to 80C, so it’s running at 40C right now. It’s not designed properly but it works just fine for my purpose.
No worries - much appreciate the attentive, specific help. I’ve done the crontab work now several times - I can see the command I’ve created in there ("@reboot python /home/pi/x-c1/fan.py") every time I run the nano editor. I’ve even tried changing the instruction to @reboot python /x-c1/fan.py, or pointing to the /x-c1 subdirectory within /umbrel…but it never seems to turn on.
I still can’t get the command to start the fan to run, either automatically on reboot, nor from the command line.
but none of these actually seem to get the fan to start spinning - the temperature just climbs back up to 82-85 degrees celsius and stays there. It only falls right when I reboot, and then only for a moment
I haven’t re-flashed the microSD card with a fresh copy of the umbrel software in over a month (and definitely not since I moved everything to the Geekworm NASPI case this past week) - would that help?
Otherwise I’m at a loss to try to figure this out.
Geekworm support is saying via email “disconnect the yellow wire” so that the fan will run continuously…so I did that this morning…still can’t tell if the fan is running, but my temp is still 83-85 degrees celsius, so I’m guessing not. Maybe I have a bad fan? Maybe my power supply is not powerful enough (it was powerful enough to run the canakit aux fan, though).
While I appreciate the deep dive into ssh and linux commands, this is turning into WAY more trouble than it’s worth.
I did stumble across raspi.config as part of this, and was able to configure wifi for my umbrel, which is a nice touch. So there’s that.
@DHD Yup - case kit is brand new via Amazon. Fan can’t be spinning, based on the temperatures reported by others with functioning fans. If I take it apart again, I may try the fan from the Canakit to see if that will work…although not sure that the Canakit fan’s connector will plug into the same receptacle on the Geekworm card.
I’ve told Geekworm (via email, this morning, EDT) that their fan doesn’t seem to be working, even with the yellow wire disconnected. I expect I’ll get some kind of response tonight (EDT) from them.
Meanwhile my sad little Umbrel keeps running through all of the heat…
Update: problem solved - it was mechanical/physical, not software related. It turns out that the big heatsink from the original Canakit case that I bought with my RPi4B is a bit too tall, maybe by 1-2mm. It was pushing the fan unit up against the inside of the Geekworm NASPI enclosure, preventing the fan from spinning. Once I removed the big heatsink and reassembled everything, the fan worked fine.
I tested it before putting everything back in the enclosure to confirm that the fan is spinning, but you can definitely hear it running now that it’s reassembled - it’s like a very soft hairdryer or heat gun. I did remove the yellow wire from the fan unit connector, so now my fan will run continuously without any software control, but that’s OK.
Umbrel temp is currently 47 degrees celsius and holding steady.
Thanks very much to @DHD and others for help here!
@Hdg You’re very welcome, and I’m glad that you were able to figure out the issue. I’d make the same mistake by adding an heatsink and forgetting to remove it before putting it in an enclosure. At least it is now working perfectly. 47C is very good and stable for a RPi, so you should be good to go for a while.
I used a Argon One M.2 and I am very pleased. Worth the price. You can customize the fan settings to your liking. I set mine to no fan passive cooling except for the 100% fan @65C. Passive cooling sits around 50C 98% of the time for me.
I originally got the case linked by umbrel but it kept overheating. So I got the cheapest fan case that included heat sinks on amazon. Some random generic brand. Not a problem since. The instructions gave two options for setup: hi and lo speed. I plugged into the low speed configuration.
I followed you in settling up my fan in all your steps of your 22 May post. After the reboot, fan didn’t work and PuTTY was not up anymore. Could access umbrel.local and IP address was not given by IP scanner. After a cold start of my node, I wasn’t able to find my node with an IP scanner.
I couldn’t finish your next steps when reboot doesn’t work. Can you help me further here. You probably need to dig in some old info. I’m sorry
I have just installed a cooling fan after raspberry pi4GB was running at around 70-80c, the standard plastic starter kit case that raspberry pi came with wasn’t great which contributed to the heat I believe. Make sure that you shut down raspberry pi through umbrel site first before disconnecting it from the power source to install the fan.
This is the fan & case I bought & search for any standard install video for raspberry pi cooling fan & heat sinks.
Raspberry Pi Case Black Aluminium Case with Mount, Heatsinks and Cooling Fan for Raspberry Pi 4