VirtualBox

Ticket #4672 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

Serial Port still not functioning correctly => Fixed in SVN

Reported by: parakleta Owned by:
Priority: major 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

comment:1 Changed 5 years ago by frank

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

Thanks for the report.

comment:2 Changed 5 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use