The problem will only affect newer firmwares on the BestPower FerrUPS 2.1kva
units. Additional white-space was the issue. I added a if clause to the
bestfcom driver to account for this without breaking what was there. Here is
the patch:
diff -rupN release-orig/nut-2.7.1/drivers/bestfcom.c
release-patched/nut-2.7.1/drivers/bestfcom.c
--- release-orig/nut-2.7.1/drivers/bestfcom.c 2013-07-31 13:41:31.000000000
-0700
+++ release-patched/nut-2.7.1/drivers/bestfcom.c 2014-02-10
10:22:35.405305828 -0800
@@ -582,6 +582,13 @@ void upsdrv_init_nofc(void)
fc.type = FERRUPS;
snprintf(fc.name, sizeof(fc.name), "%s", "Ferrups");
} else
+ /* For FE2.1KVA running 9.28 firmware */
+ if (strstr(rstring, "Model: FE2.1KVA")
+ || strstr(rstring, "Model: FE")){
+ fc.model = FExxxx;
+ fc.type = FERRUPS;
+ snprintf(fc.name, sizeof(fc.name), "%s", "Ferrups");
+ } else
if (strlen(rstring) < 300 ) {
/* How does the old Fortress respond to this? */
upsdebugx(2, "Old Best Fortress???");
How long does it take for this sort of patch to get into a release? I ask
because I need the OpenGear engineers to add this patch and/or release version
into the ACM5xxx product line to be able to use it on site here.
Nicholas
________________________________________
From: Nut-upsuser
[nut-upsuser-bounces+nicholas.ritter=americantv....@lists.alioth.debian.org] on
behalf of Ritter, Nicholas [[email protected]]
Sent: Monday, February 10, 2014 11:40 AM
To: Charles Lepple
Cc: [email protected]
Subject: Re: [Nut-upsuser] BestPower Ferrups driver glitch with f commands
I did the testing you suggested, and it was indeed the whitespace. I added
another if clause test to the function and everything seems to work. I have
working driver that I will email a patch for this list. My coworker says the
model ID is configurable though, so we will try that first, which would negate
the need to patch the driver.
________________________________________
From: Charles Lepple [[email protected]]
Sent: Friday, February 07, 2014 8:21 PM
To: Ritter, Nicholas
Cc: [email protected]
Subject: Re: [Nut-upsuser] BestPower Ferrups driver glitch with f commands
On Feb 7, 2014, at 3:44 PM, Ritter, Nicholas wrote:
> Greetings to you all,
>
> We are attempting to use NUT to interface with a BestPower FerrUPS FE2.1KVA.
> We are using the bestfcom driver because the driver listed our UPS as
> supported. The driver fails, however, because "fc" commands do not exist on
> the unit.
There is a upsdrv_init_nofc() function, but it seems to be brittle in its
string matching.
> We are running NUT v2.7.1 on CentOS 6.5 with the bestfcom driver. We setup a
> serial tap and see the UPS error out on the fc command issued for the model,
> which than causes the driver to not identify the model correctly.
>
> Does anyone have any suggestions?
See below.
> Nicholas
>
>
> Here are some details:
>
> From "upsdrvctl -DDDDD start":
>
> ------------------------------------------------------------------
> Network UPS Tools - UPS driver controller 2.7.1
> 0.000000
> If you're not a NUT core developer, chances are that you're told to enable
> debugging
> to see why a driver isn't working for you. We're sorry for the confusion, but
> this is
> the 'upsdrvctl' wrapper, not the driver you're interested in.
>
> Below you'll find one or more lines starting with 'exec:' followed by an
> absolute
> path to the driver binary and some command line option. This is what the
> driver
> starts and you need to copy and paste that line and append the debug flags to
> that
> line (less the 'exec:' prefix).
>
> 0.000181 Starting UPS: ATVUPS
> 0.000194 exec: /usr/local/ups/bin/bestfcom -a ATVUPS -u root
As the message suggests, for debugging the driver, you should bypass the
upsdrvctl command (which really only helps when starting multiple drivers at
once) and pass the -D flags directly to the driver:
/usr/local/ups/bin/bestfcom -a ATVUPS -u root -DDD
But I suspect that this line is not matching the spaces after the "Model:"
string properly:
https://github.com/networkupstools/nut/blob/master/drivers/bestfcom.c#L579
Does it work if you match the exact string your model returns? If so, we can
patch it to skip however much white space is present before the "FE".
--
Charles Lepple
clepple@gmail
AMTV Spam Admin:
Clickhttps://www.mailcontrol.com/sr/nApD3Do4eoPGX2PQPOmvUqW!RI4xIDLrB+QJRwHJqbUvO65YYfmXJsNFE+0nuLp3kIs893ZinNHp5oVq8TaMKA==
to report this email as spam.
_______________________________________________
Nut-upsuser mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsuser
_______________________________________________
Nut-upsuser mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsuser