Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Aug 1995 17:50:58 +0300
From:      Heikki Suonsivu <hsu@cs.hut.fi>
To:        Michael Smith <msmith@atrad.adelaide.edu.au>
Cc:        freebsd-hackers@freefall.FreeBSD.org
Subject:   Changes in sio driver since 2.0.5?
Message-ID:  <199508261450.RAA22725@shadows.cs.hut.fi>
In-Reply-To: Michael Smith's message of 25 Aug 1995 10:18:27 %2B0300

next in thread | raw e-mail | index | archive | help

   In particular, I have a system here with an AST 4-port clone that is
   crashing regularly, usually when modem status changes.

I upped RS_IBUFSIZE to 1024 and TTYHOG to 4096.  Increasing TTYHOG alone
seems to cure loosing characters, but I needed RS_IBUFSIZE tuneup to get
rid of the crashes.  TTYHOG can be given as option already.  Both are
lazily kept -current (upgrade approximately once a month).

These problems seem to be motherboard or other hardware related and have
been there since 1.1.5.1 (but increased somewhat when we upgraded to 2.*).
I have got a 386-40 (AMD) with ast4 + 5 ethernets and 486-40 (AMD) with
ast4 + 5 ethernets, and they both lost characters and paniced, but 386-40
did it considerably less frequently.  Without patches the 486-40 was
unusable, lost too much stuff to get through PPP initial handshakes.  It
could be that the cheap taiwanese NE2000 ethernet boards are the source of
the problems, as there more of them in the 486-40 than in a 386-40.

Serial ports carry modems and leased lines up to 115.2kbps, but we have
more problems with the slow links (leased 38.4) than the fast ones.  I
can't explain this.  Maybe sio has been developed with too fast machines &
devices around :-)

I still have problems with serial ports not correctly probed after a panic.
I'm trying duplicating the AST4 sio config lines now, seemed to help after
one reboot, but it is too early to say its the workaround.

*** sys/i386/isa/cy.c.orig      Thu Aug 24 21:57:50 1995
--- sys/i386/isa/cy.c   Thu Aug 24 21:58:17 1995
***************
*** 153,159 ****
--- 153,161 ----
  
  #define       LOTS_OF_EVENTS  64      /* helps separate urgent events from input */
  #define       RB_I_HIGH_WATER (TTYHOG - 2 * RS_IBUFSIZE)
+ #ifndef RS_IBUFSIZE
  #define       RS_IBUFSIZE     256
+ #endif
  
  #define       CALLOUT_MASK            0x80
  #define       CONTROL_MASK            0x60
*** sys/i386/isa/sio.c.orig     Thu Aug 24 21:56:48 1995
--- sys/i386/isa/sio.c  Thu Aug 24 21:57:13 1995
***************
*** 71,77 ****
--- 71,79 ----
  
  #define       LOTS_OF_EVENTS  64      /* helps separate urgent events from input */
  #define       RB_I_HIGH_WATER (TTYHOG - 2 * RS_IBUFSIZE)
+ #ifndef RS_IBUFSIZE
  #define       RS_IBUFSIZE     256
+ #endif
  
  #define       CALLOUT_MASK            0x80
  #define       CONTROL_MASK            0x60

I don't know if cy.c really needs the patch, but I changed it anyway
(avoids burning some cpu, anyway).

-- 
Heikki Suonsivu, T{ysikuu 10 C 83/02210 Espoo/FINLAND,
hsu@cs.hut.fi  home +358-0-8031121 work -4513377 fax -4555276  riippu SN



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199508261450.RAA22725>