Re: Stable/14 dropping ssh connections to FT232 usb-serial adapter

From: bob prohaska <fbsd_at_www.zefox.net>
Date: Thu, 26 Oct 2023 14:42:23 UTC
On Fri, Sep 29, 2023 at 11:12:00AM -0700, bob prohaska wrote:
> A stable/14 install on a Pi2 v1.1 (armv7) host seems to
> work quite well, apart from dropping ssh connections when
> used to run a cu or tip session to an FT232 usb-serial
> adapter. Ssh connections to interactive shells seem to
> remain up indefinitely, but drop within a couple of hours
> (between the same hosts) when used to run cu or tip.

Now that ucom supports debugging at the USB end of the
connection a little more information is offered. At the
armv7 USB end of the link the console reports:

login: ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_close: tp=0xd6c38800
ucom_shutdown: 
ucom_dtr: onoff = 0
ucom_line_state: on=0x00, off=0x01
ucom_rts: onoff = 1
ucom_line_state: on=0x02, off=0x00
ucom_cfg_close:

while at the serial end I see:
FreeBSD/arm64 (pelorus.zefox.org) (ttyu0)

login: client_loop: send disconnect: Broken pipe

On reconnecting the ssh/ucom link it looks as if
the USB end emits:

Oct 26 07:26:03 generic su[55592]: bob to root on /dev/pts/0
ucom_open: tp = 0xd6c38800
ucom_cfg_open: 
ucom_dtr: onoff = 1
ucom_line_state: on=0x01, off=0x00
ucom_rts: onoff = 1
ucom_line_state: on=0x02, off=0x00
ucom_ring: onoff = 0
ucom_line_state: on=0x00, off=0x08
ucom_break: onoff = 0
ucom_line_state: on=0x00, off=0x04
ucom_status_change: 
ucom_param: sc = 0xd6c7a058
ucom_dtr: onoff = 1
ucom_line_state: on=0x01, off=0x00
ucom_rts: onoff = 1
ucom_line_state: on=0x02, off=0x00
ucom_ioctl: cmd = 0x402c7413
ucom_ioctl: cmd = 0x802c7416
ucom_outwakeup: sc = 0xd6c7a058
ucom_outwakeup: sc = 0xd6c7a058
ucom_outwakeup: sc = 0xd6c7a058
ucom_outwakeup: sc = 0xd6c7a058
ucom_outwakeup: sc = 0xd6c7a058
ucom_outwakeup: sc = 0xd6c7a058
ucom_outwakeup: sc = 0xd6c7a058
ucom_status_change: 
ucom_status_change: 
ucom_outwakeup: sc = 0xd6c7a058
ucom_get_data: cnt=404
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_ioctl: cmd = 0x2000740d
ucom_ioctl: cmd = 0x402c7413
ucom_ioctl: cmd = 0x802c7416
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_param: sc = 0xd6c7a058
ucom_ioctl: cmd = 0x8004667e
ucom_ioctl: cmd = 0x8004667d
ucom_inwakeup: tp=0xd6c38800
ucom_get_data: cnt=0
ucom_inwakeup: tp=0xd6c38800
ucom_outwakeup: sc = 0xd6c7a058
ucom_get_data: cnt=1
ucom_get_data: cnt=0
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800
ucom_inwakeup: tp=0xd6c38800


USB debugging has been enabled now on four Raspberry
Pi 2/3/4 hosts. On a Pi3 or -4 running -current the 
ucom_inwakeup lines seem to come in pairs, not sevens.

Please let me know if there any useful experiments
to be tried. 

Thanks for reading,

bob prohaska