public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* SerialDxe with BaseSerialPortLib16550 and standard PC com port
@ 2019-03-20  2:06 Jacob Burkholder
  2019-03-20 19:05 ` Kinney, Michael D
  0 siblings, 1 reply; 3+ messages in thread
From: Jacob Burkholder @ 2019-03-20  2:06 UTC (permalink / raw)
  To: edk2-devel

Greetings!

I had trouble using SerialDxe.efi with BaseSerialPortLib16550 on a standard
PC com port (com1).  The PC is an asrock motherboard running whatever EFI
bios it came with.  I changed MdeModulePkg.dsc so that
BaseSerialPortLib16550 would be used instead of BaseSerialPortLibNull and
then rebuilt SerialDxe.efi and loaded and started it using
BootServices->{LoadImage,StartImage}.

Output works but input doesn't work, typed characters aren't received by
the uart.  I looked at the code briefly and it seems like the uart isn't
initialized properly.  I used this script to get input working (the
commands should be self explanatory, they're not efi shell commands though):

image SerialDxe.efi
outb 0x3fb 0x83
outw 0x3f8 1
outb 0x3fb 0x3
outb 0x3fc 0x3

Any chance it can be fixed upstream?

Thanks,

Jake


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

* Re: SerialDxe with BaseSerialPortLib16550 and standard PC com port
  2019-03-20  2:06 SerialDxe with BaseSerialPortLib16550 and standard PC com port Jacob Burkholder
@ 2019-03-20 19:05 ` Kinney, Michael D
  2019-03-21  1:33   ` Jacob Burkholder
  0 siblings, 1 reply; 3+ messages in thread
From: Kinney, Michael D @ 2019-03-20 19:05 UTC (permalink / raw)
  To: Jacob Burkholder, edk2-devel@lists.01.org, Kinney, Michael D

What are the PCDs settings you are using for the
SerialPortLib?

Thanks,

Mike

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org]
> On Behalf Of Jacob Burkholder
> Sent: Tuesday, March 19, 2019 7:06 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] SerialDxe with BaseSerialPortLib16550 and
> standard PC com port
> 
> Greetings!
> 
> I had trouble using SerialDxe.efi with
> BaseSerialPortLib16550 on a standard
> PC com port (com1).  The PC is an asrock motherboard
> running whatever EFI
> bios it came with.  I changed MdeModulePkg.dsc so that
> BaseSerialPortLib16550 would be used instead of
> BaseSerialPortLibNull and
> then rebuilt SerialDxe.efi and loaded and started it
> using
> BootServices->{LoadImage,StartImage}.
> 
> Output works but input doesn't work, typed characters
> aren't received by
> the uart.  I looked at the code briefly and it seems like
> the uart isn't
> initialized properly.  I used this script to get input
> working (the
> commands should be self explanatory, they're not efi
> shell commands though):
> 
> image SerialDxe.efi
> outb 0x3fb 0x83
> outw 0x3f8 1
> outb 0x3fb 0x3
> outb 0x3fc 0x3
> 
> Any chance it can be fixed upstream?
> 
> Thanks,
> 
> Jake
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


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

* Re: SerialDxe with BaseSerialPortLib16550 and standard PC com port
  2019-03-20 19:05 ` Kinney, Michael D
@ 2019-03-21  1:33   ` Jacob Burkholder
  0 siblings, 0 replies; 3+ messages in thread
From: Jacob Burkholder @ 2019-03-21  1:33 UTC (permalink / raw)
  To: Kinney, Michael D; +Cc: edk2-devel@lists.01.org

Hi Mike, I didn't change any of these because the defaults seemed to be
what I wanted, 115200, 8n1.  I also wasn't sure which one of for example
PcdUartDefaultBaudRate or PcdSerialBaudRate would actually be used.  In any
case both seemed to be set to the same sane default 115200, 8n1, which is
what I wanted.  The baud rate seems to be set correctly because output
works, but this may also just be the hardware reset default for the divisor
(1).  My edk2 checkout is a bit behind HEAD, the only local change I have
is what I mentioned before to use BaseSerialPortLib16550 instead of
BaseSerialPortLibNull.

Regards,

Jake

[jake@localhost edk2]$ git log -n 1
commit cce9d763580a955d294a5e3696cbe07a03965e2b (HEAD -> master,
origin/master, origin/HEAD)
Author: Feng, Bob C <bob.c.feng@intel.com>
Date:   Wed Jan 16 19:12:00 2019 +0800

    BaseTools: Allow empty value for HiiPcd in Dsc

    https://bugzilla.tianocore.org/show_bug.cgi?id=1466

    DEC file defines PCD default value and PCD supported type.
    DSC can configure PCD type and value.
    If the value is same to default value in DEC file,
    DSC can only configure PCD type and leave empty for value.
    This usage supports all type PCD except for DynamicHii type.
    So, DynamicHii PCD should support this usage. Below is one example in
DSC.

    for example,
    [PcdsDynamicHii.common.DEFAULT]
    PcdPkgTokenSpaceGuid.PcdCName|L"VarName"|gVarGuid|0x00||NV,BS

    Contributed-under: TianoCore Contribution Agreement 1.1
    Signed-off-by: Bob Feng <bob.c.feng@intel.com>
    Cc: Liming Gao <liming.gao@intel.com>
    Cc: Jaben Carsey <jaben.carsey@intel.com>
    Reviewed-by: Liming Gao <liming.gao@intel.com>
[jake@localhost edk2]$ git diff
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index 93eaf4b404..4bbc7517d7 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -76,7 +76,7 @@
   DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf

 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf

 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-
SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
+
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf^M
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf

 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf


On Wed, Mar 20, 2019 at 12:06 PM Kinney, Michael D <
michael.d.kinney@intel.com> wrote:

> What are the PCDs settings you are using for the
> SerialPortLib?
>
> Thanks,
>
> Mike
>
> > -----Original Message-----
> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org]
> > On Behalf Of Jacob Burkholder
> > Sent: Tuesday, March 19, 2019 7:06 PM
> > To: edk2-devel@lists.01.org
> > Subject: [edk2] SerialDxe with BaseSerialPortLib16550 and
> > standard PC com port
> >
> > Greetings!
> >
> > I had trouble using SerialDxe.efi with
> > BaseSerialPortLib16550 on a standard
> > PC com port (com1).  The PC is an asrock motherboard
> > running whatever EFI
> > bios it came with.  I changed MdeModulePkg.dsc so that
> > BaseSerialPortLib16550 would be used instead of
> > BaseSerialPortLibNull and
> > then rebuilt SerialDxe.efi and loaded and started it
> > using
> > BootServices->{LoadImage,StartImage}.
> >
> > Output works but input doesn't work, typed characters
> > aren't received by
> > the uart.  I looked at the code briefly and it seems like
> > the uart isn't
> > initialized properly.  I used this script to get input
> > working (the
> > commands should be self explanatory, they're not efi
> > shell commands though):
> >
> > image SerialDxe.efi
> > outb 0x3fb 0x83
> > outw 0x3f8 1
> > outb 0x3fb 0x3
> > outb 0x3fc 0x3
> >
> > Any chance it can be fixed upstream?
> >
> > Thanks,
> >
> > Jake
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel
>


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

end of thread, other threads:[~2019-03-21  1:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-20  2:06 SerialDxe with BaseSerialPortLib16550 and standard PC com port Jacob Burkholder
2019-03-20 19:05 ` Kinney, Michael D
2019-03-21  1:33   ` Jacob Burkholder

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