[Nut-upsuser] APC Back-UPS XS 1200 - permission denied

Peter Selinger selinger at mathstat.dal.ca
Fri Jan 19 00:18:12 CET 2007


If you run newhidups with "-u root", then you have to run upsd "-u
root" as well.

If you run newhidups without "-u root", then it runs as the user
specified by the ./configure --with-user option, or by the ups.conf
user option (i.e. upsd in your case).

It looks like
> crw-r--r-- 1 upsd root 189, 520 Jan 18 16:20 /dev/bus/usb/005/009

should in principle be readable, so I am not sure why it's not working
without "-u root". You can try -D or -DD to get more verbose output
from newhidups.

Did you check /proc/bus/usb? 

The newhidups-auto socket usually lives in /var/state/ups, or in the
directory specified by ./configure --with-statepath=DIR. 

-- Peter

Kevin DeGraaf wrote:
> 
> I have a new APC Back-UPS XS 1200.  It is detected properly by the Linux
> kernel (2.6.16):
> 
> # dmesg
> usb 5-3.4: new low speed USB device using ehci_hcd and address 9
> usb 5-3.4: new device found, idVendor=051d, idProduct=0002
> usb 5-3.4: new device strings: Mfr=3, Product=1, SerialNumber=2
> usb 5-3.4: Product: Back-UPS XS 1200 FW:8.g1 .D USB FW:g1
> usb 5-3.4: Manufacturer: American Power Conversion
> usb 5-3.4: SerialNumber: BB0100009999
> usb 5-3.4: configuration #1 chosen from 1 choice
> hiddev96: USB HID v1.10 Device [American Power Conversion Back-UPS XS
> 1200 FW:8.g1 .D USB FW:g1 ] on usb-0000:00:1d.7-3.4
> 
> This UPS works properly with apcupsd, but I'd rather use NUT.   :-)
> 
> Here's my ups.conf:
> 
> [xs1200]
>         driver = newhidups
>         port = auto
>         user = upsd
>         desc = "Back-UPS XS 1200"
> 
> I receive this error when I run newhidups manually:
> 
> # /usr/lib/ups/driver/newhidups xs1200
> Network UPS Tools: New USB/HID UPS driver 0.28 (2.0.3)
> No matching USB/HID UPS found
> 
> Forcing it to use the "root" user makes a positive difference:
> 
> # /usr/lib/ups/driver/newhidups -u root xs1200
> Network UPS Tools: New USB/HID UPS driver 0.28 (2.0.3)
> Detected a UPS: American Power Conversion/Back-UPS XS 1200 FW:8.g1 .D
> USB FW:g1
> Using subdriver: APC HID 0.8
> 
> Here's the relevant strace output from upsd itself:
> 
> # strace /usr/sbin/upsd 2>&1
> [snip ...]
> socket(PF_FILE, SOCK_STREAM, 0)         = 5
> connect(5, {sa_family=AF_FILE, path="newhidups-auto"}, 110) = -1 EACCES
> (Permission denied)
> close(5)                                = 0
> time(NULL)                              = 1169155308
> write(2, "Can\'t connect to UPS [xs1200] (n"..., 66Can't connect to UPS
> [xs1200] (newhidups-auto): Permission denied
> [snip ...]
> 
> For what it's worth:
> 
> # lsusb
> Bus 005 Device 009: ID 051d:0002 American Power Conversion Back-UPS Pro
> 500/1000/1500
> 
> # ls -l /dev/bus/usb/005/009
> crw-r--r-- 1 upsd root 189, 520 Jan 18 16:20 /dev/bus/usb/005/009
> 
> Any ideas?  I'm not sure where in the filesystem upsd is attempting to
> write the "newhidups-auto" socket.  Thanks.
> 
> -- 
> Kevin DeGraaf
> 
> _______________________________________________
> 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