[Nut-upsuser] Nut and PowerWare 5115

Greg greg_roll at hotmail.com
Tue Apr 21 12:43:28 UTC 2009


Hi Kjell,

Sorry for the late reply been doing a lot of testing.

I got the package from 
http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/nut_2.4.1-1_arm.ipk
It pretty much pre-compiled which are then extracted to the device on 
installation.

I tested nut and the 5115 under Ubuntu 8.10. Ubuntu comes with nut 2.2.2 by 
default which works fine. I installed 2.4.1 which does not work either.

So I compiled and installed 2.2.2 on my QNAP device and it still doesn't 
work.
2.2.2 was compiled on my QNAP without HAL support just USB support.

I enabled USB_DEBUG=3 and I got the following output under 2.4.1 on my QNAP. 
(unsure about HAL support as it was pre-compiled)
==========================

[/dev/usb] # bcmxcp_usb -DDDD -a PowerWare -u admin
Network UPS Tools - BCMXCP UPS driver 0.21 (2.4.1)
USB communication subdriver 0.17
debug level is '4'
usb_set_debug: Setting debugging level to 3 (on)
usb_os_init: Found USB VFS at /proc/bus/usb
usb_os_find_busses: Found 001
usb_os_find_busses: Skipping non bus directory devices
usb_os_find_devices: Found 010 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
Communications with UPS lost: Receive error (Request command): COMMAND: 31

RECONNECT USB DEVICE

usb_os_find_busses: Found 001
usb_os_find_busses: Skipping non bus directory devices
usb_os_find_devices: Found 010 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
USB error: error sending control message: Connection timed out
Communications with UPS lost: Receive error (Request command): COMMAND: 31

RECONNECT USB DEVICE

usb_os_find_busses: Found 001
usb_os_find_busses: Skipping non bus directory devices
usb_os_find_devices: Found 010 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
USB error: could not set config 1: Broken pipe
Can't set POWERWARE USB configuration
Unable to find POWERWARE UPS device on USB bus

Things to try:

 - Connect UPS device to USB bus

 - Run this driver as another user (upsdrvctl -u or 'user=...' in ups.conf).
   See upsdrvctl(8) and ups.conf(5).

Fatal error: unusable configuration
CLOSING


==========================

I enabled USB_DEBUG=3 and I got the following output under 2.2.2 on my QNAP.
==========================


[/dev/usb] # bcmxcp_usb -DDDD -a PowerWare -u admin
Network UPS Tools - BCMXCP UPS driver 0.14 (2.2.2)

Warning: This is an experimental driver.
Some features may not function correctly.

debug level is '4'
usb_set_debug: Setting debugging level to 3 (on)
usb_os_init: Found USB VFS at /proc/bus/usb
usb_os_find_busses: Found 001
usb_os_find_busses: Skipping non bus directory devices
usb_os_find_devices: Found 011 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
Communications with UPS lost: Receive error (data): got 17 bytes instead of 
116!!!

USB error: error sending control message: Connection timed out
Communications with UPS lost: Receive error (Request command): BLOCK: 0, 
COMMAND: 31!

USB error: error sending control message: Broken pipe
Communications with UPS lost: Receive error (Request command): BLOCK: 0, 
COMMAND: 31!

USB error: error sending control message: Broken pipe
Communications with UPS lost: Receive error (Request command): COMMAND: 31

RECONNECT USB DEVICE

usb_os_find_busses: Found 001
usb_os_find_busses: Skipping non bus directory devices
usb_os_find_devices: Found 011 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
USB error: could not set config 1: Broken pipe
Can't set POWERWARE USB configuration
Unable to find POWERWARE UPS device on USB bus

Things to try:

 - Connect UPS device to USB bus

 - Run this driver as another user (upsdrvctl -u or 'user=...' in ups.conf).
   See upsdrvctl(8) and ups.conf(5).

Fatal error: unusable configuration


==========================

I enabled USB_DEBUG=3 and I got the following output under 2.4.1 on Ubuntu 
8.10. (unsure about HAL support as it was pre-compiled)
==========================
Network UPS Tools - BCMXCP UPS driver 0.21 (2.4.1)
USB communication subdriver 0.17
debug level is '4'
usb_set_debug: Setting debugging level to 3 (on)
usb_os_init: Found USB VFS at /dev/bus/usb
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 012 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
USB error: could not set config 1: Device or resource busy
Can't set POWERWARE USB configuration
Unable to find POWERWARE UPS device on USB bus

