Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 May 2022 07:59:58 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Souradeep Chakrabarti <schakrabarti@microsoft.com>
Cc:        "freebsd-arm@FreeBSD.org" <freebsd-arm@freebsd.org>, "tsoome@FreeBSD.org" <tsoome@freebsd.org>,  Wei Hu <weh@microsoft.com>
Subject:   Re: serial console and comconsole in FreeBSD arm64
Message-ID:  <CANCZdfpjPrXZk15%2B3oFiYa_4VGkJmDC40-EndVry5WnVXKp05g@mail.gmail.com>
In-Reply-To: <PSAP153MB05367C6802D76EC6BA352431CCDD9@PSAP153MB0536.APCP153.PROD.OUTLOOK.COM>
References:  <PSAP153MB05367C6802D76EC6BA352431CCDD9@PSAP153MB0536.APCP153.PROD.OUTLOOK.COM>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000f40f0205e03b12ac
Content-Type: text/plain; charset="UTF-8"

On Mon, May 30, 2022, 3:31 AM Souradeep Chakrabarti <
schakrabarti@microsoft.com> wrote:

> Hi,
>
>
>
> I am trying to access virtual serial console via Putty and in 13.0 it is
> not working
>
> for both x86 and arm64.
>
>
>
> It is very easy to reproduce:
>
> 1) In Windows Hyper-V set a  FreeBSD 13.0 VM
>
> 2) Use Powershell in Admin privileged mode and run following:
>
>                 Set-VMComPort -VMName <vm_name> -number 1 -path
> \\.\pipe\Testpipe
>
> 2) In another Powershell with Admin privilege run following:
>
>                 Set-VMFirmware -VMName <VM name>  --ConsoleMode COM1
>
> 3) start the VM and open putty to connect the \\.\pipe\Testpipe in serial
> mode.
>
> No output will be seen on putty.
>
Not even from the boot loader? That sure sounds like the automatic fallback
to simple text output isn't happening.

