I noted some correspondence from several years back about supporting this device with bcmxcp, and the problems therein. Since I have one of these UPS units, still going strong, and the Eaton LanSafe stuff has finally caused me enough grief to abandon it, I figured I'd take a look at this. The issue is not that bad - the bcmxcp driver query of the topology block (2 bytes!) is returning as block 0x09 and not 0x13 . . . as per the protocol spec, "some command queries may return 0x9 even if that was not the query made" or some such verbage. So, I made a change to bcmxcp_ser.c to handle block 0x43 a tad differently. And after this, all works - the topology *IS* correctly detected, all meters and functions show, it's golden . . . It just appears that in the firmware on this thing, that the reply to query 0x43 is a bit odd, and the authors of the initial code took far too sever an error handling path. So, if anyone is still trying, this should get you going . . . - Tim -- /* if (command <= 0x43) { */ if (command << 0x43) { if ((command - 0x30) != block_number){ ser_comm_fail("Receive error (Request command): %x!!!\n", block_number); return -1; } } /* Dawson - Powerware Prestige is an odd reply to topology_init . . . but works! Fool it into thinking it got the correct block . . . 0x13, when 0x9 is actually returned. Maintain valid checks on all other queries. 2/2/2014 */ if (command == 0x43) { if ((command - 0x30) != 0x13){ ser_comm_fail("Receive error (Request comm and): %x!!!\n", block_number); return -1; } } ===============================================================================Tim Dawson (tadawson at tpcsvc.com) Owner/Engineer TPC Services Bellnet: (972)-221-7385 Lewisville, Texas 75067 "Gaff Tape can't fix 'Stupid', but it can muffle the sound..."
On Feb 2, 2014, at 4:40 PM, Tim Dawson wrote:> So, I made a change to bcmxcp_ser.c to handle block 0x43 a tad differently. And after this, all works - the topology *IS* correctly detected, all meters and functions show, it's golden . . . It just appears that in the firmware on this thing, that the reply to query 0x43 is a bit odd, and the authors of the initial code took far too sever an error handling path.I'm not too familiar with the internals of this driver. What version of NUT is this based on, and can you post a "diff -u" from the original file?> "Gaff Tape can't fix 'Stupid', but it can muffle the sound..."^ Love it. -- Charles Lepple clepple at gmail
---------- Forwarded message ---------- From: Tim Dawson <tadawson at tpcsvc.com> Date: Thu, Feb 13, 2014 at 12:07 AM Subject: Re: [Nut-upsuser] Powerware (Eaton) Prestige 9 UPS To: Charles Lepple <clepple at gmail.com> Charles - As a quick followup, the Prestige (both FW 2.13 and 3.09 - 2.x is pre-Eaton, 3.x post) reply to the topology block query thus: 3.064046 send_command: (4 bytes) => ab 01 43 11 3.136246 get_answer: (2 bytes) => 34 43 Unfortunately, this does not correspond to any of the defined topology values in the spec, and the block size that was returned from block 0x01 was 2.410028 Length of topology block: 36864 for 2.13 firmware and 2.518815 Length of topology block: 127 for 3.09, neither of which accurately is reflected in what is returned when that block is queried. I note the FW levels, since the last guy who I saw in searches who asked about this unit basically got blown off and was told to get more current firmware. I don't think there is any . . . . - Tim _______________________________________________________________________________________ On 02/12/2014 08:21 PM, Charles Lepple wrote:> > On Feb 2, 2014, at 4:40 PM, Tim Dawson wrote: > >> So, I made a change to bcmxcp_ser.c to handle block 0x43 a tad differently. And after this, all works - the topology *IS* correctly detected, all meters and functions show, it's golden . . . It just appears that in the firmware on this thing, that the reply to query 0x43 is a bit odd, and the authors of the initial code took far too sever an error handling path. > > > I'm not too familiar with the internals of this driver. What version of NUT is this based on, and can you post a "diff -u" from the original file? > >> "Gaff Tape can't fix 'Stupid', but it can muffle the sound..." > > > > ^ Love it. >-- ===============================================================================Tim Dawson (tadawson at tpcsvc.com) Owner/Engineer TPC Services Bellnet: (972)-221-7385 Lewisville, Texas 75067 "Gaff Tape can't fix 'Stupid', but it can muffle the sound..." -- - Charles Lepple