home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / sys / att / 2822 < prev    next >
Encoding:
Text File  |  1993-01-06  |  8.4 KB  |  171 lines

  1. Newsgroups: comp.sys.att
  2. Path: sparky!uunet!uunet.ca!geac!torag!robohack!woods
  3. From: woods@robohack.UUCP (Greg A. Woods)
  4. Subject: Re: 3b2 EPORTS device driver bugs
  5. Organization: Elegant Communications Inc.
  6. Summary: no, it's not a config. error, it's a bug!
  7. References: <1993Jan4.062531.19906@robohack.UUCP> <1993Jan05.044408.24066@hakatac.almanac.bc.ca>
  8. Message-ID: <1993Jan6.062224.23026@robohack.UUCP>
  9. Date: Wed, 6 Jan 93 06:22:24 GMT
  10. Lines: 159
  11.  
  12. In article <1993Jan05.044408.24066@hakatac.almanac.bc.ca> rthomas@hakatac.almanac.bc.ca (Robert N Thomas) writes:
  13. > In article <1993Jan4.062531.19906@robohack.UUCP> woods@robohack.UUCP (Greg A. Woods) writes:
  14. > >However, as some of you may recall, I posted a note about a problem
  15. > >which began to plague my Hayes 2400 and Telebit T-1000 some time ago.
  16. > >
  17. > >The symptoms were a hung modem, and on the Hayes, the appearance of
  18. > >RD, SD, TR, and MR being on continuously.  
  19. >      Ah yes, the olde RD/SD light up forever problem..  Greg, try
  20. > setting setting your modems to power on default to ATE0Q1..  This
  21. > will eliminate the SD/RD light problem..  You also want the modem to
  22. > hang up and RESET when the DTR line drops...
  23.  
  24. Ah, nope, sorry, wrong answer!  :-)
  25.  
  26. I've been playing with modems and unix for 10 years now, and know
  27. well the symptoms of the problem you describe.  The problem I've
  28. described has absolutely nothing to to with it.
  29.  
  30. Indeed I was not so foolish as to not intentionally create the
  31. problem you describe in order to measure its effect and record
  32. its actual symptoms (I'd grown quite accustomed to making it work
  33. right the first time, and had never seen this problem occur on a
  34. 3b2 with an EPORTS card until then).  Most notably it causes
  35. system load to increase sharply, due to the getty (i.e. uugetty)
  36. responding to the messages from the modem in an endless loop.
  37. Well, it's only endless until uugetty times out, assuming you've
  38. had the foresight to set the timer ("-t n")!  In fact the load on
  39. the EPORTS card itself will increase enough to make itself felt on
  40. other ports, esp. if the modem is a high-speed one!  Finally, note
  41. that I stated there is no continuous RD/SD activity observable on
  42. the Telebit -- this has only happened on Hayes, USR, Microcom, and
  43. various 2400 and 1200 bps clones, and I repeat that it causes no
  44. system or interface card load increase.
  45.  
  46. Indeed my modems do not normally return result codes for incoming
  47. calls, and given that the EPORTS drivers do correctly drop DTR at
  48. the end of every call, even if a new uugetty is ready to open the
  49. port, and thus the modems will reset from the "ATE1Q0" issued in
  50. the dialer script (since I've configured them to do so).
  51.  
  52. Not only that, but you might also note I stated that the *only*
  53. resolution was to either re-pump the firmware, or to cycle the
  54. power on the modem.  NOTHING else works.  Period.  Not killing
  55. getty's.  Not pulling out the RS-232.  Not pulling the RS-232 and
  56. then cycling the power.  Not trying to open the port, hang it up,
  57. change the hardware flow control (even though it's not used on
  58. one of the modems), change any other termio setting, nor even
  59. read or write to/from the port.
  60.  
  61. The reason I truly wish to observe the events on a protocol
  62. analyser is to record the timing of various control signals, and
  63. to record what is generating what appears to be continuous RD/SD
  64. activity, and to record these signals while the power is cycled
  65. on the modem.
  66.  
  67. So far I've experimented to the limits of the Telebit's amazing
  68. configurability to modify the timing of responses to various
  69. events, but all to no avail.
  70.  
  71. >     My system does not use \m, because when the modems PULSE the CD line,
  72. > the 3B2 say's DISCONNECTED..
  73.  
  74. You must not be running the same version of HDB-UUCP (i.e. BNU)
  75. that I'm running.  Or not the same drivers.  Or perhaps not even
  76. the "modem-control" configuration.  If CLOCAL is set, the driver
  77. had damn well better not generate SIGHUP on transition of DCD, or
  78. it can be declared completely broken!  If CLOCAL is set, at the
  79. termination of a call with "cu" (for example) you'll simply see
  80. the "NO CARRIER" from the modem (if it's generating result codes)
  81. and you'll have to disconnect manually with "~.".  Uucico will
  82. disconnect itself, as it will either time out, or will have
  83. received the hangup command from the remote system, or will be
  84. the one issuing the hangup, and subsequently close the port and
  85. exit.
  86.  
  87. Your ports may have CLOCAL clear initially if you are *not* using
  88. ",M" in the Devices file, _and_ *not* using "\M" at the beginning
  89. of the Dialers entry, and thus a "\m" would be redundant anyway.
  90. In this case you'd only be able to dial out if your modems
  91. normally supply DCD (except perhaps for a brief period after loss
  92. of carrier), and this is in fact how you've described your
  93. configuration.
  94.  
  95. Congratulations on the hardware tricks to make the USR work!
  96. I've avoided these ugly little critters for this very reason!
  97.  
  98. Also note that my modems seem to function fine when DCD follows
  99. signal carrier (i.e. is not pulsed), though this indeed does
  100. require CLOCAL to be initially cleared (since the first read on a
  101. port without CDC would then generate a SIGHUP, and since cu and
  102. uucico don't ignore it at this point during dialing, you just get
  103. the famous "lost line errno 0" message and a re-try), and thus
  104. seems to induce the problem I've described.
  105.  
  106. >      I know whatche mean about the hardware flow control hastle..  While
  107. > your at it Santa, could to fix the drivers so the XON/XOFF and HFC can
  108. > both be enabled at the same time???   Would be nice, and thanks..  Well,
  109. > I don't know if that helps you all the much Greg, you have an idea of
  110. > what I do here to get by..
  111.  
  112. I'm not fussy about enabling XON/XOFF together with HFC
  113. actually.  Given adequate control of the modem, it is sufficient
  114. to enable software flow control in the modems when doing
  115. interactive work, though ideally one would simply disable all
  116. large buffers in the modems, and have hardware flow control at
  117. each DCE<->DTE connection, thus permitting any given form of flow
  118. control to be enabled (eg. the "pause" button when running with
  119. layers).  The only problems with this crop up not when you wish
  120. to have manual data flow control, but rather when you wish to
  121. interrupt data flow completely, such as when you've issued a
  122. command that's spewing output to you, and you want to hit
  123. "INTR".  Even if you can get the BREAK function to properly flush
  124. all the possible buffers along the way, you may not be able to
  125. conveniently generate a BREAK with the key you think of as
  126. "INTR".  What usually results is you press <DEL> or <ctrl-\> and
  127. get another 1 kb to 8 kb dumped on your screen.  Another solution
  128. is to *NOT* lock DTE speed in the modem, then ensure that you
  129. have the "same sized pipe" all the way through, as well as no
  130. hidden reservoirs to spray stuff when they shouldn't.
  131.  
  132. All I really want is a sticky HFC -- then a simple "epstty shfc"
  133. in /etc/rc2.d/S01eports-hfc would do the trick.  Even IBM's
  134. RS/6000 can do this, though they can't yet get modem control
  135. anywhere near right either....
  136.  
  137. I can't quite understand why these device driver writer's can't
  138. get it right in the first place!  These drivers are not all that
  139. complicated, and any decent description of the RS-232 standard
  140. gives a full state diagram for the call initiation and
  141. termination phases....  It should be a simple as paint by numbers
  142. -- just follow the lines and you can't go wrong!  Not only that,
  143. but the problem I describe is easy enough to reproduce in less
  144. than a dozen attempts, so should be easy enough to track down
  145. should the detective have the right tools.
  146.  
  147. Of course the problem I've described may be happening deep
  148. withing the interface between the kernel driver and the firmware,
  149. and from what I can deduce from the header files, this is no
  150. simple thing!
  151.  
  152. Speaking of that, I find there's a couple of neat things in
  153. <sys/ep_lla.h> which seem to indicate the driver and do some
  154. pretty specific things to the firmware, but it seems there's no
  155. way to tell it to do so via any known ioctl()'s.
  156.  
  157. Anyone who's interested in my all knowing EPORTS driver twiddler,
  158. and missed getting it before, can get a copy by e-mail...
  159.  
  160. Now, if I had source for the driver and firmware (and a way to
  161. re-compile the firmware! :-), I'm certain that though I may not
  162. be able to find and fix the problem, I'd at least be able to
  163. implement a solid work-around (eg. a soft reset that wouldn't
  164. drop all the processes on un-related ports!).
  165. -- 
  166.                         Greg A. Woods
  167.  
  168. woods@robohack.UUCP, woods@Elegant.COM  VE3TCP    UniForum Canada & ECI
  169. +1 416 443-1734 [home] +1 416 362-XRSA [work]    Toronto, Ontario; CANADA
  170.