Issue:
How do I install PowerChute Serial Shutdown on Linux to manage a UPS with the SRTD prefix using a USB cable? Selecting ‘USB’ as a cable type doesn’t work.
Product Line:
Smart-UPS models with SKUs that start with SRTD2K2R2, SRTD3KR2, SRTD2K4R2, SRTDBP3KR2, SRTDBP2K4R2.
Environment:
Red Hat Linux, USB connection.
SUSE Linux, USB connection.
Cause:
Smart-UPS models with the SRTD use the Communications Device Class (CDC) Abstract Control Model for serial communication over USB on Linux. This means that when an SRTD UPS is connected using a USB cable on Linux, it will appear as a CDC Serial port. The Serial port will be represented by a ‘ttyACM*’ file under the /dev directory /dev/ttyACM* (for example /dev/ttyACM0). Unlike standard Serial Port descriptors, these ttyACM files will appear and disappear as you connect and disconnect the UPS.
Resolution:
When installing PowerChute Serial Shutdown, you therefore need to select the following options:
| Installer Prompt | Response to Enter | Comments |
| ‘Please select your UPS Model’ | ‘oc’ | OTHER_TYPE_A |
| ‘Cable Type’ | ‘1’ | Serial |
| Select the serial port | 3 | Other |
| Please type in the serial port | /dev/ttyASM* | The CDC port that is created, where * is the port number |
If a /dev/ttyASM* port does not appear when you connect the Smart-UPS over USB, then it is likely the Linux kernel module cdc_acm has not been loaded.
The cdc_acm module provides support for USB devices that use the CDC Abstract Control Model. If this module is not loaded, the Linux Operating System will not create the necessary /dev/ttyACM* device files, and PowerChute Serial Shutdown will not be able to detect or communicate with the UPS.
To ensure proper operation, please verify that the cdc_acm module is loaded:
1- Check if the module is already available
Run the command lsmod | grep cdc_acm
If you see output, the module is already loaded.
2- Load the module manually
Run the command sudo modprobe cdc_acm
3- Ensure the module loads automatically at boot
Add cdc_acm to /etc/modules-load.d/ (for RHEL 7 and newer):
Run the command echo cdc_acm | sudo tee /etc/modules-load.d/cdc_acm.conf
4- If you get "module not found"
Make sure your kernel supports it:
Run the command uname -r
The module should be present in /lib/modules/$(uname -r)/kernel/drivers/usb/class/cdc-acm.ko*
If not, you may need to install the kernel modules package:
Run the command sudo yum install kernel-modules
or update your kernel.
5- Confirm the device is detected.
After plugging in your device and loading the module, you should see /dev/ttyACM0 (or similar) appear.
Released for: Schneider Electric Malaysia
Need help?
Product Selector
Quickly and easily find the right products and accessories for your applications.
Get a Quote
Start your sales enquiry online and an expert will connect with you.
Where to buy?
Easily find the nearest Schneider Electric distributor in your location.
Help Centre
Find support resources for all your needs, in one place.