PDA

Bekijk de volledige versie : Управление UPS при помощи apcupsd и nut



Contemplator
07-02-2008, 14:16
Почитал про NUT -грандиозный проект. А кто-нибудь пытался портировать NUT?

Купил APC Back-UPS CS 500VA, BK500EI подключил к роутеру по USB:

Feb 7 19:15:58 kernel: hub.c: new USB device 01:03.0-2, assigned address 3
Feb 7 19:15:58 kernel: usb.c: USB device 3 (vend/prod 0x51d/0x2) is not claimed by any active driver.

понимаю что надо сделать insmod (чего-то там), но в /lib/modules/2.4.20/kernel/drivers/ ничего похожего на UPS не нашел...

angel_il
07-02-2008, 19:05
Почитал про NUT -грандиозный проект. А кто-нибудь пытался портировать NUT?

под рутером не пробовал, на PC наботает превосходно.

Contemplator
07-02-2008, 20:48
Windows распознает данный UPS как HID (Human Interface Devices), вот здесь http://wl500g.info/showpost.php?p=51576&postcount=7 Олег пишет что hiddev уже в ядре, значит истина где-то рядом, подскажите пожалуйста как заставить рутер увидеть ups...

MMike
07-02-2008, 21:32
to Contemplator: смотреть в сторону apcupsd (www.apcupsd.org)


Version: 3.14.2-2
Provides: ups-monitor
Depends: libc6 (>= 2.7-1), libncurses5 (>= 5.6+20071006-3), libsnmp15 (>= 5.4.1~dfsg), libssl0.9.8 (>= 0.9.8f-1), libwrap0
Recommends: apcupsd-doc
Suggests: apcupsd-cgi, hal, udev

Description: APC UPS Power Management (daemon)
apcupsd provides UPS power management for APC products, including most BackUPS
series models (including USB), SmartUPS V/S, SmartUPS (NET/RM), and Matrix
series.
.
It controls and monitors the status of UPS and allows your computer to run for
a specified length of time on UPS power, and then executes a controlled
shutdown in the case of an extended power failure.
Homepage: http://www.apcupsd.com/

пример работы с UPS


~$ apcaccess
APC : 001,043,1051
DATE : Thu Feb 07 23:11:56 MSK 2008
HOSTNAME : #####
RELEASE : 3.14.2
VERSION : 3.14.2 (15 September 2007) debian
UPSNAME : #####
CABLE : USB Cable
MODEL : Back-UPS CS 500
UPSMODE : Stand Alone
STARTTIME: Mon Feb 04 00:33:34 MSK 2008
STATUS : ONLINE
LINEV : 232.0 Volts
LOADPCT : 14.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 51.8 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 6 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 230.0 Volts
SENSE : Medium
DWAKE : 000 Seconds
DSHUTD : 000 Seconds
LOTRANS : 180.0 Volts
HITRANS : 266.0 Volts
RETPCT : 000.0 Percent
ITEMP : 29.2 C Internal
ALARMDEL : Always
BATTV : 13.5 Volts
LINEFREQ : 50.0 Hz
LASTXFER : High line voltage
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : #########
BATTDATE : 2007-03-03
NOMOUTV : 230
NOMINV : 230
NOMBATTV : 12.0
FIRMWARE : 808.q8.I USB FW:q8
APCMODEL : Back-UPS CS 500
END APC : Thu Feb 07 23:11:56 MSK 2008

PS. Но этот вариант только с пробежкой в магазин. Ничего кроме APC не поддерживается ...

Contemplator
07-02-2008, 21:56
MMike, спасибо что откликнулись, так уже сбегал и купил, apcupsd - 3.14.2-2 установил из репозитория Олега, осталась единственная (надеюсь) проблема заставить роутер увидеть ups по usb http://wl500g.info/showpost.php?p=81735&postcount=5

MMike
07-02-2008, 22:37
С "увидинием" вообще ни должно быть проблем...

вот что видно у меня ( lsusb -vv )


Bus 001 Device 003: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x051d American Power Conversion
idProduct 0x0002 Uninterruptible Power Supply
bcdDevice 0.06
iManufacturer 3 American Power Conversion
iProduct 1 Back-UPS CS 500 FW:808.q8.I USB FW:q8
iSerial 2 #######
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 1216
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0006 1x 6 bytes
bInterval 100
Device Status: 0x0001
Self Powered

Если у Вас примерно тоже самое, то правим конфиг:
-------------------------------------------
apcupsd.conf


# UPSCABLE <cable>
# Defines the type of cable connecting the UPS to your computer.
#
# Possible generic choices for <cable> are:
# simple, smart, ether, usb
#
# Or a specific cable model number may be used:
# 940-0119A, 940-0127A, 940-0128A, 940-0020B,
# 940-0020C, 940-0023A, 940-0024B, 940-0024C,
# 940-1524C, 940-0024G, 940-0095A, 940-0095B,
# 940-0095C, M-04-02-2000
#
UPSCABLE usb

# To get apcupsd to work, in addition to defining the cable
# above, you must also define a UPSTYPE, which corresponds to
# the type of UPS you have (see the Description for more details).
# You must also specify a DEVICE, sometimes referred to as a port.
# For USB UPSes, please leave the DEVICE directive blank. For
# other UPS types, you must specify an appropriate port or address.
#
# UPSTYPE DEVICE Description
# apcsmart /dev/tty** Newer serial character device,
# appropriate for SmartUPS models using
# a serial cable (not USB).
#
# usb <BLANK> Most new UPSes are USB. A blank DEVICE
# setting enables autodetection, which is
# the best choice for most installations.

UPSCABLE usb - на память это единственный параметр который нужно установить ... все остальное потом, по мере необходимости ...

1) apctest
2) apcaccess

далее настройки по вкусу

Contemplator
08-02-2008, 00:09
Извините, MMike, но я не совсем понимаю откуда такие длинные логи и что это за команда lsusb -vv, мой UPS подключен к WL500gp с прошивкой WL500gp-1.9.2.7-8.12.trx. Постараюсь объяснить - роутер видит ups но не может сопоставить ему необходимый драйвер, вот что я вижу в /proc/bus/usb/devices:

T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 8 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 0.06
S: Manufacturer=American Power Conversion
S: Product=Back-UPS CS 500 FW:808.q5.I USB FW:q5
S: SerialNumber=BB0521001089
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=100ms

Driver=(none) а на www.apcupsd.org пишут что должно быть Driver=(HID) Apcupsd accesses USB UPSes via the hiddev device nodes.

apcupsd.conf у меня именно так и настроен

MMike
08-02-2008, 10:28
So, сразу не подумал что на асусе нет не udev, ни hal -
как быть в таком случае надо думать.

Contemplator
08-02-2008, 11:00
Задача: подключить UPS фирмы APC с интерфейсом USB. В руководстве на apcupsd сказано что необходим драйвер hiddev.
На текущий момент прошивка WL500gp-1.9.2.7-8.12.trx. вот здесь http://wl500g.info/showpost.php?p=51576&postcount=7 Олег пишет
- Поддержка hiddev в ядре, т.е. откатываться на 1.9.2.7-7g ??? Если нет, то как заставить роутер увидеть UPS? пока что в логе вижу:


Feb 7 19:15:58 kernel: hub.c: new USB device 01:03.0-2, assigned address 3
Feb 7 19:15:58 kernel: usb.c: USB device 3 (vend/prod 0x51d/0x2) is not claimed by any active driver.

lly
08-02-2008, 11:28
Олег где-то выкладывал модули hid отдельно на форуме, но сейчас что-то поиск не находит :confused:
Если очень надо, могу собрать эти модули в 1.9.2.7-8.

P.S. Сам с hiddev не игрался, поэтому конкретными советами помочь не смогу...

Contemplator
08-02-2008, 12:08
Олег где-то выкладывал модули hid отдельно на форуме, но сейчас что-то поиск не находит :confused:
Если очень надо, могу собрать эти модули в 1.9.2.7-8.

P.S. Сам с hiddev не игрался, поэтому конкретными советами помочь не смогу...

очень бы хотелось, если Вам не сложно. Спасибо.

Вот схожая тема http://wl500g.info/showthread.php?t=7052&highlight=hiddev

lly
08-02-2008, 12:45
В аттаче модули hid.o hid-core.o hiddev.o из прошивки 1.9.2.7-8. Получится - отпиши.
--вырезано--

Contemplator
08-02-2008, 13:36
В аттаче модули hid.o hid-core.o hiddev.o из прошивки 1.9.2.7-8. Получится - отпиши.
2419


[admin@router root]$ insmod /tmp/harddisk/modules/hid-core.o
insmod: unresolved symbol hiddev_exit
insmod: unresolved symbol hiddev_disconnect
insmod: unresolved symbol hiddev_init
insmod: unresolved symbol hiddev_hid_event
insmod: unresolved symbol hiddev_connect
insmod: unresolved symbol hiddev_report_event
[admin@router root]$ insmod /tmp/harddisk/modules/hid.o
Segmentation fault
[admin@router root]$ insmod /tmp/harddisk/modules/hiddev.o
[admin@router root]$

Feb 8 14:13:04 kernel: usb.c: registered new driver hid
Feb 8 14:13:04 kernel: Unhandled kernel unaligned access in unaligned.c::emulate_load_store_insn, line 481:
Feb 8 14:13:04 kernel: $0 : 00000000 10009c00 00000000 01030006 87609200 00000000 c0177504 00000080
Feb 8 14:13:04 kernel: $8 : 87609200 878ecd20 00000001 c0174ff0 c01776e3 2abb24a8 00000000 c0173000
Feb 8 14:13:04 kernel: $16: 87609200 c0177504 87609200 00000000 c0177550 00000000 87609200 00000000
Feb 8 14:13:04 kernel: $24: 00000000 2ac14e20 86d3a000 86d3bd30 c00ec910 c01755d0
Feb 8 14:13:04 kernel: Hi : 00000000
Feb 8 14:13:04 kernel: Lo : 00000e00
Feb 8 14:13:04 kernel: epc : c0175134 Not tainted
Feb 8 14:13:04 kernel: Status: 10009c03
Feb 8 14:13:04 kernel: Cause : 00000010
Feb 8 14:13:04 kernel: Process insmod (pid: 189, stackpage=86d3a000)
Feb 8 14:13:04 kernel: Stack: 00000021 800bbde8 00000e00 00000000 800bbde8 00000001 10009c03
Feb 8 14:13:04 kernel: 00008000 c0177530 c0177504 87609200 00000000 c0177550 00000000 c00ec910
Feb 8 14:13:04 kernel: c01755d0 00001f91 00001fb2 0000003c 00000024 00000001 0000003e 1003a5f0
Feb 8 14:13:04 kernel: 80010d4c c0177530 c0177504 878ecd20 00000001 c00db3a4 00001fb2 0000003c
Feb 8 14:13:04 kernel: 0000003e 80010dbc 00000003 87609228 00000000 c00db21c 00000000 87609200
Feb 8 14:13:04 kernel: c00daf14 ...
Feb 8 14:13:04 kernel: Call Trace: [<800bbde8>] [<800bbde8>] [<c0177530>] [<c0177504>] [<c0177550>]
Feb 8 14:13:04 kernel: [<c00ec910>] [<c01755d0>] [<80010d4c>] [<c0177530>] [<c0177504>] [<c00db3a4>]
Feb 8 14:13:04 kernel: [<80010dbc>] [<c00db21c>] [<c00daf14>] [<c00daf98>] [<c00db21c>] [<c00daf14>]
Feb 8 14:13:04 kernel: [<c00daf14>] [<c00dafd4>] [<c00daf98>] [<800111cc>] [<c00ec918>] [<c00daf14>]
Feb 8 14:13:04 kernel: [<c00ec918>] [<c00da1a8>] [<c0177530>] [<c00da108>] [<c00e95b4>] [<c0177254>]
Feb 8 14:13:04 kernel: [<c01757f4>] [<8001259c>] [<80030238>] [<c0173060>] [<800085c4>]
Feb 8 14:13:04 kernel:
Feb 8 14:13:04 kernel: Code: 8c8300e8 00808021 00051040 <8c64000c> 3c08c017 25087374 00451021 95030000 000210c0
Feb 8 14:18:54 kernel: hub.c: new USB device 01:03.0-2, assigned address 3
или я не правильно делаю, или не работает.... Вы написали, что модули взяты из 1.9.2.7-8, попробую зашить ее

lly
08-02-2008, 13:40
Доступ к роутеру у меня самого будет только вечером - проверю и отпишу.

Contemplator
08-02-2008, 13:45
Ок, спасибо за отзывчивость.

lly
08-02-2008, 13:47
Да, а с тем модулем что вы приаттачили, что-нибудь вышло? или то-же самое?

Contemplator
08-02-2008, 15:04
Да, а с тем модулем что вы приаттачили, что-нибудь вышло? или то-же самое?

Пытался - тоже самое.
Откатился на 1.9.2.7-8 - нет поддержки HID :confused:
Скачал последнюю 1.9.2.7-8.16 - /lib/modules/2.4.20/kernel/drivers/usb/hid.o !!!!!!!!!!!!!!!!!!!!!!!!!!!!!:eek::D:)
ну кто бы мог подумать!!!!???? ведь нигде никто об этом не писал!!!

Feb 8 15:41:08 kernel: : USB HID v1.10 Device [American Power Conversion Back-UPS CS 500 FW:808.q5.I USB FW:q5] on usb1:2.0
Feb 8 15:41:08 kernel: hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
Feb 8 15:41:08 kernel: hid-core.c: USB HID support drivers
ЖИВЕМ!!!

al37919
08-02-2008, 15:12
ну кто бы мог подумать!!!!???? ведь нигде никто об этом не писал!!!
ну почему же, см пункт 11 изменений в версии 8.7

Oleg
08-02-2008, 15:44
Гы-гы. в 8.16 - случайный выброс. :) Удалю.

Oleg
08-02-2008, 16:05
Кстати, если ещё сказать

insmod input
insmod evdev

то, что потом говорит

ls /dev/input -l

Contemplator
08-02-2008, 16:23
Гы-гы. в 8.16 - случайный выброс. :) Удалю.

Почему? За что? :eek:
Правда все равно не работает:
Feb 8 16:22:00 apcupsd[253]: apcupsd FATAL ERROR in linux-usb.c at line 604 Cannot find UPS device -- For a link to detailed USB trouble shooting information, please see <http://www.apcupsd.com/support.html>.
Feb 8 16:22:00 apcupsd[253]: apcupsd error shutdown completed

хотя в /proc/bus/usb/devices

T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 0.06
S: Manufacturer=American Power Conversion
S: Product=Back-UPS CS 500 FW:808.q5.I USB FW:q5
S: SerialNumber=BB0521001089
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=100ms

модулей input.o и evdev.o в ней нет

Oleg
08-02-2008, 16:48
Для apcupsd нужен ещё один кусок, который я не включил:

/dev/hiddev raw HID device support

Contemplator
08-02-2008, 16:57
ну почему же, см пункт 11 изменений в версии 8.7

Уважаемый al37919, пожалуйста дайте ссылку на страничку, где перечислены изменения для версии 8.7, я не нашел...
вот сдесь нашел для версии 7-7g пункт 12

al37919
08-02-2008, 17:06
Да как же мимо то пройтить, когда каждый день тема вверху: http://wl500g.info/showthread.php?t=12200

Contemplator
08-02-2008, 17:07
Для apcupsd нужен ещё один кусок, который я не включил:

/dev/hiddev raw HID device support

Олег, включите пожалуйста его в следущей версии прошивки...

Учитывая особенности местного электроснабжения, считаю не допустимым эксплуатацию роутера с терабайтным накопителем на борту без UPS.
Вот здесь http://wl500g.info/showpost.php?p=75378&postcount=1 al37919 предложил очень хороший способ корректного выключения роутера (pre-shutdown), хочу что бы UPS инициировал этот сценарий в случае пропадания напряжения в электросети.

Contemplator
08-02-2008, 17:34
Да как же мимо то пройтить, когда каждый день тема вверху: http://wl500g.info/showthread.php?t=12200

Еще раз просмотрел всю ветку:
11 пункт:
11) И ещё что-то. Не помню, а смотреть лень.
по 8.7 ничего не нашел, есть по 8.8, 8.11, 8.12, 8.13, 8.15
прошелся по ветке поиском "8.7" и "hiddev" - результат нулевой :(

lly
08-02-2008, 19:10
Попытка №2 - как минимум модули не валят ядро (у меня).

insmod /tmp/input.o
insmod /tmp/hid.o
2422

Kolandr
09-02-2008, 16:05
а какой вообще смысл подключать UPS к роутеру?
на PC хотя бы для того, чтобы windows корректно все сохранил и завершил работу при перебое в питании,а здесь?
просто чтобы через консоль статистику снимать?

Contemplator
09-02-2008, 16:53
а какой вообще смысл подключать UPS к роутеру?
на PC хотя бы для того, чтобы windows корректно все сохранил и завершил работу при перебое в питании,а здесь?
просто чтобы через консоль статистику снимать?

Особого смысла нет, когда роутер используется как роутер. Но когда на нем крутится торрент-клиент и используется он как файловый сервер с 1Tb дискового пространства, то IMHO - смысл есть.

Andrey_3
09-02-2008, 20:11
а какой вообще смысл подключать UPS к роутеру?
на PC хотя бы для того, чтобы windows корректно все сохранил и завершил работу при перебое в питании,а здесь?
просто чтобы через консоль статистику снимать?

Если через UPS запитан роутер и компьютер, то с помощью apcupsd можно давать команды на завершение работы и того и другого.

Contemplator
09-02-2008, 21:42
Если через UPS запитан роутер и компьютер, то с помощью apcupsd можно давать команды на завершение работы и того и другого.

если верить описанию на apcupsd, то - да.

Продолжение здесь http://wl500g.info/showthread.php?t=13002

angel_il
13-02-2008, 20:12
Собрал на досуге NUT. Если коротко то он спользуется для:
- Мониторинга работы источника бесперебойного питания (ИБП)
- Корректного выключения компьютера/роутера при низком заряде батареи

прочитать про настройку можно тут
http://web.asplinuxclub.org/moin.cgi/Wiki/Services/Hardware/NUT/Configuration
и тут
http://web.asplinuxclub.org/moin.cgi/Wiki/Hardware/UPS/USB

список поддерживаемого железа тут
http://www.networkupstools.org/compat/stable.html

вощем собрал пакет в ручную если кому нужен качайте.

How-to
Пишу для себя, и не только :)
Внимание: в хау-ту описан процесс настройки UPS от фирмы APC
помещаем в
/tmp/local/sbin/post-boot

строки:

mknod /dev/usb/hiddev0 c 180 96
chmod 660 /dev/usb/hiddev0
insmod /tmp/local/lib/modules/hid.o
mkdir /var/state/ups

копируем в
/tmp/local/lib/modules
файл hid.o для 17 превью он прекреплен здесь

далее


flashfs save && flashfs commit && flashfs enable && reboot

после перезагрузки
редактируем файл
/opt/etc/ups.conf
у меня там

[ups]
desc = "APC BACK UPS CS-350 (USB)"
driver = usbhid-ups
port = /dev/usb/hiddev0

создаем
upsd.conf
со строками:

ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32

ACCEPT localhost
REJECT all

создаем
upsd.users
с таким содержимым:

[monuser]
password = secret
allowfrom = localhost
upsmon master

в файле
upsmon.conf
пишем:

MONITOR ups@localhost 1 monuser secret master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/halt"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /tmp/killpower
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5

запускаем и проверяем как все завелось



# usbhid-ups -a ups -u admin -D

если получили что то вроде этого


Network UPS Tools: 0.29 USB communication driver - core 0.32 (2.2.1)
...
Using subdriver: APC HID 0.92
Path: UPS.PowerSummary.iProduct, Type: Feature, ReportID: 0x01, Offset: 0, Size: 8, Value: 1.000000
Path: UPS.PowerSummary.iSerialNumber, Type: Feature, ReportID: 0x02, Offset: 0, Size: 8, Value: 2.000000
Path: UPS.PowerSummary.iDeviceChemistry, Type: Feature, ReportID: 0x03, Offset: 0, Size: 8, Value: 4.000000
...
Detected a UPS: American Power Conversion/Back-UPS 350 FW: 5.5.I USB FW: c1