Things to try:

 - Connect UPS device to USB bus

 - Run this driver as another user (upsdrvctl -u or 'user=...' in ups.conf).
   See upsdrvctl(8) and ups.conf(5).

Fatal error: unusable configuration



==========================

I enabled USB_DEBUG=3 and I got the following output under 2.2.2 on my 
Ubuntu 8.10. (unsure about HAL support as it was pre-compiled)
WORKED!!!
==========================

root at ubuntuvmp:/# /lib/nut/bcmxcp_usb -DDDD -a PowerWare -u root
Network UPS Tools - BCMXCP UPS driver 0.14 (2.2.2)

Warning: This is an experimental driver.
Some features may not function correctly.

debug level is '4'
usb_set_debug: Setting debugging level to 3 (on)
usb_os_init: Found USB VFS at /dev/bus/usb
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 010 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
Model = 51150500A           500VA
Firmware = Cont:01.00 Inve:10.04
Shutdown delay =  120 seconds
Index	Offset	Format	NUT

0021	0000	f0	None
0023	0004	f0	None
0027	0008	52	output.frequency
0028	0012	52	input.frequency
0033	0016	52	battery.voltage
0034	0020	f0	battery.charge
0035	0024	e2	battery.runtime
0056	0028	f0	input.voltage
0059	0032	f0	None
0062	0036	f0	ambient.temperature
0065	0040	41	output.current
0068	0044	41	None
0071	0048	f0	None
0078	0052	f0	output.voltage


Length of alarm map: 27

Index	Alarm	Supported

