APC SmartUPS 620
APC SmartUPS 620
Имеется в наличие старенький SU620INET https://www.apc.com/shop/ru/ru/products ... -SU620INET
Подходит батарея типоразмера GP1212 с клеммами F2, штатная APC RBC4
Вот такой проработал 3 года (2018-2021) https://www.h-energy.ru/wbr-gp-12120/
Чтобы управлять им или просто мониторить, нужен кабель 940-0024C https://pinoutguide.com/UPS/apc_smart_cable.shtml
много букв http://www.apcupsd.com/manual/manual.html#cables
https://wiki.it-kb.ru/apc/apc-smart-bac ... -940-1524c
https://www.sql.ru/forum/1020465/raspin ... ps-sc1500i
Балансировка через терминал:
https://www.linux.org.ru/forum/general/13319893
Балансировка через софт:
https://www.drive2.ru/b/2580332/
https://www.youtube.com/watch?v=UD9OXgjuMUY
APC Part# - 940-0024C
DB9F Signal Computer | UPS DB9M
RxD 2 -------------------- 2 TxD Send
TxD 3 -------------------- 1 RxD Receive
DCD 1 --*
|
DTR 4 --*
GND 5 -------------------- 9 Ground
RTS 7 --*
|
CTS 8 --*
http://www.apcupsd.org/manual/#id40
940-0024C Cable Wiring
Supported Models: SmartUPS (all models with DB9 serial port)
If you wish to build the standard cable furnished by APC (940-0024C), use the following diagram.
APC Part# - 940-0024C
Signal Computer UPS
DB9F DB9M
RxD 2 -------------------- 2 TxD Send
TxD 3 -------------------- 1 RxD Receive
DCD 1 --*
|
DTR 4 --*
GND 5 -------------------- 9 Ground
RTS 7 --*
|
CTS 8 --*
https://diylazy.wordpress.com/2021/04/18/apc-usb-v2/
Подходит батарея типоразмера GP1212 с клеммами F2, штатная APC RBC4
Вот такой проработал 3 года (2018-2021) https://www.h-energy.ru/wbr-gp-12120/
Чтобы управлять им или просто мониторить, нужен кабель 940-0024C https://pinoutguide.com/UPS/apc_smart_cable.shtml
много букв http://www.apcupsd.com/manual/manual.html#cables
https://wiki.it-kb.ru/apc/apc-smart-bac ... -940-1524c
https://www.sql.ru/forum/1020465/raspin ... ps-sc1500i
Балансировка через терминал:
https://www.linux.org.ru/forum/general/13319893
Балансировка через софт:
https://www.drive2.ru/b/2580332/
https://www.youtube.com/watch?v=UD9OXgjuMUY
APC Part# - 940-0024C
DB9F Signal Computer | UPS DB9M
RxD 2 -------------------- 2 TxD Send
TxD 3 -------------------- 1 RxD Receive
DCD 1 --*
|
DTR 4 --*
GND 5 -------------------- 9 Ground
RTS 7 --*
|
CTS 8 --*
http://www.apcupsd.org/manual/#id40
940-0024C Cable Wiring
Supported Models: SmartUPS (all models with DB9 serial port)
If you wish to build the standard cable furnished by APC (940-0024C), use the following diagram.
APC Part# - 940-0024C
Signal Computer UPS
DB9F DB9M
RxD 2 -------------------- 2 TxD Send
TxD 3 -------------------- 1 RxD Receive
DCD 1 --*
|
DTR 4 --*
GND 5 -------------------- 9 Ground
RTS 7 --*
|
CTS 8 --*
https://diylazy.wordpress.com/2021/04/18/apc-usb-v2/
Re: APC SmartUPS 620
Покупается:
разъем DB9 d-sub (папа) https://aliexpress.ru/item/32840116177.html
преобразователь USB в RS232 (например на чипе CP2102) https://aliexpress.ru/item/4000039854906.html
кабель на три жилы, у меня уже был.
На преобразователе уровней настраиваем работу для USB в RS232.
https://mysku.club/blog/aliexpress/73691.html Подключаем следующие контакты UPS к преобразователю:
CP2102 | UPS DB9M
RxD | 2 (TxD Send)
TxD | 1 (RxD Receive)
GND | 9 (Ground)
Подключаем DB9M в UPS и преобразователь в компьютер, открываем на компьютере терминалку и на скорости 2400 отправляем символ Y, должно вернуться от UPS символы SM:
https://blog.lexa.ru/2021/03/19/o_kalib ... iya_3.html
В терминале при подключении с 2400 8N1 и отправкой символа Y должен отвечать SM
Если не возвращается, то меняем RxD и TxD местами.
Если все просто успешно, то можно настраивать работы с сервером и HA:
Устанавливаем apcupsd как описано тут:
https://netlly.ru/monitoring-apc-ups/
В конфиге меняем в начале только:
sudo nano /etc/apcupsd/apcupsd.conf
UPSCABLE 940-0024C
UPSTYPE apcsmart
DEVICE /dev/ttyUSB0
какой порт подставить вместо /dev/ttyUSB0 можно посмотреть командой
Перезапускаем apcupsd и проверяем статус:
sudo /etc/init.d/apcupsd restart
Если все работает, то конмада apcaccess должна отдавать примерно такую информацию:
разъем DB9 d-sub (папа) https://aliexpress.ru/item/32840116177.html
преобразователь USB в RS232 (например на чипе CP2102) https://aliexpress.ru/item/4000039854906.html
кабель на три жилы, у меня уже был.
На преобразователе уровней настраиваем работу для USB в RS232.
https://mysku.club/blog/aliexpress/73691.html Подключаем следующие контакты UPS к преобразователю:
CP2102 | UPS DB9M
RxD | 2 (TxD Send)
TxD | 1 (RxD Receive)
GND | 9 (Ground)
Подключаем DB9M в UPS и преобразователь в компьютер, открываем на компьютере терминалку и на скорости 2400 отправляем символ Y, должно вернуться от UPS символы SM:
https://blog.lexa.ru/2021/03/19/o_kalib ... iya_3.html
В терминале при подключении с 2400 8N1 и отправкой символа Y должен отвечать SM
Если не возвращается, то меняем RxD и TxD местами.
Если все просто успешно, то можно настраивать работы с сервером и HA:
Устанавливаем apcupsd как описано тут:
https://netlly.ru/monitoring-apc-ups/
В конфиге меняем в начале только:
sudo nano /etc/apcupsd/apcupsd.conf
UPSCABLE 940-0024C
UPSTYPE apcsmart
DEVICE /dev/ttyUSB0
какой порт подставить вместо /dev/ttyUSB0 можно посмотреть командой
Код: Выделить всё
find /sys/bus/usb/devices/usb*/ -name dev
или скриптом:/sys/bus/usb/devices/usb1/dev
/sys/bus/usb/devices/usb1/1-6/1-6:1.0/host6/target6:0:0/6:0:0:0/scsi_generic/sg3/dev
/sys/bus/usb/devices/usb1/1-6/1-6:1.0/host6/target6:0:0/6:0:0:0/block/sdc/dev
/sys/bus/usb/devices/usb1/1-6/1-6:1.0/host6/target6:0:0/6:0:0:0/block/sdc/sdc1/dev
/sys/bus/usb/devices/usb1/1-6/1-6:1.0/host6/target6:0:0/6:0:0:0/bsg/6:0:0:0/dev
/sys/bus/usb/devices/usb1/1-6/dev
/sys/bus/usb/devices/usb2/dev
/sys/bus/usb/devices/usb3/3-2/dev
/sys/bus/usb/devices/usb3/3-2/3-2:1.0/ttyUSB1/tty/ttyUSB1/dev
/sys/bus/usb/devices/usb3/dev
/sys/bus/usb/devices/usb3/3-3/3-3:1.0/0003:04D9:1702.0001/input/input1/event0/dev
/sys/bus/usb/devices/usb3/3-3/3-3:1.0/0003:04D9:1702.0001/hidraw/hidraw0/dev
/sys/bus/usb/devices/usb3/3-3/dev
/sys/bus/usb/devices/usb3/3-3/3-3:1.1/0003:04D9:1702.0002/input/input3/event2/dev
/sys/bus/usb/devices/usb3/3-3/3-3:1.1/0003:04D9:1702.0002/input/input2/event1/dev
/sys/bus/usb/devices/usb3/3-3/3-3:1.1/0003:04D9:1702.0002/hidraw/hidraw1/dev
/sys/bus/usb/devices/usb3/3-1/dev
/sys/bus/usb/devices/usb4/dev
/sys/bus/usb/devices/usb4/4-1/4-1:1.1/usbmisc/hiddev0/dev
/sys/bus/usb/devices/usb4/4-1/4-1:1.1/0003:046D:C048.0004/input/input5/event4/dev
/sys/bus/usb/devices/usb4/4-1/4-1:1.1/0003:046D:C048.0004/input/input6/event5/dev
/sys/bus/usb/devices/usb4/4-1/4-1:1.1/0003:046D:C048.0004/hidraw/hidraw3/dev
/sys/bus/usb/devices/usb4/4-1/dev
/sys/bus/usb/devices/usb4/4-1/4-1:1.0/0003:046D:C048.0003/input/input4/event3/dev
/sys/bus/usb/devices/usb4/4-1/4-1:1.0/0003:046D:C048.0003/input/input4/mouse0/dev
/sys/bus/usb/devices/usb4/4-1/4-1:1.0/0003:046D:C048.0003/hidraw/hidraw2/dev
/sys/bus/usb/devices/usb5/dev
/sys/bus/usb/devices/usb6/dev
/sys/bus/usb/devices/usb6/6-2/dev
/sys/bus/usb/devices/usb6/6-2/6-2:1.0/ttyUSB0/tty/ttyUSB0/dev
/sys/bus/usb/devices/usb7/dev
Код: Выделить всё
#!/bin/bash
#findusbdev.sh
if [[ "$1" =~ ^(-h|--help)$ ]]; then
echo "Find which USB devices are associated with which /dev/ nodes
Usage:
$0 [-h|--help] [searchString]
-h | --help Prints this message
searchString Print only /dev/<device> of matching output
With no arguments $0 prints information for all
possible USB device nodes
E.g. $0 \"FTDI_FT232\" - will show /dev/ttyUSBX for a device using
the FTDI FT232 chipset.
"
exit 0
fi
devs=$( (
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev ); do
# ( to launch a subshell here
(
syspath="${sysdevpath%/dev}"
devname="$(udevadm info -q name -p $syspath)"
[[ "$devname" == "bus/"* ]] && exit
eval "$(udevadm info -q property --export -p $syspath)"
[[ -z "$ID_SERIAL" ]] && exit
echo "/dev/$devname - $ID_SERIAL"
)& # & here is causing all of these queries to run simultaneously
done
# wait then gives a chance for all of the iterations to complete
wait
# output order is random due to multiprocessing so sort results
) | sort )
if [ -z "$1" ]; then
echo "${devs}"
else
echo "${devs}" | grep "$1" | awk '{print $1}'
fi
https://www.home-assistant.io/integrations/apcupsd//dev/input/event0 - _USB_Keyboard
/dev/input/event1 - _USB_Keyboard
/dev/input/event2 - _USB_Keyboard
/dev/input/event3 - Logitech_G9_Laser_Mouse_B29A64C23A0029
/dev/input/event4 - Logitech_G9_Laser_Mouse_B29A64C23A0029
/dev/input/event5 - Logitech_G9_Laser_Mouse_B29A64C23A0029
/dev/input/mouse0 - Logitech_G9_Laser_Mouse_B29A64C23A0029
/dev/sdc1 - Hitachi_HTS543232L9A300_Hitachi_HT090714FBC400CEGMSSXA-0:0
/dev/sdc - Hitachi_HTS543232L9A300_Hitachi_HT090714FBC400CEGMSSXA-0:0
/dev/ttyUSB0 - Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001
/dev/ttyUSB1 - 1a86_USB2.0-Serial
Перезапускаем apcupsd и проверяем статус:
sudo /etc/init.d/apcupsd restart
/etc/init.d/apcupsd statusRestarting apcupsd (via systemctl): apcupsd.service.
Если вылезают ошибки, то смотрим на причину, обычно это проблемы с комуникацией между UPS и преобразователем. Решается перетыканием самого преобразователя или сменой порта. Наприме при обновлении пакетов на debian 10, поменялся сам порт у usb.● apcupsd.service - UPS power management daemon
Loaded: loaded (/lib/systemd/system/apcupsd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-01-06 13:29:04 MSK; 29s ago
Docs: man:apcupsd(8)
Process: 8660 ExecStartPre=/lib/apcupsd/prestart (code=exited, status=0/SUCCESS)
Process: 8664 ExecStart=/sbin/apcupsd (code=exited, status=0/SUCCESS)
Main PID: 8665 (apcupsd)
Tasks: 3 (limit: 4594)
Memory: 932.0K
CGroup: /system.slice/apcupsd.service
└─8665 /sbin/apcupsd
янв 06 13:29:04 debian systemd[1]: Starting UPS power management daemon...
янв 06 13:29:04 debian systemd[1]: apcupsd.service: Can't open PID file /run/apcupsd.pid (yet?) after start: Operation not permitted
янв 06 13:29:04 debian apcupsd[8665]: apcupsd 3.14.14 (31 May 2016) debian startup succeeded
янв 06 13:29:04 debian apcupsd[8665]: NIS server startup succeeded
янв 06 13:29:04 debian systemd[1]: Started UPS power management daemon.
Если все работает, то конмада apcaccess должна отдавать примерно такую информацию:
APC : 001,048,1099
DATE : 2023-01-06 13:31:17 +0300
HOSTNAME : debian
VERSION : 3.14.14 (31 May 2016) debian
UPSNAME : UPS_IDEN
CABLE : Custom Cable Smart
DRIVER : APC Smart UPS (any)
UPSMODE : Stand Alone
STARTTIME: 2023-01-06 13:29:04 +0300
MODEL : Smart-UPS 620
STATUS : ONLINE
LINEV : 226.0 Volts
LOADPCT : 42.9 Percent
BCHARGE : 100.0 Percent
TIMELEFT : 19.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
MAXLINEV : 226.0 Volts
MINLINEV : 221.7 Volts
OUTPUTV : 226.0 Volts
SENSE : High
DWAKE : 0 Seconds
DSHUTD : 180 Seconds
DLOWBATT : 2 Minutes
LOTRANS : 208.0 Volts
HITRANS : 253.0 Volts
RETPCT : 15.0 Percent
ALARMDEL : No alarm
BATTV : 13.6 Volts
LINEFREQ : 50.0 Hz
LASTXFER : Line voltage notch or spike
NUMXFERS : 0
TONBATT : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
SELFTEST : NO
STESTI : 336
STATFLAG : 0x05000008
REG1 : 0x00
REG2 : 0x00
REG3 : 0x00
MANDATE : 05/07/02
SERIALNO : QS0219140569
BATTDATE : 05/07/02
NOMOUTV : 230 Volts
NOMBATTV : 12.0 Volts
FIRMWARE : 22.6.I
END APC : 2023-01-06 13:31:40 +0300
Re: APC SmartUPS 620
Т.к. самому UPS уже более 10 лет, то обязательно нужно перепаять конденсаторы в плате управление:
https://forum.ixbt.com/topic.cgi?id=49:12150-8
Был похожий дефект SU620INET плата 640-0232H REV 08 оказались неисправны конденсаторы C30 22mF (потеря номинала до 8mF) C31 22mF (потеря наминала до 3mF)."
https://www.youtube.com/watch?v=4NVGfpMS8ww
замена С38 и С35
Замена 22 мкФ 16В.
http://apc-fix.com/forums?m=posts&q=116
можно поиграться напряжением зарядки, должно быть менее 13.9 В попробуйте с R67=2.2к, R66 "поиграться".
Схема http://archive.espec.ws/redirect.php?dlid=29373
У меня плата: 640-0232J REV09
U4
360-2002B
Кабель до АКБ 10AWG
https://forum.ixbt.com/topic.cgi?id=49:12150-8
Был похожий дефект SU620INET плата 640-0232H REV 08 оказались неисправны конденсаторы C30 22mF (потеря номинала до 8mF) C31 22mF (потеря наминала до 3mF)."
https://www.youtube.com/watch?v=4NVGfpMS8ww
замена С38 и С35
Замена 22 мкФ 16В.
http://apc-fix.com/forums?m=posts&q=116
можно поиграться напряжением зарядки, должно быть менее 13.9 В попробуйте с R67=2.2к, R66 "поиграться".
Схема http://archive.espec.ws/redirect.php?dlid=29373
У меня плата: 640-0232J REV09
U4
360-2002B
Кабель до АКБ 10AWG
Re: APC SmartUPS 620
Калибровка АКБ программно: https://www.linux.org.ru/forum/general/13319893
1. проверяем что apcupsd живой и подключение к УПС рабочее:
2. останавливаем apcupsd
3. запускаем apctest и дальше всё делается в нем:
4. Cбросить регистр «Коэффициент емкости батарей», для этого в apctest жмем "6) Enter TTY mode communicating with UPS" потом Shift+Y, в ответ будет SM, жмем 0
выведется значение регистра, у меня было 042
нужно увеличить его, для этого надо зайти в режим программирования:
(если не делали первые пункты, то сначала жмем Shift+Y, в ответ будет SM)
Жмем 1 через две секунды еще раз 1, выведется PROG (с первого раза может не получится, пробуем еще раз нажимать 1 .. 1), вошли в режим программирования.
Жмем 0 выведется текущее значение «Коэффициента емкости батарей»
далее жмем "+" чтобы увеличить это значение, я увеличил до 9A, соответственно чтобы уменьшить, жмем -
затем Shift+R
проверяем записалось ли значение
Shift+Y
0
выведется значение
выходим Esc
5. Итого вернулись в основное меню и теперь нужно запустить калибровку (предварительно нагрузив бесперебойник на 30-45%), для этого выбираем пункт "2) Perform a Battery Runtime Calibration"
6. Проверяем коэффициент емкости в меню "6) Enter TTY mode communicating with UPS"
Shift+Y
0
выведется значение
Esc
Коэффициент поменялся с 9A на A2, значит колибровка прошла.
В результате УПС даже не выключался, видимо мониторил напряжение на акб и вышел из калибровки по нижнему пределу напряжения акб.
7. выходим из apctest
8. запускаем apcupsd
Готово!
1. проверяем что apcupsd живой и подключение к УПС рабочее:
Код: Выделить всё
mike@debian:~$ sudo /etc/init.d/apcupsd status
[sudo] пароль для mike:
● apcupsd.service - UPS power management daemon
Loaded: loaded (/lib/systemd/system/apcupsd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2023-06-18 16:59:07 MSK; 5 days ago
Docs: man:apcupsd(8)
Main PID: 558 (apcupsd)
Tasks: 3 (limit: 4594)
Memory: 1.0M
CGroup: /system.slice/apcupsd.service
└─558 /sbin/apcupsd
июн 18 16:59:07 debian systemd[1]: Starting UPS power management daemon...
июн 18 16:59:07 debian systemd[1]: apcupsd.service: Can't open PID file /run/apcupsd.pid (yet?) after start: Operation not permitted
июн 18 16:59:07 debian apcupsd[558]: apcupsd 3.14.14 (31 May 2016) debian startup succeeded
июн 18 16:59:07 debian systemd[1]: Started UPS power management daemon.
июн 18 16:59:07 debian apcupsd[558]: NIS server startup succeeded
mike@debian:~$
Код: Выделить всё
mike@debian:~$ sudo /etc/init.d/apcupsd stop
Stopping apcupsd (via systemctl): apcupsd.service.
mike@debian:~$
Код: Выделить всё
mike@debian:~$ sudo apctest
2023-06-23 18:17:35 apctest 3.14.14 (31 May 2016) debian
Checking configuration ...
sharenet.type = Network & ShareUPS Disabled
cable.type = Custom Cable Smart
mode.type = APC Smart UPS (any)
Setting up the port ...
Doing prep_device() ...
You are using a SMART cable type, so I'm entering SMART test mode
Hello, this is the apcupsd Cable Test program.
This part of apctest is for testing Smart UPSes.
Please select the function you want to perform.
1) Query the UPS for all known values
2) Perform a Battery Runtime Calibration
3) Abort Battery Calibration
4) Monitor Battery Calibration progress
5) Program EEPROM
6) Enter TTY mode communicating with UPS
Q) Quit
Select function number:
выведется значение регистра, у меня было 042
Код: Выделить всё
Select function number: 6
Enter an ESC character (or ctl-[) to exit.
YSM
042
(если не делали первые пункты, то сначала жмем Shift+Y, в ответ будет SM)
Жмем 1 через две секунды еще раз 1, выведется PROG (с первого раза может не получится, пробуем еще раз нажимать 1 .. 1), вошли в режим программирования.
Жмем 0 выведется текущее значение «Коэффициента емкости батарей»
далее жмем "+" чтобы увеличить это значение, я увеличил до 9A, соответственно чтобы уменьшить, жмем -
затем Shift+R
проверяем записалось ли значение
Shift+Y
0
выведется значение
выходим Esc
Код: Выделить всё
11PROG
042
+43
+44
+45
+46
+47
+48
...
+98
+99
+9A
RBYE
YSM
09A
^[
1) Query the UPS for all known values
2) Perform a Battery Runtime Calibration
3) Abort Battery Calibration
4) Monitor Battery Calibration progress
5) Program EEPROM
6) Enter TTY mode communicating with UPS
Q) Quit
Select function number:
Код: Выделить всё
Select function number: 2
First ensure that we have a good link and
that the UPS is functionning normally.
Simulating UPSlinkCheck ...
Wrote: Y Got: SM
Attempting to use smart_poll() ...
Sent: Y Got: SM Good -- smart_poll() works!.
Checking estimated runtime ...
Current runtime is 30 minutes
Checking for battery level ...
Battery level is 100.0 -- OK
The battery calibration should automatically end
when the battery level drops below about 25, depending
on your UPS.
I can also optionally monitor the progress
and stop the calibration if it goes below 10. However,
in the case of a new battery this may prematurely end the
calibration loosing the effect.
Do you want me to stop the calibration
if the battery level goes too low? (y/n): y
Sending Battery Calibration command. ...
UPS has initiated battery calibration.
Monitoring the calibration progress ...
To stop the calibration, enter a return.
Battery charge 96
Remaining runtime is 27 minutes
.....
Battery charge 94
Remaining runtime is 26 minutes
...
.
Battery charge 27
Remaining runtime is 7 minutes
.
Battery charge 25
Remaining runtime is 7 minutes
Battery Runtime Calibration terminated by UPS.
Checking estimated runtime ...
Remaining runtime is 7 minutes
On battery 1573 sec or 26m13s.
1) Query the UPS for all known values
2) Perform a Battery Runtime Calibration
3) Abort Battery Calibration
4) Monitor Battery Calibration progress
5) Program EEPROM
6) Enter TTY mode communicating with UPS
Q) Quit
Select function number:
Shift+Y
0
выведется значение
Esc
Код: Выделить всё
Select function number: 6
Enter an ESC character (or ctl-[) to exit.
YSM
0A2
^[
В результате УПС даже не выключался, видимо мониторил напряжение на акб и вышел из калибровки по нижнему пределу напряжения акб.
7. выходим из apctest
Код: Выделить всё
Select function number: q
2023-06-23 19:35:46 End apctest.
mike@debian:~$
Код: Выделить всё
mike@debian:~$ sudo /etc/init.d/apcupsd start
[sudo] пароль для mike:
Starting apcupsd (via systemctl): apcupsd.service.
mike@debian:~$
Код: Выделить всё
mike@debian:~$ sudo /etc/init.d/apcupsd status
● apcupsd.service - UPS power management daemon
Loaded: loaded (/lib/systemd/system/apcupsd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-06-23 19:36:34 MSK; 24s ago
Docs: man:apcupsd(8)
Process: 962138 ExecStartPre=/lib/apcupsd/prestart (code=exited, status=0/SUCCESS)
Process: 962142 ExecStart=/sbin/apcupsd (code=exited, status=0/SUCCESS)
Main PID: 962143 (apcupsd)
Tasks: 3 (limit: 4594)
Memory: 1.8M
CGroup: /system.slice/apcupsd.service
└─962143 /sbin/apcupsd
июн 23 19:36:34 debian systemd[1]: Starting UPS power management daemon...
июн 23 19:36:34 debian systemd[1]: apcupsd.service: Can't open PID file /run/apcupsd.pid (yet?) after start: Operation not permitted
июн 23 19:36:34 debian apcupsd[962143]: apcupsd 3.14.14 (31 May 2016) debian startup succeeded
июн 23 19:36:34 debian systemd[1]: Started UPS power management daemon.
июн 23 19:36:34 debian apcupsd[962143]: NIS server startup succeeded
mike@debian:~$
Re: APC SmartUPS 620
Через udev фиксируем название порта, чтобы после перезагрузки оно не менялось.
Важно не перевтыкать usb свисток в другой порт, на него настроен линк.
1. находим на каком порте сейчас висит usb свисток c usb-to-rs232, можно применить скрипт выше по теме. у меня он подключился на /dev/ttyUSB1
2. получаем аттрибуты порта для udev:
mike@debian:~$ udevadm info /dev/ttyUSB1
Нам важен параметр с именем подключения:
3. создаем правило в Udev следующей строкой в новом файле /etc/udev/rules.d/CP2102.rules
4. перезагружаем правила и сервер
mike@debian:~$ sudo udevadm control --reload-rules
mike@debian:~$ sudo reboot
5. после загрузки проверяем, что линк создался
Вот так видно, что лин создался успешно /dev/ttyups -> ttyUSB0
6. прописываем в конфиг apcupsd название линка для строки:
mike@debian:~$ sudo nano /etc/apcupsd/apcupsd.conf
7. перезапускаем apcupsd и проверяем что он работает:
Важно не перевтыкать usb свисток в другой порт, на него настроен линк.
1. находим на каком порте сейчас висит usb свисток c usb-to-rs232, можно применить скрипт выше по теме. у меня он подключился на /dev/ttyUSB1
2. получаем аттрибуты порта для udev:
mike@debian:~$ udevadm info /dev/ttyUSB1
Код: Выделить всё
P: /devices/pci0000:00/0000:00:13.1/usb6/6-3/6-3:1.0/ttyUSB1/tty/ttyUSB1
N: ttyUSB1
L: 0
S: serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
S: serial/by-path/pci-0000:00:13.1-usb-0:3:1.0-port0
E: DEVPATH=/devices/pci0000:00/0000:00:13.1/usb6/6-3/6-3:1.0/ttyUSB1/tty/ttyUSB1
E: DEVNAME=/dev/ttyUSB1
E: MAJOR=188
E: MINOR=1
E: SUBSYSTEM=tty
E: USEC_INITIALIZED=4518561
E: ID_BUS=usb
E: ID_VENDOR_ID=10c4
E: ID_MODEL_ID=ea60
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_PCI_INTERFACE_FROM_DATABASE=OHCI
E: ID_VENDOR_FROM_DATABASE=Advanced Micro Devices, Inc. [AMD/ATI]
E: ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller
E: ID_PATH=pci-0000:00:13.1-usb-0:3:1.0
E: ID_PATH_TAG=pci-0000_00_13_1-usb-0_3_1_0
E: ID_VENDOR=Silicon_Labs
E: ID_VENDOR_ENC=Silicon\x20Labs
E: ID_MODEL=CP2102_USB_to_UART_Bridge_Controller
E: ID_MODEL_ENC=CP2102\x20USB\x20to\x20UART\x20Bridge\x20Controller
E: ID_REVISION=0100
E: ID_SERIAL=Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001
E: ID_SERIAL_SHORT=0001
E: ID_TYPE=generic
E: ID_USB_INTERFACES=:ff0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=cp210x
E: ID_MM_CANDIDATE=1
E: DEVLINKS=/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 /dev/serial/by-path/pci-0000:00:13.1-usb-0:3:1.0-port0
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:
mike@debian:~$
Код: Выделить всё
E: ID_PATH=pci-0000:00:13.1-usb-0:3:1.0
Код: Выделить всё
sudo nano /etc/udev/rules.d/CP2102.rules
ACTION=="add", SUBSYSTEMS=="tty", ENV{ID_PATH}=="pci-0000:00:13.1-usb-0:3:1.0", SYMLINK+="ttyups",GROUP="dialout"
mike@debian:~$ sudo udevadm control --reload-rules
mike@debian:~$ sudo reboot
5. после загрузки проверяем, что линк создался
Код: Выделить всё
mike@debian:~$ sudo ls -l /dev/ttyups
lrwxrwxrwx 1 root root 7 июн 11 14:25 /dev/ttyups -> ttyUSB0
mike@debian:~$
6. прописываем в конфиг apcupsd название линка для строки:
mike@debian:~$ sudo nano /etc/apcupsd/apcupsd.conf
Код: Выделить всё
DEVICE /dev/ttyups
Код: Выделить всё
mike@debian:~$ sudo /etc/init.d/apcupsd restart
Restarting apcupsd (via systemctl): apcupsd.service.
mike@debian:~$ sudo /etc/init.d/apcupsd status
● apcupsd.service - UPS power management daemon
Loaded: loaded (/lib/systemd/system/apcupsd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2023-06-11 14:59:14 MSK; 3s ago
Docs: man:apcupsd(8)
Process: 9170 ExecStartPre=/lib/apcupsd/prestart (code=exited, status=0/SUCCESS)
Process: 9174 ExecStart=/sbin/apcupsd (code=exited, status=0/SUCCESS)
Main PID: 9175 (apcupsd)
Tasks: 3 (limit: 4594)
Memory: 1.1M
CGroup: /system.slice/apcupsd.service
└─9175 /sbin/apcupsd
июн 11 14:59:14 debian systemd[1]: Starting UPS power management daemon...
июн 11 14:59:14 debian systemd[1]: apcupsd.service: Can't open PID file /run/apcupsd.pid (yet?) after start: Operation not permitted
июн 11 14:59:14 debian systemd[1]: Started UPS power management daemon.
июн 11 14:59:14 debian apcupsd[9175]: apcupsd 3.14.14 (31 May 2016) debian startup succeeded
июн 11 14:59:14 debian apcupsd[9175]: NIS server startup succeeded
mike@debian:~$