значит все нормально. нажимаем ctrl+c
теперь следующая проверка



# usbhid-ups -a ups -u admin
# upsd -u admin
# upsc ups


должно получиться что то вроде этого:



battery.charge: 95
battery.charge.low: 10
battery.charge.warning: 50
battery.mfr.date: 2002/11/06
battery.runtime: 2580
battery.type: PbAc
battery.voltage: 13.5
battery.voltage.nominal: 12.0
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/usb/hiddev0
driver.version: 2.2.1
driver.version.data: APC HID 0.92
driver.version.internal: 0.32
ups.firmware: 5.5.I
ups.firmware.aux: c1
ups.mfr: American Power Conversion
ups.mfr.date: 2002/11/06
ups.model: Back-UPS 350
ups.productid: 0002
ups.serial: JB0245002834
ups.status: OL CHRG
ups.vendorid: 051d


Дальше создаем скрипт автозапуска
у меня он такой:



#!/bin/sh
prefix="/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
NAME_H=usbhid-ups
NAME_D=upsd
DAEMON_H=${prefix}/bin/${NAME_H}
DAEMON_H_OPTS="-a ups -u admin"
DAEMON_D=${prefix}/sbin/${NAME_D}
DAEMON_D_OPTS="-u admin"

echo $DAEMON_H
echo $DAEMON_D

test -x $DAEMON_H || exit 0
test -x $DAEMON_D || exit 0

if [ -z "$1" ] ; then
case `echo "$0" | sed 's:^.*/\(.*\):\1:g'` in
S*) rc="start" ;;
*) rc="usage" ;;
esac
else
rc="$1"
fi

case "$rc" in
start)
if [ -n "`pidof $NAME_H`" ]; then
echo "$NAME_H allready started.... id: `pidof $NAME_H`"
echo "use 'restart' option for restart"
else
echo "Starting $NAME_H: ..."
$DAEMON_H $DAEMON_H_OPTS
fi
if [ -n "`pidof $NAME_D`" ]; then
echo "$NAME_D allready started.... id: `pidof $NAME_D`"
echo "use 'restart' option for restart"
else
echo "Starting $NAME_D: ..."
$DAEMON_D $DAEMON_D_OPTS
fi
;;
stop)
if [ -n "`pidof $NAME_D`" ]; then
echo "Stopping $NAME_D: ..."
killall $NAME_D 2> /dev/null
fi
if [ -n "`pidof $NAME_H`" ]; then
echo "Stopping $NAME_H: ..."
killall $NAME_H 2> /dev/null
fi
;;
info)
if [ -n "`pidof $NAME_D`" ]; then
echo "$NAME_H is active.... pid: `pidof $NAME_H`"
else
echo "$NAME_H is not running"
fi
if [ -n "`pidof $NAME_D`" ]; then
echo "$NAME_D is active.... pid: `pidof $NAME_D`"
else
echo "$NAME_D is not running"
fi
;;
restart)
"$0" stop
sleep 1
"$0" start
;;
*)
echo "Usage: $0 (start|stop|restart|usage|info)"
;;
esac
exit 0


PS: если вдруг у кого то есть желание написть make файл, добавте скрипт автозапуска в пакет.

UPD: мдя с пакетом как то не получится сегодня, перенастроил машину на которой собираю пакеты. завтра выложу вечером.

Xander
14-02-2008, 16:07
Собрал на досуге NUT. Если коротко то он спользуется для:
- Мониторинга работы источника бесперебойного питания (ИБП)
- Корректного выключения компьютера/роутера при низком заряде батареи

прочитать про настройку можно тут
http://web.asplinuxclub.org/moin.cgi/Wiki/Services/Hardware/NUT/Configuration
и тут
http://web.asplinuxclub.org/moin.cgi/Wiki/Hardware/UPS/USB

список поддерживаемого железа тут
http://www.networkupstools.org/compat/stable.html

вощем собрал пакет в ручную если кому нужен качайте.

PS: если вдруг у кого то есть желание написть make файл, пишите скину патч для корректной сборки.


Я один из разработчиков NUT. Если будут вопросы, буду рад помочь.
Пришлите, пожалуйста, патч. Может быть, закоммитим его в svn проекта.

angel_il
14-02-2008, 21:01
Хе, а вобщем после небольшого ковыряния выяснилось что и патчить то не надо, просто добвить библиотеку "m" в библиотеки, я то сначала по рабоче крестьянски полез в сырцы немытыми руками :),
вобщем собирать надо с опцией -lm

Вот пакет, сначала надо склеить zip
copy /b nut_2.2.1-1_mipsel.001.zip + nut_2.2.1-1_mipsel.002.zip nut_2.2.1-1_mipsel.zip
потом расспаковать.
К сожалению размер получился больше мегабайта. поэтому пришлось нарезать.

Contemplator
15-02-2008, 01:02
Просмотрел список поддерживаемого оборудования и прослезился - 80% современных UPS`ов c USB интерфейсом, т.е. необходим драйвер usbhid-ups, а в прошивке Олега (пока) нет работающего решения по этому вопросу... :(

al37919
15-02-2008, 07:36
а кто сказал что это драйвер? это один из исполняемых бинарников в nut

rtzra
16-02-2008, 09:02
Пакет будет доступен через ipkg install ?

al37919
16-02-2008, 09:35
для начала хотелось бы услышать обратную связь --- кроме того, что пакет компилируется на нашей системе --- он хоть работает?

Отсылать oleo непроверенные вещи лично я не буду. Хотя mk файл для optware имеется. Если есть желающие --- могу поделиться.

Короче, появится ли пакет в optware и когда в данный момент зависит от активности тестеров. Либо посылайте сами.

Contemplator
16-02-2008, 11:10
для начала хотелось бы услышать обратную связь --- кроме того, что пакет компилируется на нашей системе --- он хоть работает?

Отсылать oleo непроверенные вещи лично я не буду. Хотя mk файл для optware имеется. Если есть желающие --- могу поделиться.

Короче, появится ли пакет в optware и когда в данный момент зависит от активности тестеров. Либо посылайте сами.

Я готов потестировать (APC Back-UPS CS500) mobile@cosmostv.by

angel_il
16-02-2008, 12:05
Пакет будет доступен через ipkg install ?

после расспаковки zip вы получите ipk файл который надо положить на роутер и установить
ipkg install /путь/к/файлу/nut_2.2.1-1_mipsel.ipk

Contemplator
16-02-2008, 12:25
после расспаковки zip вы получите ipk файл который надо положить на роутер и установить
ipkg install /путь/к/файлу/nut_2.2.1-1_mipsel.ipk

да, это я сделал, пакет установился, но....

[admin@router root]$ /opt/bin/usbhid-ups
/opt/bin/usbhid-ups: can't load library 'libusb-0.1.so.4'

al37919
16-02-2008, 20:26
ipkg install libusb
Она должна быть в ipk в depends ( 2angel_il: в моем кстати есть :) )

angel_il
16-02-2008, 21:46
ok, щас посмотрю



ipkg install libusb
Она должна быть в ipk в depends ( 2angel_il: в моем кстати есть :) )

ну потому что ты не к 3 ночи собирал. :)

Contemplator
17-02-2008, 02:06
libusb установил

мой ups.conf:
[apc]
driver = usbhid-ups
port = /dev/usb/hiddev0

[admin@router root]$ /opt/bin/usbhid-ups -a apc
Network UPS Tools: 0.29 USB communication driver - core 0.32 (2.2.1)

No matching HID UPS found

танцы с бубном не помогают, делал:
insmod hid (в 16 превью он есть)
mknod /dev/usb/hiddev0 c 180 96

:(

al37919
17-02-2008, 07:50
а в логе он его как то видит?

Contemplator
17-02-2008, 09:58
а в логе он его как то видит?

да, конечно, но только после этих действий:
insmod hid (в 16 превью он есть)
mknod /dev/usb/hiddev0 c 180 96

Feb 17 02:16:20 kernel: usb.c: registered new driver hid
Feb 17 02:16:22 kernel: : USB HID v1.10 Device [American Power Conversion Back-UPS CS 500 FW:808.q5.I USB FW:q5] on usb1:2.0
Feb 17 02:16:22 kernel: hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
Feb 17 02:16:22 kernel: hid-core.c: USB HID support drivers

Кажись не хватает какой-то мелочи, наверное вот этой http://wl500g.info/showpost.php?p=82014&postcount=14

Xander
17-02-2008, 16:48
да, конечно, но только после этих действий:
insmod hid (в 16 превью он есть)
mknod /dev/usb/hiddev0 c 180 96

Feb 17 02:16:20 kernel: usb.c: registered new driver hid
Feb 17 02:16:22 kernel: : USB HID v1.10 Device [American Power Conversion Back-UPS CS 500 FW:808.q5.I USB FW:q5] on usb1:2.0
Feb 17 02:16:22 kernel: hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
Feb 17 02:16:22 kernel: hid-core.c: USB HID support drivers

Кажись не хватает какой-то мелочи, наверное вот этой http://wl500g.info/showpost.php?p=82014&postcount=14

Попробуйте запустить с опцией -u root. Не знаю, как пакет собирался, но по умолчанию драйвер меняет UID и GID с root на nut, если запускается под root. Это делается для безопасности. Поэтому это скорее всего проблема с правами доступа.
Потом можно будет что-нибудь придумать с hotplug.
И еще добавьте -DDD, посмотрим лог.

P.S. Насколько я помню, этот драйвер не использует ядерный hiddev, только libusb. А значение port в ups.conf игнорируется.

Contemplator
18-02-2008, 16:44
[admin@router root]$ /opt/bin/usbhid-ups -a apc -DDD
Network UPS Tools: 0.29 USB communication driver - core 0.32 (2.2.1)

debug level is '3'
upsdrv_initups...
Checking device (0000/0000) (003/001)
- VendorID: 0000
- ProductID: 0000
- Manufacturer: unknown
- Product: unknown
- Serial Number: unknown
- Bus: 003
Trying to match device
Device does not match - skipping
Checking device (0424/20CD) (003/002)
- VendorID: 0424
- ProductID: 20cd
- Manufacturer: unknown
- Product: unknown
- Serial Number: unknown
- Bus: 003
Trying to match device
Device does not match - skipping
Checking device (0000/0000) (002/001)
- VendorID: 0000
- ProductID: 0000
- Manufacturer: unknown
- Product: unknown
- Serial Number: unknown
- Bus: 002
Trying to match device
Device does not match - skipping
Checking device (0000/0000) (001/001)
- VendorID: 0000
- ProductID: 0000
- Manufacturer: unknown
- Product: unknown
- Serial Number: unknown
- Bus: 001
Trying to match device
Device does not match - skipping
Checking device (051D/0002) (001/002)
- VendorID: 051d
- ProductID: 0002
- Manufacturer: unknown
- Product: unknown
- Serial Number: unknown
- Bus: 001
Trying to match device
Device matches
failed to claim USB device, trying 2 more time(s)...
detaching kernel driver from USB device...
failed to detach kernel driver from USB device...
trying again to claim USB device...
failed to claim USB device, trying 1 more time(s)...
detaching kernel driver from USB device...
failed to detach kernel driver from USB device...
trying again to claim USB device...
failed to claim USB device, trying 0 more time(s)...
detaching kernel driver from USB device...
failed to detach kernel driver from USB device...
trying again to claim USB device...
Unable to get HID descriptor (error sending control message: Operation not permitted)
HID descriptor, method 2: (9 bytes) => 09 21 10 01 21 01 22 c0 04
HID descriptor length 1216
Unable to get Report descriptor: Operation not permitted
No appropriate HID device found
No matching HID UPS found
это UPS:

Checking device (051D/0002) (001/002)
- VendorID: 051d
- ProductID: 0002
лог не меняется, независимо загружен ядерный hiddev или нет

Xander
18-02-2008, 16:55
[admin@router root]$ /opt/bin/usbhid-ups -a apc -DDD
Network UPS Tools: 0.29 USB communication driver - core 0.32 (2.2.1)



Device matches
failed to claim USB device, trying 2 more time(s)...
detaching kernel driver from USB device...
failed to detach kernel driver from USB device...
trying again to claim USB device...
failed to claim USB device, trying 1 more time(s)...
detaching kernel driver from USB device...
failed to detach kernel driver from USB device...
trying again to claim USB device...
failed to claim USB device, trying 0 more time(s)...
detaching kernel driver from USB device...
failed to detach kernel driver from USB device...
trying again to claim USB device...
Unable to get HID descriptor (error sending control message: Operation not permitted)
HID descriptor, method 2: (9 bytes) => 09 21 10 01 21 01 22 c0 04
HID descriptor length 1216
Unable to get Report descriptor: Operation not permitted
No appropriate HID device found
No matching HID UPS found


Налицо проблема с доступом, о которой я говорил.
Надо было добавить и опцию '-u admin', и '-DDD'. Попробуйте еще раз так:

/opt/bin/usbhid-ups -a apc -u admin -DDD

Update.
Да, видимо у вас на роутере надо делать '-u admin', а не '-u root'.

Contemplator
18-02-2008, 17:44
Кажись УРА!!! СПАСИБО!!!

Сделал /opt/bin/usbhid-ups -a apc -u admin -DDD >> /tmp/harddisk/abc
но в abc попадает только 1 строка, как сделать чтоб туда падал весь лог, хочу выслать Вам....

Xander
18-02-2008, 17:52
Кажись УРА!!! СПАСИБО!!!

Сделал /opt/bin/usbhid-ups -a apc -u admin -DDD >> /tmp/harddisk/abc
но в abc попадает только 1 строка, как сделать чтоб туда падал весь лог, хочу выслать Вам....
так, наверно :)
/opt/bin/usbhid-ups -a apc -u admin -DDD >> /tmp/harddisk/abc 2>&1

Contemplator
18-02-2008, 18:12
так, наверно :)
/opt/bin/usbhid-ups -a apc -u admin -DDD >> /tmp/harddisk/abc 2>&1

:)
Ну чайник я - чайник со свистком, вот:

Xander
18-02-2008, 18:53
:)
Ну чайник я - чайник со свистком, вот:

Осталось только отредактировать upsd.conf и upsd.users (там все довольно просто), запустить upsd, проверить, что все работает, с помощью upsc, и, наверно, настроить hotplug, чтобы при подключении UPS соответствующее устройство сразу получало группу nut.

Потом можно браться за upsmon, если захотите... Но в случае с роутером это, по-моему, не актуально :) У меня когда-то на UPS-е висел один роутер с жестким диском. Работал часа 2 после выключения питания :)

Contemplator
18-02-2008, 23:38
достал таки из дальнего угла УПС, подключил, настроил, описание процесса здесь (http://wl500g.info/showpost.php?p=82853&postcount=1)

Отлично!!! Огромное СПАСИБО за труд. Я тут без установленного hid мучаюсь, а он оказывается нужен... :D

angel_il
18-02-2008, 23:50
запуск любого демона с правами суперюзера это мягко говоря не наш метод, но просто не хотелось делать лишних телодвижений, хотя там их и не так много надо... добавить пользователя, поменять права на hiddev, поменять права на папку где создается сокет.

Contemplator
18-02-2008, 23:54
Да, и еще вопрос, относительно mkdir /var/state/ups.
Как Вы думаете, может стоит ее разместить где-нибудь на внешнем носителе (USB-флэшке или винте), usbhid-ups пишет туда постоянно, много и часто...
Или /var/state/ups это ОЗУ (RAM)?

al37919
20-02-2008, 00:11
Скомпилил через optware слегка более полный вариант со следующими опциями:

--with-udev-dir=no \
--with-serial \
--with-usb \
--with-lib \
--with-snmp \
--with-cgi \
--with-cgipath=/opt/share/www/cgi-bin \
--with-htmlpath=/opt/share/www/html \
Добавлен также стартовый файл от angel_il

ipk приаттачил. Желательно и его протестить. Однако, похоже, что действительно эта штука работает. Если мой ipk в порядке, то пора отправлять олео?

2Xander:
IMHO в configure баг в части проверки где находится libssl . Делается проверка примерно пяти стандартных местоположений и не делается проверки в месте заданном юзером (например, с помощью CFLAGS и LDFLAGS). В нашем случае libssl находится здесь: ~/optware/oleg/staging/opt/lib , т.е. в непредсказуемом месте.

Наиболее просто проблема лечится таким патчем, хотя лучше бы еще одну проверку добавить:


--- configure.orig 2007-12-21 15:00:49.000000000 +0300
+++ configure 2008-02-20 00:25:02.000000000 +0300
@@ -25307,8 +25307,8 @@
CFLAGS_ORIG="${CFLAGS}"
LDFLAGS_ORIG="${LDFLAGS}"

- CFLAGS=""
- LDFLAGS="-lssl -lcrypto"
+# CFLAGS=""
+# LDFLAGS="-lssl -lcrypto"

cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */

angel_il
20-02-2008, 09:10
Oleg, если не сложно соберите hid.o для превью *.8.17, оч. нужно (достал из загашника APC500) :)

достал таки из дальнего угла УПС, подключил, настроил, описание процесса здесь (http://wl500g.info/showpost.php?p=82853&postcount=1)


Скомпилил через optware слегка более полный вариант со следующими опциями:
сегодня побалюусь...

Contemplator
20-02-2008, 16:40
al37919, в Вашем пакете содержимое S50nut оказалось таким:


#! /bin/sh

#This is an example startup script intended to be used with APC BACK UPS CS-XXX (USB)
#Modify it to suite your particular UPS. Read documentation here: http://www.networkupstools.org/
#Don't forget that before using it you have to insmod hid.o (get correct file for your kernel)

prefix="/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
NAME_H=usbhid-ups
NAME_D=upsd
DAEMON_H=${prefix}/bin/${NAME_H}
DAEMON_H_OPTS="-a ups -u admin"
DAEMON_D=${prefix}/sbin/${NAME_D}
DAEMON_D_OPTS="-u admin"

echo $DAEMON_H
echo $DAEMON_D

test -x $DAEMON_H || exit 0
test -x $DAEMON_D || exit 0

if [ -z "$1" ] ; then
case `echo "$0" | sed 's:^.*/\(.*\):\1:g'` in
S*) rc="start" ;;
*) rc="usage" ;;
esac
else
rc="$1"
fi

case "$rc" in
start)
if [ -n "`pidof $NAME_H`" ]; then

#!/bin/sh

prefix="/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
NAME_H=usbhid-ups
NAME_D=upsd
DAEMON_H=${prefix}/bin/${NAME_H}
DAEMON_H_OPTS="-a ups -u admin"
DAEMON_D=${prefix}/sbin/${NAME_D}
DAEMON_D_OPTS="-u admin"

echo $DAEMON_H
echo $DAEMON_D

test -x $DAEMON_H || exit 0
test -x $DAEMON_D || exit 0

if [ -z "$1" ] ; then
case `echo "$0" | sed 's:^.*/\(.*\):\1:g'` in
S*) rc="start" ;;
*) rc="usage" ;;
esac
else
rc="$1"
fi

case "$rc" in
start)
if [ -n "`pidof $NAME_H`" ]; then
echo "$NAME_H allready started.... id: `pidof $NAME_H`"
echo "use 'restart' option for restart"
else
echo "Starting $NAME_H: ..."
$DAEMON_H $DAEMON_H_OPTS
fi
if [ -n "`pidof $NAME_D`" ]; then
echo "$NAME_D allready started.... id: `pidof $NAME_D`"
echo "use 'restart' option for restart"
else
echo "Starting $NAME_D: ..."
$DAEMON_D $DAEMON_D_OPTS
fi
;;
stop)
if [ -n "`pidof $NAME_D`" ]; then
echo "Stopping $NAME_D: ..."
killall $NAME_D 2> /dev/null
fi
if [ -n "`pidof $NAME_H`" ]; then
echo "Stopping $NAME_H: ..."
killall $NAME_H 2> /dev/null
fi
;;
info)
if [ -n "`pidof $NAME_D`" ]; then
echo "$NAME_H is active.... pid: `pidof $NAME_H`"
else
echo "$NAME_H is not running"
fi
if [ -n "`pidof $NAME_D`" ]; then
echo "$NAME_D is active.... pid: `pidof $NAME_D`"
else
echo "$NAME_D is not running"
fi
;;
restart)
"$0" stop
sleep 1
"$0" start
;;
*)
echo "Usage: $0 (start|stop|restart|usage|info)"
;;
esac
exit 0

А в остальном просто - супер. Все работает. Спасибо!

al37919
20-02-2008, 21:06
а в чем проблема с этим скриптом?
кроме трех строк комментария вначале, коих автор я, остальное точная (я надеюсь) копия скрипта от angel_il с первой страницы этой темы. Еще я придумал 50 в S50nut... Но ведь какие то цифры нужны же :)

Кстати, поскольку данный скрипт есть только пример, я решил его переименовать в s50nut, чтобы предотвратить автоматическое исполнение без вдумчивого анализа.

angel_il
20-02-2008, 21:12
а в чем проблема с этим скриптом?
кроме трех строк комментария вначале, коих автор я, остальное точная (я надеюсь) копия скрипта от angel_il с первой страницы этой темы. Еще я придумал 50 в S50nut... Но ведь какие то цифры нужны же :)

Кстати, поскольку данный скрипт есть только пример, я решил его переименовать в s50nut, чтобы предотвратить автоматическое исполнение без вдумчивого анализа.

почему же пример? :)

Contemplator
20-02-2008, 21:32
а в чем проблема с этим скриптом?
кроме трех строк комментария вначале, коих автор я, остальное точная (я надеюсь) копия скрипта от angel_il с первой страницы этой темы. Еще я придумал 50 в S50nut... Но ведь какие то цифры нужны же :)

Кстати, поскольку данный скрипт есть только пример, я решил его переименовать в s50nut, чтобы предотвратить автоматическое исполнение без вдумчивого анализа.

Выше, то что между пунктирами IMHO - излишне... :rolleyes:

З.Ы. совпадение - вчерашней ночью этот скрипт я тоже почему-то обозвал S50nut

Xander
20-02-2008, 23:39
Добавлен также стартовый файл от angel_il

Скрипт мне лично не нравится. Для запуска драйверов есть специальная тулза upsdrvctl, которая читает ups.conf и запускает нужные драйвера с нужными параметрами. Зачем нужен скрипт, который каждому придется переписывать под себя?
Лучше возьмите за основу скрипт packaging/debian/nut.init. Думаю, его не придется сильно менять.


2Xander:
IMHO в configure баг в части проверки где находится libssl . Делается проверка примерно пяти стандартных местоположений и не делается проверки в месте заданном юзером (например, с помощью CFLAGS и LDFLAGS). В нашем случае libssl находится здесь: ~/optware/oleg/staging/opt/lib , т.е. в непредсказуемом месте.

Наиболее просто проблема лечится таким патчем, хотя лучше бы еще одну проверку добавить:


--- configure.orig 2007-12-21 15:00:49.000000000 +0300
+++ configure 2008-02-20 00:25:02.000000000 +0300
@@ -25307,8 +25307,8 @@
CFLAGS_ORIG="${CFLAGS}"
LDFLAGS_ORIG="${LDFLAGS}"

- CFLAGS=""
- LDFLAGS="-lssl -lcrypto"
+# CFLAGS=""
+# LDFLAGS="-lssl -lcrypto"

cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
Я перешлю это людям, которые занимаются сборкой.
Кстати, ssl - пока экспериментальная фича.

P.S. Посмотрел, придумал такой патч :)


--- m4/nut_check_libssl.m4 (revision 1314)
+++ m4/nut_check_libssl.m4 (working copy)
@@ -14,14 +14,20 @@
CFLAGS_ORIG="${CFLAGS}"
LDFLAGS_ORIG="${LDFLAGS}"

- CFLAGS=""
- LDFLAGS="-lssl -lcrypto"
-
AC_TRY_LINK([#include <openssl/ssl.h>], [SSL_library_init()],
nut_have_libssl=yes,
nut_have_libssl=no)

if test "${nut_have_libssl}" != "yes"; then
+ CFLAGS=""
+ LDFLAGS="-lssl -lcrypto"
+
+ AC_TRY_LINK([#include <openssl/ssl.h>], [SSL_library_init()],
+ nut_have_libssl=yes,
+ nut_have_libssl=no)
+ fi
+
+ if test "${nut_have_libssl}" != "yes"; then
CFLAGS="-I/usr/kerberos/include"
LDFLAGS="-lssl -lcrypto"



Т.е. сначала проверяются CFLAGS и LDFLAGS без изменений.
После него нужно сделать 'autoreconf'. И заново ./configure, make, make install.
Оказалось, другие скрипты проверки наличия библиотек тоже игнорируют CFLAGS и LDFLAGS. Может быть это неспроста... Кстати, как вы обходились с другими библиотеками? Так же?

angel_il
21-02-2008, 07:53
Лучше возьмите за основу скрипт packaging/debian/nut.init. Думаю, его не придется сильно менять.

ок посмотрю.

al37919
21-02-2008, 14:42
2 Contemplator:
да верно у меня ошибка --- копипастить из форумных окошек дело непростое.


почему же пример?
именно потому, что в нем производится запуск одного из 49 возможных сервисов для общения с разными упсами. Вероятно, метод, предложенный Xander позволит сделать универсальный вариант.


Кстати, ssl - пока экспериментальная фича.
да я верю, более того --- не уверен нужна ли она в нашем случае. Просто резало глаз, что оно упорно не хотело видеть, что у меня есть openssl --- вот я и глянул почему. В выложенной версии удалось скомпилить с ssl


Оказалось, другие скрипты проверки наличия библиотек тоже игнорируют CFLAGS и LDFLAGS.

Может оно конечно и так, но там используются нормальные способы распознавания, например, для libusb:
CFLAGS=`libusb-config --cflags 2>/dev/null`
LDFLAGS=`libusb-config --libs 2>/dev/null`

Antosha
24-02-2008, 12:28
Маленький OffTopic :)

http://phpsysinfo.sourceforge.net/
Собирается и показывается текущая инфа о компе (роутере).
Так же показывается текущее состояние UPS`a.

