SUMMARY: hung serial port

From: Ed Baxter (edward@pii.com)
Date: Thu Dec 22 1994 - 14:56:32 CST


Thanks for all the responses. The solution to my problem seems to be
patch #101621-02. Some additional suggestions follow.

my original question was:

> We have a versatec plotter currently running serial off a Sparc10. The
> problem is that every now and then the serial port seems to hang and
> the only way to get data to the plotter again is to reboot the host
> (sparc10).
>
> I can not find any processes on the port in this situation so I am
> assuming the device driver is probably what is hung.
>
> Does anyone know how to reactivate the serial port without rebooting,
> as this is inconvenient for the engineers working on the terminal.
>
        
1. You can also look at the port using ttysoftcar before and after
        the hang, and use ttysoftcar -y ttya to reset the port. This has
        worked when modems have been hung.
        
2. If you are running SunOS 4.1.[123], get the jumbo tty patch 100513-4.
        If SunOS 4.1.3_U1, get 101623_2 (I think). These provide hardware flow
        control *and* fix a known bug in the Sun serial line drivers, where
        they get wedged waiting for a handshake signal of XOFF that can no
        longer get to that part of the system, because the XON has cut off all
        transmissions to that buffer.
        
3. I have this happen occassionally on our sparcs with our communication
        lines. What I do, is run a simple script that wipes out the virtual
        serial devices, then recreates them. Since this occurs when the lines
        are hung, no one is active on the lines, and therefore it is no
        inconvenience to anyone. Works like a charm.
        
        #!/bin/sh
        
        sacadm -r -p zsmon
        sacadm -a -p zsmon -t ttymon -c /usr/lib/saf/ttymon -v 1
        
        pmadm -r -p zsmon -s ttya
        pmadm -r -p zsmon -s ttyb
        
        pmadm -a -p zsmon -s ttya -i root -v `ttyadm -V` -fu -m "`ttyadm -d /dev/term/a \
        -s /usr/bin/login -l contty6H -b -S n -m ldterm,ttcompat`" -y "port a modem"
        
        pmadm -a -p zsmon -s ttyb -i root -v `ttyadm -V` -fu -m "`ttyadm -d /dev/term/b \
        -s /usr/bin/login -l contty6H -b -S n -m ldterm,ttcompat`" -y "port b modem"
        
        exit 0
        

thanks to :

      steve@bellevue.pnw.opensys.com (Steve Lee)
      blymn@awadi.com.AU (Brett Lymn)
      Nate Itkin <Nate-Itkin@ptdcs2.intel.com>
      raoul@MIT.EDU
      "Rick Wightman" <wightman@unb.ca>
      rob.e.allan@hydro.on.ca (Rob Allan)
      "John S. Marquis" <jsm@sqi.com>
      kroot@cpatl.com
      scowles@scheffer.Stanford.EDU (S. Cowles)
      dave@solar.exar.COM (dave)

Ed Baxter
Praegitzer Design



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:09:17 CDT