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 <<a href=3D"mailto:schakrabarti@microsoft.com" = target=3D"_blank">schakrabarti@microsoft.com</a>> 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 <vm_name> -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 <VM name>=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'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't like sudo).</div><div><br></div><div>The boot loader gr= ew a non-optional graphics mode that's disabled when the boot code</div= ><div>detects we're talking to a 'serial port' 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'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't find '/boot/entropy'<u></u><u></u></p> <p>can't find '/etc/hostid'<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 <<<<<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>