Andrey_3
09-06-2008, 20:33
Здравствуйте!

Пытаюсь заставить работать apcupsd с APC SmartUPS через USB. Прочитал ветку http://wl500g.info/showthread.php?t=12893, датированную февралем этого года и закончившуюся ничем.
Установил из репозитория версию 3.14.3-1 apcupsd. Взял из файла modules-1.9.2.7-10.tgz и успешно загрузил модули:

insmod /tmp/harddisk/input.o
insmod /tmp/harddisk/hid.o
В /proc/bus/usb/devices UPS виден:

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 0.06
S: Manufacturer=American Power Conversion
S: Product=Smart-UPS 750 FW:651.13.I USB FW:7.3
S: SerialNumber=AS0730240271
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 30mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=100ms

При попытке запуска /opt/sbin/apctest из под root выдает ошибку:

2008-06-09 21:03:15 apctest 3.14.3 (20 January 2008) unknown
Checking configuration ...
Attached to driver: usb
sharenet.type = DISABLE
cable.type = USB_CABLE

You are using a USB cable type, so I'm entering USB test mode
mode.type = USB_UPS
Setting up the port ...
apctest FATAL ERROR in device.c at line 70
Unable to create UPS lock file.
If apcupsd or apctest is already running,
please stop it and run this program again.
apctest error termination completed
Ни apcupsd ни apctest у меня не запущены.
Мои попытки изменять в файле конфигурации apcupds.conf параметр LOCKFILE со значения по умолчанию /opt/var/lock на другие значения не помогают. Пробовал даже менять разрешения на каталог с lock файлом.

Может быть кто-то сумел победить apcupsd? Поделитесь опытом.

Andrey_3
10-06-2008, 22:52
Apcupsd успешно заработал!
Оказалось необходимо вручную создать:
1) каталог /opt/var/lock для параметра LOCKFILE из файла apcupds.conf
2) каталог /opt/var/run для параметра APCPID из файла apccontrol
А также изменить в файле apccontrol параметр SHUTDOWN на "/sbin/halt -p" и настроить pre-shutdown на корректное завершение работы.

Заодно прикрутил phpsysinfo (http://phpsysinfo.sourceforge.net/) (спасибо Antosha за ссылку). Теперь состояние UPS и системы можно смотреть через web-интерфейс:

3154

eugenem
03-01-2009, 21:15
ДД,

а не подскажет ли кто, сколько потребляет роутер электричества?
C подключенным skylink модемом? А то хочется поставить упс, чтоб
отключения питания не сильно жить мешали (на даче дело происходит),
и надо определяться с его мощностью..

На сколько 500VA хватит?

Eugene

RekoD
03-01-2009, 22:59
На моём WL500gPV2 написано 5V и 2.5A, т.е. 5V * 2,5A = 12,5VA
500VA Вашего UPS - это 500 ватт (просто у буржуев не принято почему-то ватт назвать ваттом :))
Соответственно 500VA / 12,5VA = 40
Т.е. от такого UPS один раутер проработает 40 часов ;)

З.Ы. Учебник по физике рекомендую - рульная весчь! ;-)))

AndreyPopov
03-01-2009, 23:09
На моём WL500gPV2 написано 5V и 2.5A, т.е. 5V * 2,5A = 12,5VA
500VA Вашего UPS - это 500 ватт (просто у буржуев не принято почему-то ватт назвать ваттом :))
Соответственно 500VA / 12,5VA = 40
Т.е. от такого UPS один раутер проработает 40 часов ;)

З.Ы. Учебник по физике рекомендую - рульная весчь! ;-)))

1VA ПЕРЕМЕННОГО тока равен примерно 0.7Вт постоянного тока!!!!!

в этом и есть РАЗНИЦА, между мощностью переменного и постоянного тока! реальная мощность 500VA UPS около 325W!!!!!!

и соответсвенно форма приведенная вами: 500VA / 12,5VA = 40 ОТКРОВЕННО неправильная!!!!!!! на самом деле мощность UPS это ВТОРИЧНАЯ велечина, на время влияет показатель ампер-часов батерии установленной в UPS!

если у вас стоит батарея 12Ah (двенадцать ампер-часов), то это означает, что она может при напряжении 12В (стандартное напряжение аккамуляторов) в течении часа выдавать ток 12А.

блок питания роутера рассчитан на 5V * 2,5A = 12,5W (здесь именно ватт !!!!) плюс потери на КПД блока питания и преобразователя UPS - итого получится около 15W - т.е. от батареи потребуется около 1.25А!!!!!

обычно в дешевых UPS стоят батареи 7.5Ah - т.е. 7.5Ah / 1.25A = 6h - примерно около ШЕСТИ часов.

но....

реально с одной стороны потребление роутера вряд ли приблизится к заявленным 12.5W , реально будет около 10W
реально при разряде батареи у нее будет падать напряжение и соответсвенно напряжение на выходе, так что даже при 10-15% оставшегося заряда, ваше устройство (точнее блок питания) может отключиться.
дкмаю часа 4 UPS может продержать такую нагрузку.
при этом может брать и 300VA UPS - для данного случая мощность выходного каскада UPS НЕ важна - важен ресурс батареи.


ДД,

а не подскажет ли кто, сколько потребляет роутер электричества?
C подключенным skylink модемом? А то хочется поставить упс, чтоб
отключения питания не сильно жить мешали (на даче дело происходит),
и надо определяться с его мощностью..

На сколько 500VA хватит?

Eugene

у skylink свой БП или это USB модем?

RekoD
03-01-2009, 23:21
Мне лень было вот это http://www.college.ru/physics/courses/op25part2/content/chapter2/section/paragraph4/theory.html
посчитать ;)
Если чел хочет - я дал ссылку.

P.S. "Я лишь открою дверь, войти же, Нео, должен ты _сам_" (с) Matrix

al37919
03-01-2009, 23:39
вот результаты экспериментальных измерений:
http://wl500g.info/showpost.php?p=77725&postcount=6

all-x
14-01-2009, 20:45
Что-то на iXBT мой вопрос проигнорировали, может здесь больше повезет.

Посоветуйте, пжалста, UPS для 500gP+USB HDD+DECT Phone+Web Camera. Я так понимаю, что это не больше 50 ватт. Время автономной работы - чем больше, тем лучше, бюджет в районе $100. Слышал, что есть какие-то заморочки с малой нагрузкой - некоторые бесперебойники отключаются. И БП могут быть несовместимы с UPS. Разбираться сил нет, посоветуйте конкретные модели. Ну и, конечно, чтоб NUT или какой другой способ управления роутером был. Благодарен.

TOYan
08-02-2009, 13:47
У меня APC Back UPS CS-650 USB.
Установил все, как описано в этой ветке, настроил, все работает! Cпасибо всем и отдельно angel_il за толковую инструкцию (http://wl500g.info/showpost.php?p=82853&postcount=1).
Теперь вот хочу настроить так, чтобы роутер посылал команду на выключение компа, на котором стоит XP32SP3.
Подскажите, как это можно реализовать?

Xander
08-02-2009, 15:17
У меня APC Back UPS CS-650 USB.
Установил все, как описано в этой ветке, настроил, все работает! Cпасибо всем и отдельно angel_il за толковую инструкцию (http://wl500g.info/showpost.php?p=82853&postcount=1).
Теперь вот хочу настроить так, чтобы роутер посылал команду на выключение компа, на котором стоит XP32SP3.
Подскажите, как это можно реализовать?
http://csociety.ecn.purdue.edu/~delpha/winnut/
http://sourceforge.net/projects/winnutclient/

dimaka
09-02-2009, 00:31
Соблазнившись клиентом под Винду, сегодня целый день проторчал у компа, безуспешно пытаясь сделать все по инструкции от angel_il, однако nut_2.2.1-1_mipsel.ipk из аттачей упорно не хотели ставиться, хорошо, что догадался порыться в optware... :D правда, полдня прошло :D
В общем, на роутере вроде как все запустил, а виндовый клиент не коннектится никак.
Конфигурационные файлы:

# cat upsd.conf
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACL mynet 192.168.1.1/32
ACCEPT localhost mynet
REJECT all



# cat upsd.users
[monuser]
password = secret
allowfrom = localhost mynet
upsmon master


При попытке соеденения с роутера и с компа в логе сообщения:



(debug|daemon|upsd) upsd[2539]: Connection from 127.0.0.1
(debug|daemon|upsd) upsd[2539]: Client on 127.0.0.1 logged out
(notice|daemon|upsd) upsd[2539]: Rejecting TCP connection from 192.168.1.3
Вопрос: в каком месте я туплю? :confused:

al37919
09-02-2009, 08:08
Может в этом?
ACL mynet 192.168.1.1/32

dimaka
09-02-2009, 08:41
Спасибо, al37919, именно там :o

DarthSemafor
11-02-2009, 16:01
Бесперебойник - IMD-525AP:(

Помогите разобраться, пожалуйста!
cat ./ups.conf

[ups]
desc = "Powercom"
driver = powercom
port = /dev/usb/hiddev0

cat ./upsd.conf

ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32

ACCEPT localhost
REJECT all

cat ./upsd.users

[monuser]
password = secret
allowfrom = localhost
upsmon master
cat ./upsmon.conf

MONITOR ups@localhost 1 monuser secret master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/halt"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /tmp/killpower
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5

cat /proc/bus/usb/devices

....................................
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0d9f ProdID=0002 Rev= 0.00
S: Manufacturer=POWERCOM CO., LTD.
S: Product=USB to Serial
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
.....................................
В итоге...
powercom -a ups -u DarthSemafor -DDD

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

debug level is '3'
Values of arguments:
manufacturer : 'PowerCom'
model name : 'Unknown'
serial number : 'Unknown'
line voltage : '230'
type : 'Trust'
number of bytes from UPS: '11'
method of flow control : 'dtr0rts1'
validation sequence: '{{5,0},{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}'

Unable to open /dev/usb/hiddev0: No such device

Current user id: DarthSemafor (0)
Serial port owner: DarthSemafor (0)
Serial port group: root (0)
Mode of port: 0777

Things to try:

- Use another port (with the right permissions)

- Fix the port owner/group or permissions on this port

- Run this driver as another user (upsdrvctl -u or 'user=...' in ups.conf).
See upsdrvctl(8) and ups.conf(5).

Fatal error: unusable configuration

Причем /dev/usb/hiddev0 существует и DarthSemafor - рут!
ls -l /dev/usb/

crwxrwxrwx 1 DarthSem root 180, 96 Jan 1 1970 hiddev0
Почему он не чуствует hiddev?

dimaka
11-02-2009, 22:23
Я один из разработчиков NUT. Если будут вопросы, буду рад помочь.
Скажите, плз, а к winnut Вы имеете отношение? Рассказываю: включаю комп с установленным winnut, который связывается с ups'ом, при этом батарея у него разряжена на 60%.В winnut стоит установка выключать комп при разряде 55%. Комп загружается и winnut дает команду на выключение, как велит установка.Все бы хорошо, но UPS то работает от сети :) Это баг или фича? ;)
Поправка - winnut считает, что ups не подключен к сети, т.е работает от батареи, что и показывает в статусе. Хотя входное напряжение показывает правильно.

Xander
12-02-2009, 00:39
Бесперебойник - IMD-525AP:(

Помогите разобраться, пожалуйста!
cat ./ups.conf

[ups]
desc = "Powercom"
driver = powercom
port = /dev/usb/hiddev0

...
Почему он не чуствует hiddev?

Потому что это драйвер для устройств, подключаемых через COM-порт, на худой конец через _правильный_ переходник USB-COM.
Попробуйте megatec_usb.

Xander
12-02-2009, 00:42
Скажите, плз, а к winnut Вы имеете отношение? Рассказываю: включаю комп с установленным winnut, который связывается с ups'ом, при этом батарея у него разряжена на 60%.В winnut стоит установка выключать комп при разряде 55%. Комп загружается и winnut дает команду на выключение, как велит установка.Все бы хорошо, но UPS то работает от сети :) Это баг или фича? ;)
Поправка - winnut считает, что ups не подключен к сети, т.е работает от батареи, что и показывает в статусе. Хотя входное напряжение показывает правильно.
Конечно, баг :)
С другой стороны далеко не всегда можно полагаться на информацию заряде батареи. Особенно если ее пытается вычислять драйвер. Какой вы драйвер используйте?

dimaka
12-02-2009, 00:54
Драйвер usbhid-ups, APC BACK UPS CS 500
Специально не проверял, насколько достоверен зарадя батареи, что он показывает, но где-то так и должно быть.
Баг в том, что пока АКБ не зарядится, статус показывается как работа от батарей, насколько я понял.
Что ж, буду знать, что перед тем как включить комп после выключения света нужно выдернуть из компа сетевой кабель, а потом включать комп :)

Xander
12-02-2009, 12:08
Драйвер usbhid-ups, APC BACK UPS CS 500
Специально не проверял, насколько достоверен зарадя батареи, что он показывает, но где-то так и должно быть.
Баг в том, что пока АКБ не зарядится, статус показывается как работа от батарей, насколько я понял.
Что ж, буду знать, что перед тем как включить комп после выключения света нужно выдернуть из компа сетевой кабель, а потом включать комп :)
Обратитесь в список рассылки nut-upsuser (http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser), вам там помогут.

DarthSemafor
12-02-2009, 19:59
Приговор?

Network UPS Tools 2.2.1 - Megatec protocol driver 1.5.9 [megatec_usb]
Carlos Rodrigues (c) 2003-2007

Serial-over-USB transport layer for Megatec protocol driver [megatec_usb]
Andrey Lelikov (c) 2006, Alexander Gordeev (c) 2006-2007, Jon Gough (c) 2007

debug level is '3'
Checking device (0000/0000) (003/001)
- VendorID: 0000
- ProductID: 0000
- Manufacturer: Linux 2.4.20 ehci_hcd
- Product: PCI device 1106:3104
- Serial Number: 01:03.2
- Bus: 003
Trying to match device
Device does not match - skipping
Checking device (1307/0163) (003/002)
- VendorID: 1307
- ProductID: 0163
- Manufacturer: USBest Technology
- Product: USB Mass Storage Device
- Serial Number: f1139eb2dce328
- Bus: 003
Trying to match device
Device does not match - skipping
Checking device (0000/0000) (002/001)
- VendorID: 0000
- ProductID: 0000
- Manufacturer: unknown
- Product: USB UHCI Root Hub
- Serial Number: 120
- Bus: 002
Trying to match device
Device does not match - skipping
Checking device (0000/0000) (001/001)
- VendorID: 0000
- ProductID: 0000
- Manufacturer: unknown
- Product: USB UHCI Root Hub
- Serial Number: 100
- Bus: 001
Trying to match device
Device does not match - skipping
Checking device (0D9F/0002) (001/002)
- VendorID: 0d9f
- ProductID: 0002
- Manufacturer: POWERCOM CO., LTD.
- Product: USB to Serial
- Serial Number: unknown
- Bus: 001
Trying to match device
Device does not match - skipping
No appropriate HID device found
No supported devices found. Please check your device availability with 'lsusb'
and make sure you have an up-to-date version of NUT. If this does not help,
try running the driver with at least 'vendorid' and 'subdriver' options
specified. Please refer to the man page for details about these options
(man 8 megatec_usb).
Please report your results to the NUT user's mailing list
<nut-upsuser@lists.alioth.debian.org>.

Xander
12-02-2009, 21:38
Приговор?


Да нет :) Лучше всего сделать в такой последовательности:
1. в ups.conf записать:


