Page 3 of 15 FirstFirst 1234513 ... LastLast
Results 31 to 45 of 211

Thread: Управление UPS при помощи apcupsd и nut

  1. #31
    Join Date
    Jan 2008
    Location
    Minsk Belarus
    Posts
    94
    Quote Originally Posted by Andrey_3 View Post
    Если через UPS запитан роутер и компьютер, то с помощью apcupsd можно давать команды на завершение работы и того и другого.
    если верить описанию на apcupsd, то - да.

    Продолжение здесь http://wl500g.info/showthread.php?t=13002
    Last edited by Contemplator; 21-02-2008 at 00:35.

  2. #32

    Управление UPS при помощи NUT

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

    прочитать про настройку можно тут
    http://web.asplinuxclub.org/moin.cgi.../Configuration
    и тут
    http://web.asplinuxclub.org/moin.cgi...rdware/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 превью он прекреплен здесь

    далее

    Code:
    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

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

    Code:
    # usbhid-ups -a ups -u admin -D
    если получили что то вроде этого
    Code:
    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
    теперь следующая проверка

    Code:
    # usbhid-ups -a ups -u admin
    # upsd -u admin
    # upsc ups
    должно получиться что то вроде этого:

    Code:
    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
    Дальше создаем скрипт автозапуска
    у меня он такой:

    Code:
    #!/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: мдя с пакетом как то не получится сегодня, перенастроил машину на которой собираю пакеты. завтра выложу вечером.
    Attached Files Attached Files
    Last edited by angel_il; 18-02-2008 at 22:21.
    vim имеет два режима - бибикать и все портить (с) не мое

  3. #33
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    169
    Quote Originally Posted by angel_il View Post
    Собрал на досуге NUT. Если коротко то он спользуется для:
    - Мониторинга работы источника бесперебойного питания (ИБП)
    - Корректного выключения компьютера/роутера при низком заряде батареи

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

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

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

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

  4. #34
    Хе, а вобщем после небольшого ковыряния выяснилось что и патчить то не надо, просто добвить библиотеку "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
    потом расспаковать.
    К сожалению размер получился больше мегабайта. поэтому пришлось нарезать.
    Attached Files Attached Files
    vim имеет два режима - бибикать и все портить (с) не мое

  5. #35
    Join Date
    Jan 2008
    Location
    Minsk Belarus
    Posts
    94
    Просмотрел список поддерживаемого оборудования и прослезился - 80% современных UPS`ов c USB интерфейсом, т.е. необходим драйвер usbhid-ups, а в прошивке Олега (пока) нет работающего решения по этому вопросу...

  6. #36
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    а кто сказал что это драйвер? это один из исполняемых бинарников в nut

  7. #37
    Пакет будет доступен через ipkg install ?

  8. #38
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    для начала хотелось бы услышать обратную связь --- кроме того, что пакет компилируется на нашей системе --- он хоть работает?

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

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

  9. #39
    Join Date
    Jan 2008
    Location
    Minsk Belarus
    Posts
    94
    Quote Originally Posted by al37919 View Post
    для начала хотелось бы услышать обратную связь --- кроме того, что пакет компилируется на нашей системе --- он хоть работает?

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

    Короче, появится ли пакет в optware и когда в данный момент зависит от активности тестеров. Либо посылайте сами.
    Я готов потестировать (APC Back-UPS CS500) mobile@cosmostv.by

  10. #40
    Quote Originally Posted by rtzra View Post
    Пакет будет доступен через ipkg install ?
    после расспаковки zip вы получите ipk файл который надо положить на роутер и установить
    ipkg install /путь/к/файлу/nut_2.2.1-1_mipsel.ipk
    vim имеет два режима - бибикать и все портить (с) не мое

  11. #41
    Join Date
    Jan 2008
    Location
    Minsk Belarus
    Posts
    94
    Quote Originally Posted by angel_il View Post
    после расспаковки 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'

  12. #42
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    PHP Code:
    ipkg install libusb 
    Она должна быть в ipk в depends ( 2angel_il: в моем кстати есть )

  13. #43
    ok, щас посмотрю

    Quote Originally Posted by al37919 View Post
    PHP Code:
    ipkg install libusb 
    Она должна быть в ipk в depends ( 2angel_il: в моем кстати есть )
    ну потому что ты не к 3 ночи собирал.
    Last edited by Omega; 23-03-2013 at 01:39. Reason: 2 posts merged
    vim имеет два режима - бибикать и все портить (с) не мое

  14. #44
    Join Date
    Jan 2008
    Location
    Minsk Belarus
    Posts
    94
    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


  15. #45
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    а в логе он его как то видит?

Page 3 of 15 FirstFirst 1234513 ... LastLast

Similar Threads

  1. Проблемы с OpenVPN. Прошу помощи!
    By idtelecom in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 296
    Last Post: 02-05-2016, 19:10
  2. Отправка SMS-оповещений при помощи Google
    By gaur in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 104
    Last Post: 26-12-2014, 11:16
  3. Управление светодиодами на роутере
    By lly in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 112
    Last Post: 03-01-2014, 16:04

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •