[Nut-upsuser] Trouble Configuring NUT with Gamatronic USB

Peter Selinger selinger at mathstat.dal.ca
Fri Jun 16 12:53:48 UTC 2006


Dear Eli,

you need one more modification: in drivers/newhidups.c, line 37,
add your subdriver to the list:

static subdriver_t *subdriver_list[] = {
   &generic_subdriver,
   &mge_subdriver,
   &apc_subdriver,
   &belkin_subdriver,
   &tripplite_subdriver,
   NULL
};

Note that it is probably called "kebo_subdriver" not
"richcomm_subdriver".

Also, you have to drop the "-x generic" flag at this point. Also,
please use -DD, and not -DDDDD, as the latter produces tons of
irrelevant output.

-- Peter


Eli Wapniarski wrote:
> 
> Thanks Peter
> 
> If you're willing to get this done, so am I. I bought three of them 2 are=20
> connected to Linux boxes so I am very interested in getting nut to work.
> 
> Anyhoot, I made the modifications that were suggested and called the driver=
> =20
> files richcomm-hid.c richcomm-hid.h. Figured that was best, since there wil=
> l=20
> be probably other ups using Richcomm's stuff. I had to make 2 additional=20
> modifications by hand after running make depend
> 
> 1) newups.hid.c -- #include "richcomm-hid.h"
> 
> 2) after running ./configure --prefix=3D/usr --with-user=3Dnut I had to=20
> modify ./drivers/make on line 95 to include richcom-hid.o
> 
> After these two additional modifications, the usb drivers compiled.
> 
> After running newhidups -DDDDD -u root -x generic -x vendorid=3D0925 auto
> I get the following regarding the ups
> 
> Checking device (0925/1234) (002/002)
> =2D VendorID: 0925
> =2D ProductID: 1234
> =2D Manufacturer: Richcomm Tech
> =2D Product: UPS2004
> =2D Serial Number: unknown
> =2D Bus: 002
> Trying to match device
> Device matches
> HID descriptor retrieved (Reportlen =3D 78)
> Report descriptor retrieved (Reportlen =3D 78)
> =46ound HID device
> Report Descriptor size =3D 78
> Report Descriptor: (200 bytes) =3D> 06 A0 FF 09 01 A1 01 09 02 A1 00 06 A1 =
> =46F 09=20
> 03
> Detected a UPS: Richcomm Tech  /UPS2004
> Using subdriver: GENERIC HID 0.1
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa10003
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa10003
> Looking up ffa10003
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(3)
> Can't find object ffa00001.ffa00002.ffa10003
> Path: ffa00001.ffa00002.ffa10003, Type: Input
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa10004
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa10004
> Looking up ffa10004
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(4)
> Can't find object ffa00001.ffa00002.ffa10004
> Path: ffa00001.ffa00002.ffa10004, Type: Input
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa10005
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa10005
> Looking up ffa10005
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(5)
> Can't find object ffa00001.ffa00002.ffa10005
> Path: ffa00001.ffa00002.ffa10005, Type: Input
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa10006
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa10006
> Looking up ffa10006
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(6)
> Can't find object ffa00001.ffa00002.ffa10006
> Path: ffa00001.ffa00002.ffa10006, Type: Input
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa10007
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa10007
> Looking up ffa10007
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(7)
> Can't find object ffa00001.ffa00002.ffa10007
> Path: ffa00001.ffa00002.ffa10007, Type: Input
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa10008
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa10008
> Looking up ffa10008
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(8)
> Can't find object ffa00001.ffa00002.ffa10008
> Path: ffa00001.ffa00002.ffa10008, Type: Input
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa10009
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa10009
> Looking up ffa10009
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(9)
> Can't find object ffa00001.ffa00002.ffa10009
> Path: ffa00001.ffa00002.ffa10009, Type: Output
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa1000a
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa1000a
> Looking up ffa1000a
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(a)
> Can't find object ffa00001.ffa00002.ffa1000a
> Path: ffa00001.ffa00002.ffa1000a, Type: Output
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa1000b
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa1000b
> Looking up ffa1000b
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(b)
> Can't find object ffa00001.ffa00002.ffa1000b
> Path: ffa00001.ffa00002.ffa1000b, Type: Output
> Looking up ffa00001
> Looking up ffa00002
> Looking up ffa1000c
> entering string_to_path()
> parsing ffa00001
> Looking up ffa00001
> parsing ffa00002
> Looking up ffa00002
> parsing ffa1000c
> Looking up ffa1000c
> Path depth =3D 3
> 0: UPage(ffa0), Usage(1)
> 1: UPage(ffa0), Usage(2)
> 2: UPage(ffa1), Usage(c)
> Can't find object ffa00001.ffa00002.ffa1000c
> Path: ffa00001.ffa00002.ffa1000c, Type: Output
> entering identify_ups(0x0925, 0x1234)
> 
> upsdrv_updateinfo...
> dstate_init: sock /var/state/ups/newhidups-auto open on fd 5
> upsdrv_updateinfo...
> Waiting for notifications...
> 
> I very much appreciate the effort
> 
> Eli
> 
> On Thursday, 15 =D7=91June 2006 22:52, you wrote:
> > Interesting. This device is definitely not currently supported.
> >
> > However, I have seen this type of device before, on a Kebo
> > UPS-650D. See the posts of Andrew Dancy on the Nut-upsdev mailing
> > list, September 26-27, 2005.
> >
> > It is probably not a USB HID device, but some proprietary
> > serial-over-USB protocol. At the time, Andrew Dancy decided that his
> > device was too cheap and too outdated to be worth investigating.
> >
> > You *could* try the patch that I sent on September 27 on nut-upsdev,
> > and see if you get any mileage out of it. It would only be a first
> > step towards deciphering this device, though.
> >
> > -- Peter
> >
> > Eli Wapniarski wrote:
> > > OK Peter
> > >
> > > Here goes. I uninstalled the 2.03 and then compiled and installed using
> > > the following
> > >
> > > ./configure --prefix=3D/usr --with-user=3Dnut
> > > make
> > > make usb
> > > make install
> > > make install-usb
> > >
> > > One funny thing to note. when I run the command newhidups, without
> > > specifying the location /usr/bin, for some reason I get the error
> > >
> > > -bash: /sbin/newhidups: No such file or directory
> > >
> > > weird. /usr/bin is in my path. Anyway... right now no big deal. Here is
> > > the output as requeted.
> > >
> > > /usr/bin/newhidups -DD -u root -x generic -x vendorid=3D0925 auto
> > > Network UPS Tools: New USB/HID UPS driver 0.28 (2.1.0)
> > >
> > > debug level is '2'
> > > Checking device (046D/C20D) (003/004)
> > > - VendorID: 046d
> > > - ProductID: c20d
> > > - Manufacturer: Logitech
> > > - Product: WingMan Attack 2
> > > - Serial Number: unknown
> > > - Bus: 003
> > > Trying to match device
> > > Device does not match - skipping
> > > Checking device (05A9/0518) (003/002)
> > > - VendorID: 05a9
> > > - ProductID: 0518
> > > - Manufacturer: OmniVision Technologies, Inc.
> > > - Product: USB Camera
> > > - Serial Number: unknown
> > > - Bus: 003
> > > Trying to match device
> > > Device does not match - skipping
> > > Checking device (0451/2046) (003/003)
> > > - VendorID: 0451
> > > - ProductID: 2046
> > > - Manufacturer: unknown
> > > - Product: unknown
> > > - Serial Number: unknown
> > > - Bus: 003
> > > Trying to match device
> > > Device does not match - skipping
> > > Checking device (0925/1234) (002/002)
> > > - VendorID: 0925
> > > - ProductID: 1234
> > > - Manufacturer: Richcomm Tech
> > > - Product: UPS2004
> > > - Serial Number: unknown
> > > - Bus: 002
> > > Trying to match device
> > > Device matches
> > > HID descriptor retrieved (Reportlen =3D 78)
> > > Report descriptor retrieved (Reportlen =3D 78)
> > > Found HID device
> > > Report Descriptor size =3D 78
> > > Detected a UPS: Richcomm Tech  /UPS2004
> > > Using subdriver: GENERIC HID 0.1
> > > Can't find object ffa00001.ffa00002.ffa10003
> > > Path: ffa00001.ffa00002.ffa10003, Type: Input
> > > Can't find object ffa00001.ffa00002.ffa10004
> > > Path: ffa00001.ffa00002.ffa10004, Type: Input
> > > Can't find object ffa00001.ffa00002.ffa10005
> > > Path: ffa00001.ffa00002.ffa10005, Type: Input
> > > Can't find object ffa00001.ffa00002.ffa10006
> > > Path: ffa00001.ffa00002.ffa10006, Type: Input
> > > Can't find object ffa00001.ffa00002.ffa10007
> > > Path: ffa00001.ffa00002.ffa10007, Type: Input
> > > Can't find object ffa00001.ffa00002.ffa10008
> > > Path: ffa00001.ffa00002.ffa10008, Type: Input
> > > Can't find object ffa00001.ffa00002.ffa10009
> > > Path: ffa00001.ffa00002.ffa10009, Type: Output
> > > Can't find object ffa00001.ffa00002.ffa1000a
> > > Path: ffa00001.ffa00002.ffa1000a, Type: Output
> > > Can't find object ffa00001.ffa00002.ffa1000b
> > > Path: ffa00001.ffa00002.ffa1000b, Type: Output
> > > Can't find object ffa00001.ffa00002.ffa1000c
> > > Path: ffa00001.ffa00002.ffa1000c, Type: Output
> > > entering identify_ups(0x0925, 0x1234)
> > >
> > > upsdrv_updateinfo...
> > > dstate_init: sock /var/state/ups/newhidups-auto open on fd 5
> > > upsdrv_updateinfo...
> > > Waiting for notifications...
> > > upsdrv_updateinfo...
> > > Waiting for notifications...
> > > upsdrv_updateinfo...
> > > Waiting for notifications...
> > >
> > > Keeps on repeating the same thing over and over again until I press
> > > Control C.
> > >
> > > Eli
> > >
> > > On Wednesday, 14 =3DD7=3D91June 2006 18:52, Peter Selinger wrote:
> > > > Hi Eli,
> > > >
> > > > sorry, I forgot to say: you should first get and compile the newest
> > > > development tree of NUT from the SVN repository. The -x generic flag
> > > > will not work with 2.0.3. See
> > > > http://www.networkupstools.org/source.html
> > > >
> > > > -- Peter
> > > >
> > > > Eli Wapniarski wrote:
> > > > > Hi Peter
> > > > >
> > > > > Thanks for responding.
> > > > > Running newhidups -DD -u root -x generic -x vendorid=3D0925 auto
> > > > > produces
> > > > >
> > > > > Network UPS Tools: New USB/HID UPS driver 0.28 (2.0.3)
> > > > > Fatal error: 'generic' is not a valid flag for this driver.
> > > > >
> > > > > However, newhidups -DD -u root -x vendorid=3D0925 auto
> > > > >
> > > > > Network UPS Tools: New USB/HID UPS driver 0.28 (2.0.3)
> > > > >
> > > > > debug level is '2'
> > > > > Checking device (046D/C20D) (003/004)
> > > > > - VendorID: 046d
> > > > > - ProductID: c20d
> > > > > - Manufacturer: Logitech
> > > > > - Product: WingMan Attack 2
> > > > > - Serial Number: unknown
> > > > > - Bus: 003
> > > > > Trying to match device
> > > > > Device does not match - skipping
> > > > > Checking device (05A9/0518) (003/002)
> > > > > - VendorID: 05a9
> > > > > - ProductID: 0518
> > > > > - Manufacturer: OmniVision Technologies, Inc.
> > > > > - Product: USB Camera
> > > > > - Serial Number: unknown
> > > > > - Bus: 003
> > > > > Trying to match device
> > > > > Device does not match - skipping
> > > > > Checking device (0451/2046) (003/003)
> > > > > - VendorID: 0451
> > > > > - ProductID: 2046
> > > > > - Manufacturer: unknown
> > > > > - Product: unknown
> > > > > - Serial Number: unknown
> > > > > - Bus: 003
> > > > > Trying to match device
> > > > > Device does not match - skipping
> > > > > Checking device (0925/1234) (002/002)
> > > > > - VendorID: 0925
> > > > > - ProductID: 1234
> > > > > - Manufacturer: Richcomm Tech
> > > > > - Product: UPS2004
> > > > > - Serial Number: unknown
> > > > > - Bus: 002
> > > > > Trying to match device
> > > > > Device does not match - skipping
> > > > > Checking device (0000/0000) (002/001)
> > > > > - VendorID: 0000
> > > > > - ProductID: 0000
> > > > > - Manufacturer: Linux 2.6.16-1.2133_FC5smp uhci_hcd
> > > > > - Product: UHCI Host Controller
> > > > > - Serial Number: 0000:00:1d.0
> > > > > - Bus: 002
> > > > > Trying to match device
> > > > > Device does not match - skipping
> > > > > Checking device (0000/0000) (005/001)
> > > > > - VendorID: 0000
> > > > > - ProductID: 0000
> > > > > - Manufacturer: Linux 2.6.16-1.2133_FC5smp uhci_hcd
> > > > > - Product: UHCI Host Controller
> > > > > - Serial Number: 0000:00:1d.3
> > > > > - Bus: 005
> > > > > Trying to match device
> > > > > Device does not match - skipping
> > > > > Checking device (0000/0000) (004/001)
> > > > > - VendorID: 0000
> > > > > - ProductID: 0000
> > > > > - Manufacturer: Linux 2.6.16-1.2133_FC5smp uhci_hcd
> > > > > - Product: UHCI Host Controller
> > > > > - Serial Number: 0000:00:1d.2
> > > > > - Bus: 004
> > > > > Trying to match device
> > > > > Device does not match - skipping
> > > > > Checking device (0000/0000) (001/001)
> > > > > - VendorID: 0000
> > > > > - ProductID: 0000
> > > > > - Manufacturer: Linux 2.6.16-1.2133_FC5smp ehci_hcd
> > > > > - Product: EHCI Host Controller
> > > > > - Serial Number: 0000:00:1d.7
> > > > > - Bus: 001
> > > > > Trying to match device
> > > > > Device does not match - skipping
> > > > > No appropriate HID device found
> > > > > No matching USB/HID UPS found
> > > > >
> > > > > I really appreciate this effort.
> > > > >
> > > > > Eli
> > > > >
> > > > > > Eli,
> > > > > >
> > > > > > Gamatronic is not currently supported by the newhidups driver. You
> > > > > > have two options:
> > > > > >
> > > > > > (1) look at the file data/driver.list or
> > > > > >     http://www.networkupstools.org/compat/ to find a serial driver
> > > > > >     that matches your device, and/or
> > > > > >
> > > > > > (2) post the output of
> > > > > >
> > > > > >     newhidups -DD -u root -x generic -x vendorid=3D0925 auto
> > > > > >
> > > > > >     and we'll try to see if any USB driver can be modified to
> > > > > > support this device.
> > > > > >
> > > > > > -- Peter
> > > > > >
> > > > > > Eli Wapniarski wrote:
> > > > > >> Hi
> > > > > >>
> > > > > >> I am running FC5 with nut coming from the fc5 extras repositorie=
> s.
> > > > > >> I =3D2=3D
> > > > >
> > > > > 0
> > > > >
> > > > > >> am trying to configure a Gamatronic D-Compact ups. The cable that
> > > > > >> came =3D
> > > > >
> > > > > =3D20
> > > > >
> > > > > >> with the ups has a serial connector on one end and a usb on the
> > > > > >> other.
> > > > > >>
> > > > > >> cat /proc/bus/usb/devices produces
> > > > > >>
> > > > > >> T:  Bus=3D01 Lev=3D01 Prnt=3D01 Port=3D01 Cnt=3D01 Dev#=3D
> > > > > >>  4=3D
> > > > >
> > > > >   =3D20
> > > > >
> > > > > >> Spd=3D1.5 MxCh=3D
> > > > > >> =3D 0
> > > > > >> D:  Ver=3D 1.10 Cls=3D00(>ifc ) Sub=3D00 Prot=3D00 MxPS=3D 8
> > > > > >> #C=3D
> > > > >
> > > > > fgs=3D  1
> > > > >
> > > > > >> P:  Vendor=3D0925 ProdID=3D1234 Rev=3D 0.01
> > > > > >> S:  Manufacturer=3DRichcomm Tech
> > > > > >> S:  Product=3DUPS2004
> > > > > >> C:* #Ifs=3D 1 Cfg#=3D 1 Atr=3D80 MxPwr=3D100mA
> > > > > >> I:  If#=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D03(HID  ) Sub=3D00
> > > > > >> Prot=3D
> > > > >
> > > > > =3D00  =3D20
> > > > >
> > > > > >> Driver=3D=3D
> > > > > >> usbhid
> > > > > >> E:  Ad=3D81(I) Atr=3D03(Int.) MxPS=3D   6 Ivl=3D10ms
> > > > > >>
> > > > > >> So the ups is detected. But when I try to run
> > > > > >>
> > > > > >> upsdrvctl -u nut start or upsdrvctl -u root start I get
> > > > > >>
> > > > > >> Network UPS Tools - UPS driver controller 2.0.3
> > > > > >> execv: Permission denied
> > > > > >> Driver failed to start (exit status=3D1)
> > > > > >>
> > > > > >>
> > > > > >> /etc/rc.d/init.d/ups start produces
> > > > > >>
> > > > > >> Starting newhidups: Network UPS Tools: New USB/HID UPS driver 0.=
> 28
> > > > > >> (2.0.3=3D
> > > > >
> > > > > )
> > > > >
> > > > > >> No matching USB/HID UPS found
> > > > > >>                                                           =20
> > > > > >> [FAILED] Starting upsd: Network UPS Tools upsd 2.0.3
> > > > > >> Can't connect to UPS [Gamatronic] (-auto): No such file or
> > > > > >> directory Synchronizing........ giving up
> > > > > >>                                                             [  O=
> K=20
> > > > > >> ] Starting UPS monitor (master): Network UPS Tools upsmon 2.0.3
> > > > > >> Using power down flag file /etc/killpower
> > > > > >>
> > > > > >>
> > > > > >> Fatal error: insufficient power configured!
> > > > > >>
> > > > > >> Sum of power values........: 0
> > > > > >> Minimum value (MINSUPPLIES): 1
> > > > > >>
> > > > > >> Edit your upsmon.conf and change the values.
> > > > > >>                                                           =20
> > > > > >> [FAILED]
> > > > > >>
> > > > > >> /etc/sysconfig/ups  contains
> > > > > >>
> > > > > >> # If the UPS is locally attached set it to "yes"
> > > > > >> SERVER=3Dyes
> > > > > >> # Model of the UPS (filename to call for it, without path)
> > > > > >> # Example - one of
> > > > > >> #       apcsmart        - APC SMartUPS and similar
> > > > > >> #       fentonups       - Fenton UPS
> > > > > >> #       optiups
> > > > > >> #       bestups
> > > > > >> #       genericups
> > > > > >> #       ups-trust425+625
> > > > > >> #  upsdrvctl
> > > > > >> # You MUST change this, or set SERVER to "no"
> > > > > >> # To support multiple drivers, set MODEL=3Dupsdrvctl
> > > > > >> MODEL=3Dnewhidups
> > > > > >> # UPS device - needed if UPS is locally attached
> > > > > >> DEVICE=3Dauto
> > > > > >> # Any options to pass to $MODEL
> > > > > >> # ex. for my TrippLite UPS, use
> > > > > >> #       OPTIONS=3D"-t 5"
> > > > > >> OPTIONS=3D
> > > > > >> # Any options to pass to upsd
> > > > > >> UPSD_OPTIONS=3D
> > > > > >> #
> > > > > >> # [End]
> > > > > >>
> > > > > >> /etc/ups/ups.conf contains
> > > > > >>
> > > > > >> [Gamatronic]
> > > > > >>      driver=3D newhidups
> > > > > >>      port =3D auto
> > > > > >>      desc =3D "Gamatronic D-Compact"
> > > > > >>
> > > > > >>
> > > > > >> I tried to modifying /etc/udev/rules.d/nut-usbups.rules to inlcu=
> de
> > > > > >> the =3D
> > > > >
> > > > > =3D20
> > > > >
> > > > > >> following lines before LABEL=3D"nut-usbups_rules_end" to include
> > > > > >>
> > > > > >> # Gamatronic D-Compact - usbhid-ups
> > > > > >> SYSFS{idVendor}=3D=3D"0925", SYSFS{idProduct}=3D=3D"1234",
> > > > > >> =3D20 MODE=3D"660", GRO=3D
> > > > > >> UP=3D"nut"
> > > > > >>
> > > > > >> I got the same results. Please help me to get nut configured
> > > > > >> correctly.
> > > > > >>
> > > > > >> Thanks
> > > > > >>
> > > > > >> Eli
> > > > > >>
> > > > > >> _______________________________________________
> > > > > >> Nut-upsuser mailing list
> > > > > >> Nut-upsuser at lists.alioth.debian.org
> > > > > >> http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser
> 
> _______________________________________________
> Nut-upsuser mailing list
> Nut-upsuser at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser
> 




More information about the Nut-upsuser mailing list