Discussion:
[Nut-upsuser] Working UPS report: Geek Squad GS-700U (Cyberpower clone?)
Victor Rehorst
18 years ago
Permalink
Hi,

I wanted to report some success with monitoring this UPS, a "Geek Squad"
brand GS-700U that I purchased earlier this year from Best Buy Canada.
Information about this... thing is very scarce so here is what I know:

The unit itself is probably made by Cyberpower. It has a 9-pin serial
port on the UPS, as well as a serial-USB adapter thing. I cracked open
the serial-USB adapter and printed on the PCB inside is "CYBERPOWER USB
1.7" which was a major tip-off.

I'm using nut 2.2.0 on a Pepper Pad 2 - which is a UMPC type device
based off of an Intel XScale CPU with a modified version of MontaVista
Linux Pro 3.1. (Linux kernel 2.6.13.4, gcc 3.4, *no* udev). The serial
port I used was actually a Belkin F5U103 USB to Serial port adapter. I
compiled nut against libusb 0.1.12.

Using the serial cable connected to a serial port, I was able to get NUT
monitoring it with the "genericups" driver with upstype=7 (CyberPower
Power99). At lease, the On-Line / On Battery status works with this
upstype setting - I haven't yet tested any of the other signals.

The serial-USB thing is identified as 0764:0005 on the USB bus, which is
supposed to be identified by usbhid-ups. However, when trying to use it
I got USBDEVFS control errors in the system logs, the same as this
previous post:

http://osdir.com/ml/monitoring.nut.user/2006-07/msg00061.html

I also tried the cyberpower driver and cpsups driver with no luck.

I have never tried to use the included Windows software that came with
the UPS, so I don't know if it even supports non-contact closure
features like voltages, load percentages, etc. I suppose I could try it
out in a VMWare virtual machine running XP and see what it does...
--
Victor Rehorst - chuma at chuma.org - victor at newtontalk.net
Personal Homepage - http://www.chuma.org/
mav
18 years ago
Permalink
...
Have you tried the PowerPanel driver? It is the successor to the
mostly defunct cpsups driver. It is named after the Windows software.
Most (if not all?) of the geek squad devices are a repackaged
cyberpower units. If it has a serial port, the powerpanel driver
should work 100%.


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
Victor Rehorst
18 years ago
Permalink
Post by mav
Have you tried the PowerPanel driver? It is the successor to the
mostly defunct cpsups driver. It is named after the Windows software.
Most (if not all?) of the geek squad devices are a repackaged
cyberpower units. If it has a serial port, the powerpanel driver
should work 100%.
Is the powerpanel driver supposed to work with the supplied USB thing,
or connected to a standard serial port?

[goes away to read the driver source]

Oh, I guess it wants to talk serial. I'll have to plug it back into the
serial port when I get home. I'd rather get the USB thing working
though so my serial port is free for other uses.

As for trying the usbhid-ups driver, I am for sure trying to run it as
root but still having problem, this is the output:

root at pepper:/usr/local/ups/bin# ./usbhid-ups -u root -D -D -D -D -a
chuma_ups
Network UPS Tools: 0.28 USB communication driver 0.28 - core 0.30 (2.2.0-)

debug level is '4'
Checking device (0764/0005) (001/003)
- VendorID: 0764
- ProductID: 0005
- Manufacturer: unknown
- Product: unknown
- Serial Number: unknown
- Bus: 001
Trying to match device
Device matches
Unable to get HID descriptor (error sending control message: Connection
timed out)
i=0, extra[i]=09, extra[i+1]=21
HID descriptor, method 2: (9 bytes) => 09 21 10 01 21 01 22 5a 00
HID descriptor retrieved (Reportlen = 90)
Unable to get Report descriptor (-110): Connection timed out
Checking device (0000/0000) (001/001)

The USB bus layout here is extremely simple: one root hub with one
port. /proc/bus/usb/devices tells me this about the CyberPower USB
device. Is there supposed to be a driver loaded for it?

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0764 ProdID=0005 Rev= 4.00
S: Manufacturer=Cyber Power System
S: Product=CPS RS232 USB BRIDGE for UPS
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 20mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
E: Ad=02(O) Atr=03(Int.) MxPS= 8 Ivl=10ms
--
Victor Rehorst - chuma at chuma.org - victor at newtontalk.net
Personal Homepage - http://www.chuma.org/
Charles Lepple
18 years ago
Permalink
...
After usbhid-ups starts, it detaches the Linux kernel HID driver
(usbhid) from the UPS. This is necessary to work around the
limitations in the current kernel HID API.
--
- Charles Lepple
Arjen de Korte
18 years ago
Permalink
Post by Victor Rehorst
As for trying the usbhid-ups driver, I am for sure trying to run it as
root at pepper:/usr/local/ups/bin# ./usbhid-ups -u root -D -D -D -D -a
chuma_ups
Network UPS Tools: 0.28 USB communication driver 0.28 - core 0.30 (2.2.0-)
debug level is '4'
Checking device (0764/0005) (001/003)
- VendorID: 0764
- ProductID: 0005
- Manufacturer: unknown
- Product: unknown
- Serial Number: unknown
- Bus: 001
The above is not good, it means that usbhid-ups can't detach the driver
that is holding the port. You'll need to detach it before running
usbhid-ups.
...
There should not, but I suspect that you'll find that some driver will
have attached to it.
Post by Victor Rehorst
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0764 ProdID=0005 Rev= 4.00
S: Manufacturer=Cyber Power System
S: Product=CPS RS232 USB BRIDGE for UPS
The above two lines should also be displayed by usbhid-ups in the
'Manufacturer' and 'Product' strings upon startup with the -DD option. As
long as that's not happening, it can't attach to the port because of a
permissions problem and/or another driver being attached to it. There is
nothing we can do to fix that if your kernel doesn't allow detaching
drivers.
Post by Victor Rehorst
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 20mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
E: Ad=02(O) Atr=03(Int.) MxPS= 8 Ivl=10ms
Best regards, Arjen
--
Eindhoven - The Netherlands
Key fingerprint - 66 4E 03 2C 9D B5 CB 9B 7A FE 7E C1 EE 88 BC 57
Charles Lepple
18 years ago
Permalink
...
Arjen,

While I agree that usbhid-ups should have printed the strings, the
/proc/bus/usb/devices line says "Driver=(none)".

Victor,

can you copy-and-paste some of the USBDEVFS errors from dmesg?
--
- Charles Lepple
Victor Rehorst
18 years ago
Permalink
...
I did go and explicitly unbind the device from any drivers (it was
apparently bound to 'usb'...) and still no go. I unloaded any and all
spurious USB device modules that were loaded.
Post by Charles Lepple
Victor,
can you copy-and-paste some of the USBDEVFS errors from dmesg
usb 1-1: usbfs: USBDEVFS_CONTROL failed cmd usbhid-ups rqt 128 rq 6 len
255 ret -110
usb 1-1: usbfs: USBDEVFS_CONTROL failed cmd usbhid-ups rqt 129 rq 6 len
90 ret -110
1-1: usbfs: USBDEVFS_CONTROL failed cmd usbhid-ups rqt 128 rq 6 len 255
ret -110
1-1: usbfs: USBDEVFS_CONTROL failed cmd usbhid-ups rqt 129 rq 6 len 90
ret -110

Those last two are after I unbound the device from 'usb'...

For the record, have I yet mentioned that

- The device in question is a "Pepper Pad 2", powered by a 624MHz pxa270
XScale CPU (arch armv5tel)
- Linux distro is mostly MontaVista Linux 3.1, a mixture of CEE and Pro
packages, but with kernel 2.6.13.4
- The PXA270 only does USB 1.1
- System doesn't use udev or hotplug, so everything is running as root.
Also some /dev/ entries seem to be missing, for example there is no
/dev/usb/* - I had to manually create /dev/ttyUSB0 just to use my USB to
serial adapter
- I am totally willing to chalk this up to "weirdness" and use my Belkin
USB to serial port adapter, if it weren't for the fact that so far I'm
doing everything right and it's not working :(

Thanks for everyone's suggestions too.
--
Victor Rehorst - chuma at chuma.org - victor at newtontalk.net
Personal Homepage - http://www.chuma.org/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20071010/61c7fcc9/attachment.htm
Arjen de Korte
18 years ago
Permalink
...
Yes, and that's weird. We *have* reports that the same VID:PID
combination is working with usbhid-ups. Apparently no driver has claimed
this device, yet it doesn't answer at all (all control messages we send
to it, time out). This doesn't look like a usbhid-ups problem, but
rather the USB (or libusb) implementation on this particular platform.

Best regards, Arjen
Victor Rehorst
18 years ago
Permalink
An HTML attachment was scrubbed...
URL: http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20071010/ad75afa2/attachment-0001.htm
Victor Rehorst
18 years ago
Permalink
An HTML attachment was scrubbed...
URL: http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20071010/42985cee/attachment.htm
Arjen de Korte
18 years ago
Permalink
Post by Victor Rehorst
I'm using nut 2.2.0 on a Pepper Pad 2 - which is a UMPC type device
based off of an Intel XScale CPU with a modified version of MontaVista
Linux Pro 3.1. (Linux kernel 2.6.13.4, gcc 3.4, *no* udev).
If you don't have udev/hotplug available, there will be no way to change
the ownership of the device to the compiled in NUT user. You need to run
the usbhid-ups driver as 'root' (and consequently, the upsd server too) by
adding '-u root' to the startup command line. Changing the permissions of
the USB device by hand may appear to work initially, but will break as
soon as the driver needs to reconnect (which may never happen, or as often
as every half hour or even more frequently).

[...]
Post by Victor Rehorst
The serial-USB thing is identified as 0764:0005 on the USB bus, which is
supposed to be identified by usbhid-ups. However, when trying to use it
I got USBDEVFS control errors in the system logs, the same as this
http://osdir.com/ml/monitoring.nut.user/2006-07/msg00061.html
This is almost certainly a permissions problem. We have reports from
people that have UPS'es with this VID:PID working with the usbhid-ups
driver, so the driver should work. It is indeed a rebranded CyberPower
unit.

Best regards, Arjen
--
Eindhoven - The Netherlands
Key fingerprint - 66 4E 03 2C 9D B5 CB 9B 7A FE 7E C1 EE 88 BC 57
Loading...