Got a problem with serial communication with QNX4.25 VM under WinXP.
The QNX serial port configuration is OK (use the same in a real QNX
machine).
(I don’t want to use hardware flow control)
ie in my sysinit file :
/bin/Dev.ser 3f8,4
styy -icrnl < ‘/dev/ser1’
I use the physical serial port (serial0-> /dev/ser1) configuration for
the VM.
It works but some bytes are lost during the communication (-> bad
checksums), not every time but often.
I tried to set the ‘Yield CPU on poll’ option in VMWare.
I tried to set serial0.pipe.charTimePercent = 200 (or 1000) in the
configuration file of my VM.
It works but some bytes are lost during the communication (-> bad checksums),
not every time but often.
It’s ok if the baudrate is set to 4800.
Is it really impossible to set the serial port at 9600 bauds (without
frame errors) under VMWare/QNX4.25 ?
Does the hardware support a FIFO? Try using the -t option to Dev.ser to
enable the 16550 uart’s FIFO.
The most likely problem is interrupt latency – I’d bet the vmware
environment doesn’t give very predictable latency, and if you can’t
service the serial interrupt soon enough, you’re going to see an
overrun/framing error. Enabling the FIFO means that you have more
time to get to the hardware before losing a character.