VirtualBox

Ticket #7401 (closed defect: duplicate)

Opened 4 years ago

Last modified 3 years ago

Serial port long TX data broken

Reported by: a99 Owned by:
Priority: major Component: uart
Version: VirtualBox 3.2.8 Keywords: serial port
Cc: Guest type: Windows
Host type: Windows

Description

Data broken for long TX packets (>127 bytes):

Original data:

 FF FF 00 10 3F FF 00 00 8A 03 00 00 40 04 00 04   ÿÿ..?ÿ..Š...@...
 00 00 40 04 00 05 00 00 40 04 00 06 00 00 40 04   ..@.....@.....@.
 00 07 00 00 40 04 00 08 00 00 40 04 00 0B 00 00   ....@.....@.....
 40 04 00 0C 00 00 40 04 00 0D 00 00 40 04 00 19   @.....@.....@...
 00 00 40 04 00 1A 00 00 40 04 00 1B 00 00 40 04   ..@.....@.....@.
 00 1C 00 00 40 04 00 1D 00 00 40 04 00 1E 00 00   ....@.....@.....
 40 04 00 21 00 00 40 04 00 22 00 00 40 04 00 23   @..!..@.."..@..#
 00 00 40 04 00 51 00 00 40 04 00 11 00 00 40 04   ..@..Q..@.....@.
 00 12 00 00 40 04 00 27 00 00 40 04 00 28 00 00   ....@..'..@..(..
 40 04 00 1D 74                                    @...t           

Broken data (received by listener):

 FF FF 00 00 40 04 00 11 00 00 40 04 00 12 00 00   ÿÿ..@.....@.....
 40 04 00 27 00 00 40 04 00 28 00 00 40 04 00 86   @..'..@..(..@..†
 30                                                0               

This issue occurs on two different computers.

Attachments

VBox.log Download (61.8 KB) - added by a99 4 years ago.
Log file

Change History

comment:1 follow-up: ↓ 3 Changed 4 years ago by frank

Who is listening, the host or another computer? Please attach a VBox.log file for such a VM session (mainly to check the VM configuration).

comment:2 follow-up: ↓ 4 Changed 4 years ago by frank

Oh, and which Windows program did you use for transmitting the data?

comment:3 in reply to: ↑ 1 Changed 4 years ago by a99

Replying to frank:

Who is listening, the host or another computer?

Listener is the other computer directly connected to the host using an RS-232 full modem serial cable.

comment:4 in reply to: ↑ 2 Changed 4 years ago by a99

Replying to frank:

Oh, and which Windows program did you use for transmitting the data?

We are using closed-source Delphi-based software.

Changed 4 years ago by a99

Log file

comment:5 Changed 4 years ago by mdesa

Same problem here. It can be easily reproduced TYPEing a file longer than 128 chars (if you choose it much longer, say 150 bytes, you lose a lot of characters every time) to COM1 (or /dev/ttyS0 on linux guests).

There's no need to really listen to the port. If you monitor the host port using HHD's "Free Serial Port Monitor" you see that the bytes get lost before reaching the physical port.

I'm going to try to compile rev. 28101 which should contain the patch discussed in bug #1548. I know that it causes some regressions, but we don't need the impacted features, while we do need a robust serial port implementation for a big migration project.

comment:6 Changed 4 years ago by mdesa

Some updates.

After trying VirtualBox-3.1.6-OSE.tar.gz2 + uart_buffer.patch and a SVN checkout for revision 28101 without any luck (same behaviour of the binary 3.2.8 release), I discovered that the problems only arises on Windows hosts.

I tried Windows 7 x86, Windows 7 x86_64 and Windows XP x86 with 3.2.8 binary dist and all of them exhibit the same behaviour: character loss with buffer lengths over 130 bytes.

Repeating the same tests with the same virtual disk images on a Ubuntu 10.04 x86_64 host, I've been able to repeatedly send 500+ chars at once without any loss.

Note that the behaviour does not depend on the guest OS, only on the host one.

comment:7 Changed 3 years ago by lazyest

Basing on this conversation i've decreasing block size to 128b in last quotes of  http://www.virtualbox.org/ticket/812 and got one uart working more or less. Host Debian 32bit, guest OS/2 Warp 4.5.

comment:8 Changed 3 years ago by frank

  • Status changed from new to closed
  • Resolution set to duplicate

Actually a duplicate of #1548, please continue discussion there.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use