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 [my...@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 [my...@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





begin:vcard
fn:Daniel Feiglin
n:Feiglin;Daniel
adr:;;POB 36;Shavei Shomron;Doar Na;44858;ISRAEL
email;internet:dilog...@inter.net.il
tel;work:972 9 8616204
tel;fax:972 9 8621052
tel;pager:Skype user ID: baba_danny
tel;home:972 9 8320939
tel;cell:927 52 3869986
version:2.1
end:vcard

_______________________________________________
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il

Reply via email to