-001	INVERTER_AC_OVER_VOLTAGE	No
-001	INVERTER_AC_UNDER_VOLTAGE	No
-001	INVERTER_OVER_OR_UNDER_FREQ	No
-001	BYPASS_AC_OVER_VOLTAGE	No
-001	BYPASS_AC_UNDER_VOLTAGE	No
-001	BYPASS_OVER_OR_UNDER_FREQ	No
0000	INPUT_AC_OVER_VOLTAGE	Yes
0001	INPUT_AC_UNDER_VOLTAGE	Yes
0002	INPUT_UNDER_OR_OVER_FREQ	Yes
-001	OUTPUT_OVER_VOLTAGE	No
-001	OUTPUT_UNDER_VOLTAGE	No
-001	OUTPUT_UNDER_OR_OVER_FREQ	No
-001	REMOTE_EMERGENCY_PWR_OFF	No
-001	REMOTE_GO_TO_BYPASS	No
-001	BUILDING_ALARM_6	No
-001	BUILDING_ALARM_5	No
-001	BUILDING_ALARM_4	No
-001	BUILDING_ALARM_3	No
-001	BUILDING_ALARM_2	No
-001	BUILDING_ALARM_1	No
-001	STATIC_SWITCH_OVER_TEMP	No
-001	CHARGER_OVER_TEMP	No
-001	CHARGER_LOGIC_PWR_FAIL	No
-001	CHARGER_OVER_VOLTAGE_OR_CURRENT	No
-001	INVERTER_OVER_TEMP	No
0003	OUTPUT_OVERLOAD	Yes
-001	RECTIFIER_INPUT_OVER_CURRENT	No
-001	INVERTER_OUTPUT_OVER_CURRENT	No
-001	DC_LINK_OVER_VOLTAGE	No
-001	DC_LINK_UNDER_VOLTAGE	No
-001	RECTIFIER_FAILED	No
0004	INVERTER_FAULT	Yes
-001	BATTERY_CONNECTOR_FAIL	No
-001	BYPASS_BREAKER_FAIL	No
0005	CHARGER_FAIL	Yes
-001	RAMP_UP_FAILED	No
-001	STATIC_SWITCH_FAILED	No
-001	ANALOG_AD_REF_FAIL	No
-001	BYPASS_UNCALIBRATED	No
-001	RECTIFIER_UNCALIBRATED	No
-001	OUTPUT_UNCALIBRATED	No
-001	INVERTER_UNCALIBRATED	No
-001	DC_VOLT_UNCALIBRATED	No
-001	OUTPUT_CURRENT_UNCALIBRATED	No
-001	RECTIFIER_CURRENT_UNCALIBRATED	No
-001	BATTERY_CURRENT_UNCALIBRATED	No
-001	INVERTER_ON_OFF_STAT_FAIL	No
-001	BATTERY_CURRENT_LIMIT	No
-001	INVERTER_STARTUP_FAIL	No
-001	ANALOG_BOARD_AD_STAT_FAIL	No
-001	OUTPUT_CURRENT_OVER_100	No
-001	BATTERY_GROUND_FAULT	No
-001	WAITING_FOR_CHARGER_SYNC	No
-001	NV_RAM_FAIL	No
-001	ANALOG_BOARD_AD_TIMEOUT	No
0006	SHUTDOWN_IMMINENT	Yes
0007	BATTERY_LOW	Yes
0008	UTILITY_FAIL	Yes
-001	OUTPUT_SHORT_CIRCUIT	No
0009	UTILITY_NOT_PRESENT	Yes
-001	FULL_TIME_CHARGING	No
-001	FAST_BYPASS_COMMAND	No
-001	AD_ERROR	No
-001	INTERNAL_COM_FAIL	No
-001	RECTIFIER_SELFTEST_FAIL	No
-001	RECTIFIER_EEPROM_FAIL	No
-001	RECTIFIER_EPROM_FAIL	No
-001	INPUT_LINE_VOLTAGE_LOSS	No
-001	BATTERY_DC_OVER_VOLTAGE	No
-001	POWER_SUPPLY_OVER_TEMP	No
-001	POWER_SUPPLY_FAIL	No
-001	POWER_SUPPLY_5V_FAIL	No
-001	POWER_SUPPLY_12V_FAIL	No
-001	HEATSINK_OVER_TEMP	No
-001	HEATSINK_TEMP_SENSOR_FAIL	No
-001	RECTIFIER_CURRENT_OVER_125	No
-001	RECTIFIER_FAULT_INTERRUPT_FAIL	No
-001	RECTIFIER_POWER_CAPASITOR_FAIL	No
-001	INVERTER_PROGRAM_STACK_ERROR	No
-001	INVERTER_BOARD_SELFTEST_FAIL	No
-001	INVERTER_AD_SELFTEST_FAIL	No
-001	INVERTER_RAM_SELFTEST_FAIL	No
-001	NV_MEMORY_CHECKSUM_FAIL	No
-001	PROGRAM_CHECKSUM_FAIL	No
-001	INVERTER_CPU_SELFTEST_FAIL	No
-001	NETWORK_NOT_RESPONDING	No
-001	FRONT_PANEL_SELFTEST_FAIL	No
-001	NODE_EEPROM_VERIFICATION_ERROR	No
-001	OUTPUT_AC_OVER_VOLT_TEST_FAIL	No
-001	OUTPUT_DC_OVER_VOLTAGE	No
-001	INPUT_PHASE_ROTATION_ERROR	No
-001	INVERTER_RAMP_UP_TEST_FAILED	No
-001	INVERTER_OFF_COMMAND	No
-001	INVERTER_ON_COMMAND	No
-001	TO_BYPASS_COMMAND	No
-001	FROM_BYPASS_COMMAND	No
-001	AUTO_MODE_COMMAND	No
-001	EMERGENCY_SHUTDOWN_COMMAND	No
-001	SETUP_SWITCH_OPEN	No
-001	INVERTER_OVER_VOLT_INT	No
-001	INVERTER_UNDER_VOLT_INT	No
-001	ABSOLUTE_DCOV_ACOV	No
-001	PHASE_A_CURRENT_LIMIT	No
-001	PHASE_B_CURRENT_LIMIT	No
-001	PHASE_C_CURRENT_LIMIT	No
-001	BYPASS_NOT_AVAILABLE	No
-001	RECTIFIER_BREAKER_OPEN	No
-001	BATTERY_CONTACTOR_OPEN	No
-001	INVERTER_CONTACTOR_OPEN	No
-001	BYPASS_BREAKER_OPEN	No
-001	INV_BOARD_ACOV_INT_TEST_FAIL	No
-001	INVERTER_OVER_TEMP_TRIP	No
-001	INV_BOARD_ACUV_INT_TEST_FAIL	No
-001	INVERTER_VOLTAGE_FEEDBACK_ERROR	No
-001	DC_UNDER_VOLTAGE_TIMEOUT	No
-001	AC_UNDER_VOLTAGE_TIMEOUT	No
-001	DC_UNDER_VOLTAGE_WHILE_CHARGE	No
-001	INVERTER_VOLTAGE_BIAS_ERROR	No
-001	RECTIFIER_PHASE_ROTATION	No
-001	BYPASS_PHASER_ROTATION	No
-001	SYSTEM_INTERFACE_BOARD_FAIL	No
-001	PARALLEL_BOARD_FAIL	No
-001	LOST_LOAD_SHARING_PHASE_A	No
-001	LOST_LOAD_SHARING_PHASE_B	No
-001	LOST_LOAD_SHARING_PHASE_C	No
-001	DC_OVER_VOLTAGE_TIMEOUT	No
0010	BATTERY_TOTALLY_DISCHARGED	Yes
-001	INVERTER_PHASE_BIAS_ERROR	No
-001	INVERTER_VOLTAGE_BIAS_ERROR_2	No
-001	DC_LINK_BLEED_COMPLETE	No
-001	LARGE_CHARGER_INPUT_CURRENT	No
-001	INV_VOLT_TOO_LOW_FOR_RAMP_LEVEL	No
-001	LOSS_OF_REDUNDANCY	No
-001	LOSS_OF_SYNC_BUS	No
-001	RECTIFIER_BREAKER_SHUNT_TRIP	No
-001	LOSS_OF_CHARGER_SYNC	No
-001	INVERTER_LOW_LEVEL_TEST_TIMEOUT	No
-001	OUTPUT_BREAKER_OPEN	No
-001	CONTROL_POWER_ON	No
-001	INVERTER_ON	No
-001	CHARGER_ON	No
-001	BYPASS_ON	No
-001	BYPASS_POWER_LOSS	No
-001	ON_MANUAL_BYPASS	No
-001	BYPASS_MANUAL_TURN_OFF	No
-001	INVERTER_BLEEDING_DC_LINK_VOLT	No
-001	CPU_ISR_ERROR	No
-001	SYSTEM_ISR_RESTART	No
-001	PARALLEL_DC	No
-001	BATTERY_NEEDS_SERVICE	No
-001	BATTERY_CHARGING	No
-001	BATTERY_NOT_CHARGED	No
-001	DISABLED_BATTERY_TIME	No
-001	SERIES_7000_ENABLE	No
-001	OTHER_UPS_ON	No
-001	PARALLEL_INVERTER	No
-001	UPS_IN_PARALLEL	No
-001	OUTPUT_BREAKER_REALY_FAIL	No
-001	CONTROL_POWER_OFF	No
-001	LEVEL_2_OVERLOAD_PHASE_A	No
-001	LEVEL_2_OVERLOAD_PHASE_B	No
-001	LEVEL_2_OVERLOAD_PHASE_C	No
-001	LEVEL_3_OVERLOAD_PHASE_A	No
-001	LEVEL_3_OVERLOAD_PHASE_B	No
-001	LEVEL_3_OVERLOAD_PHASE_C	No
-001	LEVEL_4_OVERLOAD_PHASE_A	No
-001	LEVEL_4_OVERLOAD_PHASE_B	No
-001	LEVEL_4_OVERLOAD_PHASE_C	No
0011	UPS_ON_BATTERY	Yes
-001	UPS_ON_BYPASS	No
0012	LOAD_DUMPED	Yes
-001	LOAD_ON_INVERTER	No
-001	UPS_ON_COMMAND	No
-001	UPS_OFF_COMMAND	No
-001	LOW_BATTERY_SHUTDOWN	No
-001	AUTO_ON_ENABLED	No
-001	SOFTWARE_INCOMPABILITY_DETECTED	No
-001	INVERTER_TEMP_SENSOR_FAILED	No
-001	DC_START_OCCURED	No
-001	IN_PARALLEL_OPERATION	No
-001	SYNCING_TO_BYPASS	No
-001	RAMPING_UPS_UP	No
-001	INVERTER_ON_DELAY	No
-001	CHARGER_ON_DELAY	No
-001	WAITING_FOR_UTIL_INPUT	No
-001	CLOSE_BYPASS_BREAKER	No
-001	TEMPORARY_BYPASS_OPERATION	No
-001	SYNCING_TO_OUTPUT	No
-001	BYPASS_FAILURE	No
-001	AUTO_OFF_COMMAND_EXECUTED	No
-001	AUTO_ON_COMMAND_EXECUTED	No
0013	BATTERY_TEST_FAILED	Yes
-001	FUSE_FAIL	No
0014	FAN_FAIL	Yes
0015	SITE_WIRING_FAULT	Yes
-001	BACKFEED_CONTACTOR_FAIL	No
-001	ON_BUCK	No
-001	ON_BOOST	No
-001	ON_DOUBLE_BOOST	No
-001	BATTERIES_DISCONNECTED	No
-001	UPS_CABINET_OVER_TEMP	No
-001	TRANSFORMER_OVER_TEMP	No
-001	AMBIENT_UNDER_TEMP	No
0016	AMBIENT_OVER_TEMP	Yes
-001	CABINET_DOOR_OPEN	No
-001	CABINET_DOOR_OPEN_VOLT_PRESENT	No
-001	AUTO_SHUTDOWN_PENDING	No
-001	TAP_SWITCHING_REALY_PENDING	No
-001	UNABLE_TO_CHARGE_BATTERIES	No
-001	STARTUP_FAILURE_CHECK_EPO	No
-001	AUTOMATIC_STARTUP_PENDING	No
-001	MODEM_FAILED	No
-001	INCOMING_MODEM_CALL_STARTED	No
-001	OUTGOING_MODEM_CALL_STARTED	No
-001	MODEM_CONNECTION_ESTABLISHED	No
-001	MODEM_CALL_COMPLETED_SUCCESS	No


