<p>Hi Jim</p>
<p>As per NUT HW compatibility list, the driver should be blazer_usb:<br>
<a href="http://www.networkupstools.org/stable-hcl.html">http://www.networkupstools.org/stable-hcl.html</a></p>
<p>We are currently merging a new driver to replace blazer_* and would also appreciate feedback on this if you can.</p>
<p>Cheers,<br>
Arno<br>
--<br>
(sent from my eeePad... please excuse my brevity)</p>
<div class="gmail_quote">Le 9 nov. 2013 14:25, "Jim Klimov" <<a href="mailto:jimklimov@cos.ru">jimklimov@cos.ru</a>> a écrit :<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello all,<br>
<br>
  I am trying to set up my brother's UPS (remotely over internet)<br>
on an OpenIndiana-based storage box. According to him, the UPS is<br>
probably an Ippon Back Power Pro 600 dated around 2003 (battery<br>
recently replaced), and it has an USB connection.<br>
<br>
 Sorry for a relatively long post with a log of my successes and<br>
failures, in the hopes that someone would point out what I did<br>
wrong. I guess this is among my first experiences with USB in<br>
Solaris - for a decade we had either serial or snmp UPSes :)<br>
<br>
 I have found some assorted blog posts, following which I found<br>
that the proper driver nowadays is blazer_usb (and earlier versions<br>
of NUT had an ippon driver, which was AFAIK serial-only). However<br>
I can't get the blazer_usb driver to recognize this UPS, and there<br>
are some other problems. Another driver says it found the UPS, but<br>
I am not sure about its correctness :)<br>
<br>
  Main question is if this is some mistake of mine, an OS specific<br>
thing, or just that this particular UPS is not supported (or maybe<br>
its mgmt parts are broken - who knows, so far they haven't been<br>
tested in any other OS)?<br>
<br>
  For the record, here's what I did so far:<br>
<br>
1) Installed the GCC-based development environment in OI, libusb<br>
   and other packages that the build wanted<br>
<br>
2) Compiled nut-2.6.5 (with the patch mentioned a week ago)<br>
<br>
3) Installed NUT in the global zone, and defined the ups.conf entry:<br>
<br>
[ippon]<br>
        driver = blazer_usb<br>
        port = auto<br>
        desc = "Ippon Pro 600 USB"<br>
<br>
[hid]<br>
        driver = usbhid-ups<br>
        port = auto<br>
<br>
<br>
4) The interesting part is about getting USB to be found at all :)<br>
<br>
Do credit where credit is due - some helpful posts were:<br>
<a href="http://barbz.com.au/blog/?p=407" target="_blank">http://barbz.com.au/blog/?p=<u></u>407</a><br>
<a href="http://www.mail-archive.com/nut-upsuser@lists.alioth.debian.org/msg06556.html" target="_blank">http://www.mail-archive.com/<u></u>nut-upsuser@lists.alioth.<u></u>debian.org/msg06556.html</a><br>
<br>
<br>
# /usr/sbin/cfgadm -lv usb8/5<br>
Ap_Id                          Receptacle   Occupant     Condition<br>
Information<br>
When         Type         Busy     Phys_Id<br>
<br>
usb8/5                         connected    configured   ok<br>
Mfg: OMRON  Product: 87XXUPS  NConfigs: 1  Config: 0  <no cfg str descr><br>
unavailable  usb-input    n        /devices/pci@0,0/pci103c,1609@<u></u>12:5<br>
<br>
# prtconf -v | ggrep -B20 -A20 OMRON | egrep "value='(NAME|usb)"<br>
<br>
                        value='NAME= ugen0 Power' + '0=USB D3 State' +<br>
'3=USB D0 State'<br>
                        value='usb6da,3.0' + 'usb6da,3' +<br>