[ups]
driver = megatec_usb
port = auto
vendorid = 0d9f
subdriver = krauler
desc = "Powercom"

и попробовать запустить. Если заработает, то это все :)
2. обновить версию NUT до 2.4.0
3. в ups.conf заменить subdriver на phoenix и попробовать.

DarthSemafor
17-02-2009, 17:59
:(Спасибо за ответ! Пререпробывал все драйвера, но Imperial так и не завелся. Решил проблему покупкой APC CS 350:) Только наткнулся на небольшие грабли: ИБП стартует, NUT запускаетя, роутер чуствует ИБП, но по истечении 300 секунд ничего не происходит:( Нстраивал точно по инструкции (http://wl500g.info/showpost.php?p=82853&postcount=1) тов. angel_il Подскажите, пожалуйста, в чем может быть дело?

Еще смутила вот эта строчка в выводе команды upsc ups

ups.delay.shutdown: -1

dimaka
17-02-2009, 18:12
А что должно происходить через 300 секунд?

DarthSemafor
17-02-2009, 18:19
/sbin/halt :)

dimaka
17-02-2009, 18:33
А заряд батареи при этом какой был? :)

DarthSemafor
17-02-2009, 18:40
А заряд батареи при этом какой был? :)


battery.charge: 88
battery.charge.low: 10
battery.charge.warning: 50
battery.date: 2007/05/02
battery.mfr.date: 2007/05/02
battery.runtime: 4567
battery.runtime.low: 120
battery.temperature: 28
battery.type: PbAc
battery.voltage: 13.5
battery.voltage.nominal: 12.0
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/usb/hiddev0
driver.version: 2.2.1
driver.version.data: APC HID 0.92
driver.version.internal: 0.32
input.voltage: 214.0
input.voltage.nominal: 230
output.voltage: 230.0
output.voltage.nominal: 230.0
ups.beeper.status: enabled
ups.delay.shutdown: -1
ups.firmware: 807.q8.I
ups.firmware.aux: q8
ups.load: 3.0
ups.mfr: American Power Conversion
ups.mfr.date: 2007/05/02
ups.model: Back-UPS CS 350
ups.productid: 0002
ups.serial: 8B0718R02767
ups.status: OL CHRG
ups.test.result: No test initiated
ups.vendorid: 051d

dimaka
17-02-2009, 18:52
By default, upsmon waits until the battery is at a critically low level before initiating a shutdown.
Насколько я понимаю, upsmon должен получить сигнал "lowbatt", а затем дать команду на выключение. Но сам не проверял, не дождался, пару часов он работает на батарее :) Так, что если я не прав, поправьте.

Rucha
17-02-2009, 21:46
Где можно посмотреть список поддерживаемых UPS? В частности PowerCom BNT-1000AP будет работать?

dimaka
17-02-2009, 21:52
Вот:
http://eu1.networkupstools.org/compat/stable.html

Xander
17-02-2009, 22:17
Вот:
http://eu1.networkupstools.org/compat/stable.html
Лучше здесь:
http://test.networkupstools.org/Documentation/UserManual/Compatibility/Stable

TOYan
17-02-2009, 23:20
Я успешно подключил и настроил APC BackUPS CS-650 (USB), причем проверил два разных способа. Оба в итоге рабочие:
1. Через upsd + драйвер usbhid-ups. Последний не использует модуль hid.o, он похоже имеет его у себя внутри, что видно из его названия. Соответственно я hid.o и не гружу при загрузке. Возможно, для этого варианта даже противопоказано отдельно загружать hid.o из-за его потенциального конфликта с usbhid-ups. С этим вариантом в итоге замечательно работает виндовый клиент winnut, взять можно по ссылкам, которые давал выше Xander, спасибо ему за это.
2. Через apcupsd + hid.o тоже все работает, единственное, что если у вас 10-я прошивка, то и hid.o нужно брать из архива "modules", который лежит там же, где и олеговская последняя прошивка. Тот hid.o, который в аттаче первого поста от другой прошивки, и соответствено у меня не работал. Еще я подключал вместе с hid.o также input.o, не знаю, возможно напрасно (где-то вычитал рекомендацию), но в итоге все работало. Без input.o возможно тоже будет работать - я просто не проверял.
Показалось, что второй вариант более функциональный в настройках, но у меня не получилось заставить работать его с winnut, поэтому остался на первом.

DarthSemafor
18-02-2009, 00:13
Я успешно подключил и настроил APC BackUPS CS-650 (USB), причем проверил два разных способа. Оба в итоге рабочие:
1. Через upsd + драйвер usbhid-ups. Последний не использует модуль hid.o, он похоже имеет его у себя внутри, что видно из его названия. Соответственно я hid.o и не гружу при загрузке. Возможно, для этого варианта даже противопоказано отдельно загружать hid.o из-за его потенциального конфликта с usbhid-ups. С этим вариантом в итоге замечательно работает виндовый клиент winnut, взять можно по ссылкам, которые давал выше Xander, спасибо ему за это.
2. Через apcupsd + hid.o тоже все работает, единственное, что если у вас 10-я прошивка, то и hid.o нужно брать из архива "modules", который лежит там же, где и олеговская последняя прошивка. Тот hid.o, который в аттаче первого поста от другой прошивки, и соответствено у меня не работал. Еще я подключал вместе с hid.o также input.o, не знаю, возможно напрасно (где-то вычитал рекомендацию), но в итоге все работало. Без input.o возможно тоже будет работать - я просто не проверял.
Показалось, что второй вариант более функциональный в настройках, но у меня не получилось заставить работать его с winnut, поэтому остался на первом.

Расскажите, пожалуйста поподробнее о настройке apcupsd - я пытался настроить, включил модули hid.o и input.o - но apcupsd ругается:
apctest

...
FATAL ERROR in linux-usb.c at line 609 Cannot find UPS device
...
apcupsd.conf


UPSCABLE usb
UPSTYPE usb

прошивка десятая

DarthSemafor
18-02-2009, 14:54
разобрался (http://wl500g.info/showpost.php?p=100098&postcount=2);)Всем спасибо:)

tyomikh
19-03-2009, 09:48
Если кому интересно, вчера настроил APC SC1500I для работы с NUT через USB2COM кабель который шел с упсом(AP9833 или 940-0272a):
cat /opt/etc/ups.conf
[sc1500i]
driver = apcsmart
port = /dev/ttyUSB0
cat /tmp/local/sbin/post-mount
.....
insmod usbserial.o
insmod pl2303.o
mknod /dev/ttyUSB0 c 188 0
chmod 666 /dev/ttyUSB0
/opt/bin/upsdrvctl -u admin start
/opt/sbin/upsd -u admin
.....

SSN
24-06-2009, 10:19
Добрый день.
Уже два дня бьюсь над на NUT, пытаюсь заставить полноценно заработать.
Бесперебойник APC SMART UPS 1000 (USB).
На текущий момент имею следующее:

Package: nut
Version: 2.4.1-1
Depends: libusb, openssl, neon, libgd, net-snmp
Status: install user installed
Section: admin
Architecture: mipsel
maintainer: NSLU2 Linux <nslu2-linux@yahoogroups.com>
MD5Sum: c8c55a6021fea2b5f194ce4623eb2dfe
Size: 1246363
Filename: nut_2.4.1-1_mipsel.ipk
Source: http://eu1.networkupstools.org/source/2.4/nut-2.4.1.tar.gz
Description: Network UPS tools.

Запуск драйвера и демона вроде проходит без проблем:

Jun 24 10:55:53 rc.unslung: start service /opt/etc/init.d/S50ups
Jun 24 10:55:54 usbhid-ups[164]: Startup successful
Jun 24 10:55:54 upsd[167]: /opt/etc/upsd.conf is world readable
Jun 24 10:55:54 upsd[167]: listening on 127.0.0.1 port 3493
Jun 24 10:55:54 upsd[167]: listening on 192.168.1.1 port 3493
Jun 24 10:55:54 upsd[167]: /opt/var/state/ups is world readable
Jun 24 10:55:54 upsd[167]: Connected to UPS [ups]: usbhid-ups-ups
Jun 24 10:55:54 upsd[167]: /opt/etc/upsd.users is world readable
Jun 24 10:55:54 upsd[168]: Startup successful

upsc пишет следующее:

[admin@Router root]$ upsc ups
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.mfr.date: 2007/11/18
battery.runtime: 3000
battery.runtime.low: 120
battery.temperature: 37.8
battery.type: PbAc
battery.voltage: 27.1
battery.voltage.nominal: 24.0
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/usb/hiddev0
driver.version: 2.4.1
driver.version.data: APC HID 0.93
driver.version.internal: 0.34
input.voltage: 213.1
output.voltage: 213.1
output.voltage.nominal: 220.0
ups.beeper.status: disabled
ups.delay.shutdown: 20
ups.firmware: 652.18.I
ups.firmware.aux: 7.3
ups.load: 26.6
ups.mfr: American Power Conversion
ups.mfr.date: 2007/11/18
ups.model: Smart-UPS 1000
ups.productid: 0002
ups.serial: AS0746224745
ups.status: OL
ups.test.result: No test initiated
ups.timer.reboot: -1
ups.timer.shutdown: -1
ups.vendorid: 051d

Вроде можно радоватся, но... при обесточивании ups-а и проверки состояния с помощью upsc, я вижу что ничего не меняется, как был статус OL, так и остался. Единственное что меняется, это
input.voltage: на 0.0 при работе от батарей
и ups.load, в зависимости от кол-ва компов. Через время может поменятся значение: battery.charge.
Т.е. вроде состояние бесперебойника считывается, но чет кривовато.

Если не затруднит подскажите куда капнуть... хотя-бы направление.

P.S. Подключал APC Back-UPS 500 (USB) та-же петрушка.

Xander
24-06-2009, 16:33
Добрый день.
Уже два дня бьюсь над на NUT, пытаюсь заставить полноценно заработать.
Бесперебойник APC SMART UPS 1000 (USB).
На текущий момент имею следующее:

Package: nut
Version: 2.4.1-1
Depends: libusb, openssl, neon, libgd, net-snmp
Status: install user installed
Section: admin
Architecture: mipsel
maintainer: NSLU2 Linux <nslu2-linux@yahoogroups.com>
MD5Sum: c8c55a6021fea2b5f194ce4623eb2dfe
Size: 1246363
Filename: nut_2.4.1-1_mipsel.ipk
Source: http://eu1.networkupstools.org/source/2.4/nut-2.4.1.tar.gz
Description: Network UPS tools.

Запуск драйвера и демона вроде проходит без проблем:

Jun 24 10:55:53 rc.unslung: start service /opt/etc/init.d/S50ups
Jun 24 10:55:54 usbhid-ups[164]: Startup successful
Jun 24 10:55:54 upsd[167]: /opt/etc/upsd.conf is world readable
Jun 24 10:55:54 upsd[167]: listening on 127.0.0.1 port 3493
Jun 24 10:55:54 upsd[167]: listening on 192.168.1.1 port 3493
Jun 24 10:55:54 upsd[167]: /opt/var/state/ups is world readable
Jun 24 10:55:54 upsd[167]: Connected to UPS [ups]: usbhid-ups-ups
Jun 24 10:55:54 upsd[167]: /opt/etc/upsd.users is world readable
Jun 24 10:55:54 upsd[168]: Startup successful

upsc пишет следующее:

[admin@Router root]$ upsc ups
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.mfr.date: 2007/11/18
battery.runtime: 3000
battery.runtime.low: 120
battery.temperature: 37.8
battery.type: PbAc
battery.voltage: 27.1
battery.voltage.nominal: 24.0
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/usb/hiddev0
driver.version: 2.4.1
driver.version.data: APC HID 0.93
driver.version.internal: 0.34
input.voltage: 213.1
output.voltage: 213.1
output.voltage.nominal: 220.0
ups.beeper.status: disabled
ups.delay.shutdown: 20
ups.firmware: 652.18.I
ups.firmware.aux: 7.3
ups.load: 26.6
ups.mfr: American Power Conversion
ups.mfr.date: 2007/11/18
ups.model: Smart-UPS 1000
ups.productid: 0002
ups.serial: AS0746224745
ups.status: OL
ups.test.result: No test initiated
ups.timer.reboot: -1
ups.timer.shutdown: -1
ups.vendorid: 051d

Вроде можно радоватся, но... при обесточивании ups-а и проверки состояния с помощью upsc, я вижу что ничего не меняется, как был статус OL, так и остался. Единственное что меняется, это
input.voltage: на 0.0 при работе от батарей
и ups.load, в зависимости от кол-ва компов. Через время может поменятся значение: battery.charge.
Т.е. вроде состояние бесперебойника считывается, но чет кривовато.

Если не затруднит подскажите куда капнуть... хотя-бы направление.

P.S. Подключал APC Back-UPS 500 (USB) та-же петрушка.

Напишите в список рассылки NUT: http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser

SSN
24-06-2009, 20:44
Напишите в список рассылки NUT: http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser

Очень жаль, надеялся что просто ошибся в настройках где-то.

Xander
25-06-2009, 00:29
Очень жаль, надеялся что просто ошибся в настройках где-то.
Видимо, это ошибка в драйвере.

alex6600
01-07-2009, 13:15
Добрый день уважаемые.
Кно нибудь прикрутил к роутеру одну из следующих моделей упсов:
BNT- 400 AP USB
SVEN Reserve- 650
KRAULER UP- D500VA
И вообще, чтото сроме apc прикрутить возможно?

Xander
01-07-2009, 14:33
Добрый день уважаемые.
Кно нибудь прикрутил к роутеру одну из следующих моделей упсов:
BNT- 400 AP USB
SVEN Reserve- 650
KRAULER UP- D500VA
И вообще, чтото сроме apc прикрутить возможно?

Самый последний список поддерживаемого оборудования:
http://boxster.ghz.cc/projects/nut/browser/trunk/data/driver.list

У меня у самого, собственно, Krauler UP-M500VA есть :) Думаю, это почти то же самое.

alex6600
01-07-2009, 15:35
Самый последний список поддерживаемого оборудования:
http://boxster.ghz.cc/projects/nut/browser/trunk/data/driver.list

У меня у самого, собственно, Krauler UP-M500VA есть :) Думаю, это почти то же самое.

С подключением к роутеру проблем не будет с девайсом, присутствующим в этом списке?

Xander
01-07-2009, 23:04
С подключением к роутеру проблем не будет с девайсом, присутствующим в этом списке?
Может быть и будут. Кто знает, что вы с ним вытворяли :)

alex6600
04-07-2009, 11:24
Как не пробовал- не вышло забороть Powercom BNT 800AP USB.
По lsusb видит. Но ни один из драйверов nut'a его не нашел. Пробовал usbhid-ups, blazer_usb, powercom, и т.д. Указывал и vendor'a и productid.
У когото вышло както побороть Powercom?

SSN
16-07-2009, 09:19
Видимо, это ошибка в драйвере.

В списке рассылок NUT мне сказали, что мой бесперебойник не обновляет значения пока не включится питание.
Чесно говоря, если верить в "непогрешимость" софта, то я тоже сделал-бы такой вывод на основании тех данных что я наблюдаю. :rolleyes: Я и так вижу что некоторые данные не меняются вообще или не меняются в реальном времени.

НО... павершют (APCный софт) почему-то показывает значения в реальном времени, на том-же самом бесперебойнике.
И второе: бесперебойник из серии SMART, не может серия SMART быть настолько тупой. :cool:

И самое главное: ups.status всегда показывает ONLINE, причем что под виндой даже сама винда показывает состояние бесперебойника верно.
Эт явно не правильно считываются данные.

P.S. С моей колокольни: драйвер usbhid-ups берет значения не оттуда.

Xander
16-07-2009, 10:31
В списке рассылок NUT мне сказали, что мой бесперебойник не обновляет значения пока не включится питание.
Чесно говоря, если верить в "непогрешимость" софта, то я тоже сделал-бы такой вывод на основании тех данных что я наблюдаю. :rolleyes: Я и так вижу что некоторые данные не меняются вообще или не меняются в реальном времени.

НО... павершют (APCный софт) почему-то показывает значения в реальном времени, на том-же самом бесперебойнике.
И второе: бесперебойник из серии SMART, не может серия SMART быть настолько тупой. :cool:

И самое главное: ups.status всегда показывает ONLINE, причем что под виндой даже сама винда показывает состояние бесперебойника верно.
Эт явно не правильно считываются данные.

P.S. С моей колокольни: драйвер usbhid-ups берет значения не оттуда.
Если вам где и помогут, это будет скорее всего там, так что лучше следовать инструкциям которые вам дают и продолжать переписку.

SSN
16-07-2009, 15:27
Если вам где и помогут, это будет скорее всего там, так что лучше следовать инструкциям которые вам дают и продолжать переписку.

Следую инструкциям и продолжаю переписку, правда уже без особого интузиазма, хорошо хоть заинтересовались тем что статус бесперебойника не меняется.

P.S. Кстати, вместе с NUT установился демон snmpd. Для чего он нужен NUT?

Xander
16-07-2009, 15:57
Следую инструкциям и продолжаю переписку, правда уже без особого интузиазма, хорошо хоть заинтересовались тем что статус бесперебойника не меняется.

Вас никто не заставляет :)
Если не критично/лень и т.д., то не тратьте время разработчиков.
Кстати, лучше сообщить, что под виндой все считывается корректно.


P.S. Кстати, вместе с NUT установился демон snmpd. Для чего он нужен NUT?
Для одного из драйверов.

SSN
16-07-2009, 16:32
Вас никто не заставляет :)
Если не критично/лень и т.д., то не тратьте время разработчиков.
Кстати, лучше сообщить, что под виндой все считывается корректно.
Для одного из драйверов.

Мне лично очень облегчит жизнь нормальная работа с бесперебойником. Тогда смогу полноценно завершать работу не только роутера, но всех компов что подключены к бесперебойнику.

Разработчикам я сообщил, что оригинальным софтом все нормально считывается в реальном времени.

alex6600
22-07-2009, 13:25
Так и не вышло прикрутить к nut'у Powercom BNT-800AP.
На r308 просто куча сообщений в логе (device disconnected && connected), и все. На r380- роутер уходит в ребут.
Может еще какието варианты есть?

theMIROn
22-07-2009, 13:32
Так и не вышло прикрутить к nut'у Powercom BNT-800AP.
На r308 просто куча сообщений в логе (device disconnected && connected), и все. На r380- роутер уходит в ребут.
Может еще какието варианты есть?
только попробовать r396 + припаять консоль, глядеть oopsы в ней

