Connecting a USB UPS

Connecting a USB UPS

Ori Idan ori at helicontech.co.il
Wed Aug 19 12:12:25 IDT 2009


It seems to be usb to serial device so try /dev/ttyUSB0

-- 
Ori Idan


2009/8/19 Daniel Feiglin <dilogsys at inter.net.il>

> Hello folks!
>
> I use a SL1000 UPS. The model is marketed by Advice, and looks like
> their continuation of the Sustainer UPS line. It comes with both a
> serial and USB port. The serial version of the SL line always worked OK
> under Linux with their grotty (but adequate) UPSMON program, which comes
> with the unit (or may be downloaded from the Powercom site.
> www dot pcmups dot com dot tw).
>
> My current workstation does not have any serial ports, so the supplied
> UPSMON will not work.
>
> As proof of hardware integrity for what follows, I ran up the supplied
> Windows UPS software on an XP client running under VMware. The new USB
> device was detected and everything worked as it should.
>
> Back to Linux:
> I'm running openSUSE 11.1 with KDE 3.5 fully updated.
>
> First, the relevant line from lsusb:
>
> Bus 004 Device 008: ID 0d9f:0002 Powercom Co., Ltd
>
> Next, an extract from the YAST hardware Information module:
>
> ----- hal device list -----
>  0: udi = '/org/freedesktop/Hal/devices/usb_device_d9f_2_noserial_if0'
>  info.subsystem = 'usb'
>  usb.interface.number = 0 (0x0)
>  info.linux.driver = 'usbhid'
>  usb.product = 'USB HID Interface'
>  usb.device_subclass = 0 (0x0)
>  usb.interface.class = 3 (0x3)
>  info.product = 'USB HID Interface'
>  usb.linux.sysfs_path =
> '/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1:1.0'
>  usb.speed = 1.50000
>  usb.interface.subclass = 0 (0x0)
>
>  info.udi = '/org/freedesktop/Hal/devices/usb_device_d9f_2_noserial_if0'
>  usb.device_revision_bcd = 0 (0x0)
>  usb.device_protocol = 0 (0x0)
>  usb.interface.protocol = 0 (0x0)
>  usb.configuration_value = 1 (0x1)
>  usb.version = 1.00000
>  usb.max_power = 100 (0x64)
>  usb.vendor_id = 3487 (0xd9f)
>  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1:1.0'
>  usb.num_configurations = 1 (0x1)
>  usb.is_self_powered = false
>  info.parent = '/org/freedesktop/Hal/devices/usb_device_d9f_2_noserial'
>  usb.num_ports = 0 (0x0)
>  usb.product_id = 2 (0x2)
>  usb.num_interfaces = 1 (0x1)
>  usb.can_wake_up = false
>  usb.linux.device_number = 7 (0x7)
>  usb.vendor = 'Powercom Co., Ltd'
>  linux.hotplug_type = 2 (0x2)
>  usb.device_class = 0 (0x0)
>  usb.bus_number = 4 (0x4)
>  linux.subsystem = 'usb'
>
>  1: udi = '/org/freedesktop/Hal/devices/usb_device_d9f_2_noserial'
>  info.subsystem = 'usb_device'
>  info.linux.driver = 'usb'
>  usb_device.product = 'USB to Serial'
>  linux.device_file = '/dev/bus/usb/004/007' <<------------- That's it
>  usb_device.linux.sysfs_path =
> '/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1'
>  info.product = 'USB to Serial'
>  usb_device.device_revision_bcd = 0 (0x0)
>  usb_device.configuration_value = 1 (0x1)
>  usb_device.max_power = 100 (0x64)
>
>  info.udi = '/org/freedesktop/Hal/devices/usb_device_d9f_2_noserial'
>  usb_device.num_configurations = 1 (0x1)
>  usb_device.num_ports = 0 (0x0)
>  usb_device.num_interfaces = 1 (0x1)
>  usb_device.linux.device_number = 7 (0x7)
>  usb_device.device_class = 0 (0x0)
>  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1'
>  usb_device.device_subclass = 0 (0x0)
>  info.vendor = 'Powercom Co., Ltd'
>  usb_device.speed = 1.50000
>  info.parent =
> '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1d_0'
>  usb_device.device_protocol = 0 (0x0)
>  usb_device.version = 1.00000
>  usb_device.vendor_id = 3487 (0xd9f)
>  usb_device.is_self_powered = false
>  usb_device.product_id = 2 (0x2)
>  usb_device.can_wake_up = false
>  linux.hotplug_type = 2 (0x2)
>  usb_device.vendor = 'Powercom Co., Ltd'
>  usb_device.bus_number = 4 (0x4)
>  linux.subsystem = 'usb'
>
> For some reason, the printout did not include this:
>
> Drivers
>   Modules
>      Active: Yes
>      modprobe: Yes
>      modules
>           modprobe cypress_m8
> Drivers
>   Modules
>      Active: Yes
>      modprobe: Yes
>      modules
>           modprobe usbhid
>
> I installed nut. It has a configuration file, /etc/ups/ups.conf, which
> requires this:
>
> [upsname]
>      driver = <drivername>
>       port = <portname>
>    < any other directives here >
>
> The critical items are drivername and portname.
> The nut documentation suggests the use of /dev/hiddev0 for portname,
> however I don't have any /dev/hiddev0, 1, 2 ... entries. (nor do they
> exist in some sub-direcory).
>
> As an inspired (?) guess, I tried driver = powercom and port = /dev/ttyS0.
>
> The upsd daemon started , but was unable to communicate with the device:
> Here are the last few entries from syslog:
>
> Aug 18 13:40:11 danny upsmon[15804]: Poll UPS [myups at localhost] failed -
> Data stale
>
> Aug 18 13:40:12 danny powercom[15796]: data receiving error (-1 instead
> of 11 bytes)
>
> Aug 18 13:40:16 danny upsmon[15804]: Poll UPS [myups at localhost] failed -
> Data stale
>
> Aug 18 13:40:17 danny powercom[15796]: data receiving error (-1 instead
> of 11 bytes)
>
>
> It's easy to see what's happening: The poller sends a Ctl A (I think) to
> the UPS and should get back 11 bytes of status data.
>
>
> And so to the $64,000 question: What should I be using for these two
> parameters?
>
>
> An RTFM would be fine, but go find the FM to R!
>
>
> Daniel
>
>
>
>
>
>
> _______________________________________________
> Linux-il mailing list
> Linux-il at cs.huji.ac.il
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20090819/ddaed7aa/attachment.html>


More information about the Linux-il mailing list