The FTDI_GET_MDM_ST response should only return a single byte indicating the modem status with bit 0 cleared (as documented in the Linux ftdi_sio.h header file).
Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> --- hw/usb/dev-serial.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c index 4c374d0790..fa734bcf54 100644 --- a/hw/usb/dev-serial.c +++ b/hw/usb/dev-serial.c @@ -360,9 +360,8 @@ static void usb_serial_handle_control(USBDevice *dev, USBPacket *p, /* TODO: TX ON/OFF */ break; case VendorDeviceRequest | FTDI_GET_MDM_ST: - data[0] = usb_get_modem_lines(s) | 1; - data[1] = FTDI_THRE | FTDI_TEMT; - p->actual_length = 2; + data[0] = usb_get_modem_lines(s); + p->actual_length = 1; break; case VendorDeviceOutRequest | FTDI_SET_EVENT_CHR: /* TODO: handle it */ -- 2.20.1