lly
22-07-2009, 13:35
Так и не вышло прикрутить к nut'у Powercom BNT-800AP.
На r308 просто куча сообщений в логе (device disconnected && connected), и все. На r380- роутер уходит в ребут.
Может еще какието варианты есть?
вариантов, как всегда, масса:

сделать консоль к роутеру, поймать kernel oops, мы попытаемся это исправить
перейти на прошивки OpenWRT/DD-WRT с ядром 2.6, забив на WiFi
выкинуть этот роутер или купить другой UPS
подарить кому-нибудь из разработчиков этот UPS на эксперименты
разобраться во всем и исправить самому
найти кого-нибудь, кто сможет исправить баги за деньги
и т.п.


P.S. theMIROn теперь ты меня опередил :D

Asgard
20-12-2009, 02:51
Установил NUT согласно поста топикстартера, в логах роутера настораживает такая строка:

Dec 20 02:43:04 kernel: usb.c: USB device 2 (vend/prod 0x51d/0x2) is not claimed by any active driver.
Почему-то система не находит под UPS драйвер, хотя дальше инициализация скрипта проходит успешно:

Dec 20 02:43:18 usbhid-ups[168]: Startup successful
Dec 20 02:43:18 upsd[170]: /opt/etc/upsd.conf is world readable
Dec 20 02:43:18 upsd[170]: listening on 192.168.1.1 port 3493
Dec 20 02:43:18 upsd[170]: listening on 127.0.0.1 port 3493
Dec 20 02:43:18 upsd[170]: /opt/var/state/ups is world readable
Dec 20 02:43:18 upsd[170]: Connected to UPS [ups]: usbhid-ups-ups
Dec 20 02:43:18 upsd[170]: /opt/etc/upsd.users is world readable
Dec 20 02:43:18 upsd[171]: Startup successful

В процессах видно присутствие программы

$ ps aux | grep ups
root 241 3.0 1.7 1536 520 pts/2 S+ 02:57 0:00 \_ grep ups
root 168 0.2 0.7 1320 224 ? Ss 02:43 0:01 /opt/bin/usbhid-ups -a ups -u root
root 171 0.0 0.4 1116 124 ? Ss 02:43 0:00 /opt/sbin/upsd -u root


И последующая проверка вроде бы успешна:

$ upsc ups
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.date: 2007/12/17
battery.mfr.date: 2007/12/17
battery.runtime: 7780
battery.runtime.low: 120
battery.temperature: 29.2
battery.type: PbAc
battery.voltage: 13.7
battery.voltage.nominal: 12.0
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/usb/hiddev0
driver.version: 2.4.1
driver.version.data: APC HID 0.93
driver.version.internal: 0.34
input.voltage: 200.0
input.voltage.nominal: 230
output.voltage: 230.0
output.voltage.nominal: 2300.0
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.firmware: 30.j4.I
ups.firmware.aux: j4
ups.load: 6.0
ups.mfr: American Power Conversion
ups.mfr.date: 2003/11/13
ups.model: Back-UPS RS 500
ups.productid: 0002
ups.serial: BB0346027616
ups.status: OL
ups.test.result: No test initiated
ups.timer.reboot: 0
ups.timer.shutdown: -1
ups.vendorid: 051d

DMG
20-12-2009, 10:41
Установил NUT согласно поста топикстартера, в логах роутера настораживает такая строка:

Почему-то система не находит под UPS драйвер, хотя дальше инициализация скрипта проходит успешно:


В процессах видно присутствие программы


И последующая проверка вроде бы успешна:

Не обращайте внимание ;)

Asgard
21-12-2009, 01:39
Решил протестировать так сказать на работоспособность установленный софт и оказалось что выключать роутер он и не умеет:

$ upsc ups
battery.charge: 5
battery.charge.low: 10
battery.charge.warning: 50
battery.date: 2007/12/17
battery.mfr.date: 2007/12/17
battery.runtime: 448
battery.runtime.low: 120
battery.temperature: 29.2
battery.type: PbAc
battery.voltage: 11.3
battery.voltage.nominal: 12.0
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/usb/hiddev0
driver.version: 2.4.1
driver.version.data: APC HID 0.93
driver.version.internal: 0.34
input.voltage: 156.0
input.voltage.nominal: 230
output.voltage: 230.0
output.voltage.nominal: 2300.0
ups.alarm: Shutdown imminent!
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.firmware: 30.j4.I
ups.firmware.aux: j4
ups.load: 5.0
ups.mfr: American Power Conversion
ups.mfr.date: 2003/11/13
ups.model: Back-UPS RS 500
ups.productid: 0002
ups.serial: BB0346027616
ups.status: ALARM OB DISCHRG LB
ups.test.result: No test initiated
ups.timer.reboot: 0
ups.timer.shutdown: -1
ups.vendorid: 051d


Просмотрел что же запускается оригинальным скриптом - непосредственно драйвер бесперебойника usbhid-ups и дата-сервер upsd, а вот клиент что должен реагировать на события и писать логи и не загружается. В связи с этим основываясь на оригинальной версии подправил скрипт запуска /opt/etc/init.d/S77nut (может кто более знающий меня уточнит):

#!/bin/sh
# Добавил загрузку upsmon
prefix="/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
NAME_H=usbhid-ups
NAME_D=upsd
NAME_M=upsmon
DAEMON_H=${prefix}/bin/${NAME_H}
DAEMON_H_OPTS="-a ups -u root"
DAEMON_D=${prefix}/sbin/${NAME_D}
DAEMON_D_OPTS="-u root"
DAEMON_M=${prefix}/sbin/${NAME_M}
DAEMON_M_OPTS="-u root"

echo $DAEMON_H
echo $DAEMON_D
echo $DAEMON_M

test -x $DAEMON_H || exit 0
test -x $DAEMON_D || exit 0
test -x $DAEMON_M || exit 0

if [ -z "$1" ] ; then
case `echo "$0" | sed 's:^.*/\(.*\):\1:g'` in
S*) rc="start" ;;
*) rc="usage" ;;
esac
else
rc="$1"
fi

case "$rc" in
start)
if [ -n "`pidof $NAME_H`" ]; then
echo "$NAME_H allready started.... id: `pidof $NAME_H`"
echo "use 'restart' option for restart"
else
echo "Starting $NAME_H: ..."
$DAEMON_H $DAEMON_H_OPTS
fi
if [ -n "`pidof $NAME_D`" ]; then
echo "$NAME_D allready started.... id: `pidof $NAME_D`"
echo "use 'restart' option for restart"
else
echo "Starting $NAME_D: ..."
$DAEMON_D $DAEMON_D_OPTS
fi
if [ -n "`pidof $NAME_M`" ]; then
echo "$NAME_M allready started.... id: `pidof $NAME_M`"
echo "use 'restart' option for restart"
else
echo "Starting $NAME_M: ..."
$DAEMON_M $DAEMON_M_OPTS
fi
;;
stop)
if [ -n "`pidof $NAME_M`" ]; then
echo "Stopping $NAME_M: ..."
killall $NAME_M 2> /dev/null
fi
if [ -n "`pidof $NAME_D`" ]; then
echo "Stopping $NAME_D: ..."
killall $NAME_D 2> /dev/null
fi
if [ -n "`pidof $NAME_H`" ]; then
echo "Stopping $NAME_H: ..."
killall $NAME_H 2> /dev/null
fi
;;
info)
if [ -n "`pidof $NAME_H`" ]; then
echo "$NAME_H is active.... pid: `pidof $NAME_H`"
else
echo "$NAME_H is not running"
fi
if [ -n "`pidof $NAME_D`" ]; then
echo "$NAME_D is active.... pid: `pidof $NAME_D`"
else
echo "$NAME_D is not running"
fi
if [ -n "`pidof $NAME_M`" ]; then
echo "$NAME_M is active.... pid: `pidof $NAME_M`"
else
echo "$NAME_M is not running"
fi
;;
restart)
"$0" stop
sleep 1
"$0" start
;;
*)
echo "Usage: $0 (start|stop|restart|usage|info)"
;;
esac
exit 0
И увидел в сислоге следующее:

Dec 21 01:29:40 usbhid-ups[169]: Startup successful
Dec 21 01:29:40 upsd[171]: /opt/etc/upsd.conf is world readable
Dec 21 01:29:40 upsd[171]: listening on 192.168.1.1 port 3493
Dec 21 01:29:40 upsd[171]: listening on 127.0.0.1 port 3493
Dec 21 01:29:40 upsd[171]: /opt/var/state/ups is world readable
Dec 21 01:29:40 upsd[171]: Connected to UPS [ups]: usbhid-ups-ups
Dec 21 01:29:40 upsd[171]: /opt/etc/upsd.users is world readable
Dec 21 01:29:40 upsd[172]: Startup successful
Dec 21 01:29:40 upsmon[175]: Startup successful
Dec 21 01:29:40 upsd[172]: User monuser@127.0.0.1 logged into UPS [ups]
Вот что крутится в процессах:

$ ps aux | grep ups
root 241 0.0 1.7 1536 520 pts/2 S+ 01:42 0:00 \_ grep ups
root 169 0.1 1.6 1320 500 ? Ss 01:29 0:01 /opt/bin/usbhid-ups -a ups -u root
root 172 0.1 1.4 1116 436 ? Ss 01:29 0:01 /opt/sbin/upsd -u root
root 175 0.0 1.2 1148 372 ? Ss 01:29 0:00 /opt/sbin/upsmon -u root
root 177 0.0 1.4 1148 432 ? S 01:29 0:00 \_ /opt/sbin/upsmon -u root

Надеюсь при следующем полевом испытании роутер все же автоматически выключится.

З.Ы. Кто-то знает как менять в этой программе порог заряда батареи при котором производится автоматическое выключение?
Нашел решение:

/opt/bin/upsrw -s battery.charge.low=20 -u admin -p mypass ups

Записываем эту строку в /tmp/local/sbin/post-mount и

flashfs save && flashfs commit && flashfs enable && reboot
И видим в сислоге следующее:

Dec 21 02:21:39 upsd[172]: Set variable: admin@127.0.0.1 set battery.charge.low on ups to 20

Andrey_3
04-01-2010, 13:21
Здравствуйте!

WL-500gP v1, прошивка 1.9.2.7-d-r1000.
Столкнулся с проблемой: при интенсивном сетевом трафике через маршрутизатор в среднем раз в сутки apcupsd вылетает. На предыдущих версиях прошивки вылеты наблюдаются с той же периодичностью.
В логе apcupsd.events никаких сообщений нет.
В системном логе:

Jan 3 17:20:48 kernel: Unable to handle kernel paging request at virtual address 00000004, epc == 80038d74, ra == 800492a0
Jan 3 17:20:48 kernel: Oops in fault.c::do_page_fault, line 206:
Jan 3 17:20:48 kernel: $0 : 00000000 10009c00 00000fd6 2ab54460 00000004 00000000 00000010 00000000
Jan 3 17:20:48 kernel: $8 : 00000000 2ab54464 80049270 00000003 00000001 0000000d 00000001 fffffffe
Jan 3 17:20:48 kernel: $16: 00441384 00440e38 c018480b 7fff7bf0 00420000 00000004 00420000 00400000
Jan 3 17:20:48 kernel: $24: 00000000 2ab54440 812cc000 812cdef8 004344c0 800492a0
Jan 3 17:20:48 kernel: Hi : 00000000
Jan 3 17:20:48 kernel: Lo : 0000003b
Jan 3 17:20:48 kernel: epc : 80038d74 Tainted: P
Jan 3 17:20:48 kernel: Status: 10009c03
Jan 3 17:20:48 kernel: Cause : 00000008

Думал написать скрипт для проверки запущенности и перезапуска apcupsd. Однако через netstat выяснилось, что после вылета apcupsd, tcp сокет 192.168.0.1:3551 маршрутизатора остается занятым и перезапуск невозможен. Так как tcpdrop нету, скачал cutter отсюда http://wl500g.info/showthread.php?t=12168 (спасибо angel_il). Но он у меня почему-то не заработал:


# ./cutter 192.168.0.1 3551
./cutter: line 1: syntax error: unexpected ")"

Помогите, плс, справиться с проблемой.

Andrey_3
11-01-2010, 11:35
Up!
Помогите, плс, справиться с проблемой.

DarthSemafor
11-01-2010, 12:30
Та же песня:(

Basile
11-01-2010, 14:12
В прошивке от энтузиастов обновлены системные библиотеки uClibc:

А зачем?
Много ли пакетов завязано на ядро? Навскидку - apcupsd, bluez, gdb, modutils, usbutils, wpa-supplicant
Да и то, если используемые структуры не изменились - всё будет OK.
В большинстве пакетов /opt уже используется uClibc 0.9.28 и новее, да и ищется она в /opt/lib ...

Для подавляющего большинства пакетов роялит ТОЛЬКО uClibc!
IMHO стоит перекомпилировать только по факту segfault, ну или если уж очень хочется использовать только один экземпляр uClibc.
Нужно компилировать apcupsd специально под эту прошивку

lly
11-01-2010, 14:24
В прошивке от энтузиастов обновлены системные библиотеки uClibc:

Нужно компилировать apcupsd специально под эту прошивку
В исходном письме маловато информации - откуда взят apcupsd, какую libusb использует (если использует), нет ли отягтяющих обстоятельств в виде торрентов на роутере и т.п.

Andrey_3
11-01-2010, 18:01
В исходном письме маловато информации - откуда взят apcupsd, какую libusb использует (если использует), нет ли отягтяющих обстоятельств в виде торрентов на роутере и т.п.

Установлен apcupsd 3.14.5-2 отсюда http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
Установлена uclibc-opt - 0.9.28-13.
Отягощений в виде торрентов на роутере нет. Запущены только lighttpd 1.4.25-1 и vsftpd 2.2.2-1, но они почти всегда спят.

Не понятно почему не заработал cutter.

lly
11-01-2010, 19:29
Т.к. apcupsd завязан на usbdevfs, то лучше бы его пересобрать под новое ядро, как и написал Basile. А в общем - проверять отсутствие kernel oops на консоли и, если падает сам apcupsd, то искать багу(специфичную для роутера) в нём.

AlekseyA
16-02-2010, 16:28
Имею APC Back-UPS Pro 300Watts/500VA Interface Port DB-9 RS-232 (http://www.apc.com/products/resource/include/techspec_index.cfm?base_sku=BP500I&tab=features), хотелось бы его подключить к своему 500gP v.1 (r1000), возможно ли это сделать через переходник USB-COM?
Достаточно ли первого поста или нужно что-то еще?
Помогите ссылками и советами, в линуксе не силен.

PS: Может кому пригодится: Схемы интеpфейсов и кабелей для UPS (http://ups.miem.edu.ru/ups_faq5.html#5).

SSN
18-02-2010, 17:39
Та же песня:(

Аналогично, очень жаль.
На предыдущей версии было:


Nov 29 21:31:33 kernel: Unable to handle kernel paging request at virtual address 00000004, epc == 80037b48, ra == 80048334
Nov 29 21:31:33 kernel: Oops in fault.c::do_page_fault, line 192:
Nov 29 21:31:33 kernel: $0 : 00000000 10009c00 00000fd6 00000000 00000004 c018480b 00000000 00000010
Nov 29 21:31:33 kernel: $8 : 00000000 2ab73464 80048308 00000003 000000ff 00000000 80df4e21 000000ff
Nov 29 21:31:33 kernel: $16: c018480b 00440e38 00437c90 0044160c 00000004 00420000 00420000 00400000
Nov 29 21:31:33 kernel: $24: 00000000 2ab73440 80df4000 80df5f08 004344c0 80048334
Nov 29 21:31:33 kernel: Hi : 00000000
Nov 29 21:31:33 kernel: Lo : 00000057
Nov 29 21:31:33 kernel: epc : 80037b48 Tainted: P
Nov 29 21:31:33 kernel: Status: 10009c03
Nov 29 21:31:33 kernel: Cause : 00000008
Nov 29 21:31:33 kernel: Process apcupsd (pid: 7999, stackpage=80df4000)
Nov 29 21:31:33 kernel: Stack: 00420000 800066dc 00437c90 00420000 004415f8 00440e38 00437c90
Nov 29 21:31:33 kernel: 7fff7b60 00420000 800085c4 00000000 00000000 7fff76e8 00000000 7fff7af0
Nov 29 21:31:33 kernel: 00000000 00000000 80198e24 00000fd6 00000021 00000004 c018480b 0044160c
Nov 29 21:31:33 kernel: 00000000 00009c00 004412c4 00000000 00000000 00000001 0000000d 80df4e21
Nov 29 21:31:33 kernel: 00000001 00441298 00440e38 00437c90 7fff7b60 00420000 00420000 00420000
Nov 29 21:31:33 kernel: 00400000 ...
Nov 29 21:31:33 kernel: Call Trace: [<800066dc>] [<800085c4>] [<80198e24>]
Nov 29 21:31:33 kernel:
Nov 29 21:31:33 kernel: Code: 8f8603c4 00043880 00001821 <8cc20004> 0082202b 10800004 24050001 8cc20010 00e21021


На текущей поскромнее вывод:

Feb 18 15:19:42 kernel: Unable to handle kernel paging request at virtual address 10800240, epc == 8003750c, ra == 8003771c
Feb 18 15:19:42 kernel: Oops in fault.c::do_page_fault, line 206:
Feb 18 15:19:42 kernel: $0 : 00000000 10009c00 00400204 00000001 802ec013 00000001 06041448 10800240
Feb 18 15:19:42 kernel: $8 : 02001020 ffffffe8 08042468 ffffffe0 1040003c 10009c01 00000000 00000001
Feb 18 15:19:42 kernel: $16: 08042468 80109028 00000000 802ec000 00000400 004522f0 00430000 7fff7ec4
Feb 18 15:19:42 kernel: $24: ba2e8ba3 2ab55200 80d54000 80d55ee8 004522f4 8003771c
Feb 18 15:19:42 kernel: Hi : 00000000
Feb 18 15:19:42 kernel: Lo : 00000000
Feb 18 15:19:42 kernel: epc : 8003750c Tainted: P
Feb 18 15:19:42 kernel: Status: 10009c03
Feb 18 15:19:42 kernel: Cause : 00000008

Похоже роутер перегружается даже не успев записать полный вывод сообщения.
P.S. у меня системный лог находится на винте и после перезагрузки я могу поглядеть что было до перезагрузки...

Может тот, кто компилит и собирает в репозитарий данное приложение обратит внимание на эту проблему? ;)

DarthSemafor
18-02-2010, 21:07
apcupsd-3.14.8]$ ./configure --build=mipsel-unknown-linux-gnu --prefix=/opt/usr --disable-apcsmart --disable-test --enabl
e-usb
checking for true... /opt/bin/true
checking for false... /opt/bin/false
checking build system type... mipsel-unknown-linux-gnu
checking host system type... mipsel-unknown-linux-gnu
checking for g++... g++
checking for C++ compiler default output file name... configure: error: C++ compiler cannot create executables
See `config.log' for more details.
apcupsd-3.14.8]$

apcupsd-3.14.8]$ ipkg list_installed
apcupsd - 3.14.5-2 -
apr - 1.3.9-1 -
apr-util - 1.3.9-1 -
autoconf - 2.63-1 -
automake - 1.10-2 -
bash - 3.2.49-1 -
bison - 2.4.1-1 -
buildroot - 4.1.1-13 -
bzip2 - 1.0.5-2 -
coreutils - 7.5-1 -
cyrus-sasl-libs - 2.1.23-1 -
diffutils - 2.8.1-6 -
e2fslibs - 1.41.9-1 -
expat - 2.0.1-1 -
file - 5.03-1 -
findutils - 4.2.32-1 -
flex - 2.5.35-1 -
gawk - 3.1.7-1 -
gdbm - 1.8.3-2 -
gettext - 0.14.5-2 -
glib - 2.20.4-1 -
groff - 1.19.2-2 -
gzip - 1.2.4a-4 -
ipkg - 0.99.163-2 -
libdb - 4.2.52-3 -
libidn - 1.15-1 -
libpcap - 1.0.0-2 -
libtool - 1.5.26-1 -
libuclibc++ - 0.2.2-8 -
libxml2 - 2.7.6-1 -
libxslt - 1.1.26-1 -
m4 - 1.4.13-1 -
make - 3.81-2 -
mc - 4.6.2-1 -
nano - 2.2.1-1 -
ncurses - 5.7-1 -
ncursesw - 5.7-1 -
neon - 0.29.3-1 -
nmap - 5.00-2 -
openldap-libs - 2.3.43-1 -
openssl - 0.9.7m-5 -
optware-devel - 6.8-9 -
patch - 2.6.1-1 -
pcre - 8.00-1 -
perl - 5.8.8-23 -
php - 5.2.12-1 -
php-mbstring - 5.2.12-1 -
pkgconfig - 0.15.0-1 -
python25 - 2.5.4-2 -
readline - 6.1-1 -
rsync - 3.0.7-1 -
sed - 4.2.1-1 -
slang - 2.1.4-1 -
sqlite - 3.6.22-1 -
svn - 1.6.6-1 -
tar - 1.22-2 -
tcpdump - 4.0.0-1 -
uclibc-opt - 0.9.28-13 -
wget-ssl - 1.12-2 -
zlib - 1.2.3-3 -
Successfully terminated.
apcupsd-3.14.8]$


apcupsd-3.14.8]$ c\+\+ -v
Using built-in specs.
Target: mipsel-linux-uclibc
Configured with: /home/slug/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/gcc-4.1.1/configure --prefix=/opt --build=i386-pc-linux-gnu --host=mipsel-linux-uclibc --target=mipsel-linux-uclibc --enable-languages=c,c++ --with-gxx-include-dir=/opt/include/c++ --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --enable-shared --enable-threads --disable-multilib
Thread model: posix
gcc version 4.1.1
pcupsd-3.14.8]$
config.log

onfigure:1742: g++ -I/usr/local/include -L/usr/local/lib64 -L/usr/local/lib conftest.cc >&5
g++: error trying to exec 'cc1plus': execvp: No such file or directory
configure:1745: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:1784: error: C++ compiler cannot create executables
See `config.log' for more details.

WTF?:rolleyes:

lly
18-02-2010, 21:19
DarthSemafor
Десятки раз писалось, что C++ компилер из optware buildroot имеет серьезные ограничения. Пользуйтесь кросс-компилером.

P.S. не находит собственно бинарник плюсового компилера (g++ это враппер), почему - х.з.

Andrey_3
01-03-2010, 21:43
Подскажите, пожалуйста, существует ли какой-нибудь способ освободить tcp сокет (192.168.0.1:3551), который остается занятым после вылета apcupsd, без перезагрузки маршрутизатора?

tin
06-04-2010, 02:44
Т.к. apcupsd завязан на usbdevfs, то лучше бы его пересобрать под новое ядро, как и написал Basile. А в общем - проверять отсутствие kernel oops на консоли и, если падает сам apcupsd, то искать багу(специфичную для роутера) в нём.
Если не трудно уважаемому lly , объяснить как пересобрать apcupsd
под новое ядро.
Вылетает регулярно.

lly
06-04-2010, 11:21
Если не трудно уважаемому lly , объяснить как пересобрать apcupsd
под новое ядро.
Вылетает регулярно.
Так же как и любой другой пакет кросс-компилятором ;)
Например:

ac_cv_func_setpgrp_void=no \
./configure --host=mipsel-linux --enable-usb --without-x --enable-snmp
make

P.S. главное начать :)

