[Nut-upsdev] USB support for Sweex 1000 VA UPS (was: Help with

Peter Selinger selinger at mathstat.dal.ca
Sun May 20 15:26:11 UTC 2007


Peter,

the Kebo device, as well as yours, are very likely not HID devices,
which means they do not confirm to the USB HID standard. Therefore,
they are not supported (and probably never will be) by the newhidups /
usbhid-ups driver. It's not that we don't want to support this device;
rather, we have been unable so far to figure out what protocol it's
speaking. 

Probably the only way to find out is to use a driver supplied by the
vendor, typically for Windows, and try to snoop on what it is doing.

-- Peter

Peter van Valderen wrote:
> 
> Hello Kjell,
> 
> On 5/20/07, Kjell Claesson <kjell.claesson at epost.tidanet.se> wrote:
> > Hi Peter,
> >
> > I'm not into the hid drivers, but i may give you some hints.
> >
> > If you use the svn trunk the driver have changed name to usbhid-ups.
> > So try this.
> >
> > usbhid-ups -u root  -x vendorid=0925 -x explore auto
> >
> > Then we see if there have been any changes to the driver that it
> > may support your device.
> 
> This gives the following:
> 
> root at router:/usr/local/ups/bin# ./usbhid-ups -DD -u root -x
> vendorid=0925 -x explore auto
> Network UPS Tools: 0.28 USB communication driver 0.28 - core 0.30 (2.1.0)
> 
> debug level is '2'
> Checking device (0925/1234) (001/008)
> - VendorID: 0925
> - ProductID: 1234
> - Manufacturer: ?
> - Product: UPS USB MON V1.4
> - Serial Number: unknown
> - Bus: 001
> Trying to match device
> Device matches
> HID descriptor retrieved (Reportlen = 78)
> Report descriptor retrieved (Reportlen = 78)
> Found HID device
> Report Descriptor size = 78
> Detected a UPS: ?/UPS USB MON V1.4
> Using subdriver: EXPLORE HID 0.1
> Can't find object ffa00001.ffa00002.ffa10003
> Path: ffa00001.ffa00002.ffa10003, Type: Input, ReportID: 0x00, Offset:
> 0, Size: 8
> Can't find object ffa00001.ffa00002.ffa10004
> Path: ffa00001.ffa00002.ffa10004, Type: Input, ReportID: 0x00, Offset:
> 0, Size: 8
> Can't find object ffa00001.ffa00002.ffa10005
> Path: ffa00001.ffa00002.ffa10005, Type: Input, ReportID: 0x00, Offset:
> 0, Size: 8
> Can't find object ffa00001.ffa00002.ffa10006
> Path: ffa00001.ffa00002.ffa10006, Type: Input, ReportID: 0x00, Offset:
> 0, Size: 8
> Can't find object ffa00001.ffa00002.ffa10007
> Path: ffa00001.ffa00002.ffa10007, Type: Input, ReportID: 0x00, Offset:
> 0, Size: 8
> Can't find object ffa00001.ffa00002.ffa10008
> Path: ffa00001.ffa00002.ffa10008, Type: Input, ReportID: 0x00, Offset:
> 0, Size: 8
> Can't find object ffa00001.ffa00002.ffa10009
> Path: ffa00001.ffa00002.ffa10009, Type: Output, ReportID: 0x00,
> Offset: 0, Size: 8
> Can't find object ffa00001.ffa00002.ffa1000a
> Path: ffa00001.ffa00002.ffa1000a, Type: Output, ReportID: 0x00,
> Offset: 0, Size: 8
> Can't find object ffa00001.ffa00002.ffa1000b
> Path: ffa00001.ffa00002.ffa1000b, Type: Output, ReportID: 0x00,
> Offset: 0, Size: 8
> Can't find object ffa00001.ffa00002.ffa1000c
> Path: ffa00001.ffa00002.ffa1000c, Type: Output, ReportID: 0x00,
> Offset: 0, Size: 8
> upsdrv_updateinfo...
> dstate_init: sock /var/state/ups/usbhid-ups-auto open on fd 5
> upsdrv_updateinfo...
> Waiting for notifications...
> upsdrv_updateinfo...
> Waiting for notifications...
> Signal 2: exiting
> Closing device
> 
> > You may also do:
> >
> > lsusb -v
> >
> > And cut out the part about your ups. Then we have more info about what
> > it report on the interface.
> 
> root at router:/usr/local/ups/bin# lsusb -v
> 
> Bus 001 Device 008: ID 0925:1234 Lakeview Research
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               1.10
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0
>   bDeviceProtocol         0
>   bMaxPacketSize0         8
>   idVendor           0x0925 Lakeview Research
>   idProduct          0x1234
>   bcdDevice            0.01
>   iManufacturer           1 ?
>   iProduct                2 UPS USB MON V1.4
>   iSerial                 0
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength           34
>     bNumInterfaces          1
>     bConfigurationValue     1
>     iConfiguration          0
>     bmAttributes         0x80
>       (Bus Powered)
>     MaxPower              100mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           1
>       bInterfaceClass         3 Human Interface Devices
>       bInterfaceSubClass      0 No Subclass
>       bInterfaceProtocol      0 None
>       iInterface              0
>         HID Device Descriptor:
>           bLength                 9
>           bDescriptorType        33
>           bcdHID               1.00
>           bCountryCode            0 Not supported
>           bNumDescriptors         1
>           bDescriptorType        34 Report
>           wDescriptorLength      78
>           Report Descriptor: (length is 78)
>             Item(Global): Usage Page, data= [ 0xa0 0xff ] 65440
>                             (null)
>             Item(Local ): Usage, data= [ 0x01 ] 1
>                             (null)
>             Item(Main  ): Collection, data= [ 0x01 ] 1
>                             Application
>             Item(Local ): Usage, data= [ 0x02 ] 2
>                             (null)
>             Item(Main  ): Collection, data= [ 0x00 ] 0
>                             Physical
>             Item(Global): Usage Page, data= [ 0xa1 0xff ] 65441
>                             (null)
>             Item(Local ): Usage, data= [ 0x03 ] 3
>                             (null)
>             Item(Local ): Usage, data= [ 0x04 ] 4
>                             (null)
>             Item(Local ): Usage, data= [ 0x05 ] 5
>                             (null)
>             Item(Local ): Usage, data= [ 0x06 ] 6
>                             (null)
>             Item(Local ): Usage, data= [ 0x07 ] 7
>                             (null)
>             Item(Local ): Usage, data= [ 0x08 ] 8
>                             (null)
>             Item(Global): Logical Minimum, data= [ 0x80 ] 128
>             Item(Global): Logical Maximum, data= [ 0x7f ] 127
>             Item(Global): Physical Minimum, data= [ 0x00 ] 0
>             Item(Global): Physical Maximum, data= [ 0xff ] 255
>             Item(Global): Report Size, data= [ 0x08 ] 8
>             Item(Global): Report Count, data= [ 0x06 ] 6
>             Item(Main  ): Input, data= [ 0x02 ] 2
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position
> Non_Volatile Bitfield
>             Item(Local ): Usage, data= [ 0x09 ] 9
>                             (null)
>             Item(Local ): Usage, data= [ 0x0a ] 10
>                             (null)
>             Item(Global): Logical Minimum, data= [ 0x80 ] 128
>             Item(Global): Logical Maximum, data= [ 0x7f ] 127
>             Item(Global): Physical Minimum, data= [ 0x00 ] 0
>             Item(Global): Physical Maximum, data= [ 0xff ] 255
>             Item(Global): Report Size, data= [ 0x08 ] 8
>             Item(Global): Report Count, data= [ 0x02 ] 2
>             Item(Main  ): Output, data= [ 0x02 ] 2
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position
> Non_Volatile Bitfield
>             Item(Local ): Usage, data= [ 0x0b ] 11
>                             (null)
>             Item(Local ): Usage, data= [ 0x0c ] 12
>                             (null)
>             Item(Global): Logical Minimum, data= [ 0x80 ] 128
>             Item(Global): Logical Maximum, data= [ 0x7f ] 127
>             Item(Global): Physical Minimum, data= [ 0x00 ] 0
>             Item(Global): Physical Maximum, data= [ 0xff ] 255
>             Item(Global): Report Size, data= [ 0x08 ] 8
>             Item(Global): Report Count, data= [ 0x02 ] 2
>             Item(Main  ): Output, data= [ 0x02 ] 2
>                             Data Variable Absolute No_Wrap Linear
>                             Preferred_State No_Null_Position
> Non_Volatile Bitfield
>             Item(Main  ): End Collection, data=none
>             Item(Main  ): End Collection, data=none
>       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               1
> Device Status:     0x0000
>   (Bus Powered)
> 
> Hope this helps!
> 
> Thanks,
> 
> Peter van Valderen
> 
> _______________________________________________
> Nut-upsdev mailing list
> Nut-upsdev at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev
> 




More information about the Nut-upsdev mailing list