home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / os / linux / 10558 < prev    next >
Encoding:
Internet Message Format  |  1992-09-12  |  3.4 KB

  1. Path: sparky!uunet!cs.utexas.edu!sun-barr!olivea!mintaka.lcs.mit.edu!bloom-picayune.mit.edu!athena.mit.edu!tytso
  2. From: tytso@athena.mit.edu (Theodore Y. Ts'o)
  3. Newsgroups: comp.os.linux
  4. Subject: Re: 57.6Kbps under Linux -- some results...
  5. Message-ID: <TYTSO.92Sep12125450@tsx-11.mit.edu>
  6. Date: 12 Sep 92 16:54:59 GMT
  7. References: <!nwn!6h.harp@netcom.com>
  8. Sender: news@athena.mit.edu (News system)
  9. Organization: Massachusetts Institute of Technology
  10. Lines: 54
  11. In-Reply-To: harp@netcom.com's message of Sat, 12 Sep 92 13:26:38 GMT
  12. Nntp-Posting-Host: tsx-11.mit.edu
  13.  
  14. In article <!nwn!6h.harp@netcom.com> harp@netcom.com (Gregory O. Harp) writes:
  15.  
  16.    First, I had to hack the kernel serial code to handle that speed.
  17.    Linux currently only supports 38.4Kbps as "shipped."  
  18.  
  19. I've been working on a heavily revised version of the serial driver,
  20. that supports more boards (including the AST FourPort boards) as well
  21. some other neat features.  One of the neat features is a way 
  22. to control what speed "38400" baud means when you specify it
  23. to the kernel, using setserial.  You can set it to mean 38400, 57600,
  24. 115200, or "custom divsor".  With custom divisor, you basically get to
  25. specify "div" in the equation 
  26.  
  27.             baud = 1843200 / (div * 16)
  28.  
  29. I'll be shipping my new serial driver to Linus soon, so look for it in a
  30. Linux release near you.  Some of the other fixes which should be popular
  31. is that I've managed to use over 100k less memory in the tty drivers,
  32. which means 100k more memory for user programs.  I figure that should be
  33. nice for people who have 2 or 4 meg machines.  :-)
  34.  
  35.    BTW, the reason I keep saying 16550A and not just 16550 is because a
  36.    glance at the code tells me that Linux is only enabling the FIFO if
  37.    the UART is the 16550A (refer to lines 265-272 of serial.c).  Linus,
  38.    can you tell us why you don't use the FIFO on the 16550?  I've
  39.    personally never used the FIFO because my projects were for 16450
  40.    UARTs, but I'm not aware of any problems.
  41.  
  42. The initial version of the 16550 which were shipped by National
  43. Semiconductor had a bug, so that their FIFO's where *not* reliable.  The
  44. spec sheets from National specific state that if you have a 16550, you
  45. should not attempt to use the FIFO's.  Fortunately, relatively few
  46. 16550's were actually shipped before the problem was discovered, and
  47. most of those ended up in PS/2's.  These days, when people talk about
  48. 16550's, they generally mean recent versions of the chips that have the
  49. working FIFO's.  These chips will be labelled: "NS16550A", "NS16550AF",
  50. "PC16550C", or "PC16550CF", (apparently PC16550CF is the most recent
  51. chip version; although I've been assured by National Semiconductor that
  52. most of the bugs which were fixed in the PC16550CF's shouldn't give me
  53. any trouble if I only have a NS16550A).
  54.  
  55. In any case, because the original 16550's had such a serious bug,
  56. National thoughtfully gave us a software way of detecting whether or not
  57. the chip was one of the chips with the FIFO bug, or not.  All of the
  58. more recent chips will ID themselves as a 16550A; it is only the
  59. original buggy chips that will ID themselves as a 16550.
  60.  
  61. You generally don't need to worry about this.  Although it might be
  62. prudent to check a serial board that you're thinking about to see
  63. whether it has one of the newer chips, it is very unlikely that if you
  64. were buying a serial board that you would actually run into one that had
  65. one of the original 16550 chips.
  66.  
  67.                             - Ted
  68.