drivers: nhs_ser: do not force CRTSCTS (breaks CDC-ACM and 3-wire ser…#3511
drivers: nhs_ser: do not force CRTSCTS (breaks CDC-ACM and 3-wire ser…#3511jpastoreli wants to merge 1 commit into
Conversation
|
A ZIP file with standard source tarball and another tarball with pre-built docs for commit 58af3b7 is temporarily available: NUT-tarballs-PR-3511.zip. |
…ial)
Forcing CRTSCTS in openfd() blocks communication on NHS UPSes whose port
has no hardware flow-control lines: USB/CDC-ACM virtual ports (e.g.
/dev/ttyACM0) and the official NHS 3-wire RS-232 cable (DB9 pins 2/3/5
only, no RTS/CTS). The driver opens the port but never assembles a packet.
Disabling CRTSCTS restores communication.
Signed-off-by: Jonas Pastoreli <100150319+jpastoreli@users.noreply.github.com>
|
✅ Build nut 2.8.5.4900-master completed (commit 24cb2b67bf by @jpastoreli)
|
|
✅ Build nut 2.8.5.4901-master completed (commit d41946991b by @jpastoreli)
|
As expected, testing on 3 units that I know the problem appears fail on communication. |
|
Re-tested with other 2 units, same problem @jimklimov. I'll see that I can make something about these code and commit a more elegant solution. |
Disables the hardcoded CRTSCTS in nhs_ser openfd(), which blocks
communication on NHS UPSes with no RTS/CTS lines (USB/CDC-ACM and the
official 3-wire serial cable).
Full diagnosis, raw packet captures and device details: Refs #3510