Open main menu

Changes

XScript

3,270 bytes removed, 9 April
{{GD Template Impl}}
==Overview==__NOTOC__This page only provides scripts on how to install '''power management & safety switch & PWM fan''' based on different OSis script installation tutorial for [[NASPi]], [[NASPi Gemini 2. 5]], [[NASPi CM4-M2]] and [[NASPi CM4-2.5]]
If you need to know how to flash raspberry pi OS image into micro sd card or nvme ssd, please refer to the following '''official document''':* This script also works on [https://www.raspberrypi.com/documentationsoftware/computersoperating-systems/getting-started.html Getting startedbookworm]* [https://wwwOS, and test it on Jan.raspberrypi9th 2024.com/documentation/computers/compute-module.html#flashing-the-compute-module-emmc Flashing the Compute Module eMMC]
==For Raspbian OS=='''Test this The original key pwm fan control script based on the following OS:'''* is from [https://downloadsgithub.raspberrypi.org/raspios_arm64com/imagespimlie/raspios_arm64geekworm-2023x-05-03c1 pimlie/2023-05-03-raspios-bullseye-arm64.img.xz 2023-05-03geekworm-raspiosx-bullseye-arm64.img.xzc1]* [https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2023-05-03/2023-05-03-raspios-bullseye-arm64-lite.img.xz 2023-05-03-raspios-bullseye-arm64-lite.img.xz]* [https://retropie.org.uk/download/ retropie-buster-4.8-rpi4_400.img.gz]* [https://twisteros.com/download.html TwisterOSv2, pimlie implements the pwm fan shell script, which does not depend on third-1-2party python libraries at all.imgThanks to pimlie.xz]'''Install'''
<pre>
cd ~
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install git i2c-tools python3-smbus python3-rpi.gpio
git clone https://githubNow we think you have successfully flashed the OS Image into Micro SD and and power on the device, and you have also completed the operations such as creating new user required in some Raspberry Pi OS.com/geekworm-com/xscript.git
cd xscriptsudo chmod +x *.shsudo cp -f .After your system boots, then you need to open <code>Terminal</pwr.sh /etc/pwr.shsudo cp -f ./softsd.sh /usr/local/bin/softsd.shcode> prpgram, then type the following command to complete the installation of the script
sudo sed -i '$ i /etc/pwr.sh &' /etc/rc.local
echo "alias xoff='sudo /usr/local/bin/softsd.sh'" >> ~/.bashrc'[Update]'''
sudo reboot now</pre>1. NASPi series does '''not support Raspberry Pi 5 hardwared''' due to different hardware interface.
If you find the following information when executing the above command:2. Use gpiod instead of obsolete interface, and suuports ubuntu 23.04 also
3. The script now supports the Raspberry Pi OS '''BOOKWORM''0 upgraded, 0 newly installed, 0 ' version. You just need to remove and 0 not upgraded.'''uninstall''' Please ignore it, it just means that your OS already contains these software, nothing more. If reboot fails, please force shutdown or power off the original script and restart.  ''' PWM fan control'reinstall'' (This is optional) PS: You can ignore this step if you don't use the 3-Pin PWM fan to cool the CM4. In fact, the [[C235]] passive cooler can provide enough cooling capacity, and you can also avoid the trouble of fan noise, it is included in [[NASPi CM4-M2]] and [[NASPi CM4-2.5]] Run the below command to get the fan running. python3 /home/pi/xscript/fan-rpi.py &But when you reboot the device, the PWM fans won't run unless you run the above command again, There are serveral methods to enable fan run after the device reboots, recommend the first method: 1. Create a crontab job, place the command 'python3 /home/geekworm/xscript/fan-rpi.py&' into the crontab, Please refer to [[How to add crontab job]]. 2. Place the running command into the /etc/rc.local file, you can run the following command: sudo sed -i '$ i python3 /home/pi/xscript/fan-rpi.py &' /etc/rc.localNOTE: Please make sure the fan-rpi.py file path is correct;
OPen ternimal window, then run the following command:
<pre>
mv xscript xcript-old
git clone https://github.com/geekworm-com/xscript
cd xscript
chmod +x *.sh
./uninstall.sh
</pre>
Then just follow the installation process below.
==OS that has been tested==* Raspbian* DietPi* Manjaro* Ubuntu (Testing based on '''Test safe shutdownUbuntu 23.04''') xoff* myNode* Please run 'xoff' to shut down or press the on-board button switch to shut down. <span style="color:red;">DON'T run the 'shutdown' linux command to shut down, otherwise the power of device will not be shut down.</span>Umbrel* press button switch `1-2` seconds to rebootVolumio* press button switch `3` seconds to safe shutdown,RetroPie* press `7-8` seconds to force shutdown.Twister
'''uninstallNote:''' sudo Not tested with '''Home Assistant''', for some reason, we are not able to upgrade and use the Home Assistant to test, please pay attention to check if there is any update in the future./uninstall(If you have successfully tested Home Assistant, welcome to share your experience via email at: support@geekworm.sh sudo reboot nowcom)
==For ubuntu mate Preconfigured <code>config.txt</ ubuntun desktop / ubuntu servercode>==To install pwm fan, first add <code>dtoverlay=pwm-2chan</code> to <code>/boot/firmware/config.txt</code> or <code>/boot/config.txt</code> under [all] or the end of file and <code>reboot</code>: sudo nano /boot/firmware/config.txtSome OS's config.txt may be in the /boot/ directory, so that you need to run the following command: sudo nano /boot/config.txtUsing <code>ls /boot/firmware/config.txt</code> you can check if the file is in the /boot/firmware/ directory
Test this script based on Save & exit. sudo rebootPS: Only appending to the following OS:* ubuntu-22.04.1-preinstalled-desktop-arm64+raspi.imglast line not replace.xz
'''===Install'''gpiod package=== sudo apt install -y gpiod
==Download the script==
<pre>
cd ~sudo apt-get updatesudo apt-get upgrade -ysudo apt-get install -y git i2c-tools wiringpi python3-setuptools python3-distutils python3-rpi.gpio python3-smbus git clone https://github.com/geekworm-com/xscript.git
cd xscript
sudo chmod +x *.sh rc.localsudo cp -f ./pwr.sh /etc/pwr.shsudo cp -f ./softsd.sh /usr/local/bin/softsd.sh #Enable rc.localsudo cp -f ./rc.local /etc/rc.local sudo sed -i '$ i /etc/pwr.sh &' /etc/rc.local echo "alias xoff='sudo /usr/local/bin/softsd.sh'" >> ~/.bashrc sudo reboot now
</pre>
'''PS''': For some OS such as ''Raspberry Pi OS Lite'', the '''''git''''' tool is not installed by default, if you get an error like ''error: -bash: git: command not found'', please run the following command to install the git tool.
sudo apt install -y git
==Create the x-c1-fan service==<span class="tb_red_bold"> Note: If your device does not support pwm fans or you are not using pwm, you find the following information when executing the above command:can skip this step</span>
'''''0 upgraded, 0 newly installed, 0 Run the following command to remove and 0 not upgradedinstall fan service script; sudo ./install-fan-service.shThen the pwm fan starts running.'''''
Please ignore it, it just means that your OS already contains these software, nothing more==Create the x-c1-pwr service== sudo ./install-pwr-service.sh
If reboot fails, please force ==Prepair software shutdown or power off and restartscript== sudo ./install-sss.sh
After the installation is complete, an <code>xoff</code> command will be created to shut down the software.Then you can run <code>xoff</code> to execute software shutdown.
''' PWM fan control''' (This is optional)==Uninstall==Run the following command to uninstall all. sudo ./uninstall.sh
PS: You can ignore this step if you don't use the 3-Pin PWM fan to cool the CM4. In fact, the [[C235]] passive cooler can provide enough cooling capacity, and you can also avoid the trouble of fan noise, it is included in [[NASPi CM4-M2]] and [[NASPi CM4-2.5]] Run the below command to get the fan running. python3 /home/geekworm/xscript/fan-rpi.py&==Test safe shutdown==NOTE: You need change the 'geekworm' to your username; But when you reboot the device, the PWM fans won't run unless you run the above Software safe shutdown command again,  There are '''serveral methods''' to enable fan run after the device reboots1. Create a crontab job, place the command 'python3 /home/geekworm/xscript/fan-rpi.py&' into the crontab, refer to [[How to add crontab job]]. 2. Place the running command into the /etc/rc.local file, you can run the following command: sudo sed -i '$ i python3 /home/geekworm/xscript/fan-rpi.py&' /etc/rc.local NOTE: You need change the 'geekworm' to your username; '''Test safe shutdown'''
xoff
* Please run 'xoff' to shut down or press the on-board button switch to shut down. <span styleclass="color:red;tb_red">DON'T run the 'shutdown' linux command to shut down, otherwise the power of device shield will not be shut down.</span>* press button switch `1-2` seconds to reboot* press button switch `3` seconds to safe shutdown,* press `7-8` seconds to force shutdown. '''uninstall''' sudo ./uninstall.sh sudo reboot now == For DietPi==* [https://dietpi.com/#download DietPi_RPi-ARMv8-Bullseye.7z] '''Install'''
login via teminal window, the default user name is `root`, password is `dietpi`, then run the following command'''Hardware safe shutdown operation''':<pre>cd ~sudo apt-get updatesudo apt-get -y upgradesudo apt-get -y install git i2c-tools python3 python3-smbus python3-rpi.gpio
git clone https:You can verify the safety switch through the onboard switch, press and hold the switch for <code>3</code> seconds, then the blue LED will flash slowly and the shutdown is going then all LEDs will be off until the device is completely powered off.* press on-board button switch <code>1-2</github.comcode> seconds to reboot* press button switch <code>3</geekwormcode> seconds to safe shutdown,* press <code>7-com8</xscriptcode> seconds to force shutdown.git
cd xscript==Sample==sudo chmod +#The code for fan speed control is now in the <code>x *.sh rc.localsudo cp -f ./pwr.sh /etc/pwr.shsudo cp c1-f ./softsdfan.sh </usr/local/bin/softsd.sh sudo cp -f ./rc.local /etc/rc.local sudo sed -i '$ i /etc/pwr.sh &' /etc/rc.localecho "alias xoff='sudo /usr/local/bin/softsd.sh'" code>> ~/file.bashrc sudo reboot now#</precode''' PWM fan control''' (This is optional) PS: You can ignore this step if you don't use the 3-Pin PWM fan to cool the CM4rpi. In fact, the [[C235]] passive cooler can provide enough cooling capacity, py</code> and you can also avoid the trouble of <code>fan noise, it is included in [[NASPi CM4-M2]] and [[NASPi CM4-2.5]] Run the below command to get the fan running. python3 /root/xscript/fan-rpipigpio.py&But when you reboot the device, the PWM fans won't run unless you run the above command again, so you need to create a crontab job to keep the fans running when the device reboots, Please refer to [[How to add crontab job]].  '''Test safe shutdown''' xoff* Please run 'xoff' to shut down or press the on-board button switch to shut down. <span style="color:red;">DON'T run the 'shutdown' linux command to shut down, otherwise the power of device will not be shut down.</spancode>* press button switch `1-2` seconds to reboot* press button switch `3` seconds to safe shutdownare no longer used,* press `7-8` seconds to force shutdownand are reserved here for research and use by python lovers only'''uninstall''' sudo ./uninstall.sh sudo reboot now
==For ManjaroSupport==Test this script base on the following OSEmail:* [https://manjaro.org Manjaro-ARM-gnome-rpi4-23.02.imgsupport@geekworm.xz]com
===Install===If you have any problems during use, please contact us by email and tell us the product model you are using and the OS version you are using.
'''Update system & install dependent packages'''==FAQ== cd ~<html> sudo pacman -Syyu<details> sudo pacman -S python python-setuptools<summary>Q: How to login <b>volumio</b> via SSH?</summary><p>1. Enable SSH:</p><p>Visit http://volumio.local/dev/, then click <b>ENABLE SSH</b> button</p><p>2. URL connection is IP address, and the default user name is <b>volumio</b>, default password is <b>volumio</b></p></details>
'''Install RPi<details><summary>Q: How to login to <b>Umbrel</b> via SSH?</summary>A: ssh umbrel@umbrel.GPIO Python Library'''local (or ssh umbrel@<IP address of your Umbrel>). the default user name is <b>umbrel</b>, default password is <b>moneyprintergobrrr</b></details>
The script that the fan runs depends on the RPi.GPIO Python library. Since this OS does not include this package by default, we need <details><summary>Q: How to install it manually.login to <b>myNode</b> via SSH?</summary>
Refer to [[How to Install RPi.GPIO Python Library]]A: URL connection is IP address, and you need use the ''''Method 2 – Manual Installation''''default user name is <b>admin</b>, default password is <b>bolt</b></details>
'''Download script'''<details> cd ~ git clone https<summary>Q:How to login to <b>DietPi</b> via SSH?</github.com/geekworm-com/xscript.gitsummary>
If A: URL connection is IP address, and the current OS does not include the git tooldefault user name is <b>root</b>, then you need to use the following command to install it firstlydefault password is <b>dietpi</b> sudo pacman -S git</details>
'''Install script'''<details> cd ~<summary>Q: Is <b>LibreELEC</xscript sudo chmod +x *.sh rc.local sudo cp -f ./pwr.sh /etc/pwr.sh sudo cp -f ./softsd.sh /usr/local/binb> supported?</softsd.shsummary>
'''Enable rc.local service'''A: TODO sudo cp -f .</rc.local /etc/rc.local sudo cp rc.local.service /lib/systemd/system sudo systemctl enable rc.localdetails>
sudo sed -i '$ i </etc/pwr.sh &' /etc/rc.local sudo sed -i '$ i sudo python3 ~/xscript/fan-rpi.py &' /etc/rc.localhtml>
'''Create a alias xoff'''
echo "alias xoff='sudo /usr/local/bin/softsd.sh'" >> ~/.bashrc
Then reboot the device
sudo reboot now