Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-67224

QSerialPort occassionaly fails to read high speed data from VCP and will hang

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 5.11.0
    • 5.10.1
    • Serial Port
    • None
    • Windows 10 Home Version 1709
      Qt 5.10.1 (MinGW_530_32)
      Microsoft Serial Driver version 10.0.16299.15 (also present with ST VCP Driver)

    Description

      I am using a device transmitting at 600Hz to a Windows 10 computer. The problem is QSerialPort has random timeout's where waitForReadyRead(1000) returns false or waitForReadyRead(-1) will hang forever.

      This problem can be reproduced on the Qt Terminal Example ([QT_INSTALL_EXAMPLES]/serialport/terminal) which uses the ReadyRead() signal, the signal will simply never be fired in some cases when the port is opened and application waits forever. I am unable to reproduce the problem with other Window's Terminal programs eg. HTerm, RealTerm. 

      I am using the Windows built in driver as recommended by ST on their website

      Using Serial Port Monitor on the Qt terminal example when the program hangs I have this output: pastebin

      Output from a test program (program included in link) gives this behaviour: pastebin

      Attachments

        1. HTerm.html
          356 kB
        2. QSerialPort Hanging.html
          26 kB
        3. SerialReader.zip
          3 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            kuzulis Denis Shienkov
            bongani Bongani Ncube
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes