<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>