Accessing UART on Win10 Enterprise ltsc

Boesling
Boesling New Member Posts: 9

Hi Folks,
I'm new with my up2 and I have installed Windows 10 enterprise 2019 ltsc. Now I wrote a small test Desktop programm with c#@VS2017 to test the uart communication via the 40 Pin Header (8,10), but I cannot find it with "SerialPort.GetPortNames". The Device Manager shows under Ports 2 COM-Ports UART Sub device (COM2) and UART Sub device(COM4).
If I try to connect the serial port, I get a IOException.
Can anyone help me on this?
Thank you.

Tagged:

Answers

  • camillus
    camillus Administrator, Moderator, AAEON Posts: 188 admin
  • Boesling
    Boesling New Member Posts: 9

    Hi @camillus ,
    Yes, the latest drivers from your link are installed - still the same issue.
    If I read the "SerialPort.GetNames", I get no results.
    I use a normal c# desktop program (console) for it.

    Do you have any other suggestions?
    Thank You.

  • camillus
    camillus Administrator, Moderator, AAEON Posts: 188 admin
    edited September 2021

    Hi @Boesling ,

    Kindly install UP framework SDK if you have not, after that install the demo apps and run them. If they work correctly, then something could be wrong in your C# program. You can find the link to SDK and demo apps here.

    Best Regards,

  • Boesling
    Boesling New Member Posts: 9

    Hi @camillus,
    I've installed the framework successfully, but still no success by using the UART from Win10. I think the UART-communication is not handled by the framework, right? I've tried to use the Win32api instead of .net serial port, but also no success.
    Is there a special driver needed to use the uart-port with Windows 10 2019 ltsc?
    best regards,
    Daniel

  • camillus
    camillus Administrator, Moderator, AAEON Posts: 188 admin

    Hi @Boesling ,

    We are looking into this and will get back to you soon.

    Best Regards,

  • g2as
    g2as New Member Posts: 3

    Hi, any update on this?
    I can confirm that the serial ports are listed on the device manager but not accessible on Windows 10 IoT Enterprise 64-Bit LTSC 1809.
    Tested with a long used and trusted serial terminal application, the list of serial ports available comes up empty!.
    Windows is freshly installed and updated. UP2 drivers, and framework SDK were dowloaded and installed as of today.

    It is VERY important to have reialble serial ports available this platform!
    Please raise priority on this isue!

  • Earsistemas
    Earsistemas New Member Posts: 27

    Any update on this issue.? we have somethink similar on UP CORE PLUS on windows 10 OS.
    No help from Up at the moment.

  • dirk_dedeur
    dirk_dedeur New Member Posts: 6

    Just noticed the same problem on windows iot core. The UART's are not found. In device manager we have problem code 28. Missing drivers. I installed the drivers manualy using pnputil. After that the problem code changed to 31.
    Using an CP2102 UART BRIDGE CONTROLLER by USB seems to work and gives no problem code in device manager.

  • TheZNerd
    TheZNerd New Member Posts: 30

    Hey @dirk_dedeur and @Earsistemas - not sure how you're accessing these pins, but check out this document - it was helpful for me getting I2C working appropriately (at least one bus) in Win10 IoT (well, technically Win10 Enterprise): https://annabooks.com/Articles/Articles_IoT10/Windows-10-IoT-UP2-Board-BIOS-RHPROXY-Rev1.6.pdf

  • dirk_dedeur
    dirk_dedeur New Member Posts: 6

    I have been trying to use the internal UART without succes with UWP. I have found following lines in the Windows.Devices.SerialCommunication Namespace document you can find on https://docs.microsoft.com/en-us/uwp/api/windows.devices.serialcommunication?view=winrt-22000

    Serial ports marked as internal to the machine (DEVPKEY_Device_InLocalMachineContainer == TRUE) are not accessible unless explictly marked by the vendor driver as unrestricted (DEVPKEY_DeviceInterface_Restricted == TRUE). Devices connect via most PCI COM port expansion cards are therefore not accessible.

    Inaccessible serial ports may still be enumerated by DeviceInformation.FindAllAsync(), but cannot be opened by SerialDevice.FromIdAsync(). Attemping to open such a device will either throw an exception or return null. Apps should handle this case by filtering such serial ports from the user's view, so that the user will not be able to interact with such an unsupported serial port.

    Si it's logical we can not find any internal serial ports if AAEON didn't mark them as unrestricted.

    Using a SERIAL TO USB Converter with CP2102 i have got good result.

    Windows natively supports ports exposed by Serial-to-USB adapters that belong to the USB-CDC device class using the inbox usbser.sys driver (such as those used in Arduino Uno R3s). USB-CDC compatible Ids are:

    USB\Class_02&SubClass_02&Prot_01
    USB\Class_02&SubClass_02
    Other Serial-to-USB adapters (such as FTDI/Prolific/Silicon-Labs) that expose GUID_DEVINTERFACE_COMPORTs are also supported, but require additional vendor-specific drivers.

  • camillus
    camillus Administrator, Moderator, AAEON Posts: 188 admin

    Hi @dirk_dedeur ,

    Can you try to access UART using the guide and MinCom utitlity from downloads

    Kindly let me know if that helps.

  • SeriousSam
    SeriousSam New Member Posts: 4

    I have the same problem:

    • MinCom utility displays the ports as UART1 and UART0
    • Windows Device manager displays ports as COM1 and COM2
    • ExtraPutty 0.30 is unable to open serial port COM1
    • Realterm v2.0.0.69 is unable to open serial port COM1
    • I have tried both BIOS options "Windows" and "Windows IoT Core" without success

  • rogertsai(AAEON)
    rogertsai(AAEON) New Member Posts: 350 ✭✭✭
    edited July 2022

    Hello all

    UP SDK does not yet support HS UART but you can control it through Resource Hub proxy driver.
    Please make sure that proxy driver is shown in Device Manager so that HAT UART (pin8, pin 10) can be controlled with Minicom
    also check the following 2 points:
    1. Double-check whether the OS Selection is set to “Windows 10 IoT Core” from BIOS
    2. If the “Step 6 – HSUART” is already installed, please uninstall and delete all COM port driver from Device Manager (no UartSub devices in list)

    The “ACPI#INT3512” is correct for HAT40 UART control and the "ACPI#INT3511" is for CN16 UART
    click here for additional details about the Mincomm example

  • SeriousSam
    SeriousSam New Member Posts: 4

    Dear @rogertsai(AAEON),

    thank you for the response. I confirm that by uninstalling Intel HS UART SubDevice driver, we can use UART port as in Mincomm example.

    But Mincomm has some disadvantages:
    1. the example source code differs from the compiled MinComm.exe application that is provided in Up community download area. The source code is missing parameters: "hex={on|off}", "lora={1|2|3}", "mode={1|2|3}" and "485={on|off}". How can we enable 485 mode with provided Mincomm code?
    2. it does not support setting serial port event filter with SetCommMask call (the call result is 0)

    When writing our own driver, it appears that UART does not support SetCommMask call, and I believe this is the reason why RealTerm and Putty also fail to open the port.

    In my opinion, the current UART implementation has limited use. I don't know if this is Intel, Microsoft or AAEON responsibility. @rogertsai(AAEON), I would like to ask you to provide information regarding the current development status and plans for better UART implementation. Can we expect support for Intel HS UART SubDevice driver or at least support SetCommMask call?

  • rogertsai(AAEON)
    rogertsai(AAEON) New Member Posts: 350 ✭✭✭

    @SeriousSam

    1. the example source code differs from the compiled MinComm.exe application that is provided in Up community download area. The source code is missing parameters: "hex={on|off}", "lora={1|2|3}", "mode={1|2|3}" and "485={on|off}". How can we enable 485 mode with provided Mincomm code?

    UP squared doesn't support RS485 mode (no Transceiver IC onboard), only UART. The parameters "hex={on|off}", "lora={1|2|3}", "mode={1|2|3}" and "485={on|off}" are used for UPC-CRST02 (Low Speed Carrier Board for UP Core board), not for UP Squared.

    1. It does not support setting serial port event filter with SetCommMask call (the call result is 0)

    The SetCommMask is not supported, so you can't use RealTerm and Putty as a control tool for the UART.
    Please use Minicom on UP squared to open the port.

  • rogertsai(AAEON)
    rogertsai(AAEON) New Member Posts: 350 ✭✭✭

    @SeriousSam
    For further checking if you make the driver please share your source code with us

  • SeriousSam
    SeriousSam New Member Posts: 4

    @rogertsai(AAEON),
    thank you for the information. Now we are using Win32 API to interface the UART, same as mincomm code.