I've been struggling to set up the serial ports correctly for a DOS
program running under DOSEMU 1.2.2 on RHEL 4 (Red Hat Enterprise Linux
4).
My DOS program connects with a serial cable to an AMADA Laser cutting
machine.

I followed these steps:

1. Comment out direct port access if your program is asking for a
serial port and it isn't accessing the interrupts directly.

2.Configure dosemu.conf serial section as this:

$_com1 = "/dev/ttyS0"
$_com2 = "/dev/ttyS1"
$_ttylocks = "/home/dosemu"

3. Make sure that that the $_ttylocks directory is writeable by the
user who is going to run dosemu. I was getting permission errors when
this was not set correctly. "chmod +777 /home/dosemu" will do it.

4. Make sure that the user is a member of the "uucp" group in order to
have rights to access the serial ports. Edit "/etc/group" file to
accomplish this.
I was getting permission errors when starting dosemu because of this
not being done.

5. Make sure that the user has logged out and back in so that group
membership becomes in effect. Again, you may get permission error when
starting dosemu if you don't do this step.

By now your DOS program should be able to access the serial ports
without any problems.

I wasn't getting any more errors and everything looked fine. But the
serial communication was STILL not working. The machine on the other
side of the serial cable was not getting any data. Then, I decided to
take a look at the BIOS settings... and Voila! There was an onboard
modem assigned to the serial port. Once that was disabled, I started my
program under DOSEMU and the information started flowing over the
serial cable to the laser machine!!!

Hope this helps people struggling whith this.

Good Luck!