What does:
% sudo efivar --device-path 8be4df61-93ca-11d2-aa0d-00e098032b8c-ConOut
tell you? (Or run as root if you don't like sudo).

The boot loader grew a non-optional graphics mode that's disabled when the
boot code
detects we're talking to a 'serial port' between 12.x and 13.x. If you are
getting no output
from the loader at all, I suspect this is likely to blame.

> But the same works in FreeBSD 12.3 and Putty gets the output from EFI
> loader for both x86 and arm64.
>
> But during kernel booting the console output does not come in Putty, it
> only comes in vmconnect.exe.
>

So on 12.3, kernel output doesn't come out of both? Do you have
boot_multicons=YES in your loader.conf?
If not, only one of the consoles will get output from the kernel.

Warner

> Like below :
>
>
>
> Loading kernel...
>
> /boot/kernel/kernel text=0x931f24 data=0x187450 data=0x0+0x2d095e
> syms=[0x8+0x138120+0x8+0x124824]
>
> Loading configured modules...
>
> can't find '/boot/entropy'
>
> can't find '/etc/hostid'
>
> No valid device tree blob found!
>
> WARNING! Trying to fire up the kernel, but no device tree blob found!
>
> EFI framebuffer information:
>
> addr, size     0xe0000000, 0x800000
>
> dimensions     1024 x 768
>
> stride         1024
>
> masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 <<<<
>
>
>
> After this log is not coming in Putty in 12.3 for both x86 and arm64.
>
>
>
>
>
>
>

--000000000000f40f0205e03b12ac
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"auto"><br><br><div class=3D"gmail_quote" dir=
=3D"auto"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, May 30, 2022, 3:31 =
AM Souradeep Chakrabarti &lt;<a href=3D"mailto:schakrabarti@microsoft.com" =
target=3D"_blank">schakrabarti@microsoft.com</a>&gt; wrote:<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex">





<div lang=3D"EN-IN" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:b=
reak-word">
<div>
<p class=3D"MsoNormal">Hi,<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">I am trying to access virtual serial console via Put=
ty and in 13.0 it is not working
<u></u><u></u></p>
<p class=3D"MsoNormal">for both x86 and arm64.<u></u><u></u></p>
<p><u></u>=C2=A0<u></u></p>
<p>It is very easy to reproduce:<u></u><u></u></p>
<p>1) In Windows Hyper-V set a=C2=A0 FreeBSD 13.0 VM<u></u><u></u></p>
<p>2) Use Powershell in Admin privileged mode and run following:<u></u><u><=
/u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 Set-VMComPort -VMName &lt;vm_name&gt; -number 1 -path
<a rel=3D"noreferrer">\\.\pipe\Testpipe</a><u></u><u></u></p>
<p>2) In another Powershell with Admin privilege run following:<u></u><u></=
u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 Set-VMFirmware -VMName &lt;VM name&gt;=C2=A0 --ConsoleMo=
de COM1<u></u><u></u></p>
<p>3) start the VM and open putty to connect the <a rel=3D"noreferrer">
\\.\pipe\Testpipe</a> in serial mode.<u></u><u></u></p>
<p>No output will be seen on putty.</p></div></div></blockquote></div><div =
dir=3D"auto">Not even from the boot loader? That sure sounds like the autom=
atic fallback to simple text output isn&#39;t happening.</div><div dir=3D"a=
uto"><br></div><div>What does:</div><div>% sudo efivar --device-path 8be4df=
61-93ca-11d2-aa0d-00e098032b8c-ConOut<br></div><div>tell you? (Or run as ro=
ot if you don&#39;t like sudo).</div><div><br></div><div>The boot loader gr=
ew a non-optional graphics mode that&#39;s disabled when the boot code</div=
><div>detects we&#39;re talking to a &#39;serial port&#39; between 12.x and=
 13.x. If you are getting no output</div><div>from the loader at all, I sus=
pect this is likely to blame.</div><div class=3D"gmail_quote" dir=3D"auto">=
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div lang=3D"EN-IN" link=3D"#0563C1" vlink=
=3D"#954F72" style=3D"word-wrap:break-word"><div>
<p>But the same works in FreeBSD 12.3 and Putty gets the output from EFI lo=
ader for both x86 and arm64.<u></u><u></u></p>
<p>But during kernel booting the console output does not come in Putty, it =
only comes in vmconnect.exe.</p></div></div></blockquote><div><br></div><di=
v>So on 12.3, kernel output doesn&#39;t come out of both? Do you have boot_=
multicons=3DYES in your loader.conf?=C2=A0</div><div>If not, only one of th=
e consoles will get output from the kernel.=C2=A0</div><div><br></div><div>=
Warner</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div lang=3D"EN-IN" link=3D"#056=
3C1" vlink=3D"#954F72" style=3D"word-wrap:break-word"><div><p>
<u></u><u></u></p>
<p>Like below :<u></u><u></u></p>
<p><u></u>=C2=A0<u></u></p>
<p>Loading kernel...<u></u><u></u></p>
<p>/boot/kernel/kernel text=3D0x931f24 data=3D0x187450 data=3D0x0+0x2d095e =
syms=3D[0x8+0x138120+0x8+0x124824]<u></u><u></u></p>
<p>Loading configured modules...<u></u><u></u></p>
<p>can&#39;t find &#39;/boot/entropy&#39;<u></u><u></u></p>
<p>can&#39;t find &#39;/etc/hostid&#39;<u></u><u></u></p>
<p>No valid device tree blob found!<u></u><u></u></p>
<p>WARNING! Trying to fire up the kernel, but no device tree blob found!<u>=
</u><u></u></p>
<p>EFI framebuffer information:<u></u><u></u></p>
<p>addr, size=C2=A0=C2=A0=C2=A0=C2=A0 0xe0000000, 0x800000<u></u><u></u></p=
>
<p>dimensions=C2=A0=C2=A0=C2=A0=C2=A0 1024 x 768<u></u><u></u></p>
<p>stride=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1024<u></u><u></u=
></p>
<p>masks=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0x00ff0000, =
0x0000ff00, 0x000000ff, 0xff000000 &lt;&lt;&lt;&lt;<u></u><u></u></p>
<p><u></u>=C2=A0<u></u></p>
<p>After this log is not coming in Putty in 12.3 for both x86 and arm64.<u>=
</u><u></u></p>
<p><u></u>=C2=A0<u></u></p>
<p><u></u>=C2=A0<u></u></p>
<p><u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>

</blockquote></div></div>
</div>

--000000000000f40f0205e03b12ac--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfpjPrXZk15%2B3oFiYa_4VGkJmDC40-EndVry5WnVXKp05g>