<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<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">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>