[Nut-upsuser] Difficulty over USB with a CyberPower 800AVR and nut 2.0.3

Woogie woogie at gmail.com
Thu May 18 23:58:16 UTC 2006


I recently purchased a CyberPower 800AVR UPS which I'm trying to use
over USB with my PC (ArchLinux 0.7.2 [aka up to date]) and nut 2.0.3.

Following the setup instructions, I have an entry as follows in
/etc/nutups/ups.conf (where I chose the configuration file to go when
building nut):

[MyUPS]
        driver = cyberpower
        port = /dev/bus/usb/004/007
        desc = Workstation

I've been varying the "port = " line per the output from dmesg each
time I plug in the UPS (I plan on using udev to give my UPS a proper
home in /dev later). However, every time I've tried I've gotten this
output from `upsdevctrl start` (the node in /dev varied each time)

Network UPS Tools - UPS driver controller 2.0.3
Network UPS Tools - CyberPower driver 1.00 (2.0.3)
tcgetattr(/dev/bus/usb/004/007): Inappropriate ioctl for device
Driver failed to start (exit status=1)


This is when I noticed something strange/unusual in my dmesg output.
When I plugged in my UPS, I would get this message:

usb 4-2: new low speed USB device using uhci_hcd and address 4
hiddev0: USB HID v1.10 Device [CPS UPS BF800] on usb-0000:00:10.3-2
usbcore: registered new driver yealink
drivers/usb/input/yealink.c: Yealink phone driver:yld-20050816

So I thought to myself that perhaps this "yealink phone driver" could
be causing the problem. I unplugged the UPS, unloaded the module for
yealink, then hid the module so the kernel wouldn't be able to find it
again. The result was this:

usb 4-2: new low speed USB device using uhci_hcd and address 6
hiddev0: USB HID v1.10 Device [CPS UPS BF800] on usb-0000:00:10.3-2

But still no joy running `upsdevctrl start` (same error) So then I
concluded that maybe my usbhid module was conflicting. Sacrificing the
use of my mouse, I unloaded/hid the usbhid module, and came up with
the following output from dmesg:

usb 4-2: new low speed USB device using uhci_hcd and address 7

However, running usbdevctrl start yielded the same error message
(inappropriate ioctl for device). I've verified that the group and
user permissions are set correctly (manually) for the node in /dev
because if I switch it back to root ownership, I get a different error
message (related to users and permissions). So this line of thinking
clearly wasn't the issue at hand, so I restored my mouse functionality
by replacing usbhid.ko.

I then thought of trying to get some more debugging output by running
the cyberpower driver directly. Running cyberpower -DDD
/dev/bus/usb/004/007 yielded:

Network UPS Tools - CyberPower driver 1.00 (2.0.3)
debug level is '3'
tcgetattr(/dev/bus/usb/004/007): Inappropriate ioctl for device

Which was the exact same error, with no additional output. Because of
the messages from dmesg, I considered using the hidups and newhidups
drivers, regardless of what is list in data/driver.list. Running them
both, I received (respectively):

Network UPS Tools: HID UPS driver 0.13 (2.0.3)

Warning: This is an experimental driver.
Some features may not function correctly.

debug level is '3'
/dev/bus/usb/004/007 is not a UPS


Network UPS Tools: New USB/HID UPS driver 0.28 (2.0.3)

debug level is '3'
Checking device (0764/0501) (004/007)
- VendorID: 0764
- ProductID: 0501
- Manufacturer: CPS
- Product: UPS BF800
- Serial Number: unknown
- Bus: 004
Trying to match device
Device does not match - skipping

I trimmed the extra output, as this seems to be the relevant portion -
namely the driver skipping over the usb device which is the UPS.



So after having scanned through the mailing list and having done some
googling, I'm out of ideas. Can somebody help me out? I get the
feeling I should be providing more information on the nodes in /dev,
but ls -l doesn't provide anything of any use (and there's no lsnod
command to accompany mknod apparently)


Woogie



More information about the Nut-upsuser mailing list