banderso@sagpd1.UUCP (Bruce Anderson) (05/07/88)
Recently, I had a requirement for an inexpensive 2400 bps modem so I went out and purchased a US Robotics unit. This wasn't the Courier model but the less expensive Sportster 2400. For a couple of days I just used it with a terminal to work on a remote host and it worked without a flaw. When that job was done I connected it to our Micom port selector (model Instanet 6000) as a call out unit. In this configuration it worked fine at 1200 but at 2400 it couldn't receive more than about 10 characters in a row without starting to garbage some of them. I tried using a Prometheus and an Anderson-Jacobson unit and they work perfectly under identical circumstances. Through trial and error, I discovered that if the remote host is set to 2 stop bits rather than 1 stop bit, the problem goes away. It also goes away if the connection through the Micom unit is started at 1200 and then upped to 2400. This causes the port selector to simply sample each bit as it comes in rather than treating a byte as a single entity as it does when you make the connection at 2400. I've talked to both Micom and US Robotics and neither had any suggestions or explanations to offer. (Actually the person I talked to at Micom was not familiar with the port selector and gave me information which I later found out was directly contradicted by the manual). If anyone has an explanation for what might cause this I'd be interested in hearing it. Otherwise, just be aware that there seems to be an incompatibility between these two products. Bruce Anderson - Scientific Atlanta, GPD UUCP: ... ncr-sd!sagpd1!banderso
jerry@oliveb.olivetti.com (Jerry Aguirre) (05/11/88)
In article <267@sagpd1.UUCP> banderso@sagpd1.UUCP (Bruce Anderson) writes: >For a couple of days I just used it with a terminal to work on a >remote host and it worked without a flaw. When that job was done I >connected it to our Micom port selector (model Instanet 6000) as a >call out unit. In this configuration it worked fine at 1200 but at >2400 it couldn't receive more than about 10 characters in a row >without starting to garbage some of them. ... >Through trial and error, I discovered that if the remote host is set >to 2 stop bits rather than 1 stop bit, the problem goes away. I had the same problem a few years back. I connected some 1200 BPS modems for dialin to a Micom 600. In the case of continuous output, such as 'cat'ing a file or a long 'ls' the connection would garbage a character every few hundred characters. Setting two stop bits made the problem go away. Eventualy I found an option in the modem labled 'allow overspeed data' that basically allowed 1221 BPS instead of limiting it to 1205 BPS. This fixed the problem without requiring two stop bits to be set. I only tested this for output (from Micom to modem) as I had no need for continuous input in the other direction. My original assumption was that there was a baud rate mismatch in the Micom so that a continuous stream of data would gradually overload the buffer in the modem. (Faster modems don't deal on a bit by bit stream, they actually know about start and stop bits and such.) This explaination was never satisfying because if I connected the modem directly to the host there was no problem. How could the Micom send bytes out faster than it received them from the host? My understanding is that the Micom doesn't have enough buffering in a connection to accumulate a burst of data. Just now it struck me that perhaps the problem really was stop bits. Above a certain data rate the Micom switches from sampling bits to transfering a character at a time. I wonder if, in that mode, it is receiving 1 stop bit from the host and generating 2 stop bits on output to the modem. Definitly something strange going on inside the Micom.
eshop@saturn.ucsc.edu (Jim Warner) (05/11/88)
Subject: Re: US Robotics / Micom incompatibility I have thought about the problems associated with Micom 600/6600's a lot. My understanding is that the quad cards operate in oversampling mode at all baud rates up to and including 2400 and only switch to quasi-synchronous mode at 4800 and 9600 BAUD. This is for backwards compatibility with the old "low speed" quad cards. In compatibility mode, the Micom samples the bit stream aprox 9600 times a second. In every case I looked at, the Micom was running its sampling SLIGHTLY faster than 9600 Hz. About every 1 in 150 characters had 1/8 of at bit (at 1200 BAUD) sliced out of it. That makes the baud rate for that character come out to be 1215. I actually still have oscilloscope photographs that show the time displacement effect from an unsychronized sampling at a less than infinite rate. I think that this may explain why over- speed mode may have worked on your modem. Two stop bits, likewise, gives the modem a chance to get caught up with the speed fluctuations introduced by Micom's sampling. Here at Santa Cruz where our RS-232 lines can get to be up to several thousand feet long, the timing jitter introduced by sampling set the limit on how far/fast we can send data. jim warner
davidsen@steinmetz.ge.com (William E. Davidsen Jr) (05/11/88)
I think that if you look at the Micom you will find that the baud rate is slightly off. We had a similar problem years ago, and that was it. By using 2 stop bits you widen the window, since the problem occurs when a start bit is detected where a stop bit should still be. This resets the clocks on a character basis. You can check this with a scope to be sure, and I hope you will. Most UARTS can run "1-1/2 stop bits", (no I'm am NOT making it up) but I doubt that the modem gives you a way to get to it. As I recall that is the standard for either 110 or 134.5 baud. --- -- bill davidsen (wedu@ge-crd.arpa) {uunet | philabs | seismo}!steinmetz!crdos1!davidsen "Stupidity, like virtue, is its own reward" -me
brian@cbw1.UUCP (Brian Cuthie) (05/12/88)
In article <21560@oliveb.olivetti.com> jerry@oliveb.UUCP (Jerry Aguirre) writes: > >Eventualy I found an option in the modem labled 'allow overspeed data' >that basically allowed 1221 BPS instead of limiting it to 1205 BPS. >This fixed the problem without requiring two stop bits to be set. I >only tested this for output (from Micom to modem) as I had no need for >continuous input in the other direction. Most high speed modems are actually Synchronous modems with Asynchronous converters. This conversion from Async to Sync, and back, is done (usually) at the bit level. The reason that there is an overspeed option is that Synchronous modems are within .01% of spec'd speed. Async tolerances, however, are much more liberal (-2.5% to as high as 3%). This obviates a need for more bandwidth on the Sync side of the channel. To put 3% overspeed Async data on a 0.01% tolerance line, stop bits are deleted in the Synchronous data stream. However, in order to have time to re-insert the stop bits on the receiver side, the clock for the Asynchronous transmitter of the Sync to Async converter (part of the receiver in the modem) must run 3% overspeed. This doesn't always make the DTE equipment happy. Note that the amount of overspeed tolerance need not be a full 3%. Most modems allow several selections since, in effect, you are choosing the speed at which you will throw data at the DTE on the receiving end and not all DTEs can survive too much overspeed. Also note that modems from different manufacturers may not behave as expected when selecting options such as overspeed. It is possible that, although the modem on the transmitting end is deleting stop bits to allow for the overspeed data, that the receiving modem does not know that it must run it's Async converter faster. Thus it is possible to overrun the receiving modem at the *synchronous* level. Hope this hasn't been too confusing... -brian -- Brian D. Cuthie uunet!umbc3!cbw1!brian Columbia, MD brian@umbc3.umd.edu