11 Replies Latest reply on Jul 3, 2015 1:22 PM by Jimmy Manley

    UART and COM port problem

    AntejaVM Green Belt

      Hi all,

       

      On MinnowMax I work  on Windows 8.1 with UART. In BIOS Setup I enable UART.   In  LSS & SCC Configuration menu in BIOS Setup I enable : LSS HSUART #1 Support  , LSS HSUART #1 FlowCtrl  , LSS HSUART #2 Support  , and LSS HSUART #2 FlowCtrl .  But I don't know if I need to in BIOS Setup in Miscellaneous configuration  set  UART interface on  Super IO UART, for now I set  Internal UART for UART interface. I install Intel driver ( https://downloadcenter.intel.com/download/24228/Intel-embedded-drivers-for-Windows-8-1-32-bit- ) and I got two UART controllers.

       

      Problem : 

        Problem is that I have only one COM port ( COM1)  and it is for debugging.  I looking in inf (iaiouart.inf ) file of driver for which device is , and I find APCI/INT33BC device.  The COM1 is device APCI/PNP0501 .  

       

      What I need to do to get COM 2 device ?  I saw  BaseSerialPortLib 16550 module in  MdeModulePkg/Library for what it is this module.  Need I add some module for UART or Serial port in fdf (PlatformPkg.fdf ) file to get COM2 device, or add  COM2  in ACPI_table? Where I can find ACPI_table in source of firmware?

       

      Best regards,
      Anteja

        • Re: UART and COM port problem
          Jimmy Manley Brown Belt

          Hello Anteja,

           

          Welcome back to the Intel Embedded community.

           

          We're working on your case and will post an update as soon as possible.

           

          Best regards,

           

          Jimmy.

          • Re: UART and COM port problem
            ivanrouzanov Green Belt

            Anteja,

             

            As far as I understand we have 2 UARTs but only one follows legacy COM-interface and the other one does not so Windows inbox driver serial.sys does not work with it so you only have one COM port.

             

            (Basically COMx is just a symbolic link serial.sys creates to point to its device object, so if it does not service a device like in the case of the second HSUART, then it is not a COM-port). If you need to use COM-port and have ability to debug, I'd suggest to use Ethernet for debugging and free up COM1 for your other needs.

             

             

             

            I hope this helps.

            Best regards,

            Ivan Rouzanov.

             

            • Re: UART and COM port problem
              B-O Brown Belt

              Hi Anteja,

               

              The high speed UARTs can be setup to work as the legacy UARTs through SMM emulation. However, the ACPI code tells me that this is not the case in your system.

               

              The ACPI code only reflects two UARTs and the debug UARTs are expected to be disabled at the OS level. If you turn off the debug UART, your two high speed UARTs may turn up in the ACPI code. That in turn, may load the drivers for the high speed UARTs instead of the legacy UART.

               

              Best regards,

               

              B-O

                • Re: UART and COM port problem
                  ScottDuggan Green Belt

                  Hi Berth,

                   

                  Thank you for your input!

                   

                  Best,

                  Scott

                  • Re: UART and COM port problem
                    AntejaVM Green Belt

                    Hello B-O,

                     

                    Thank you for  solution.
                    Could you tell me more about setup legacy UARTs through SMM emulation and which ACPI code tells you that is not case in my system ? 
                    Could you elaborate how disable debug UART at the OS level ? 

                     

                     

                    Best regards,
                    Anteja

                      • Re: UART and COM port problem
                        B-O Brown Belt

                        Hello Anteja,

                         

                        The COM1 device ACPI _HID is PNP0501 indicating it's a legacy UART. The COM2 device ACPI _HID is INT33BC indicating it's not a legacy UART. If the high speed UARTs are emulated, then they would also have the PNP0501 ACPI _HID value.

                         

                        The debug UART should normally be disabled by the BIOS. The decoding and IRQ can be disabled by LPC registers. The normal GPIO functionality of the pins used by UART RX/TX should also be restored to make a clean disable of the debug UART.

                         

                        The easiest is disable the debug UART in the BIOS. If you want to do it from the OS I advice you to read the BWG.

                         

                        BR,

                         

                        B-O