[Nut-upsdev] [Nut-upsuser] Powercom USB UPS is not support

Arjen de Korte nut+users at de-korte.org
Mon Sep 3 09:13:32 UTC 2007


I'm crossposting this to nut-upsdev, where this thread really belongs.
Please remove the nut-upsuser list from your reply, this doesn't belong
there.

Paul Wu wrote:

> I am having a big issue with our new Powercom Imperial Digital UPS. The
> UPS is come with a serial over USB port and plug into the usb port on
> the computer. I am having problem to setup our fedora 7 linux machine
> talks to the ups.  The kernel 2.6.22.1 seems to be able to detect the
> ups is plug into one of its usb port. But it just couldn’t establish a
> connection with the UPS. I have attached the screen dump below. Could
> you please help……
> 
> The all ups configure files are being configure. We are running
> nut-2.2.0 version and have tried to use the newhid-ups mgetech-usb
> drivers. I think we need to modify the powercom driver with a usb
> version such powercom-usb.

It surely looks like it.

> [root at tcm-file itsupport]# /sbin/usbhid-ups -a myups -u root -x
> vendorid=0d9f -x explore -D
> Network UPS Tools: 0.28 USB communication driver 0.28 - core 0.30 (2.2.0-)
> 
> debug level is '4'
> 
> Trying to match device
> Device does not match - skipping
> Checking device (0D9F/0002) (002/004)
> - VendorID: 0d9f
> - ProductID: 0002
> - Manufacturer: POWERCOM CO., LTD.
> - Product: USB to Serial
> - Serial Number: unknown
> - Bus: 002
> Trying to match device
> Device matches
> HID descriptor, method 1: (9 bytes) => 09 21 00 01 00 01 22 25 00
> i=0, extra[i]=09, extra[i+1]=21
> HID descriptor, method 2: (9 bytes) => 09 21 00 01 00 01 22 25 00
> HID descriptor retrieved (Reportlen = 37)
> Report descriptor retrieved (Reportlen = 37)
> Found HID device

This is becoming a FAQ nowadays. :-)

A report descriptor of just 37 bytes is far to small for a HID Power
Device, so there is no chance that it will work with the usbhid-ups
driver. It maps exactly one Feature, Input, and Output report. You might
try your luck with linking powercom.c with megatec_usb.c in the same way
as megatec.c is linked with megatec_usb.c and see how you get along. As
a side note, megatec_usb.c should really be named serial_usb.c, since
the megatec protocol is dealt with in the megatec.c file.

Something like

> powercom_usb_SOURCES = powercom.c megatec_usb.c libusb.c
> powercom_usb_CFLAGS = $(AM_CFLAGS) $(LIBUSB_CFLAGS) -DMEGATEC_SUBDRV
> powercom_usb_LDADD = $(LDADD_DRIVERS) $(LIBUSB_LDFLAGS)

in Makefile.am. You'll need to run configure again and maybe you need to
make other changes to this file as well. Remember to specify '-x
vendorid=0d9f -x productid=0002' on the startup commandline for the
powercom_usb driver. Please let us know how you get along.

Best regards, Arjen




More information about the Nut-upsdev mailing list