[Nut-upsuser] Trouble Configuring NUT with Gamatronic USB

Eli Wapniarski eli at orbsky.homelinux.org
Fri Jun 16 06:24:22 UTC 2006


Thanks Peter

If you're willing to get this done, so am I. I bought three of them 2 are 
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 
files richcomm-hid.c richcomm-hid.h. Figured that was best, since there will 
be probably other ups using Richcomm's stuff. I had to make 2 additional 
modifications by hand after running make depend

1) newups.hid.c -- #include "richcomm-hid.h"

2) after running ./configure --prefix=/usr --with-user=nut I had to 
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=0925 auto
I get the following regarding the ups

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 = 78)
Report descriptor retrieved (Reportlen = 78)
Found HID device
Report Descriptor size = 78
Report Descriptor: (200 bytes) => 06 A0 FF 09 01 A1 01 09 02 A1 00 06 A1 FF 09 
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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 בJune 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=/usr --with-user=nut
> > 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=0925 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 = 78)
> > Report descriptor retrieved (Reportlen = 78)
> > Found HID device
> > Report Descriptor size = 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 =D7=91June 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=0925 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=0925 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=0925 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 repositories.
> > > > >> I =2=
> > > >
> > > > 0
> > > >
> > > > >> am trying to configure a Gamatronic D-Compact ups. The cable that
> > > > >> came =
> > > >
> > > > =20
> > > >
> > > > >> with the ups has a serial connector on one end and a usb on the
> > > > >> other.
> > > > >>
> > > > >> cat /proc/bus/usb/devices produces
> > > > >>
> > > > >> T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=
> > > > >>  4=
> > > >
> > > >   =20
> > > >
> > > > >> Spd=1.5 MxCh=
> > > > >> = 0
> > > > >> D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8
> > > > >> #C=
> > > >
> > > > fgs=  1
> > > >
> > > > >> P:  Vendor=0925 ProdID=1234 Rev= 0.01
> > > > >> S:  Manufacturer=Richcomm Tech
> > > > >> S:  Product=UPS2004
> > > > >> C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
> > > > >> I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00
> > > > >> Prot=
> > > >
> > > > =00  =20
> > > >
> > > > >> Driver==
> > > > >> usbhid
> > > > >> E:  Ad=81(I) Atr=03(Int.) MxPS=   6 Ivl=10ms
> > > > >>
> > > > >> 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=1)
> > > > >>
> > > > >>
> > > > >> /etc/rc.d/init.d/ups start produces
> > > > >>
> > > > >> Starting newhidups: Network UPS Tools: New USB/HID UPS driver 0.28
> > > > >> (2.0.3=
> > > >
> > > > )
> > > >
> > > > >> No matching USB/HID UPS found
> > > > >>                                                            
> > > > >> [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
> > > > >>                                                             [  OK 
> > > > >> ] 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.
> > > > >>                                                            
> > > > >> [FAILED]
> > > > >>
> > > > >> /etc/sysconfig/ups  contains
> > > > >>
> > > > >> # If the UPS is locally attached set it to "yes"
> > > > >> SERVER=yes
> > > > >> # 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=upsdrvctl
> > > > >> MODEL=newhidups
> > > > >> # UPS device - needed if UPS is locally attached
> > > > >> DEVICE=auto
> > > > >> # Any options to pass to $MODEL
> > > > >> # ex. for my TrippLite UPS, use
> > > > >> #       OPTIONS="-t 5"
> > > > >> OPTIONS=
> > > > >> # Any options to pass to upsd
> > > > >> UPSD_OPTIONS=
> > > > >> #
> > > > >> # [End]
> > > > >>
> > > > >> /etc/ups/ups.conf contains
> > > > >>
> > > > >> [Gamatronic]
> > > > >>      driver= newhidups
> > > > >>      port = auto
> > > > >>      desc = "Gamatronic D-Compact"
> > > > >>
> > > > >>
> > > > >> I tried to modifying /etc/udev/rules.d/nut-usbups.rules to inlcude
> > > > >> the =
> > > >
> > > > =20
> > > >
> > > > >> following lines before LABEL="nut-usbups_rules_end" to include
> > > > >>
> > > > >> # Gamatronic D-Compact - usbhid-ups
> > > > >> SYSFS{idVendor}=="0925", SYSFS{idProduct}=="1234",
> > > > >> =20 MODE="660", GRO=
> > > > >> UP="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



More information about the Nut-upsuser mailing list