URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 75680
[ Назад ]

Исходное сообщение
"Подключение UPS с USB-интерфейсом"

Отправлено Abdula , 15-Авг-07 00:53 
Обычно UPS стараются приобрести c RS-232 интерфейсом, с которым проблем настройки обычно не возникает.
Однако в данное время все большее количество моделей оснащаются USB-интерфейсом. В виндовсе, тем не менее, это не является проблемой - все работает.
В линуксе же возникают проблемы, например.

В наличии есть хорошо зарекомендовавший себя в работе UPS Powercom BNT-600AP из серии Black Knight Pro
http://pcm.ru/products/catalog/blackknight/bnt-400ap/

которому  слегка не повезло - он тоже оснащен USB-интерфейсом.

Производитель оснащает его управляющим софтом для линукса
http://pcmups.com.tw/download/downloadsoftware.html
http://pcmups.com.tw/download/Download/UPSMON_USBV091.zip

Именно управляющим софтом, а не драйвером - как сообщила техподдержка, в этом семействе UPS применена именно такая концепция.

Этот софт представляет собой всего 2 исполняемых файлика - upsmon_usbv092 и down, которые согласно инструкции нужно положить в каталог /upsmon, а второй еще и в корень "/".

После чего нужно запустить софт в работу командой

./upsmon_usb1   Parameter_A   Parameter_B   Parameter_C

где

- Parameter_A - время отсутствия сетевого напряжения, после которого UPS должен дать серверу команду на выключение
- Parameter_A - время, которое отводится серверу на shutdown
- Parameter_C - обозначен просто: USB Name

Вот с этим третьим параметром и вся загвоздка - непонятно, какое значение нужно прописывать.

Если бы UPS был бы с RS-232 интерфейсом, то в качестве этого параметра нужно указывать dev/ttyS0

Но вот в одной из других инструкций удалось подсмотреть такой пример:

./upsmon_usb1 100 120 /dev/usb/hid/hiddev0

Однако в списке имеющихся в системе портов обнаружились только такие:

usbdev1.1
usbdev1.3
usbdev2.1
usbdev3.1

и других, похожих на USB, нет.

Попытка подставить эти порты в качестве параметра "C" дает один и тот же результат:

/dev/usbdev1.1 is not UPS

В чем тут загвоздка?


PS. Оборудование исправно - виндовс, запускаемая на этом же комьютере, обнаруживает UPS и работает с ним без проблем.
Также и линукс успешно работает с этими USB-портами - флешка, USB-плейер на этих портах ведут себя нормально.

Запарился уже разбираться с этим долбаным черным рыцарем - либо вы мне поможете решить проблему, либо придется нести его на помойку и покупать нормальный с RS-232 :-(


Содержание

Сообщения в этом обсуждении
"Подключение UPS с USB-интерфейсом"
Отправлено fank , 15-Авг-07 13:08 
>[оверквотинг удален]
>
>
>PS. Оборудование исправно - виндовс, запускаемая на этом же комьютере, обнаруживает UPS
>и работает с ним без проблем.
>Также и линукс успешно работает с этими USB-портами - флешка, USB-плейер на
>этих портах ведут себя нормально.
>
>Запарился уже разбираться с этим долбаным черным рыцарем - либо вы мне
>поможете решить проблему, либо придется нести его на помойку и покупать
>нормальный с RS-232 :-(

может попробуй NUT
там много дровов всяких...

или пиши этим горе-делателям софта, создающим каталоги в корне...


"Подключение UPS с USB-интерфейсом"
Отправлено Andrew Kolchoogin , 15-Авг-07 22:26 
>[оверквотинг удален]
> usbdev3.1[/b]
>
>и других, похожих на USB, нет.
>
>Попытка подставить эти порты в качестве параметра "C" дает один и тот
>же результат:
>
>[b]/dev/usbdev1.1 is not UPS[/b]
>
>В чем тут загвоздка?

В отсутствии в Linux'овом ядре соответствующего драйвера.

Какого? А такого. Кроме понятия "USB-клавиатура" и "USB-мышь", стандарт определяет такое оборудование, как "USB Human Interface Device". Это нечто с кнопками и колёсами. Может быть, что и клавиатура. Может быть, что и мышь. Отдельно понятия (и ID'шники) "USB-клавиатура" и "USB-мышь" вынесены исключительно из-за удобства реализации поддержки этих устройств BIOS'ом, в который плохо влезает полный USB-стек.

Вот поддержки именно "USB HID" у тебя в ядре и нет. А, судя по синтаксису примера, именно так и представляется (таким ID) твой UPS.

Поэтому Linux видит его, как Generic USB Device. С которым можно работать через libusb (правда, не будут работать изохронные приём и передача, будет только bulk и interrupt), но для UPS и этого достаточно, поэтому, "как сказал предыдущий оратор" (C), может быть, по цепочке nutd->libusb NUT его увидит.

Или вставь в ядро драйвер. :)