jon@beaver.cs.washington.edu (Jon Mandrell) (04/04/89)
I am having an odd problem with a program driving the serial port on a Sun 3/50. Here's the situation: I boot the 3/50 from a local disk running 3.5, compile an executable that will be driving an ASCII device from /dev/ttya. The program runs fine, no sweat. No, reboot the 3/50 from another local disk running 4.0.1 (with the serial patches installed), and run the same executable with the same configuration, and things hang. The port is opened in CBREAK, TANDEM mode, and when I place a serial monitor on the line I see it perform the correct handshaking under 3.5. Under 4.0, if the Sun needs to send an XOFF (0x13), instead of a CR (0x0d), the CR gets lost. It just disappears. My interface then times out waiting for the echoed CR, which never happens. I can't compile the program under 4.0, since I am using some foreign libraries, which I don't have control of. What's up? Has anyone heard of this? Is there a workaround that I can put into the 3.5 code so that it will work on a 4.0 system (it's not a problem if the fix breaks it for 3.5, since I can keep 2 copies). Any help would be greatly appreciated, since I am running out of things to try. -- Jon Mandrell, Applied Microsystems Corp., (ihnp4!uw-beaver!tikal!amc!jon)