-

XScript: Difference between revisions

From Geekworm Wiki
Jump to navigation Jump to search
Replace <comments/> with <comment-streams />
Replace <comments/> with <comment-streams />
Line 182: Line 182:


<!--Add review function! -->
<!--Add review function! -->
<comment-streams />
<comment-streams id="main" />


<!--Please choose the  -->
<!--Please choose the  -->

Revision as of 10:14, 27 May 2026


This is script installation tutorial for NASPi, NASPi Gemini 2.5, NASPi CM4-M2 and NASPi CM4-2.5

This script also works on bookworm OS, and test it on Jan. 9th 2024.

The original key pwm fan control script is from pimlie/geekworm-x-c1, pimlie implements the pwm fan shell script, which does not depend on third-party python libraries at all. Thanks to pimlie.


Now 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.

After your system boots, then you need to open Terminal prpgram, then type the following command to complete the installation of the script


[Update]

1. NASPi series does not support Raspberry Pi 5 hardwared due to different hardware interface.

2. Use gpiod instead of obsolete interface, and supports ubuntu 23.04 also

3. The script now supports the Raspberry Pi OS Trixie and BOOKWORM version. You just need to uninstall the original script and reinstall it. Please refer to the following:

OPen ternimal window, then run the following command:

mv xscript xcript-old
git clone https://github.com/geekworm-com/xscript
cd xscript
chmod +x *.sh
./uninstall.sh

Then just follow the installation process below.

OS that has been tested

  • Raspbian
  • DietPi
  • Manjaro
  • Ubuntu (Testing based on Ubuntu 23.04)
  • myNode
  • Umbrel
  • Volumio
  • RetroPie
  • Twister

Note: 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.(If you have successfully tested Home Assistant, welcome to share your experience via email at: support@geekworm.com)

Preconfigured config.txt

To install pwm fan, first add dtoverlay=pwm-2chan to /boot/firmware/config.txt or /boot/config.txt under [all] or the end of file and reboot:

sudo nano /boot/firmware/config.txt

Some OS's config.txt may be in the /boot/ directory, so that you need to run the following command:

sudo nano /boot/config.txt

Using ls /boot/firmware/config.txt you can check if the file is in the /boot/firmware/ directory

Save & exit.

sudo reboot

PS: Only appending to the last line not replace.

Install gpiod package

sudo apt install -y gpiod bc

PS: The reason for installing the bc command is because we use the bc command in the fan script file to obtain the CPU temperature

Download the script

Clone pruduct software script if use the last Trixie OS, please adhere to capitalization.

git clone -b trixie https://github.com/geekworm-com/xscript.git

Please use the following command to get the software script if you are using BOOKWORM OS

git clone https://github.com/geekworm-com/xscript.git

PS: Run the following command to view OS information:

pi@geekworm:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 13 (trixie)
Release:	13
Codename:	trixie

The above last line "Codename" indicates that the current system is Trixie OS.

Then set executable permissions for script files with the following command:

cd xscript
chmod +x *.sh

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

Note: If your device does not support pwm fans or you are not using pwm, you can skip this step

Run the following command to install fan service script;

sudo ./install-fan-service.sh

Then the pwm fan starts running.

Create the x-c1-pwr service

sudo ./install-pwr-service.sh

Create alias 'xoff' command to execute safe shutdown

1. Prepaid the xSoft.sh command

sudo cp -f ./xSoft.sh                /usr/local/bin/

2. Then run the following command to create a alias xoff command

echo "alias xoff='sudo /usr/local/bin/xSoft.sh 0 27'" >>   ~/.bashrc

3. Run the following command to make the alias xoff effective

source ~/.bashrc

After the installation is complete, an xoff command will be created to shut down the software.Then you can run xoff to execute software shutdown.

Uninstall

Run the following command to uninstall all.

sudo ./uninstall.sh

Test safe shutdown

Software safe shutdown command:

xoff

DON'T run the 'shutdown' linux command to shut down, otherwise the power of shield will not be shut down.

Hardware safe shutdown operation:

You can verify the safety switch through the onboard switch, press and hold the switch for 3 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 1-2 seconds to reboot
  • press button switch 3 seconds to safe shutdown,
  • press 7-8 seconds to force shutdown.

Sample

  1. The code for fan speed control is now in the x-c1-fan.sh file.
  2. fan-rpi.py and fan-pigpio.py are no longer used, and are reserved here for research and use by python lovers only.

Support

Email: support@geekworm.com

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.

FAQ

Q: How to login volumio via SSH?

1. Enable SSH:

Visit http://volumio.local/dev/, then click ENABLE SSH button

2. URL connection is IP address, and the default user name is volumio, default password is volumio

Q: How to login to Umbrel via SSH? A: ssh umbrel@umbrel.local (or ssh umbrel@). the default user name is umbrel, default password is moneyprintergobrrr
Q: How to login to myNode via SSH? A: URL connection is IP address, and the default user name is admin, default password is bolt
Q: How to login to DietPi via SSH? A: URL connection is IP address, and the default user name is root, default password is dietpi
Q: Is LibreELEC supported? A: TODO
Q:Why is my replaced PWM fan running at full speed and unresponsive to script control? A: The PWM 4010 fan for NASPi uses the yellow wire for PWM signal transmission, while most regular PWM fans typically use the blue wire for this signal. Please refer to the below photo of the fan port interface definition of X-C1 adapter:
red cable = 5V
black cable = GND
yellow cable = for PWM signal
If you encounter such issues, please check if this wiring difference is the cause.

X-C1 Fan