Re: [Bug 273566] stray characters contaminate serial console

From: bob prohaska <fbsd_at_www.zefox.net>
Date: Thu, 09 Jan 2025 17:53:52 UTC
On Thu, Jan 09, 2025 at 12:36:42PM +0000, bugzilla-noreply@freebsd.org wrote:
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273566
> 
> --- Comment #6 from Sulev-Madis Silber <bugs-freebsd-org916@ketas.si.pri.ee> ---
> i messed with things on purpose to see if they break and they did
> 
> ftdi isolates usb ttl adapter is connected with usb end at 13.4 on amd64 and
> serial end at current on armv7
> 
> login via serial using cu, to the armv7 board, then kill cu
> 
> then, with ssh i execute:
> 
> sh -c 'while :; do : | wall; done'
> 
> on said armv7 device
> 
> let some time pass and run cu on port again
> 
> this is what shell history has:
> 
>     41  14:20   Broadcast Message from root@ask-m-001 ^G^G
>     42  14:20   ( /dev/pts/0 ) at 14:19 EET...
> ^@BBBBBBBBBBBBBJBBBBBBgBBBB^_BBBBBBBB
> BBJBBBBBBFBBBBBBwBBBB^_BBBBBBBBBBJBBBBBBFBBBBBBgB^@
>     43  14:20   h
> 14:20,root@ask-m-001:~#
> 
> is this what you experience?

In short, yes, the usb end is on armv7, the serial end is arm64
:
bob@nemesis:~ % Broadcast Message from bob@nemesis.zefox.com                                   ^G^G
Broadcast: Command not found.
bob@nemesis:~ % 
bob@nemesis:~ % 
bob@nemesis:~ % 
bob@nemesis:~ % 
bob@nemesis:~ % 
bob@nemesis:~ %         (/dev/pts/1) at KBBBFBBBBBBBBBBBBBBBBBBBBgëB×BBBBBBBBBBBBBBNBBBBBBfgëB×BBBBBBBBBBBBBBNBBBBB^@
Badly placed ()'s.

I did this by dropping the cu connection to arm64 using ~~., using your 
wall command briefly, killing it with control-c and then picking up
the serial connection. Recalling history on the serial (arm64) end I see
  999  7:13    su
  1000  19:41   exit
  1001  9:17    h
  1002  9:19    Broadcast Message from bob@nemesis.zefox.com ^G^G
  1003  9:21    ( /dev/pts/1 ) at KBBBFBBBBBBBBBBBBBBBBBBBBgëB×BBBBBBBBBBBBBBNBBBBBBfgëB×BBBBBBBBBBBBBBNBBBBB^@
  1004  9:25    h
bob@nemesis:~ % 

It appears that only one instance of "leakage" into the serial-end command
history occurs through the duration of the wall transmissiion. 

Thanks for writing!

bob prohaska