dstate_init: sock /var/run/nut/bcmxcp_usb-PowerWare open on fd 5


==========================

I compiled 2.4.1 myself without HAL support and got the following
==========================

[/opt/bin] # bcmxcp_usb -DDDD -a PowerWare -u admin
Network UPS Tools - BCMXCP UPS driver 0.21 (2.4.1)
USB communication subdriver 0.17
debug level is '4'
usb_set_debug: Setting debugging level to 3 (on)
usb_os_init: Found USB VFS at /proc/bus/usb
usb_os_find_busses: Found 001
usb_os_find_busses: Skipping non bus directory devices
usb_os_find_devices: Found 013 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
Communications with UPS lost: Receive error (data): got 4 bytes instead of 
116!!!

USB error: error sending control message: Connection timed out
Communications with UPS lost: Receive error (Request command): BLOCK: 0, 
COMMAND: 31!

USB error: error sending control message: Broken pipe
Communications with UPS lost: Receive error (Request command): BLOCK: 0, 
COMMAND: 31!

USB error: error sending control message: Broken pipe
Communications with UPS lost: Receive error (Request command): COMMAND: 31

RECONNECT USB DEVICE

usb_os_find_busses: Found 001
usb_os_find_busses: Skipping non bus directory devices
usb_os_find_devices: Found 013 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
USB error: could not set config 1: Broken pipe
Can't set POWERWARE USB configuration
Unable to find POWERWARE UPS device on USB bus