'usbif6da,class3.0.0' + 'usbif6da,class3.0' + 'usbif6da,class3' +<br>
'usbif,class3.0.0' + 'usbif,class3.0' + 'usbif,class3' + 'usb,device'<br>
<br>
<br>
So this UPS has VendorID 06DA, ProductID 0003.<br>
<br>
# rem_drv ugen<br>
# add_drv -i '"usb6da,3.0"' -m '* 0666 nobody nobody' ugen<br>
<br>
# dmesg | tail<br>
...<br>
Nov  9 15:42:10 n54l usba: [ID 912658 <a href="http://kern.info" target="_blank">kern.info</a>] USB 1.10 device<br>
  (usb6da,3) operating at low speed (USB 1.x) on USB 1.10 root hub:<br>
  input@5, ugen0 at bus address 2<br>
<br>
Nov  9 15:42:10 n54l usba: [ID 349649 <a href="http://kern.info" target="_blank">kern.info</a>]        OMRON 87XXUPS<br>
<br>
Nov  9 15:42:10 n54l genunix: [ID 936769 <a href="http://kern.info" target="_blank">kern.info</a>] ugen0 is<br>
  /pci@0,0/pci103c,1609@12/<u></u>input@5<br>
<br>
<br>
However, the UPS is *usually* not found at all:<br>
<br>
root@n54l:/# /usr/local/ups/bin/usbhid-ups -DDDD -a hid<br>
<br>
Network UPS Tools - Generic HID driver 0.37 (2.6.5)<br>
USB communication driver 0.31<br>
   0.000000     debug level is '4'<br>
   0.001180     upsdrv_initups...<br>
   0.002196     No appropriate HID device found<br>
   0.002241     No matching HID UPS found<br>
<br>
<br>
root@n54l:/# /usr/local/ups/bin/blazer_usb -DDDD -a ippon<br>
<br>
Network UPS Tools - Megatec/Q1 protocol USB driver 0.09 (2.6.5)<br>
   0.000000     debug level is '4'<br>
   0.001235     No appropriate HID device found<br>
   0.001287     No supported devices found. Please check your device<br>
availability with 'lsusb' and make sure you have an up-to-date version<br>
of NUT. If this does not help, try running the driver with at least<br>
'subdriver', 'vendorid' and 'productid' options specified. Please refer<br>
to the man page for details about these options (man 8 blazer).<br>
<br>
<br>
<br>
I wrote that it is *usually* not found, because early in my tests<br>
(i.e. soon after boot) it was actually discovered as a device on<br>
the USB bus, but with no details and unrecognized as a known UPS.<br>
<br>
Actually, I've tracked this down to the USB device nodes changing<br>
ownership from nobody:nobody to root:root during blazer_ups driver<br>
startup :\ I am so far at a loss as to "The why". Even weirder,<br>
sometimes the device links get gone as well, and this recovers them:<br>
<br>
# devfsadm -Cv<br>
devfsadm[5083]: verbose: symlink /dev/usb/6da.3/0/devstat -> ../../../../devices/pci@0,0/<u></u>pci103c,1609@12/input@5:6da.3.<u></u>devstat<br>
devfsadm[5083]: verbose: symlink /dev/usb/6da.3/0/cntrl0 -> ../../../../devices/pci@0,0/<u></u>pci103c,1609@12/input@5:6da.3.<u></u>cntrl0<br>
devfsadm[5083]: verbose: symlink /dev/usb/6da.3/0/cntrl0stat -> ../../../../devices/pci@0,0/<u></u>pci103c,1609@12/input@5:6da.3.<u></u>cntrl0stat<br>
devfsadm[5083]: verbose: symlink /dev/usb/6da.3/0/if0in1 -> ../../../../devices/pci@0,0/<u></u>pci103c,1609@12/input@5:6da.3.<u></u>if0in1<br>
devfsadm[5083]: verbose: symlink /dev/usb/6da.3/0/if0in1stat -> ../../../../devices/pci@0,0/<u></u>pci103c,1609@12/input@5:6da.3.<u></u>if0in1stat<br>
<br>
<br>
Running as root does work around the former problem, but the UPS<br>
is still not recognized by any of the protocols:<br>
<br>
# /usr/local/ups/bin/blazer_usb -DDDD -a ippon -u root<br>
Network UPS Tools - Megatec/Q1 protocol USB driver 0.09 (2.6.5)<br>
   0.000000     debug level is '4'<br>
   0.022634     Checking device (06DA/0003) (/dev/usb/6da.3/0)<br>
   0.045564     - VendorID: 06da<br>
   0.045663     - ProductID: 0003<br>
   0.045733     - Manufacturer: OMRON<br>
   0.045788     - Product: 87XXUPS<br>
   0.045841     - Serial Number: unknown<br>
   0.045899     - Bus: /dev/usb<br>
   0.045951     Trying to match device<br>
   0.046011     Device matches<br>
   0.046187     Trying megatec protocol...<br>
   0.049547     send: Q1<br>
   0.101572     read: (217.0 2<br>
   0.101674     blazer_status: short reply<br>
   0.101733     Status read 1 failed<br>
   1.266722     send: I/O error<br>
   1.266900     blazer_status: short reply<br>
   1.266956     Status read 2 failed<br>
   1.267648     Checking device (06DA/0003) (/dev/usb/6da.3/0)<br>
   1.271661     - VendorID: 06da<br>
   1.271763     - ProductID: 0003<br>
   1.271823     - Manufacturer: unknown<br>
   1.271877     - Product: unknown<br>
   1.271925     - Serial Number: unknown<br>
   1.271974     - Bus: /dev/usb<br>
   1.272020     Trying to match device<br>
   1.272074     Device does not match - skipping<br>
   1.272175     No appropriate HID device found<br>
   1.272256     blazer_status: short reply<br>
   1.272309     Status read 3 failed<br>
   1.272358     Trying mustek protocol...<br>
   1.272933     Checking device (06DA/0003) (/dev/usb/6da.3/0)<br>
   1.277622     - VendorID: 06da<br>
   1.277670     - ProductID: 0003<br>
   1.277693     - Manufacturer: unknown<br>
   1.277715     - Product: unknown<br>
   1.277734     - Serial Number: unknown<br>
   1.277756     - Bus: /dev/usb<br>
   1.277774     Trying to match device<br>
   1.277793     Device does not match - skipping<br>
   1.277838     No appropriate HID device found<br>
   1.277861     blazer_status: short reply<br>
   1.277885     Status read 1 failed<br>
   1.278143     Checking device (06DA/0003) (/dev/usb/6da.3/0)<br>
   1.282635     - VendorID: 06da<br>
   1.282726     - ProductID: 0003<br>
   1.282782     - Manufacturer: unknown<br>
   1.282829     - Product: unknown<br>
   1.282881     - Serial Number: unknown<br>
   1.282932     - Bus: /dev/usb<br>
   1.282979     Trying to match device<br>
   1.283026     Device does not match - skipping<br>
   1.283124     No appropriate HID device found<br>
   1.283224     blazer_status: short reply<br>
   1.283273     Status read 2 failed<br>
   1.283866     Checking device (06DA/0003) (/dev/usb/6da.3/0)<br>
   1.288638     - VendorID: 06da<br>
   1.288727     - ProductID: 0003<br>
   1.288779     - Manufacturer: unknown<br>
   1.288829     - Product: unknown<br>
   1.288881     - Serial Number: unknown<br>
   1.288927     - Bus: /dev/usb<br>
   1.288975     Trying to match device<br>
   1.289028     Device does not match - skipping<br>
   1.289123     No appropriate HID device found<br>
   1.289189     blazer_status: short reply<br>
   1.289239     Status read 3 failed<br>
   1.289285     Trying megatec/old protocol...<br>
   1.289829     Checking device (06DA/0003) (/dev/usb/6da.3/0)<br>
   1.290230     Failed to open device, skipping. (I/O error)<br>
   1.290291     No appropriate HID device found<br>
   1.290339     blazer_status: short reply<br>
   1.290388     Status read 1 failed<br>
   1.300475     No appropriate HID device found<br>
   1.300572     blazer_status: short reply<br>
   1.300622     Status read 2 failed<br>
   1.321620     No appropriate HID device found<br>
   1.321719     blazer_status: short reply<br>
   1.321772     Status read 3 failed<br>
   1.321827     Trying zinto protocol...<br>
   1.322081     No appropriate HID device found<br>
   1.322144     blazer_status: short reply<br>
   1.322192     Status read 1 failed<br>
   1.322417     No appropriate HID device found<br>
   1.322479     blazer_status: short reply<br>
   1.322530     Status read 2 failed<br>
   1.322747     No appropriate HID device found<br>
   1.322808     blazer_status: short reply<br>
   1.322860     Status read 3 failed<br>
   1.322909     No supported UPS detected<br>
<br>
<br>
# /usr/local/ups/bin/usbhid-ups -DDDD -a hid -u root <br>
Network UPS Tools - Generic HID driver 0.37 (2.6.5)<br>
USB communication driver 0.31<br>
   0.000000     debug level is '4'<br>
   0.000342     upsdrv_initups...<br>
   0.021748     Checking device (06DA/0003) (/dev/usb/6da.3/0)<br>
   0.044606     - VendorID: 06da<br>
   0.044658     - ProductID: 0003<br>
   0.044679     - Manufacturer: OMRON<br>
   0.044709     - Product: 87XXUPS<br>
   0.044730     - Serial Number: unknown<br>
   0.044753     - Bus: /dev/usb<br>
   0.044778     Trying to match device<br>
   0.044805     This Liebert device (06da:0003) is not (or perhaps not<br>
yet) supported by usbhid-ups. Please make sure you have an up-to-date<br>
version of NUT. If this does not fix the problem, try running the<br>
driver with the '-x productid=0003' option. Please report your results<br>
to the NUT user's mailing list <<a href="mailto:nut-upsuser@lists.alioth.debian.org" target="_blank">nut-upsuser@lists.alioth.<u></u>debian.org</a>>.<br>
<br>
   0.044833     Device does not match - skipping<br>
   0.044891     No appropriate HID device found<br>
   0.044923     No matching HID UPS found<br>
<br>
<br>
(no idea why liebert comes up - vendor id?)<br>
<br>
# /usr/local/ups/bin/usbhid-ups -DDDD -a hid -u root -x productid=0003<br>
Network UPS Tools - Generic HID driver 0.37 (2.6.5)<br>
USB communication driver 0.31<br>
   0.000000     debug level is '4'<br>
   0.000739     upsdrv_initups...<br>
   0.022865     Checking device (06DA/0003) (/dev/usb/6da.3/0)<br>
   0.045791     - VendorID: 06da<br>
   0.045896     - ProductID: 0003<br>
   0.045958     - Manufacturer: OMRON<br>
   0.046020     - Product: 87XXUPS<br>
   0.046073     - Serial Number: unknown<br>
   0.046136     - Bus: /dev/usb<br>
   0.046189     Trying to match device<br>
   0.046282     Device matches<br>
   0.051733     HID descriptor, method 1: (9 bytes) => 09 21 11 01 00 01 22 1b 00<br>
   0.051848     i=0, extra[i]=09, extra[i+1]=21<br>
   0.051920     HID descriptor, method 2: (9 bytes) => 09 21 11 01 00 01 22 1b 00<br>
   0.051978     HID descriptor length 27<br>
   0.058714     Report Descriptor size = 27<br>
   0.058817     Report Descriptor: (27 bytes) => 06 00 ff 09 01 a1 01 09 02 15 00 26 ff 00<br>
   0.058887      75 08 95 08 81 82 09 02 95 08 91 82 c0<br>
   0.059102     Using subdriver: Liebert HID 0.3<br>
   0.059195     Entering libusb_get_report<br>
   0.060809     libusb_get_report: I/O error<br>
   0.060914     Can't retrieve Report 00: I/O error<br>
   0.060993     Path: ff000001.ff000002, Type: Input, ReportID: 0x00, Offset: 0, Size: 8<br>
   0.061057     Entering libusb_get_report<br>
   0.061850     libusb_get_report: I/O error<br>
   0.061954     Can't retrieve Report 00: I/O error<br>
   0.062024     Path: ff000001.ff000002, Type: Output, ReportID: 0x00, Offset: 0, Size: 8<br>
   0.062132     Report descriptor retrieved (Reportlen = 27)<br>
   0.062189     Found HID device<br>
   0.062245     Detected a UPS: OMRON/87XXUPS<br>
   0.062316     string_to_path: depth = 3<br>
   0.062443     string_to_path: depth = 3<br>
   0.062521     string_to_path: depth = 3<br>
   0.062588     string_to_path: depth = 3<br>
   0.062663     string_to_path: depth = 3<br>
   0.062727     string_to_path: depth = 3<br>
   0.062800     string_to_path: depth = 4<br>
   0.062867     string_to_path: depth = 4<br>
   0.062936     string_to_path: depth = 4<br>
   0.063001     string_to_path: depth = 4<br>
   0.063069     string_to_path: depth = 4<br>
   0.063133     string_to_path: depth = 4<br>
   0.063195     find_nut_info: unknown info type: load.off.delay<br>
   0.063249     find_nut_info: unknown info type: load.on.delay<br>
   0.063305     find_nut_info: unknown info type: load.off.delay<br>
   0.063381     upsdrv_initinfo...<br>
   0.063452     upsdrv_updateinfo...<br>
   0.063507     Not using interrupt pipe...<br>
   0.063559     Quick update...<br>
   0.064358     dstate_init: sock /var/state/ups/usbhid-ups-hid open on fd 7<br>
   0.064417     upsdrv_updateinfo...<br>
   0.064442     Not using interrupt pipe...<br>
   0.064466     Quick update...<br>
   2.064222     upsdrv_updateinfo...<br>
   2.064347     Not using interrupt pipe...<br>
   2.064421     Quick update...<br>
   4.063982     upsdrv_updateinfo...<br>
   4.064080     Not using interrupt pipe...<br>
   4.064108     Quick update...<br>
(this goes on forever)<br>
<br>
However (after starting upsd) it seems that the UPS is seen somehow:<br>
<br>
#  /usr/local/ups/bin/upsc hid@localhost<br>
<br>
device.mfr: OMRON<br>
device.model: 87XXUPS<br>
device.type: ups<br>
<a href="http://driver.name" target="_blank">driver.name</a>: usbhid-ups<br>
driver.parameter.pollfreq: 30<br>
driver.parameter.pollinterval: 2<br>
driver.parameter.port: auto<br>
driver.parameter.productid: 0003<br>
driver.version: 2.6.5<br>
driver.version.data: Liebert HID 0.3<br>
driver.version.internal: 0.37<br>
ups.mfr: OMRON<br>
ups.model: 87XXUPS<br>
ups.productid: 0003<br>
ups.status: OB<br>
ups.vendorid: 06da<br>
<br>
<br>
I am puzzled why it is considered "OB" for example, which makes this<br>
information somewhat useless for automated shutdowns...<br>
<br>
It is indeed quite possible, that this particular piece of hardware is<br>
just not supported by NUT and there are few-to-no problems regarding<br>
the OS/Software side of my setup... I'd welcome confirmations though :)<br>
And ideas about the volatility of device node setup (disappearance of<br>
symlinks and changes of ownership with blazer_usb - but not with the<br>
usbhid-ups driver) are also welcome.<br>
<br>
Also, for the record, it is very inconvenient that starting an UPS<br>
driver requires an entry in the ups.conf nowadays - basically, to<br>
find a matching driver I'd have to make dozens of such entries and<br>
see if any of them works... I'm lucky I got a possible hit on my<br>
second attempt.<br>
<br>
Thanks,<br>
//Jim Klimov<br>
<br>
<br>
______________________________<u></u>_________________<br>
Nut-upsdev mailing list<br>
<a href="mailto:Nut-upsdev@lists.alioth.debian.org" target="_blank">Nut-upsdev@lists.alioth.<u></u>debian.org</a><br>
<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsdev" target="_blank">http://lists.alioth.debian.<u></u>org/cgi-bin/mailman/listinfo/<u></u>nut-upsdev</a><br>
</blockquote></div>