QSerialPort вызывает остановку программы (бесконечный цикл?) При открытии устройства

Я хочу написать на серийном устройстве. К сожалению, у меня такое чувство, что QSerialPort неправильно реализован в Linux. В отличие от других методов (python) я получаю! Иногда! зависание программы, когда я пытаюсь позвонить:

serial.open(QIODevice::ReadWrite)

Я использую пример изhttp://qt-project.org/wiki/QtSerialPort (увидеть ниже). QSerialPortInfo работает правильно, так что я могу искать свое устройство, прежде чем открыть его. Проблема появилась во всех сериях Qt 5. *. В настоящее время я использую бета-версию 5.3 из репозитория OpenSuse. Другие инструменты или методы доказывают, что устройство работает (Windows или Python).

// Example use QSerialPortInfo
foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {
    qDebug() << "Name        : " << info.portName();
    qDebug() << "Description : " << info.description();
    qDebug() << "Manufacturer: " << info.manufacturer();

    // Example use QSerialPort
    QSerialPort serial;
    serial.setPort(info);
    if (serial.open(QIODevice::ReadWrite)) // Hang of the program
        serial.close();
}

Рабочий скрипт на python:

com_port = 4
baud_rate = '9600'
pySerial = serial.Serial(com_port, baud_rate)

Изменить: я тестировал с отладчиком. Кажется, проблема Qt 5 по крайней мере с Linux. Похоже, связано с блокировкой устройства.

Ответы на вопрос(2)

Ваш ответ на вопрос