[sisyphus] NUT + Powercom странности...

Alexander Markelov =?iso-8859-1?q?ml_=CE=C1_13=2Enet=2Eru?=
Пт Окт 22 16:21:15 MSD 2004


Доброго времени суток всем.
Умею систему из сизифа + nut

rpm -qa | grep nut-
nut-server-2.0.1-alt0.1
nut-cgi-2.0.1-alt0.1
nut-driver-2.0.1-alt0.1
nut-2.0.1-alt0.1

Так же имеется упс Powercom 625 подключен к Com1.
ls -l /dev/ttyS0
crw-rw----  1 root uucp 4, 64 Окт 22 16:05 /dev/ttyS0

setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
        Baud_base: 115200, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal skip_test
Драйвер powercom не работает в логах пишет следующие:
Oct 22 16:09:29 exit upsdrvctl: Network UPS Tools - UPS driver 
controller 2.0.1-pre4
Oct 22 16:09:29 exit upsdrv: Starting UPS drivers: succeeded
Oct 22 16:09:29 exit powercom[8286]: Startup successful
Oct 22 16:09:32 exit powercom[8286]: data receiving error (-1 instead of 
16 bytes)

cat /etc/nut/ups.conf
[exit]
    driver = powercom
    port = /dev/ttyS0
    desc = "Exit gateway"
    type = KP625AP

При более детально расмотрении выяснилось вот что:
cd /lib/nut
Запуск драйвера с дебагам пишет тоже самое что и в логах:
./powercom -D -D  -u upsdrv -x type=KP625AP /dev/ttyS0

Network UPS Tools - PowerCom and similars protocol UPS driver $ 
Revision: 0.5 $ (2.0.1-pre4)

debug level is '2'
Values of arguments:
 manufacturer            : 'PowerCom'
 model name              : 'Unknown'
 serial number           : 'Unknown'
 line voltage            : '230'
 type                    : 'KP625AP'
 number of bytes from UPS: '16'
 method of flow control  : 'dtr0rts1'
 validation sequence: '{{5,0x80},{7,0},{8,0}}'
 shutdown arguments: '{{0,10},n}'
 frequency calculation coefficients: '{0.000210,0.000209}'
 load percentage calculation coefficients: 
'{6.134300,-0.380800,4.311000,0.181100}'
 battery percentage calculation coefficients: 
'{5.000000,0.326800,-825.000000,4.563900,-835.820007}'
 voltage calculation coefficients: '{0.954500,0.000000}'
DTR => 0, RTS => 1
data receiving error (-1 instead of 16 bytes)
dstate_init: sock /var/lib/upsd/powercom-ttyS0 open on fd 8
data receiving error (-1 instead of 16 bytes)
Signal 2: exiting

Но, о чудо, в процессе игры с "setserial /dev/ttyS0 и параметры" 
выяснилось следующие:
делаем:
setserial /dev/ttyS0 baud_base 115200
(хотя у нас и так baud_base равен 115200)
и после этого запускаем драйвер:
./powercom -D -D  -u upsdrv -x type=KP625AP /dev/ttyS0

Network UPS Tools - PowerCom and similars protocol UPS driver $ 
Revision: 0.5 $ (2.0.1-pre4)

debug level is '2'
Values of arguments:
 manufacturer            : 'PowerCom'
 model name              : 'Unknown'
 serial number           : 'Unknown'
 line voltage            : '230'
 type                    : 'KP625AP'
 number of bytes from UPS: '16'
 method of flow control  : 'dtr0rts1'
 validation sequence: '{{5,0x80},{7,0},{8,0}}'
 shutdown arguments: '{{0,10},n}'
 frequency calculation coefficients: '{0.000210,0.000209}'
 load percentage calculation coefficients: 
'{6.134300,-0.380800,4.311000,0.181100}'
 battery percentage calculation coefficients: 
'{5.000000,0.326800,-825.000000,4.563900,-835.820007}'
 voltage calculation coefficients: '{0.954500,0.000000}'
DTR => 0, RTS => 1
input.frequency: 49.10
output.frequency: 48.60
ups.load: 64.8
battery.charge: (null)
input.voltage: 217.0
output.voltage: 217.0
STATUS: OL
dstate_init: sock /var/lib/upsd/powercom-ttyS0 open on fd 8
data receiving error (-1 instead of 16 bytes)
Signal 2: exiting

Первый опрос проходит удачно, дальше же опять ничего от упса не получаем 
:( И так постоянно после запуска setserial с baud_base именно 115200 
драйвер один раз показывает состояние упса, и потом надо опять запускать 
setserial

Есть идеи, где что покрутить, что бы нормально заработало ?




Подробная информация о списке рассылки Sisyphus