Linux USB
 help / color / mirror / Atom feed
* [PATCH v2 0/3] usbipd: enable tcp keepalive and set its options for accepted connection
@ 2025-05-23  9:07 Vadym Hrynchyshyn
  2025-05-23  9:07 ` [PATCH v2 1/3] usbipd: enable SO_KEEPALIVE socket option " Vadym Hrynchyshyn
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Vadym Hrynchyshyn @ 2025-05-23  9:07 UTC (permalink / raw)
  To: valentina.manea.m, shuah, i, linux-usb; +Cc: Vadym Hrynchyshyn

If usbip client does not close a TCP/IP connection to a daemon
gracefully, the daemon will keep this connection open indefinitely.

The issue is that the client cannot attach this device again
until the device will be rebinded by commands:
"usbip unbind -b ..." and "usbip bind -b ...".

This issue was reported by a user, look for details here 
https://github.com/vadimgrn/usbip-win2/issues/109.

To reproduce this issue, run "usbip attach ..." to attach remote usb 
device and make a hard reset of this PC by pressing Reset button.
usbipd will keep this connection forever and will not allow to
attach this device again until unbind/bind will be executed.

To fix that, enable SO_KEEPALIVE for accepted connection and set keepalive
parameters if corresponding program options are passed.

Vadym Hrynchyshyn (3):
  usbipd: enable SO_KEEPALIVE socket option for accepted connection
  usbipd: add long options to set TCP_KEEPIDLE/TCP_KEEPCNT/TCP_KEEPINTVL
    socket options
  usbipd: use usbip_to_int to simplify usbip_setup_port_number
    implementation

 tools/usb/usbip/configure.ac        | 24 +++++++-
 tools/usb/usbip/src/usbip_network.c | 96 +++++++++++++++++++++++++----
 tools/usb/usbip/src/usbip_network.h | 14 +++++
 tools/usb/usbip/src/usbipd.c        | 58 +++++++++++++++--
 4 files changed, 174 insertions(+), 18 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-05-23  9:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-23  9:07 [PATCH v2 0/3] usbipd: enable tcp keepalive and set its options for accepted connection Vadym Hrynchyshyn
2025-05-23  9:07 ` [PATCH v2 1/3] usbipd: enable SO_KEEPALIVE socket option " Vadym Hrynchyshyn
2025-05-23  9:07 ` [PATCH v2 2/3] usbipd: add long options to set TCP_KEEPIDLE/TCP_KEEPCNT/TCP_KEEPINTVL socket options Vadym Hrynchyshyn
2025-05-23  9:07 ` [PATCH v2 3/3] usbipd: use usbip_to_int to simplify usbip_setup_port_number implementation Vadym Hrynchyshyn
2025-05-23  9:17 ` [PATCH v2 0/3] usbipd: enable tcp keepalive and set its options for accepted connection Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox