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