nutdrv_qx: add richcomm-svc USB transport for SVC V-1000F - #3565
Open
alliancesko wants to merge 1 commit into
Open
nutdrv_qx: add richcomm-svc USB transport for SVC V-1000F#3565alliancesko wants to merge 1 commit into
alliancesko wants to merge 1 commit into
Conversation
Add an explicit USB communication subdriver for older session-initialized Richcomm USB-to-UART bridges. The tested SVC V-1000F uses the existing Megatec protocol and Armac command framing, but requires a 2400-baud report and a 64-byte session-opening sequence before it accepts commands. Ignore leading empty HID reports from this bridge and reset its transport state after USB reconnection. Use the 6-byte reads required by the V-1000F without changing the 8-byte reads used by normal armac devices. Keep the mode opt-in because 0925:1234 is shared by devices with different communication behavior. Document the mandatory configuration, tested hardware and untested command scope in the man page, HCL and NEWS. Development and documentation were assisted by OpenAI Codex. The submitter reviewed the changes and verified the hardware behavior. Signed-off-by: Yuriy_Y <alliancesko@gmail.com>
|
A ZIP file with standard source tarball and another tarball with pre-built docs for commit 4e1aa23 is temporarily available: NUT-tarballs-PR-3565.zip. |
Member
|
Thanks, looks great! |
Author
It works for me. I need to check with other people now. Glad to help. I had problems with similar UPS for a long time. With the release of version 2.8.5, things started moving forward. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
nutdrv_qx: add richcomm-svc USB transport for SVC V-1000FSummary
This adds an explicit
richcomm-svcUSB communication subdriver tonutdrv_qxfor older session-initialized Richcomm USB-to-UART bridges.The implementation was developed and tested with an SVC V-1000F reporting
USB ID
0925:1234and product stringUPS USB MON V1.4. This device uses theexisting Megatec protocol and Armac command framing, but does not answer Qx
commands until its bridge has been configured for 2400 baud and sent a
64-byte session-opening sequence.
Closes #3562.
Commit tested:
4e1aa23b32376658f455110cf9d1c880c0176ff2.Implementation
richcomm-svcas an explicitnutdrv_qxUSB communication subdriver.protocol dialect.
before the first command.
used by the current normal
armactransport causeLIBUSB_ERROR_OVERFLOWon this hardware.
nutdrv_qxversion from0.54to0.55.test limits in the man page, HCL and NEWS.
The mode is deliberately not selected automatically. USB ID
0925:1234isshared by devices with different communication details, including hardware
which already works with the normal
armactransport.Configuration
Hardware verification
Tested on a physical SVC V-1000F under the submitter's control:
Q1,IandFresponses;OL/OB, input and output voltage, batteryvoltage, load, frequency and temperature;
test.battery.start.quick, with the observed sequenceOL -> OB -> OL;Deep battery tests and load or shutdown commands were not attempted.
The implementation is based on independently observed USB communication. It
does not include copied or decompiled proprietary source code.
Checks
make -j4 -C drivers nutdrv_qxmake -j4 check— 6 tests passed, 0 failedgit diff --checknutdrv_qx --helplistsrichcomm-svcmaster-based binary passed on theSVC V-1000F: Megatec 0.10 was detected and live status data was read
AI assistance disclosure
The protocol investigation, patch development, documentation and PR drafting
were assisted by OpenAI Codex. The submitter directed the work, performed the
tests on physical hardware, reviewed the resulting behavior and remains
responsible for the contribution.