VirtualBox

Opened 15 years ago

Closed 15 years ago

#4672 closed defect (fixed)

Serial Port still not functioning correctly => Fixed in SVN

Reported by: Duane Leslie Owned by:
Component: uart Version: VirtualBox 3.0.2
Keywords: Cc: parakleta@…
Guest type: other Host type: other

Description

Currently when I use a serial port through a Windows Guest, on a Solaris Host, as soon as the device I am connecting to sends a newline, an infinite series of newlines is bounced back and forth between the Host and the remote device, with no intervention on the part of the Guest.

This can be resolved as a work-around by the command

stty -echonl < /dev/cua0

after the connection is established. This is ok for hyperterminal, but when using a serial programmer I cannot reliably change the setting quickly enough to prevent the serial programmer from reporting an error.

This is all caused by an error on line 359 of DrvHostSerial.cpp which was still not fixed by the changes on line 362 (in relation to bug #3120).

358	    /* set serial port to raw input */
359	    termiosSetup->c_lflag = ~(ICANON | ECHO | ECHOE | ISIG);
360	#ifdef RT_OS_SOLARIS
361	    /* turn off other extended special characters in line mode */
362	    termiosSetup->c_lflag &= ~(IEXTEN);
363	#endif

Instead of turning off a handful of local modes and turning on all the rest, the correct behaviour should be to turn off all local modes. Since the host should be passing through an unaltered stream of bytes there is no reason for it to intervene in any way with local modes.

I propose the following patch

@@ -358,364 +358,360 @@
    /* set serial port to raw input */
-    termiosSetup->c_lflag = ~(ICANON | ECHO | ECHOE | ISIG);
-#ifdef RT_OS_SOLARIS
-    /* turn off other extended special characters in line mode */
-    termiosSetup->c_lflag &= ~(IEXTEN);
-#endif
+    termiosSetup->c_lflag = 0;

Change History (2)

comment:1 by Frank Mehnert, 15 years ago

Summary: Serial Port still not functioning correctly in Solaris Host (and likely all posix hosts)Serial Port still not functioning correctly => Fixed in SVN

Thanks for the report.

comment:2 by Frank Mehnert, 15 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use