Unlimited
06-04-2010, 20:39
Хм, почему-то acptest не видит упса...

[admin@ROUTER root]$ modprobe evdev
[admin@ROUTER root]$ modprobe hid
[admin@ROUTER root]$ apctest


2010-04-06 21:25:59 apctest 3.14.8 (16 January 2010) unknown
Checking configuration ...
Attached to driver: usb
sharenet.type = DISABLE
cable.type = USB_CABLE

You are using a USB cable type, so I'm entering USB test mode
mode.type = USB_UPS
Setting up the port ...
apctest FATAL ERROR in linux-usb.c at line 609
Cannot find UPS device --
For a link to detailed USB trouble shooting information,
please see <http://www.apcupsd.com/support.html>.
apctest error termination completed


В чем может быть проблема? прошивка RT-N16 rtn-r1416

lly
06-04-2010, 21:40
Хм, почему-то acptest не видит упса...

В чем может быть проблема? прошивка RT-N16 rtn-r1416
Ну уж ты бы не позорился :p Топикстартер проверил /proc/bus/usb/devices и файлы в /dev, а ты что?

Unlimited
06-04-2010, 22:03
Ну уж ты бы не позорился :p Топикстартер проверил /proc/bus/usb/devices и файлы в /dev, а ты что?
я тоже проверил /proc :) там есть..

T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 0.06
S: Manufacturer=American Power Conversion
S: Product=Back-UPS ES 525 FW:851.t3.I USB FW:t3
S: SerialNumber=8B0807R32517
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 2mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=100ms


А про /dev ничего не нашел...

Driver=(none) настораживает...

ЗЫЖ Разобрался, оказывается на 2.6 ядре (ветке rt-n) надо делать modprobe usbhid.... и вуаля, все запахало! :)

tin
07-04-2010, 02:15
После кросс-компиляции тулчейном от энтузиастов apcupsd держиться уже почти сутки.
Пакет не делал просто переписал существующие бинарники.
Ждем дальше.

tin
16-04-2010, 03:41
Валиться также :

kernel: Unable to handle kernel paging request at virtual address 00004410, epc == 800043d4, ra == 800042ec
kernel: Oops in fault.c::do_page_fault, line 206:
kernel: $0 : 00000000 10009c01 00000420 00004420 00000000 79c43d9f efff67fe 87e06000
kernel: $8 : fffffffd ffffffff 80212614 80206000 00000001 00000000 00000003 ffffff00
kernel: $16: 7fff7c00 2aadf024 2aadf040 872b7f30 0000002c 00410000 00410000 0000440c
kernel: $24: 00000000 2ab10ad0 872b6000 872b7e38 872b7f08 800042ec
kernel: Hi : 00000000
kernel: Lo : 00000000
kernel: epc : 800043d4 Tainted: P
kernel: Status: 10009c03
kernel: Cause : 00000008

Совет по части перекомпиляции не помог.

lly
22-04-2010, 11:11
Валиться также :

К сожалению, дамп от 2.4 без расшифровки малополезен. Есть два варианта:

ты сам прогоняешь ksymoops и присылаешь результат
говоришь точную ревизию прошивки rXXXX, присылаешь содержимое /proc/ksyms после загрузки всех необходимых модулей и актуальный текст Oops'а

tin
31-05-2010, 03:01
К сожалению, дамп от 2.4 без расшифровки малополезен. Есть два варианта:

ты сам прогоняешь ksymoops и присылаешь результат
говоришь точную ревизию прошивки rXXXX, присылаешь содержимое /proc/ksyms после загрузки всех необходимых модулей и актуальный текст Oops'а


Не нашел ksymoops,действую по второму варианту.

Прошивка 1.9.2.7-d-r1445.

Текст oops:

kernel: Unable to handle kernel paging request at virtual address 0000001c, epc == 8004520c, ra == 80045384
kernel: Oops in fault.c::do_page_fault, line 206:
kernel: $0 : 00000000 10009c00 0000002f 0000002f 83964000 00000009 0000000c 0000001b
kernel: $8 : 00000067 83964000 00001000 00000002 8024b2a4 03ffffff 8024b4a8 000fffff
kernel: $16: 872bdf00 872bdf00 83964000 004028f8 00410000 00410000 00410000 00410000
kernel: $24: 00000000 2ab10b70 872bc000 872bde98 00429830 80045384
kernel: Hi : 00000000
kernel: Lo : 00000000
kernel: epc : 8004520c Tainted: P
kernel: Status: 10009c03
kernel: Cause : 00000008

Содержимое proc/ksyms:

lly
31-05-2010, 09:05
Текст oops:

Здесь нет самого главного, стека и call trace, как в http://wl500g.info/showpost.php?p=184901&postcount=8 :(

Без этого можно только констатировать факт обращения к некорректной странице памяти.

tin
31-05-2010, 09:32
Oops на последней прошивке 1.9.2.7-d-r1612.
Вывод dmesg'а:


Unable to handle kernel paging request at virtual address 27bdffdc, epc == 8001d864, ra == 800042ec
Oops in fault.c::do_page_fault, line 206:
$0 : 00000000 10009c00 afb00010 27bdffd8 8732c3e0 00000002 00000000 00000020
$8 : 801f0000 27bdffd8 80212614 80206000 00000001 00000000 00000003 ffffff00
$16: c008fe14 8732de48 00000002 8732c3e8 00000003 00000003 00410000 00410000
$24: 00000000 2ab10ad0 8732c000 8732de08 8732df08 800042ec
Hi : 00000000
Lo : 00000000
epc : 8001d864 Tainted: P
Status: 10009c02
Cause : 00000008
PrId : 00029006
Process apcupsd (pid: 254, stackpage=8732c000)
Stack: 00000000 874635e0 00000000 803b038c 7fff7c00 2aadf024 2aadf040
8732df30 00410000 00410000 800042ec 80250000 00410000 00000000 00000000
00429830 8001df74 80250000 9999999b 00959999 00000000 00e60000 004350b8
0042bf40 00410000 801f0000 00000020 8732de90 00410000 8001ee88 46201083
8732c298 800a0c48 800a19f0 00000020 00000000 00000000 000000fe 00000000
00000003 ...
Call Trace: [<800042ec>] [<8001df74>] [<8001ee88>] [<800a0c48>] [<800a19f0>]
[<800053b8>] [<8000757c>] [<80008d00>] [<80005d88>] [<801b0144>] [<8005e7ac>]

Code: 8c890000 11200007 3245001f <8d220004> 10540013 8d230000 01208021 08007617 00604821
Unhandled kernel unaligned access in unaligned.c::emulate_load_store_insn, line 481:
$0 : 00000000 10009c00 81b018b0 00000084 8100001c c008fe14 2844128f 81162270
$8 : 81162280 10009c00 00002bf0 00002bef 80250000 80250000 80250000 ffffffff
$16: 27bdffd8 81165200 8732c000 27bdffdc 0000000b 8732dd58 00000000 00410000
$24: 00000001 00000005 8732c000 8732dc28 8732df08 8001d4d4
Hi : 00000028
Lo : 0000000e
epc : 8002d894 Tainted: P
Status: 10009c02
Cause : 00000010
PrId : 00029006
Process apcupsd (pid: 254, stackpage=8732c000)
Stack: 801c7648 801c1010 8732dd58 27bdffdc 8732c000 8001d580 80338920
801c1010 8732c000 27bdffdc 802a23e0 80017210 8732c000 8732dc80 8732df08
80006a74 801c7648 801c1010 8732dd58 27bdffdc 80338920 80006a74 00000000
87c08000 00000001 80212900 873f55c0 8732c000 8033893c 8000bd80 00410000
27bdffdc 8001d864 800042ec 000000ce 8732dcc0 80150aa4 00030001 86cbcc20
86cbcc20 ...
Call Trace: [<801c7648>] [<801c1010>] [<8001d580>] [<801c1010>] [<80017210>]
[<80006a74>] [<801c7648>] [<801c1010>] [<80006a74>] [<8000bd80>] [<8001d864>]
[<800042ec>] [<80150aa4>] [<800e5260>] [<800db50c>] [<80150aa4>] [<c0091aec>]
[<c00904c8>] [<c00904ac>] [<c008fe14>] [<8000f834>] [<c018d38c>] [<c008fe14>]
[<801ba0e8>] [<801ba0e8>] [<800042ec>] [<801b0144>] [<8001d864>] [<800042ec>]
[<8001df74>] [<8001ee88>] [<800a0c48>] [<800a19f0>] [<800053b8>] [<8000757c>]
[<80008d00>] [<80005d88>] [<801b0144>] [<8005e7ac>]

Code: 8c460004 8ce30018 24e80010 <8cc2000c> 8cc40014 00a22823 14600002 00a3001b 0007000d


Содержимое /proc/ksyms:

lly
01-06-2010, 20:27
Oops на последней прошивке 1.9.2.7-d-r1612.
Вывод dmesg'а:

Расшифровка:

>>RA; 800042ec <do_signal+64/fd0>
>>$2; afb00010 <_end+2f885d10/3fd97d60>
>>$4; 8732c3e0 <_end+70b20e0/3fd97d60>
>>$8; 801f0000 <setup_arch+28/4c8>
>>$10; 80212614 <runqueue_head+0/8>
>>$11; 80206000 <tasklist_lock+0/0>
>>$16; c008fe14 <[et]et_intrson+a60/1228>
>>$17; 8732de48 <_end+70b3b48/3fd97d60>
>>$19; 8732c3e8 <_end+70b20e8/3fd97d60>
>>$28; 8732c000 <_end+70b1d00/3fd97d60>
>>$29; 8732de08 <_end+70b3b08/3fd97d60>
>>$30; 8732df08 <_end+70b3c08/3fd97d60>
>>$31; 800042ec <do_signal+64/fd0>

>>???; 8001d864 <dequeue_signal+164/350> <=====

Trace; 800042ec <do_signal+64/fd0>
Trace; 8001df74 <send_sig_info+3ac/3fc>
Trace; 8001ee88 <sys_kill+194/1b8>
Trace; 800a0c48 <fpu_emulator_cop1Handler+218/1c10>
Trace; 800a19f0 <fpu_emulator_cop1Handler+fc0/1c10>
Trace; 800053b8 <_sys_rt_sigsuspend+160/17c>
Trace; 8000757c <do_cpu+348/37c>
Trace; 80008d00 <stack_done+1c/38>
Trace; 80005d88 <handle_cpu_int+20/38>
Trace; 801b0144 <__copy_user+0/0>
Trace; 8005e7ac <create_proc_entry+60/c0>


К сожалению, причиной падения является сам apcupsd. А именно, доступ к невыровненным на границу слова данным (в нашем случае, в эмуляторе FPU). Таково требование архитектуры MIPS (в x86 всё по-фигу).

Как найти точное место? Боюсь, придётся смотреть в сторону gdb.

tin
02-06-2010, 02:04
К сожалению, причиной падения является сам apcupsd. А именно, доступ к невыровненным на границу слова данным (в нашем случае, в эмуляторе FPU). Таково требование архитектуры MIPS (в x86 всё по-фигу).

Как найти точное место? Боюсь, придётся смотреть в сторону gdb.

Все понял.
Спасибо за помощь.
Попробую разобраться с gdb.

lly
02-06-2010, 10:52
Все понял.
Спасибо за помощь.
Попробую разобраться с gdb.
Использовав мощного суфлёра в виде google, можно обнаружить, что ты не одинок в своей проблеме. Аналогичная бага встречается аж на 2.6.26 - http://lkml.org/lkml/2008/10/3/112

Из этого можно сделать вывод, что проблема глубже, а именно в связке apcupsd <-> hiddev ядра. Т.е. ядро возвращает хрень, apcupsd не проверяет, и ...

Может оказаться эффективнее задействовать трассировочные средства типа strace, чтобы поймать место или syscall, приводящий к Oops. Как быстро после старта падает?

tin
02-06-2010, 13:30
Может оказаться эффективнее задействовать трассировочные средства типа strace, чтобы поймать место или syscall, приводящий к Oops. Как быстро после старта падает?

Падает по разному.Может сразу после старта минут пять проработать.
Может сутки продержаться.
Связать падение с какими-то событиями (большая нагрузка,прохождение мультикаста)особо тоже нельзя.
Падает спорадически.
Иногда падение вызывает перезагрузку роутера(конденсаторы и в БП и в самой коробке перепаяны на новые).
На роутере установлено 128 мб RAM,но валилось и на 32.

lly
02-06-2010, 14:59
Падает спорадически.
Иногда падение вызывает перезагрузку роутера(конденсаторы и в БП и в самой коробке перепаяны на новые).
Это же софтовая проблема, а перезагрузка зависит от того, смогло ли ядро корректно обработать oops.

P.S. Ввиду отсутствия у меня бесперебойника от APC, основную нагрузку по копанию придётся тащить тебе...

tin
03-06-2010, 01:07
Для меня нахождение сервера apcupsd именно на роутере идеальный вариант.Поэтому копать буду по возможности до упора.

TReX
03-06-2010, 01:38
Для меня нахождение сервера apcupsd именно на роутере идеальный вариант.Поэтому копать буду по возможности до упора.

Эдиальное место его нахождения внутри самого UPS, хотя решение весьма дорогое получается, но зато значительно более надежное и универсальное )

http://www.apcc.com/products/resource/include/techspec_index.cfm?base_sku=AP9630

tin
10-06-2010, 10:48
Освободился переходник USB-Serial на Prolific'е и APC был подключен через com порт.
При таком соединении apcupsd работает без проблем , не валится.
Uptime почти неделя.
Полагаю что для меня проблема решена.
Спасибо lly за помощь.

lly
10-06-2010, 10:54
Освободился переходник USB-Serial на Prolific'е и APC был подключен через com порт.
При таком соединении apcupsd работает без проблем , не валится.
А родной на чём собран не знаешь?

tin
10-06-2010, 11:02
А родной на чём собран не знаешь?
Переходника не было.
APC был подсоединен напрямую по USB.

lly
10-06-2010, 11:24
Переходника не было.
APC был подсоединен напрямую по USB.
Внутри он есть ;)

DevTi
14-06-2010, 08:10
У меня таже проблема
роутер WL500gpv2 + 1.9.2.7-d-r1445
упс - APC Back-UPS CS 650VA

Andrey_3
28-06-2010, 09:56
Освободился переходник USB-Serial на Prolific'е и APC был подключен через com порт.
При таком соединении apcupsd работает без проблем , не валится.
Uptime почти неделя.
Полагаю что для меня проблема решена.
Спасибо lly за помощь.
Подтверждаю. Действительно, на тех двух из трех Smart UPS, которые подключены через переходник USB-COM на PL-2303, apcupsd работает стабильно. На третьем, подключенном через USB, - постоянные вылеты.

lly
30-06-2010, 09:08
Andrey_3
Глобально, ситуация не изменилась - либо кто-то должен копать проблему сам, с нашей помощью, либо кто-то подвозит мне или Владу(если он сам не против) девайс на эксперименты на несколько недель...

Andrey_3
30-07-2010, 16:51
Надоели вылеты apcupsd. Подключил все UPSы через переходники USB-COM (PL-2303). Надеюсь, что для меня проблема решена. Всем спасибо за помощь.

igor77777
13-08-2010, 07:01
Последнее время (наверно из-за жары и большой нагрузки на эл.сеть) просаживается эл.сеть. В итоге ADSL модем и/или роутер вырубается.
Хочу поставить ИБП для них.
Порекомендуйте недорогой ИБП, который бы тянул наш роутер.
Я так понимаю некоторые ИБП при низкой нагрузке отключаются, а я хочу чтобы не отключался.

Итак требования:
- мог питать низкую нагрузку (только роутер или роутер+винт).
- мог, в случае разряда батареи, дать команду на выключение роутера (я так думаю, что тут лучше usb, ну или com. Ну и это проблема ещё и софта).
- можно было отключить звуковое сопровождение о переходе на батарею.
- сам включал нагрузку при появлении питающего напряжения, если отключался.
- не дорогой.

PS: От модема возможно скоро откажусь, поэтому нагрузка будет ещё меньше.

happylink
15-08-2010, 17:29
Не получается запустить apctest. Прошивка WL500gpv2 1.9.2.7-d-r1825.

сделал



insmod input
insmod hid




[root@myrouter root]$ cat /proc/bus/usb/devices
...
T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 4 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 0.06
S: Manufacturer=American Power Conversion
S: Product=Back-UPS ES 525 FW:851.t3.I USB FW:t3
S: SerialNumber=4B0818P11763
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=100ms
...


В /dev/ ничего похожего на hiddev нет.

при запуске apctest


2010-08-15 19:27:14 apctest 3.14.8 (16 January 2010) unknown
Checking configuration ...
Attached to driver: usb
sharenet.type = DISABLE
cable.type = USB_CABLE

