[Nut-upsuser] Confusing Generic USB UPS cannot be matched

R. G. Newbury newbury at mandamus.org
Mon Nov 21 22:17:00 UTC 2011


I was dropping off junk at the waste transfer station and scarfed a UPS 
out of the pile of old TV's and VCR's. It was in good physical condition 
and as I expected, the battery was toast. A new RBC-2 battery restored 
it to working condition. Then I tried to get it to talk to some 
software. And I am having no luck.

The unit is branded as a Nexxtech Model 6118507 650VA imported into 
Canada for Orbyx Electronics LLC. Nexxtech is a house brand for 'The 
Source' ex-Radio Shack in Canada.
It has a red LCD display on the front and has the same physical layout 
as some of the smaller APC BackUPS and CyberPower units. However trying 
the powerpanel and APC specific drivers was fruitless.
The unit is 6" high x 4" wide by 12" deep. It has 3 UPS outlets plus 3 
surge protected outlets and a USB port.

I am running Fedora 14 2.6.35.14-96.fc14.x86_64 with 
nut-2.6.2-1.fc14.x86_64.rpm from the Fedora repo

I strongly suspect that this unit was made in China ( by MEC??) and 
branded in various different ways (the 'Fry's Electronics' report is a 
but of a giveaway! especially as there are no Fry's in Canada). A thread 
on this list from 2006 had the same reported data Vendor/Product id but 
a different branding. Unfortunately that thread had no resolution.

Due to the fact that this unit does not seem to report itself correctly 
there is a possibility that it cannot be made 'intelligent'. But I'd 
like to try, first.

I have installed nut and done the usual things. The unit is almost 
'there', but not quite. I have trolled through the FAQ and the list but 
nothing (except that one thread) seem to deal with this.

Details:

dmesg
[   13.690421] usb 4-4: New USB device found, idVendor=0001, 
idProduct=0000             #This is clearly bogus, and is what was 
reported in the 2006 thread
[   13.690667] usb 4-4: New USB device strings: Mfr=1, Product=2, 
SerialNumber=0
[   13.690909] usb 4-4: Product: MEC0002
[   13.691164] usb 4-4: Manufacturer: MEC
[   13.722779] generic-usb 0003:0001:0000.0003: hiddev97,hidraw2: USB 
HID v1.00 Device [MEC MEC0002] on usb-0000:00:06.0-4/input0


lsusb -vv
# not much more info than dmesg, and it fails to discover the manufacturer!

Bus 004 Device 002: ID 0001:0000 Fry's Electronics
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               1.00
   bDeviceClass            0 (Defined at Interface level)
   bDeviceSubClass         0
   bDeviceProtocol         0
   bMaxPacketSize0         8
   idVendor           0x0001 Fry's Electronics
   idProduct          0x0000
   bcdDevice            1.00
   iManufacturer           1
   iProduct                2
   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 Device
       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     624
          Report Descriptors:
            ** UNAVAILABLE **
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x81  EP 1 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
         Package Type               Data
         wMaxPacketSize     0x0008  1x 8 bytes
         bInterval              10
Device Status:     0x0000
   (Bus Powered)


Check on the install by restarting the daemon:
It's all down to the driver.

# service ups restart
Stopping UPS monitor:                                      [  OK  ]
Stopping upsd:                                             [  OK  ]
Shutting down UPS driver controller:                       [FAILED]
Starting UPS driver controller:                            [FAILED]
Starting upsd:                                             [  OK  ]
Starting UPS monitor:                                      [  OK  ]

Using usbhid-ups  (tried others, without result)


# cat ups.conf
<snip>
  [nexxtech]
         driver = usbhid-ups
         vendorid = 0001
         productid = 0000
         port = /dev/bus/usb/004/004
#       port = AUTO 		#per the documentation these made
#       port = /dev/usb/hiddev0 # no difference
         desc = "Nexxtech UPS"



Made sure the user/group settings are correct.
# cat upsd.user
<snip>
         [nut]
                 password = nutpass
                 upsmon master

# cat upsmon.conf
<snip>
MONITOR nexxtech at localhost 1 nut nutpass master
<snip>


And this is what I get for my pains (same with user 'nut'):

# usbhid-ups -DD -u root -x vendorid=0001 -a nexxtech
Network UPS Tools - Generic HID driver 0.35 (2.6.2)
USB communication driver 0.31
    0.000000     debug level is '2'
    0.001663     upsdrv_initups...
    0.084295     Checking device (0001/0000) (004/004)
    2.088358     - VendorID: 0001
    2.088416     - ProductID: 0000
    2.088442     - Manufacturer: unknown
    2.088467     - Product: unknown
    2.088491     - Serial Number: unknown
    2.088516     - Bus: 004
    2.088541     Trying to match device
    2.088614     Device does not match - skipping

I have NO idea why the Device does not match... but then I am not sure 
what is is attempting to match. The installation is fine: upsd reports 
periodically that it cannot communicate with the unit..


So what is the driver trying to match against? And can I amend any 
settings to make it match? Can I provide any more info.

Geoff


-- 
              R. Geoffrey Newbury			
            Barrister and Solicitor
       Suite 106, 150 Lakeshore Road West
          Mississauga, Ontario, L5H 3R2

         o905-271-9600 f905-271-1638
           newbury at mandamus.org



More information about the Nut-upsuser mailing list