>Уже есть понимание как это должно работать. Нет понимания почему драйвер в
>одном случае работает, а в другом нет. Такое ощущение что необходимо
>копаться в исходниках драйвера и собирать его из исходников, которых нигде
>не видно...
>
>
>Кстати похожая проблема описана вот здесь:
>http://forum.pcm.ru/viewtopic.php?f=10&t=682&start=15 в 8-ом сообщении в вверху. Исходники есть на сайте nut ну или srpm от SuSe. Но до ковыряния в коде пока наверное не стоит доходить :). А вот почитать man powercom, man upsd и man ups.conf upsd.conf стоит вдумчиво и не раз. Ну и добится работы при последовательном ручном запуске не трогая системные скрипты что представлять рабочую комбинацию.
Если коротко ту nut работает примерно следующим образом:
1.Запускается програмка (он же драйвер в твоём случае powercom) которая непосредственно общается с ИБП на понятном ему языке через последовательный порт или usb поскольку вариантов много разных то програмок-драйверов также куча плюс каждая может работать с разными вариантами одного класса устройства поэтому параметров достаточно много и по умолчанию работаю не всегда. Каждый драйвер создае сокет через который с ним общается демон upsd. Соответственно дравер должен иметь доступ к файлу устройства от UPS а upsd к сокету создаваему драйвером. Работоспособность драйвера можно проверить в ручную запустив его из командной строки в режиме отладки. Что вы когда то и делали и в консоль выдавались вполне корректные данные, делаем вывод что драйвер работает нормально. Место в котором драйве создаёт сокеты задаётся при компиляции и каждом дистрибутиве оно походу своё, но имя сокета вида <драйвер name>-<ups name>. То есть после запуска командой upsdrctl start должный появиться процессы драйверов согласно файлу конфигурации ups.conf и файлы сокетов (ну и ещё рядышком файлы вида <драйвер name>-<ups name>.pid c PID драйвера) если всё это есть то драйвера работают и готовы принимать команды.
2. Запускается upsd который в каталоге заданом при компиляции или через параметр STATEPATH в файле upsd.conf находит файлы сокетов от ups прописанных в ups.conf и открывает tcp-порт. При запуске всё пишется в логи что нашёл что не нашёл и т.д. Судя по логам в вашем случае он не нашёл файлы сокетов драйвера. Поэтому надо убедиться что после запуска драйвера сокеты есть они с правильным именем и upsd будет достаточно прав для работы с ними. Ну и убедиться что upsd ищет сокеты там где нужно при необходимости прописав параметр STATEPATH. Если upsd напишет что он успешно запустился и подключился то можно запустить upsc и upscmd для проверки.
Если выше изложенное получится и выяснится в чём косяк то тогда можно после правки конфигов запускать и через штатный системный скрип. Предварительно естествено всё остановив что запустили в ручную.
Так что пока добейтесь работы связки драйвер демон в ручном режиме, что выдавались текущие параметры ups не трогая системный скрипт.