You are using a USB cable type, so I'm entering USB test mode
mode.type = USB_UPS
Setting up the port ...
apctest FATAL ERROR in linux-usb.c at line 609
Cannot find UPS device --
For a link to detailed USB trouble shooting information,
please see <http://www.apcupsd.com/support.html>.
apctest error termination completed


В чем может быть проблема?

igor77777
04-10-2010, 13:52
Автор топика предлагает в apccontrol указать:

SHUTDOWN на "/sbin/halt -p"
но я так понимаю, наш-то роутер реально не отключается.
Ему нужно реально выключать питание, а потом, чтобы он загрузился - нужно подать питание.

Правильно я понимаю?

Собственно вопрос в том, что будет с роутером, если сразу после halt восстановится питание в сети и роутер не будет обесточен?

Andrey_3
04-10-2010, 17:59
Автор топика предлагает в apccontrol указать:

SHUTDOWN на "/sbin/halt -p"
но я так понимаю, наш-то роутер реально не отключается.
Ему нужно реально выключать питание, а потом, чтобы он загрузился - нужно подать питание.

Правильно я понимаю?

Собственно вопрос в том, что будет с роутером, если сразу после halt восстановится питание в сети и роутер не будет обесточен?

Все правильно. В этом случае процессор роутера будет пребывать в состоянии halt до обесточивания и повторной подачи питания.

Если это вызывает беспокойство, можно подавать команду UPS на самоотключение (если Ваш UPS поддерживает эту функцию).

igor77777
04-10-2010, 21:15
Если это вызывает беспокойство, можно подавать команду UPS на самоотключение (если Ваш UPS поддерживает эту функцию).
Да вызывает. Получается, что в данном случает потребуется "ручной" перезапуск роутера.

По поводу команды на самоотключение - я думаю это самое верное решение.
Другой вариант, как мне кажется, может быть такой:
- вызвать pre-shutdown (чтобы все процессы остановились и перемонтировались диски) и создать где-нибудь файл-флаг
- при восстановлении питания, если есть файл-флаг - вызвать post-mount (или вообще сделать reboot, но это наверно слишком)

А вообще, я хочу чтобы связка роутер+ИБП была автономна.

2Andrey_3
ИБП у меня APC Back-UPS ES 525
А можете подсказать, как может выглядеть команда самоотключения?

Andrey_3
04-10-2010, 23:08
2Andrey_3
ИБП у меня APC Back-UPS ES 525
А можете подсказать, как может выглядеть команда самоотключения?

Я использовал для самоотключения apcupsd с опцией killpower. В мануале к apcupsd об этом подробно написано.

igor77777
05-10-2010, 08:51
Я использовал для самоотключения apcupsd с опцией killpower. В мануале к apcupsd об этом подробно написано.

Спасибо!
Читал, так и не понял.
Нужно в pre-shutdown вставить
apcupsd --killpower
или же ни чего вставлять не нужно, а
apcupsd в "нужный момент" сам вызовет apccontrol с параметром killpower и уже оттуда дёрнет себя:

case "$1" in
killpower)
echo "Apccontrol doing: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
sleep 10
${APCUPSD} --killpower
echo "Apccontrol has done: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
?

Andrey_3
05-10-2010, 18:09
Спасибо!
Читал, так и не понял.
Нужно в pre-shutdown вставить
apcupsd --killpower
или же ни чего вставлять не нужно, а
apcupsd в "нужный момент" сам вызовет apccontrol с параметром killpower и уже оттуда дёрнет себя:

case "$1" in
killpower)
echo "Apccontrol doing: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
sleep 10
${APCUPSD} --killpower
echo "Apccontrol has done: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
?

Apcupsd сам вызывает apccontrol c параметром killpower после запуска процедуры shutdown и по истечение времени, установленного параметром KILLDELAY в файле конфигурации.
Поэтому достаточно лишь правильно настроить apcupsd.conf.

igor77777
06-10-2010, 06:54
Поэтому достаточно лишь правильно настроить apcupsd.conf.

Вчера пробился до поздней ночи, но работать адекватно так и не заставил.
Я так подозреваю, что проблема может быть связана с тем, что к тому моменту, когда apcupsd запускается с --killpower, /opt/ уже размонтирован.

Ещё, не понятный момент. Между "ручным" запуском
apcupsd --killpower и отключением питания проходит какое-то время. Секундомера не было, но мне показалось, что это было KILLDELAY. (у меня тогда было прописано 30 секунд)

Ещё один, вообще не понятный для меня момент.
Если в одной консоле запустить top, а в другой запустить pre-shutdown или halt, то результаты в первом окне различаются.
В первом случае(pre-shutdown) все процессы из /opt/etc/init.d благополучно "уходят", а во втором (halt) - они переходят в состояние [defunct] и остаются висеть в списке до потери связи с роутером.

Не могли-бы Вы поделиться своими файлами apcupsd.conf, apccontrol и pre-shutdown ?

Andrey_3
06-10-2010, 18:14
Вчера пробился до поздней ночи, но работать адекватно так и не заставил.
Я так подозреваю, что проблема может быть связана с тем, что к тому моменту, когда apcupsd запускается с --killpower, /opt/ уже размонтирован.

В процессе shutdown раздел /opt/ должен быть перемонтирован в режиме readonly. Очевидно, что иначе доступа к apcupsd не будет.


Ещё, не понятный момент. Между "ручным" запуском
apcupsd --killpower и отключением питания проходит какое-то время. Секундомера не было, но мне показалось, что это было KILLDELAY. (у меня тогда было прописано 30 секунд)

Это нормально.


Не могли-бы Вы поделиться своими файлами apcupsd.conf, apccontrol и pre-shutdown ?

В настоящий момент не смогу. Нет под рукой роутера c бесперебойниками.

igor77777
07-10-2010, 09:37
В процессе shutdown раздел /opt/ должен быть перемонтирован в режиме readonly. Очевидно, что иначе доступа к apcupsd не будет.

Спасибо за подсказки.
У меня сейчас какой-то "навороченный" pre-shutdown, который с файлом signal_and_wait.inc.sh.
Но я не разбирался, делает он перемонтирование в readonly или вообще всё размонтирует. На досуге - посмотрю.

В общем поставил KILLDELAY=1, остальные параметры - остались стандарные. Вроде отрабатывает все правильно.

Теперь буду учить выключаться ББ, вроде apcupsd - это умеет.
Во всяком случае ИБП роутера - мониторит вполне успешно.

AlekseyA
28-10-2010, 15:20
Что-то не хочет запускаться:

/opt/sbin/apctest


1970-01-01 03:02:26 apctest 3.14.8 (16 January 2010) unknown
Checking configuration ...
Attached to driver: apcsmart
sharenet.type = DISABLE
cable.type = CUSTOM_SMART

You are using a SMART cable type, so I'm entering SMART test mode
mode.type = APCSMART_UPS
Setting up the port ...
apctest FATAL ERROR in smartsetup.c at line 70
Cannot open UPS port /dev/ttyS0: No such file or directory
apctest error termination completed

Andrey_3
28-10-2010, 16:53
Что-то не хочет запускаться:

Cannot open UPS port /dev/ttyS0: No such file or directory

Проверить порт /dev/ttyS0?

AlekseyA
28-10-2010, 19:45
Ни чего не понимаю.
Не появляетсь UPC в логах и все тут на ББ все нормально, а к роутеру не цыпляется.
А вот это нормально?

cable.type = CUSTOM_SMART

igor77777
28-10-2010, 21:33
А вот это нормально?
Вы бы хоть модель озвучили.
У меня так пишет:


# apctest


2010-10-28 23:25:31 apctest 3.14.8 (16 January 2010) unknown
Checking configuration ...
Attached to driver: usb
sharenet.type = DISABLE
cable.type = USB_CABLE

You are using a USB cable type, so I'm entering USB test mode
mode.type = USB_UPS
Setting up the port ...
apctest FATAL ERROR in device.c at line 71
Unable to create UPS lock file.
If apcupsd or apctest is already running,
please stop it and run this program again.
apctest error termination completed

Все работает.
Ошибка - это нормально - конфликт с запущенным демоном.

AlekseyA
29-10-2010, 07:17
Моделька у меня - APC Smart-ups 1000XL.
А с чем может конфликтовать? Может с принтером?
У меня на роутере распаяны два дополнительных USB разьема, подключен HDD, принтер и ups.

igor77777
29-10-2010, 08:04
Моделька у меня - APC Smart-ups 1000XL.

Просмотрите apcupsd.conf - возможно нужно правильно указать параметры Вашего кабеля и типа подключения.
Когда я настраивал, то взял в помощь гугл, и нашел пример конфигурационного файла для моего ИБП.


А с чем может конфликтовать? Может с принтером?

Про конфликт я написал, потому что в моем примере вывода apstest он есть. Причина - нельзя запускать apctest при запущенном apcupsd.
В вашем случае - не знаю.

А драйвера загрузили?



У меня на роутере распаяны два дополнительных USB разьема, подключен HDD, принтер и ups.
У меня UPS подключен в хаб и все работает.
А ещё подключены флешка, винт, Веб-Камера и звукавуха.

AlekseyA
29-10-2010, 09:46
Просмотрите apcupsd.conf - возможно нужно правильно указать параметры Вашего кабеля и типа подключения.


Вот что там есть за исключением коментов:

UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/ttyS0
LOCKFILE /opt/var/lock
SCRIPTDIR /opt/etc/apcupsd
PWRFAILDIR /opt/etc/apcupsd
NOLOGINDIR /opt/etc/apcupsd
ONBATTERYDELAY 6
BATTERYLEVEL 5
MINUTES 3
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /opt/var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /opt/var/log/apcupsd.status
LOGSTATS off
DATATIME 0


А драйвера загрузили?

Делал по первому посту, версии конечно другие, можно подробнее.

Не в тему: что за WEB-камера?

AlekseyA
29-10-2010, 10:25
Поправил apcupsd.conf, правда, что пришло в голову:

UPSCABLE usb
UPSTYPE usb

Получилось:

/opt/sbin/apctest


2010-10-29 12:21:44 apctest 3.14.8 (16 January 2010) unknown
Checking configuration ...
Attached to driver: usb
sharenet.type = DISABLE
cable.type = USB_CABLE

You are using a USB cable type, so I'm entering USB test mode
mode.type = USB_UPS
Setting up the port ...
apctest FATAL ERROR in linux-usb.c at line 605
Cannot open UPS device: "/dev/ttyS0" --
For a link to detailed USB trouble shooting information,
please see <http://www.apcupsd.com/support.html>.
apctest error termination completed

igor77777
29-10-2010, 11:18
Вот что там есть за исключением коментов:

UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/ttyS0
LOCKFILE /opt/var/lock
SCRIPTDIR /opt/etc/apcupsd
PWRFAILDIR /opt/etc/apcupsd
NOLOGINDIR /opt/etc/apcupsd
ONBATTERYDELAY 6
BATTERYLEVEL 5
MINUTES 3
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /opt/var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /opt/var/log/apcupsd.status
LOGSTATS off
DATATIME 0

Я не специалист в apcupsd и не могу вот так сразу сказать правильный конфиг или нет. Предлагаю вам поискать конфиг для вашей или аналогичной модели ИБП на просторах интернета. В сожалению у меня нет достаточно времени, чтобы сделать это для вас.



Делал по первому посту, версии конечно другие, можно подробнее.

Посмотрите ещё и второй пост.
Я уже не помню, но когда у меня стояла d-ветка, то драйвера кажется грузил, как в первом посте:

insmod /tmp/harddisk/input.o
insmod /tmp/harddisk/hid.o

Естественно нужно указывать путь туда, куда вы положили файлы из modules.
Лично я распаковываю modules в /opt/lib/modules/, тогда при загрузке модулей указывать полный путь не нужно.

После перехода на rtn-ветку, достаточно одного драйвера:

modprobe usbhid

Как я понимаю, тут главное, чтобы в devices ваш ИБП был виден и ему был назначен драйвер:

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 0.06
S: Manufacturer=American Power Conversion
S: Product=Smart-UPS 750 FW:651.13.I USB FW:7.3
S: SerialNumber=AS0730240271
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 30mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=100ms
Но это моё понимание, возможно всё сложнее.




Не в тему: что за WEB-камера?
Logitech c250
В последних rtn-прошивках включается и настраивается из вебморды прошивки (http://wl500g.info/showthread.php?t=24814).

Andrey_3
12-11-2010, 22:27
2 AlekseyA

Если apcupsd всё ещё не заработал с вашим UPS через USB-кабель, попробуйте подключиться через переходник USB-COM на pl2303 (насколько я помню, у серии XL есть COM-порт). Если получится, то apcupsd будет работать без регулярных вылетов.

Fast Deer
01-12-2010, 10:44
Здравствуйте!
Есть 2 вопроса:
1) сколько копий apcupsd должно запускаться? Спрашиваю потому что у меня после команды apcupsd start по ps появляется 3 процесса и в итоге иногда в логах идет ругань на LOCK файл. При убиении одного процесса выгружаются и все остальные (через некоторое время)
2) какой правильно указывать IP адрес (localhost или внутренний адрес роутера) для запуска и просмотра с компа во внутренней сети статуса через CGI (WWW).

Andrey_3
01-12-2010, 18:28
Здравствуйте!
Есть 2 вопроса:
1) сколько копий apcupsd должно запускаться? Спрашиваю потому что у меня после команды apcupsd start по ps появляется 3 процесса и в итоге иногда в логах идет ругань на LOCK файл. При убиении одного процесса выгружаются и все остальные (через некоторое время)

Согласно мануала (раздел "Process-Status Test") должно быть три нити:

This indicates that apcupsd is up and running and has started the two standard threads in addition to the main thread.
Но у меня на apcupsd - 3.14.8-1 запускается по 4 процесса на каждый подключенный UPS.


2) какой правильно указывать IP адрес (localhost или внутренний адрес роутера) для запуска и просмотра с компа во внутренней сети статуса через CGI (WWW).
IP-адрес роутера во внутренней сети. См. раздел мануала "apcupsd Network Monitoring (CGI) Programs".

SSN
12-01-2011, 08:30
Надоели вылеты apcupsd. Подключил все UPSы через переходники USB-COM (PL-2303). Надеюсь, что для меня проблема решена. Всем спасибо за помощь.

В логе:

Jan 12 09:26:12 kernel: usbserial.c: PL-2303 converter detected
Jan 12 09:26:12 kernel: usbserial.c: PL-2303 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)

apcupsd.conf

UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/usb/tts/0

что в результате:

2011-01-12 09:27:44 apctest 3.14.8 (16 January 2010) unknown
Checking configuration ...
Attached to driver: apcsmart
sharenet.type = DISABLE
cable.type = CUSTOM_SMART

You are using a SMART cable type, so I'm entering SMART test mode
mode.type = APCSMART_UPS
Setting up the port ...
apctest FATAL ERROR in smartsetup.c at line 184
PANIC! Cannot communicate with UPS via serial port.
Please make sure the port specified on the DEVICE directive is correct,
and that your cable specification on the UPSCABLE directive is correct.
apctest error termination completed

Не подскажете где в настройках ошибся?
UPS: APC SUA1000i

P.S. Нашел причину, указал конкретный кабель. У меня на кабеле написано: 940-0024D, указал 940-0024С, UPS увиделся... Теперь буду дальше разбираться. :-)

Через время связь с УПСом всё равно теряется. Эх.. чет мне не везет с безперебойником. :(

МИНЗДРАВ
27-01-2012, 19:05
Я так понимаю, что если упс, будет давать каманду на выключение роутера, то потом, после возобновления питания в электросети, он уже не включится?

Если так, то тогда логичней вроде было-бы, давать команду на отмонтирование дисков. Тогда не произойдёт повреждения ФС и после повторной загрузки роутера, диски опять подмонтируются.

Как обычно в таких случаях делают?

Andrey_3
27-01-2012, 20:46
Я так понимаю, что если упс, будет давать каманду на выключение роутера, то потом, после возобновления питания в электросети, он уже не включится?

Если так, то тогда логичней вроде было-бы, давать команду на отмонтирование дисков. Тогда не произойдёт повреждения ФС и после повторной загрузки роутера, диски опять подмонтируются.

Как обычно в таких случаях делают?
Демон apcupsd запускает скрипт, который останавливает все запущенные демоны, отключает своп, перемонтирует диски в режим Reаd Only, отключает UPS.

МИНЗДРАВ
28-01-2012, 10:26
Демон apcupsd запускает скрипт, который останавливает все запущенные демоны, отключает своп, перемонтирует диски в режим Reаd Only, отключает UPS.А как быть с повторным, самостоятельном включением роутера?

Andrey_3
28-01-2012, 12:16
А как быть с повторным, самостоятельном включением роутера?
Настроить UPS на включение при возобновлении питания в сети.

tin
30-01-2012, 11:11
apcupsd вместе с cgi возможно ли ?

MMX2
18-03-2012, 06:49
Доброго времни суток!
Прикупил Sven Pro +800 с USB разъемом. (Vend:0001 Prod: 0000). На сайте NUT заявлена поддержка для этой серии: http://www.networkupstools.org/stable-hcl.html
Поставил nut из optware, в конфиге указал драйвер blazer_usb (пробывал и richcomm_usb). При попытке запустить - Поддерживаемый UPS не найден.
Может быть есть другие способы подружить данный UPS и RT-n16?
Всем спасибо за ответы!

Раз уж все просят и за vsftpd и samba пока просить бессмысленно:), то попрошу за NUT:) Добавьте плииз в новый репозитарий.

