Hi， Peter and all developers
Yes， I need to describe it clearly.
1、I want make the qemu serial support crtscts
2、Problem: the machine's guest is windows, the machine's host is centos. The qemu emulation pci-serial.
A printer （model is BTP-2001cp）use the serial to print. The machine connect the printer by serial port.
The data printed by the printer is missing some data.You can see picture 1 is lost some data, picture 2 is normal.Because the printer need hardware flow control.
I modify /chardev/char-serial.c to support hardware flow control. Then the data printed by the printer is normal.
The CRTSCTS is (not in POSIX) Enable RTS/CTS (hardware) flow control.
We can acquire some information by "stty -F /dev/ttyS0 -a ". We can set the CRTSCTS by "stty -F /dev/ttyS0 crtscts"
3、I have some question
1) Does the qemu init all pci-serial port crtscts or raw? For example, I make the qemu configure with 4 pci-serial port.
-chardev tty,id=charserial0,path=/dev/ttyS0,logfile=/dev/fdset/4,logappend=on -device pci-serial,chardev=charserial0,id=serial0,bus=pci.0,addr=0x17 -add-fd set=5,fd=28 -chardev tty,id=charserial1,path=/dev/ttyS1,logfile=/dev/fdset/5,logappend=on -device pci-serial,chardev=charserial1,id=serial1,bus=pci.0,addr=0x18 -add-fd set=6,fd=29 -chardev tty,id=charserial2,path=/dev/ttyS2,logfile=/dev/fdset/6,logappend=on -device pci-serial,chardev=charserial2,id=serial2,bus=pci.0,addr=0x19 -add-fd set=7,fd=30 -chardev tty,id=charserial3,path=/dev/ttyS3,logfile=/dev/fdset/7,logappend=on -device pci-serial,chardev=charserial3,id=serial3,bus=pci.0,addr=0x1a
2) if some printer not support (hardware) flow control, we make the qemu support (hardware) flow control, have some bad influence?
At 2021-04-14 21:24:20, "Peter Maydell" <firstname.lastname@example.org> wrote:
>On Wed, 14 Apr 2021 at 14:18, 付小明 <email@example.com> wrote:
>> HI, I have find qemu serial not support crtscts. This result some
>> machine not communication, because this machine need crtscts
>Could you provide more detail, please? For a bug report it
>is useful to know:
> * what you were trying to do
> * what happened
> * what you expected to happen
> * full details like the QEMU command line
> * what guest software you were running
>Ideally, the report should have everything we need to be
>able to reproduce the problem ourselves.