Things to try:

 - Connect UPS device to USB bus

 - Run this driver as another user (upsdrvctl -u or 'user=...' in ups.conf).
   See upsdrvctl(8) and ups.conf(5).

Fatal error: unusable configuration
CLOSING


==========================

Hope all of the above helps!
Thanks once again for all your help.

Regards
Greg



--------------------------------------------------
From: "Kjell Claesson" <kjell.claesson at epost.tidanet.se>
Sent: Saturday, April 18, 2009 8:54 PM
To: "Greg" <greg_roll at hotmail.com>
Cc: <nut-upsuser at lists.alioth.debian.org>
Subject: Re: [Nut-upsuser] Nut and PowerWare 5115

> fredag 17 april 2009 15:36:24 skrev  Greg:
>> Hi Kjell,
>>
> Hi. Sorry for the delay.
>> Thanks for the follow up. Answers below...
>>
> OK Greg, I can not locate the package you used for installing NUT,
> but the device should be capable of running NUT.
>
> I was thinking if HAL is enabled in the package so the 'hotplug' find
> the ups on the bus and start the hal driver. Then it gives a conflict.
>
> But I got a nice advise from our master Arnaud to enable debug for the 
> libusb.
> If you do 'export USB_DEBUG=3' you get some debugging info from the libusb
> in your log. This may help to track down what happens.
>
> One thing that is bothering me is that we may have a bug that I can't 
> test.
> The PW5115 is using a different way of handling the usb endpoint.
> This is fixed a while back. But there may have been changes to the 
> nut_usb.c
> that have broken this. I can not see any wrong in the code, but as I don't
> have a PW5115 with usb, I can not test this.
>
> But I know that we have some users running the 5115 on usb, and I have not
> seen any bug report yet.
>
> If you can test it on the Ubuntu installation we can rule out any buggs.
>
> Regards
> /Kjell
>
> 



More information about the Nut-upsuser mailing list