Подскажите чайнику - можно ли нативно компилировать с новым репозиторием - какой пакет для этого ставить?
Хочу попробывать откомпилировать nut, но ни одной машины под линуксом кроме асуса нет. Colinux не катит, т.к. он не идет под х64:(

Zyxmon
18-03-2012, 07:01
Подскажите чайнику - можно ли нативно компилировать с новым репозиторием - какой пакет для этого ставить?

Нет и не будет нативной компиляции. Наверняка в теме писали.

Хочу попробывать откомпилировать nut, но ни одной машины под линуксом кроме асуса нет. Colinux не катит, т.к. он не идет под х64:(
А под виртуальной машиной Linux поставить "не судьба"? В wiki об этом должно быть, или в одной из соседних тем.

MMX2
18-03-2012, 07:06
Нет и не будет нативной компиляции. Наверняка в теме писали.

А под виртуальной машиной Linux поставить "не судьба"? В wiki об этом должно быть, или в одной из соседних тем.

Понял. Мое гумманитарное образования подсказывает мне, что единственный способ откомпилировать NUT в этом году является вознаграждение в виде пива тому, у кого уже развернут весь инструментарий:D
Короче, меняю пиво на NUT.

А я буду очень-очень признателен, за добавление NUT в новый репозиторий.

electropanda
18-03-2012, 15:43
Коллеги, помогите, пожалуйста.
Поставил на WL500gP (1.9.2.7-rtn-r3702) пакет apcupsd версии 3.14.8-1 вместе с пакетом apcupsd-cgi той же версии из репозитория http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/
apcupsd работает, к нему вопросов нет. А вот cgi-скрипты не работают.
А именно. При обращении вэб-браузером к скрипту, находящемуся в рабочей директории lighttpd, страница пуста. После 5..10 нажатий "обновить" появляется "500 - Internal Server Error".
При обращении вэб-браузером к тестовому cgi, который выглядит так

#!/opt/bin/perl
print "Content-Type: text/plain", "\n\n";
print "Hi there! This is a sample perl program!!!", "\n";
как будто все в порядке: видна соответствующая надпись.

Также при исполнении в консоли любого из файлов пакета apcupsd-cgi

/opt/bin/perl upsimage.cgi
ответ такой:

Unrecognized character \x7F at upsimage.cgi line 1.
C выполнением test.cgi в консоли тоже все в норме.

[admin@wl500 cgi-bin]$ /opt/bin/perl test.cgi
Content-Type: text/plain

Hi there! This is a sample perl program!!!
Во вложении можно найти неработающие cgi из пакета apcupsd-cgi, если кому-то будет интересно проверить их работоспособность у себя.

Попытался собрать пакет и скрипты из исходников, взятых с http://www.apcupsd.org/ - не получилось, не хватило знаний. Или с процессом компиляции не доразобрался, или к исходникам apcupsd какой-то особый подход нужен.

У почтенной публики будут идеи?
Заранее благодарю.


apcupsd вместе с cgi возможно ли ?

А почему нет? Что не так?
apcupsd работает, мониторит состояние бесперебойника, а cgi-скрипт при обращении к нему генерирует (с подсказкой от lighttpd) html-страницу, куда красиво и упорядоченно помещается различная информация, добываемая apcaccess. По-моему, так.

MMX2
18-03-2012, 19:03
Начал все сначала, делал по /install, вроде все собралось и поставилось без ошибок!
Далее скачал nut-2.6.3.tar.gz, разархивировал, запустил configure (в корне распакованной директории) дальше сделал make, который завершился без ошибок. И вот тут возник тупой вопрос: что дальше и как собрать ipk?

electropanda
22-03-2012, 12:25
Добрый день.
Есть проблема, описал ее здесь (http://wl500g.info/showpost.php?p=246936&postcount=1).
Если кому-нибудь из читающих данную ветку будет не лень, соберите, пожалуйста, cgi-скрипты для apcupsd.
Заранее благодарен.

don-pedro
22-03-2012, 12:57
Также при исполнении в консоли любого из файлов пакета apcupsd-cgi

/opt/bin/perl upsimage.cgi
ответ такой:

Unrecognized character \x7F at upsimage.cgi line 1.

Эти .cgi бинарные. Не надо пытаться выполнить их перлом.
Ковыряйте настройки lighttpd.

Кстати, во вложенном архиве все файлы нулевого размера.


Добрый день.
Есть проблема, описал ее здесь (http://wl500g.info/showpost.php?p=246936&postcount=1).
Если кому-нибудь из читающих данную ветку будет не лень, соберите, пожалуйста, cgi-скрипты для apcupsd.
Заранее благодарен.
Ответил там же. Всё со этими cgi нормально, ничего собирать не надо.

electropanda
22-03-2012, 13:42
Ответил там же. Всё со этими cgi нормально, ничего собирать не надо.

Спасибо. Проблема решилась.


Эти .cgi бинарные. Не надо пытаться выполнить их перлом.
Ковыряйте настройки lighttpd.

Кстати, во вложенном архиве все файлы нулевого размера.

Спасибо.
Действительно, оболочка их успешно выполняет, без участия перла.
Поплясал вокруг lighttpd - скрипты заработали! Ура!
И архив во вложении поправил.

Asgard
22-03-2012, 20:30
Спасибо.
Действительно, оболочка их успешно выполняет, без участия перла.
Поплясал вокруг lighttpd - скрипты заработали! Ура!
И архив во вложении поправил.

А можно подробнее что надо сделать с lighttpd для работоспособности скриптов.

don-pedro
23-03-2012, 06:53
А можно подробнее что надо сделать с lighttpd для работоспособности скриптов.
http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModCGI

electropanda
23-03-2012, 15:53
А можно подробнее что надо сделать с lighttpd для работоспособности скриптов.

Изначально со включенным модулем mod_cgi (в разделе server.modules файла конфигурации lighttpd) и настройками раздела CGI module такими

cgi.assign = ( ".cgi" => "/opt/bin/perl" )
и такими

cgi.assign = ( ".cgi" => "/bin/sh" )
ничего не работало. После яростного поиска откопал где-то такую рекомендацию

cgi.assign = ( ".cgi" => "" )
- и все заработало.

И, конечно, в рабочей директории lighttpd (она у меня отлична от дефолтовой) сделан симлинк на директорию /opt/share/www/cgi-bin, куда кладет установщик cgi-скрипты apcupsd.

MMX2
24-03-2012, 22:19
Ламерский вопрос: а как узнать, к какому порту (ttyS0 S1 ...) подключен UPS для конфигурации NUT?:confused:
Спасибо!

Asgard
14-05-2012, 11:59
Изначально со включенным модулем mod_cgi (в разделе server.modules файла конфигурации lighttpd) и настройками раздела CGI module такими

cgi.assign = ( ".cgi" => "/opt/bin/perl" )
и такими

cgi.assign = ( ".cgi" => "/bin/sh" )
ничего не работало. После яростного поиска откопал где-то такую рекомендацию

cgi.assign = ( ".cgi" => "" )
- и все заработало.

И, конечно, в рабочей директории lighttpd (она у меня отлична от дефолтовой) сделан симлинк на директорию /opt/share/www/cgi-bin, куда кладет установщик cgi-скрипты apcupsd.

Спасибо, именно с этим у меня и был затык - протупил что .cgi у nut-а бинарные.

Rossi25
01-08-2012, 07:44
...

mknod /dev/usb/hiddev0 c 180 96
...

Подскажите, а откуда именно берутся эти циферки-значения (какой-то старший и младший номер), как достоверно их определить, на что это вообще влияет? Т.к. в основном пишут mknod /dev/ttyUSB0 c 180 0

Andrey_3
02-08-2012, 15:40
Подскажите, а откуда именно берутся эти циферки-значения (какой-то старший и младший номер), как достоверно их определить, на что это вообще влияет? Т.к. в основном пишут mknod /dev/ttyUSB0 c 180 0
http://rus-linux.net/book1.php?name=book1/gl-09/gl_09_02.html

Rossi25
02-08-2012, 18:27
http://rus-linux.net/book1.php?name=book1/gl-09/gl_09_02.html

Т.е. для usb-подключений (UPS или com2usb адаптер) первое число (старший номер устройства) будет всегда 180,
а второе - любое, которое не должно совпадать с таким же ранее подключенным устройством?

Andrey_3
02-08-2012, 19:10
Т.е. для usb-подключений (UPS или com2usb адаптер) первое число (старший номер устройства) будет всегда 180,
а второе - любое, которое не должно совпадать с таким же ранее подключенным устройством?
Да, в общем случае.

Optimus22Prime
14-05-2013, 22:46
Господа, пытаюсь прикрутить к rt-n16 мониторинг и управление aps smart-ups 1500 через USB.
Хочу чтобы роутер мониторил UPS и выключал железный NAS (включен всегда, когда питание падает ему больно) и
стационарный компьютер (если он включен конечно) по сети штатным функционалом apcupsd, который есть в entware.
Всё питается от одного UPS конечно.
К сожалению, модуль usbhid, по всей видимости, собран без поддержки /dev/hiddev raw HID device support.

Собственно вопросы.
1. Не могли бы вы собирать модули к прошивке с этой опцией (/dev/hiddev raw HID device support.)?
2. Не может ли кто с установленным toolchain собрать usbhid c этой опцией мне на предмет потестить?
3. http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware актуально?
Достаточно ли этого, чтобы самостоятельно пересобрать модули (особенно если система amd64)?

PS. Имею madskillz в линукс но никогда не занимался кроссплатформенной разработкой, так же
катастрофически не имею времени глубоко проникать, но постараюсь справиться сам конечно.

UPD: Сам разобрался.

Optimus22Prime
15-05-2013, 06:12
Господа, пытаюсь прикрутить к rt-n16 мониторинг и управление aps smart-ups 1500 через USB.
Хочу чтобы роутер мониторил UPS и выключал железный NAS (включен всегда, когда питание падает ему больно) и
стационарный компьютер (если он включен конечно) по сети штатным функционалом apcupsd, который есть в entware.
Всё питается от одного UPS конечно.
К сожалению, модуль usbhid, по всей видимости, собран без поддержки /dev/hiddev raw HID device support.

Собственно вопросы.
1. Не могли бы вы собирать модули к прошивке с этой опцией (/dev/hiddev raw HID device support.)?
2. Не может ли кто с установленным toolchain собрать usbhid c этой опцией мне на предмет потестить?
3. http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware актуально?
Достаточно ли этого, чтобы самостоятельно пересобрать модули (особенно если система amd64)?

PS. Имею madskillz в линукс но никогда не занимался кроссплатформенной разработкой, так же
катастрофически не имею времени глубоко проникать, но постараюсь справиться сам конечно.

UPD: Сам разобрался.

Ок, по просьбе Omega рассказываю.

Модуль usbhid собран правильно, не определялся smartups потому что в вебморде роутера было включено usb 2.0 only. После включения комбинированного режима бесперебойник определился и файл устройства в /dev создался автоматически как только ручками вставил модуль.

Делал следующее: установил через opkg apcupsd и msmtp (это чтобы события слать на гмыл, бизибоксовый sendmail слать на гмыл заставить не смог, настройку расписывать не буду, тривиально через гугль нашёл).
В /tmp/local/sbin/postmount вонзил modprobe usbhid
В /tmp/local/sbin/pre-shutdown добавил


if [ -f /tmp/powerfail ]; then
/opt/sbin/apcupsd --killpower
fi

Отрабатывает нормально, поскольку в pre-shutdown ранее флешка перемонтируется в ro. Весь скрипт выглядит так:


#!/bin/sh

/opt/etc/init.d/rc.unslung stop

sleep 10s

for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
mount -o remount,ro $i
done

swapoff -a

sleep 1s

if [ -f /tmp/powerfail ]; then
/opt/etc/apcupsd/apccontrol killpower
fi


apcupsd.conf


UPSNAME sapc1500
UPSCABLE usb
UPSTYPE usb
DEVICE
LOCKFILE /var/lock
SCRIPTDIR /opt/etc/apcupsd
PWRFAILDIR /tmp
NOLOGINDIR /etc
ONBATTERYDELAY 6
MINUTES 5
TIMEOUT 0
ANNOY 0
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 192.168.66.1
NISPORT 3551
EVENTSFILE /tmp/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
LOGSTATS off
DATATIME 0


Далее поправил пути в /opt/etc/apcupsd/apccontrol на предмет соответствия расположения powerfail (я его запихал в /tmp как видно из конфига и скрипта pre-shutdown) и APCPID, подпилил прочие находящиеся там скриптики и apcupsd_mail.conf для работы с msmtp (расписывать не буду, тривиально).

Демон заводится и отрабатывает как надо, apcupsd обрубает нагрузку UPS при разгрузке роутера.

Имею двух клиентов - железный NAS WD My Book Live (он круглосуточно качает и раздаёт торренты, ему может быть очень больно когда пропадает питание) и стационарный комп. Подключены они к этому же бесперебойнику, на них установлены apcupsd в режиме клиента. Настройки почти одинаковые на обоих с учётом разницы в путях и отсутствия нужды в nologin для NAS.



UPSNAME sapc1500
UPSCABLE ether
UPSTYPE net
DEVICE rtn16:3551
POLLTIME 5
LOCKFILE /var/lock
SCRIPTDIR /etc/apcupsd
PWRFAILDIR /etc/apcupsd
NOLOGINDIR /etc
MINUTES 4
TIMEOUT 0
ANNOY 0
NOLOGON disable
KILLDELAY 0
NETSERVER off
UPSCLASS standalone
UPSMODE disable
STATTIME 0
LOGSTATS off
DATATIME 0


Естественно никаких power cutoff бесперебойнику клиентам делать не надо, его делает роутер, так что с разгрузочными скриптами можно не мучиться.
Собственно как то так оно и работает.

В планах:
1. Узнать как _в точности_ работает параметр KILLDELAY в конфиге и работает ли (в man apcupcd сказано что он для тупых бесперебойников). По умолчанию сам бесперебойник даёт задержку перед выключением нагрузки в 60 сек, к сожалению конфигурируется это только через com кабель. Возможно ли увеличить это время с помощью KILLDELAY? (Доку зачитал до дыр, ничего не понял, что то про FreeBSD, какой вообще может быть regain control после shutdown, удивительно невнятно написано, видимо придётся в исходники залезть). Разобраться в разнице apcupsd --killpower и --kill-on-powerfail
2. Прикрутить cgi

PS. Вообще сама идея того, что клиент должен опрашивать сервер о столь важных событиях, как переход на батарею и исчерпание её заряда например, невыносимо отвратительна. Должно быть наоборот. Сервер должен заталкивать это клиентам. В процессе тестирования несколько раз было так, что клиент из за большого интервала опроса про...пускал событие "заряд исчерпан, выключаемся" и разгружаться не стал, а роутер шустро разгрузился и отрубил нагрузку на ИБП. В доке сказано, что после получения события "на батареях" интервал опроса клиентом становится равным 1 сек, вне зависимости от того что в POLLTIME сказано, но видимо это работает криво и не всегда. Видимо придётся лечить скриптами, ибо текущая логика работы меня не устраивает. Совершенно неграмотно, в продакшене я бы за такое убивал.

ryzhov_al
31-08-2014, 07:48
В июльских релизах asuswrt и asuswrt-merlin 376_1071/376.45 отключена (https://github.com/RMerl/asuswrt-merlin/commit/f597be75a289dab89ee7d2448517dd1197e718ea#diff-c898fd63910aa7e0acbadfc211e87654L1312) поддержка HID-устройств. Модули hid.ko и usbhid.ko будут подгружаться без каких-либо ошибок, но толку от них не будет.


T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 7 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 0.06
S: Manufacturer=American Power Conversion
S: Product=Back-UPS CS 650 FW:817.v9.I USB FW:v9
S: SerialNumber=XXXXXXXXXXX
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=100ms

Помогла пересборка прошивки с включенными (http://pastebin.com/LqyR49sK) HID-модулями.

PS Для RT-N66U модифицированную asuswrt-merlin с модулями можно забрать здесь (http://files.ryzhov-al.ru/Routers/asuswrt-merlin/).

Update 29/09. Эрик включил мой pull-request для возвращения поддержки HID-устройств. Начиная с 376.48 прошивку пересобирать не придётся.

mitrich
11-11-2014, 08:30
После октябрьского обновления APCUPSD-CGI перестал рисовать картинки. Никто с этим не сталкивался.9951

Extremist
13-01-2015, 20:24
Добрый вечер все. Прошу помоч, т.к. в Linux не силен.
Имеется dir320 под управлением tomatousb v1.28.0022 ND USB Std
есть ИПБ IPPON BLACK PRO 600VA (подключен через usb-хаб)
хочу прикрутить его к роутеру для мониторинга и управления статой

поставил apcupsd в надежде что все заработает из коробки, но как бы не так

apcaccess status
выдает
Error contacting apcupsd @ localhost:3551: Connection refused


apctest
выдает

Error contacting apcupsd @ localhost:3551: Connection refused

я так понимаю демон даже не стартует

вывод -lsusb весьма скуден


Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 001 Device 002: ID 0409:005a NEC Corp.
Bus 001 Device 003: ID 0409:005a NEC Corp.
Bus 001 Device 004: ID 0665:5161
Bus 001 Device 005: ID 13fd:1240


вывод cat /proc/bus/usb/devices пошире

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB OHCI Root Hub
S: SerialNumber=b8003000
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
B: Alloc= 0/800 us ( 0%), #Int= 2, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.04
S: Manufacturer=Linux 2.4.37.10 ehci_hcd
S: Product=PCI device 14e4:471a
S: SerialNumber=00:03.1
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 4
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0409 ProdID=005a Rev= 1.00
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=256ms
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=480 MxCh= 4
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0409 ProdID=005a Rev= 1.00
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=256ms
T: Bus=01 Lev=03 Prnt=03 Port=01 Cnt=01 Dev#= 4 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0665 ProdID=5161 Rev= 0.02
S: Manufacturer=INNO TECH
S: Product=USB to Serial
S: SerialNumber=20100826
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=32ms
T: Bus=01 Lev=03 Prnt=03 Port=03 Cnt=02 Dev#= 5 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=13fd ProdID=1240 Rev= 2.12
S: Manufacturer=Generic
S: Product=External
S: SerialNumber=57442D575845323038414D30
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

логов никаких нет, .т.к. наверное нинастроено.
кто может помочь?

ryzhov_al
14-01-2015, 07:26
есть ИПБ IPPON BLACK PRO 600VA (подключен через usb-хаб)

вывод cat /proc/bus/usb/devices пошире

T: Bus=01 Lev=03 Prnt=03 Port=01 Cnt=01 Dev#= 4 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0665 ProdID=5161 Rev= 0.02
S: Manufacturer=INNO TECH
S: Product=USB to Serial
S: SerialNumber=20100826
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=32ms


логов никаких нет, .т.к. наверное нинастроено.
кто может помочь?
Не «кто может помочь», а «что может помочь». Помочь может чтение документации к apcupsd и NUT, в них можно найти список поддерживаемых моделей. Затем определить какой ядерный модуль необходимо подгрузить для выделенного выше устройства. И уже разжившись модулем, переходить к настройке ПО.

ИБП у вас популярный, статей по его настройке навалом, в т.ч. на русском языке.

Extremist
14-01-2015, 14:11
в общем плюнул на настройку apcupsd
попробовал настроить NUT
взялся прикручивать NUT (http://www.networkupstools.org/) (Network UPS Tools )
Скрещиваемое оборудование: dir320 под управлением 1.28.0022 ND USB Std
и ИБП - Ippon Black Comfort PRO 600VA (Рекомендованый драйвер для него согласно сайту
blazer_usb (experimental)

Использую следующие гайды:
1. http://dns323.kood.org/howto:nut_ups
2. http://muff.kiev.ua/content/nut-network-ups-tools
3. http://vladimir-stupin.blogspot.ru/2014/11/nut-eaton-powerware-5110.html
4. http://habrahabr.ru/post/102032/
5. https://www.easycoding.org/2012/10/01/podnimaem-nut-v-linux.html

Собственно вопрос вознникает при создании пользователя nut и группы nut
под которой все это должно работать

если пытаться создать группу nut то

root@CORE:/tmp/home/root# addgroup nut
addgroup: group nut already exists


если пытаться создать пользователя nut

root@CORE:/tmp/home/root# adduser nut
adduser: login 'nut' is in use


все это выглядит более чем странно, т.к.
выовды команд groups и users ичего не показывают , точнее groups показывает только:

root

а users вообще ничего не выводит

следующим этапом должно поидее стать смена пароля к только что созданному пользователю nut
но passwd nut
возвращает

-sh: passwd: not found

не хватает пакета((( и я не знаю как он называется?
Да и после перезагрузки все это дело пропадает, т.е. группу nut и пользователя nut можно создать вновь(((

Пробовал настроить пока на одного пользователя под root
при вызове комманды
upsc ippon@localhost

получаю Error: Connection failure: Connection refused

Листинг файла nut.conf:

MODE=standalone

Листинг файла ups.conf:


[ippon]
driver = blazer_usb
port = auto
desc = "IPPON BACK COMFORT Pro"
default.battery.voltage.high = 13.60
default.battery.voltage.low = 10.60
offdelay = 6
ondelay = 7


Листинг файла upsd.conf:


ACCEPT localhost
LISTEN 127.0.0.1 3493
LISTEN ::1 3493

Листинг файла upsd.users:


[root]
password = qweasdzxc
upsmon master


Листинг файла upsmon.conf:



RUN_AS_USER root
MONITOR ippon@localhost 1 root qweasdzxc master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5


При запуске upsc ippon@localhost


root@CORE:/tmp/home/root# upsc ippon@localhost
Error: Connection failure: Connection refused
root@CORE:/tmp/home/root#


при вызове upsd -c reload



root@CORE:/tmp/home/root# upsd -c reload
Network UPS Tools upsd 2.4.1
fopen /opt/var/state/ups/upsd.pid: No such file or directory

что это за дерриктория вообще ? лазил через Mc такой дерриктории нет

что еще меня смущает - я устанавливал nut как пакет через ipkg-opt install nut
так все конфигурационный файлы с расширением .sample попали в корень /opt/etc

upsdrvctl start


Network UPS Tools - UPS driver controller 2.4.1
Network UPS Tools - Megatec/Q1 protocol USB driver 0.03 (2.4.1)
Can't chdir to /opt/var/state/ups: No such file or directory
Driver failed to start (exit status=1)


upsd


Network UPS Tools upsd 2.4.1
/opt/etc/upsd.conf is world readable
ACCEPT in upsd.conf is no longer supported - switch to LISTEN
not listening on ::1 port 3493


upsc ippon@localhost



Error: Connection failure: Connection refused