<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Dear sir,</div>
<div class="moz-cite-prefix"><br>
</div>
I hope you have been well!<br>
May I consult with you about nutdrv_qx’s driver?<br>
If we upload the new driver to NUT. (ex. Ablerex_nutdrv_qx)<br>
That means we have both(blazer_USB and Ablerex_nutdrv_qx) drivers
for our UPS and the same PID/VID.<br>
Is it correct my understanding?<br>
If it is correct, when NAS manufacturers use NUT package to import
to their kernel. They don't know which driver to use during UPS
plug-in to NAS. Because these two drivers have the same PID/VID (NAS
vendor told us that they choose the driver by PID/VID).<br>
Could you kindly provide more information or experience to us with
that?<br>
<br>
<br>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Regards!</div>
<div class="moz-cite-prefix">Johnson</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Johnson-shen 於 4/23/2021 11:55 AM 寫道:<br>
</div>
<blockquote type="cite"
cite="mid:cf11deb5-f749-0c84-ba5c-30a568d6982b@ablerex.com.tw">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="moz-cite-prefix">Dear Sirs.<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">I apologize for my phrase and
appreciate your support and assistance for this. We will
research for drivers(nutdrv_qx).<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Please Kindly support us again, if we
have any questions about (nutdrv_qx).<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Regards!</div>
<div class="moz-cite-prefix">Johnson</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Jim Klimov 於 4/20/2021 6:02 PM 寫道:<br>
</div>
<blockquote type="cite"
cite="mid:CAJYg8vLLZjbA-YOn-nNy4+UCWm8WVK5Aa-qMiF5t2sq5UjApRA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
<div dir="ltr">
<div>Sorry for another delay, <br>
</div>
<div><br>
</div>
<div> I was looking at recent submissions for the
new-architecture nutdrv_qx family of drivers to provide
examples, and some of those submissions needed a bit of
cleanup before posing as examples. Unfortunately our QX
expert did not respond yet, so it took a longer while on my
side.</div>
<div><br>
</div>
<div> So now I can suggest looking at two PRs:</div>
<div>* <a
href="https://github.com/networkupstools/nut/pull/638/"
moz-do-not-send="true">https://github.com/networkupstools/nut/pull/638/</a>
adding support for "hunnox" - both a USB protocol subdriver
(in nutdrv_qx.c) and device/HID mapping "hunnox_subdriver"
(with sources in nutdrv_qx_hunnox.c/.h files), and</div>
<div>* <a
href="https://github.com/networkupstools/nut/pull/1008"
moz-do-not-send="true">https://github.com/networkupstools/nut/pull/1008</a>
adding just an "snr" protocol subdriver at this point.</div>
<div><br>
</div>
<div>They also add documentation updates for the changes they
made, but this aspect was slightly addressed in your PR
already (mention of the new subdriver would need to move
from docs/man/blazer-common.txt to nutdrv_qx.txt though).</div>
<div><br>
</div>
<div> To remind, my primary concerns about your original
submission and from later discussion are:</div>
<div><br>
</div>
<div>* The changes in your PR #979 are targeted for blazer_usb
driver which would at some point be deprecated and obsoleted
in favor of nutdrv_qx, so this added support would be lost.
While someone in the community probably can pick up and port
source code lines, it would be hard to guarantee without
access to hardware that the resulting driver actually works.
So in fact you are best positioned (and incentivised) to
initially provide the modern driver that will survive in the
NUT codebase for long.<br>
</div>
<div><br>
</div>
<div>* Another point is the bold statement that "<span
style="font-family:"Book
Antiqua",serif;color:black" lang="EN-US">PID=0000/VID=FFFF
of blazer_USB is Ablerex’s Identification code.</span>" It
is not exactly a random unique number, and I suppose if the
USB-IF authority had a *publicly* available registry of the
ID numbers they give out - same as DNS registry, or IANA
TCP/UDP port registry, or MAC address prefix registry for
networking, or many other such lists in IT - these
particular numbers would not be there, probably not for
anyone. Since the USB-IF registry is not public, I can only
assume that the other mentioned Vendor ID "1cb0" is
registered properly and no other devices would conflict
using it. I understand the technical point that these
"0000:FFFF" are the uncustomized IDs flashed into the USB
chips your devices use, but it also means that any other
vendor might have those spectacularly not-unique ID numbers,
with same or even unrelated chips. We already do have a
practical example of such mess with "ATCL" chips that
provide USB media connections for otherwise unrelated UPSes
that talk completely different protocols and have different
NUT drivers for same Vendor ID + Product ID + Device String
tuple.</div>
<div><br>
</div>
<div>* Also, "<span style="font-family:"Book
Antiqua",serif;color:black" lang="EN-US">the
modification is only for the addition of Ablerex product
features, so there is no need to consider the differences
of other customers</span>" - the wording here may be
unfortunate, English is not a native language for either of
us, but as written this phrase looks very concerning :) You
are changing an existing driver that supports several device
families already, and existing users of this driver expect
that the support is not broken when they upgrade NUT. So *OF
COURSE* there is a need to consider differences for other
customers. That said, your original (blazer_usb) submission
was quite cleanly separated and should not have impacted
users... unless they have some "0000:FFFF" device that
worked before with some subdriver and would be detected as
"ablerex_ext_command=1" and might stop working now; you did
not offer any failsafe (addvar() a flag, probably) to
override your detection and disable ablerex mode in the
unlikely case it is misdiagnosed and breaks somebody in
practice.</div>
<div><br>
</div>
<div>* Notably, the mapping macro in nutdrv_qx is more
elaborate and allows to map not just ID numbers but also a
string the device presents itself with, so detection of
proper subdriver can probably be made more reliable at that
point, and not with a hack to check particular IDs in
`blazer_initinfo()` as you proposed in current PR.</div>
<div><br>
</div>
<div>Hope this helps,</div>
<div>Jim Klimov<br>
</div>
<div><br>
</div>
<div> </div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Apr 12, 2021 at
11:17 AM Johnson-shen <<a
href="mailto:johnson-shen@ablerex.com.tw"
moz-do-not-send="true">johnson-shen@ablerex.com.tw</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<div>Dear Sir,</div>
<div><br>
</div>
<div>How’s today?<br>
</div>
<div><br>
</div>
<div>Could you kindly provide your comment about our
opinions?<br>
</div>
<div><br>
</div>
<div>Please kindly provide more information, documents or
example code about the driver that will separate
Ablerex's, if you did not agree with our opinions.</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Regards!</div>
<div>Johnson</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Johnson-shen 於 4/6/2021 6:22 PM 寫道:<br>
</div>
<blockquote type="cite">
<div>Dear Sir,</div>
<div><br>
</div>
<div>
<pre style="background:rgb(248,249,250) none repeat scroll 0% 0%"><span style="font-family:"Book Antiqua",serif;color:black" lang="EN-US">Could you merge our driver for us?</span><span style="font-family:"Book Antiqua",serif" lang="EN-US"></span></pre>
<pre style="background:rgb(248,249,250) none repeat scroll 0% 0%"><span style="font-family:"Book Antiqua",serif;color:black" lang="EN-US">Because PID=0000/VID=FFFF of blazer_USB is Ablerex’s Identification code.
And this time the modification is only for the addition of Ablerex product features,
so there is no need to consider the differences of other customers. Could you agree?</span><span style="font-family:"Book Antiqua",serif;color:rgb(32,33,36)" lang="EN-US"></span></pre>
</div>
<div><br>
</div>
<div>Regards!</div>
<div>Johnson</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Jim Klimov 於 4/4/2021 7:43 PM 寫道:<br>
</div>
<blockquote type="cite">
<div dir="auto">Hello,
<div dir="auto"><br>
</div>
<div dir="auto"> I am really sorry about the delay,
I hoped our community expert on the Qx drivers
would recommend the best course of action, but he
did not reply yet.</div>
<div dir="auto"><br>
</div>
<div dir="auto"> To me it currently seems that this
Pull request: <a
href="https://github.com/networkupstools/nut/pull/638/files"
target="_blank" moz-do-not-send="true">https://github.com/networkupstools/nut/pull/638/files</a>
represents the modernly desirable addition of a
USB protocol subdriver (in nutdrv_qx.c/.h) and the
vendor protocol nuances subdriver (in separate
files).</div>
<div dir="auto"><br>
</div>
<div dir="auto"> Sadly, according to comment trail,
that particular Pull request changed a bit of
logic in existing functions (around langid_fix and
enabling a hunnox patch, most prominently) and
there were concerns if it is not breaking anything
for other devices that work currently. It would be
beneficial if people running nutdrv_qx today could
build that branch and confirm into PR comments
that the updated driver does work well or does
break something after all.</div>
<br>
<div dir="auto"> So I think the new ablerex
subdriver should carefully take a similar path.
Nutdrv_qx modular code did grow as a refactoring
and merge of earlier drivers including blazer, so
your original code contribution should be easily
portable into the new layout.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Thank you very much and really sorry
it took longer that I'd expect,</div>
<div dir="auto">Jim Klimov</div>
<div dir="auto"><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Mar 29,
2021, 13:16 Johnson-shen <<a
href="mailto:johnson-shen@ablerex.com.tw"
target="_blank" moz-do-not-send="true">johnson-shen@ablerex.com.tw</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<div>Dear Sir,</div>
<div><br>
</div>
<div>Thank you for your reply.<br>
</div>
<div><br>
</div>
<div>I can not sure what you mean.<br>
</div>
<div><br>
</div>
<div>May I confirm with you again about it?<br>
</div>
<div><br>
</div>
<div>You did not recommend that extend the new
function from blazer_usb.c for Ablerex UPS.<br>
</div>
<div><br>
</div>
<div>You suggest that separate the Ablerex
function into a new driver(.c or .h)
independently to avoid vendor nuances.<br>
</div>
<div><br>
</div>
<div>Until we follow the above rule to modify,
It will be upload and merge the driver.<br>
</div>
<div><br>
</div>
<div>Is it right?<br>
</div>
<div><br>
</div>
<div>Please kindly provide more information or
explain to us, if I got you wrong.<br>
</div>
<div><br>
</div>
<div>Please kindly provide the example for a new
structure to us, I think will help to modify
it for reference, if it is right.<br>
</div>
<div><br>
</div>
<div>Regards!</div>
<div>Johnson</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Jim Klimov 於 3/24/2021 6:26 PM 寫道:<br>
</div>
<blockquote type="cite">
<div dir="auto">Hello,
<div dir="auto"><br>
</div>
<div dir="auto">Yes, in fact there were two
things.</div>
<div dir="auto"><br>
</div>
<div dir="auto">One was that a week ago I
posted some documentation updates into
your PR (e.g. for acknowledgements) and
asked you to confirm they sit well with
you, and hoped that's it.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Unfortunately, I was now
reminded that extending the blazer_usb
driver was not a good approach - it was
(poorly, fixing that) documented as
heading to obsoletion and eventual removal
from codebase. Various drivers for Qx
protocols were aggregated in
drivers/nutdrv_qx*.{c,h} as a common core
and clean separate sources for vendor
nuances.</div>
<div dir="auto"><br>
</div>
<div dir="auto">In order for us to maintain
support for your device in the long run,
and not lose it when old redundant drivers
do get dropped, your code contribution
should be relocated to this newer
structure, and importantly - re-tested
with your hardware we do not have access
to. I hope Daniele (CC'ed) can clarify
this better if you would need assistance.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Sorry about not noticing
this earlier,</div>
<div dir="auto">Jim Klimov</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed,
Mar 24, 2021, 03:58 Johnson-shen <<a
href="mailto:johnson-shen@ablerex.com.tw"
rel="noreferrer" target="_blank"
moz-do-not-send="true">johnson-shen@ablerex.com.tw</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<div>Dear Sir,</div>
<br>
The status of the project is waiting for
the other managers to verify and
confirm? <br>
<p>Please advise me if you have any
support for this project.</p>
<p><br>
</p>
<p>Regards!</p>
<p>Johnson</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<div>Jim Klimov 於 3/18/2021 8:07 PM 寫道:<br>
</div>
<blockquote type="cite">
<div dir="auto">Hello, thanks for the
driver update and sorry that I had
to be reminded of the PR by mailing
list. I reviewed it last week and
added a few points on documentation.
Can you please check those, that I
did not mistake something, and I
think it is good to merge. Thanks
again!
<div dir="auto"><br>
</div>
<div dir="auto">Jim Klimov</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On
Thu, Mar 18, 2021, 11:33
Johnson-shen <<a
href="mailto:johnson-shen@ablerex.com.tw"
rel="noreferrer noreferrer
noreferrer" target="_blank"
moz-do-not-send="true">johnson-shen@ablerex.com.tw</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<div>Dear Wolfy,</div>
<div><br>
</div>
Please advise me, if you need
more information about the new
driver.<br>
Also please kindly update the
status of the new driver for us.
<div><br>
</div>
<div>Regards!</div>
<div>Johnson</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Johnson-shen 於 3/10/2021
6:24 PM 寫道:<br>
</div>
<blockquote type="cite">
<div>Dear Wolfy,</div>
<div><br>
</div>
<div>Please refer to the below
table for the whole support
list of the UPS Model of the
new driver.</div>
<div><br>
</div>
<div><img alt=""
moz-do-not-send="true"></div>
<div><br>
</div>
<div><br>
</div>
<div>Please kindly advise me
if you have any questions.</div>
<div><br>
</div>
<div>Regards!</div>
<div>Johnson</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Johnson-shen 於 3/10/2021
9:43 AM 寫道:<br>
</div>
<blockquote type="cite">
<div>Dear Wolfy,</div>
<div><br>
</div>
Thank you for the reply to
emails quickly, the DK+ is
our customer model name for
ODM.<br>
<br>
We will provide the whole
support list of UPS Model of
the driver to you tomorrow.<br>
<p><br>
</p>
<p><br>
</p>
<p>Regards!</p>
<p>Johnson</p>
<p><br>
</p>
<div><br>
</div>
<div> <br>
</div>
<div> <br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Manuel Wolfshant 於
3/9/2021 7:11 PM 寫道:<br>
</div>
<blockquote type="cite">
<div>On 3/9/21 8:37 AM,
John wrote:<br>
</div>
<blockquote type="cite">
<div>
<p class="MsoNormal"><span
lang="EN-US">Hi,</span></p>
<p class="MsoNormal"><span
lang="EN-US"> </span></p>
<p class="MsoNormal"><span
lang="EN-US">I'm
engineer from
Ablere Electronics
Co., Ltd. (<a
href="http://www.ablerex.com.tw/"
rel="noreferrer
noreferrer
noreferrer
noreferrer"
target="_blank"
moz-do-not-send="true">http://www.ablerex.com.tw/</a>).</span></p>
<p class="MsoNormal"><span
lang="EN-US"> </span></p>
<p class="MsoNormal"><span
lang="EN-US">I
pull request to
networkupstools/nut
that Add support
for Ablerex Dk+
#979.</span></p>
<p class="MsoNormal"><span
lang="EN-US"> </span></p>
</div>
</blockquote>
<br>
<p>long time user of an
MS3000RT here. where is
the DK+ described? I
cannot find it on your
web site or via google.<br>
</p>
<p><br>
</p>
<p>wolfy<br>
</p>
</blockquote>
<p><br>
</p>
<pre cols="72">--
盈正豫順電子股份有限公司
Ablerex Electronics Co., Ltd.
研發部 / 沈南村
E-mail: <a href="mailto:Johnson-shen@ablerex.com.tw" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank" moz-do-not-send="true">Johnson-shen@ablerex.com.tw</a>
Tel: 886-7-397-8640 Ext: 894
Fax: 886-7-3978641
807-66高雄市三民區水源路157號
No.157, Shuiyuan Rd., Sanmin District, Kaohsiung City 807-66, Taiwan
(R.O.C.)</pre>
</blockquote>
<p><br>
</p>
<pre cols="72">--
盈正豫順電子股份有限公司
Ablerex Electronics Co., Ltd.
研發部 / 沈南村
E-mail: <a href="mailto:Johnson-shen@ablerex.com.tw" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank" moz-do-not-send="true">Johnson-shen@ablerex.com.tw</a>
Tel: 886-7-397-8640 Ext: 894
Fax: 886-7-3978641
807-66高雄市三民區水源路157號
No.157, Shuiyuan Rd., Sanmin District, Kaohsiung City 807-66, Taiwan
(R.O.C.)</pre>
</blockquote>
<p><br>
</p>
<pre cols="72">--
盈正豫順電子股份有限公司
Ablerex Electronics Co., Ltd.
研發部 / 沈南村
E-mail: <a href="mailto:Johnson-shen@ablerex.com.tw" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank" moz-do-not-send="true">Johnson-shen@ablerex.com.tw</a>
Tel: 886-7-397-8640 Ext: 894
Fax: 886-7-3978641
807-66高雄市三民區水源路157號
No.157, Shuiyuan Rd., Sanmin District, Kaohsiung City 807-66, Taiwan
(R.O.C.)</pre>
</div>
_______________________________________________<br>
Nut-upsdev mailing list<br>
<a
href="mailto:Nut-upsdev@alioth-lists.debian.net"
rel="noreferrer noreferrer
noreferrer noreferrer"
target="_blank"
moz-do-not-send="true">Nut-upsdev@alioth-lists.debian.net</a><br>
<a
href="https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev"
rel="noreferrer noreferrer
noreferrer noreferrer
noreferrer" target="_blank"
moz-do-not-send="true">https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev</a><br>
</blockquote>
</div>
</blockquote>
<p><br>
</p>
<pre cols="72">--
盈正豫順電子股份有限公司
Ablerex Electronics Co., Ltd.
研發部 / 沈南村
E-mail: <a href="mailto:Johnson-shen@ablerex.com.tw" rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true">Johnson-shen@ablerex.com.tw</a>
Tel: 886-7-397-8640 Ext: 894
Fax: 886-7-3978641
807-66高雄市三民區水源路157號
No.157, Shuiyuan Rd., Sanmin District, Kaohsiung City 807-66, Taiwan
(R.O.C.)</pre>
</div>
</blockquote>
</div>
</blockquote>
<p><br>
</p>
<pre cols="72">--
盈正豫順電子股份有限公司
Ablerex Electronics Co., Ltd.
研發部 / 沈南村
E-mail: <a href="mailto:Johnson-shen@ablerex.com.tw" rel="noreferrer" target="_blank" moz-do-not-send="true">Johnson-shen@ablerex.com.tw</a>
Tel: 886-7-397-8640 Ext: 894
Fax: 886-7-3978641
807-66高雄市三民區水源路157號
No.157, Shuiyuan Rd., Sanmin District, Kaohsiung City 807-66, Taiwan
(R.O.C.)</pre>
</div>
</blockquote>
</div>
</blockquote>
<p><br>
</p>
<pre cols="72">--
盈正豫順電子股份有限公司
Ablerex Electronics Co., Ltd.
研發部 / 沈南村
E-mail: <a href="mailto:Johnson-shen@ablerex.com.tw" target="_blank" moz-do-not-send="true">Johnson-shen@ablerex.com.tw</a>
Tel: 886-7-397-8640 Ext: 894
Fax: 886-7-3978641
807-66高雄市三民區水源路157號
No.157, Shuiyuan Rd., Sanmin District, Kaohsiung City 807-66, Taiwan
(R.O.C.)</pre>
</blockquote>
<p><br>
</p>
<pre cols="72">--
盈正豫順電子股份有限公司
Ablerex Electronics Co., Ltd.
研發部 / 沈南村
E-mail: <a href="mailto:Johnson-shen@ablerex.com.tw" target="_blank" moz-do-not-send="true">Johnson-shen@ablerex.com.tw</a>
Tel: 886-7-397-8640 Ext: 894
Fax: 886-7-3978641
807-66高雄市三民區水源路157號
No.157, Shuiyuan Rd., Sanmin District, Kaohsiung City 807-66, Taiwan
(R.O.C.)</pre>
</div>
</blockquote>
</div>
</blockquote>
<p><br>
</p>
<pre class="moz-signature" cols="72">--
盈正豫順電子股份有限公司
Ablerex Electronics Co., Ltd.
研發部 / 沈南村
E-mail: <a class="moz-txt-link-abbreviated" href="mailto:Johnson-shen@ablerex.com.tw" moz-do-not-send="true">Johnson-shen@ablerex.com.tw</a>
Tel: 886-7-397-8640 Ext: 894
Fax: 886-7-3978641
807-66高雄市三民區水源路157號
No.157, Shuiyuan Rd., Sanmin District, Kaohsiung City 807-66, Taiwan
(R.O.C.)</pre>
</blockquote>
<p><br>
</p>
<pre class="moz-signature" cols="72">--
盈正豫順電子股份有限公司
Ablerex Electronics Co., Ltd.
研發部 / 沈南村
E-mail: <a class="moz-txt-link-abbreviated" href="mailto:Johnson-shen@ablerex.com.tw">Johnson-shen@ablerex.com.tw</a>
Tel: 886-7-397-8640 Ext: 894
Fax: 886-7-3978641
807-66高雄市三民區水源路157號
No.157, Shuiyuan Rd., Sanmin District, Kaohsiung City 807-66, Taiwan
(R.O.C.)</pre>
</body>
</html>