dennis@uw-warp.UUCP (Dennis Gentry) (01/28/88)
In-reply-to: Firmware Commando's message of Wed, 27 Jan 88 08:51:48 PST Subject: This is great! Stu, I started just answering your question, but then I got into a complete explanation, so I think I'll post it. Here's your answer. It's a Comark "desktalk II," 2400 baud, without error correction. I got it by calling 1-800-USA-FLEX, and it cost $175. The error correcting model costs $75 more. Delivery time was about 6 days, I think. I read in comp.dcom.modems that someone got one that was died within 3 weeks, and his friend's was DOA, but he also said that they refunded his money promptly. I suspect that an exchange within the (2 year?) warrantee period would also be prompt. My brother has had one for about a year now with no problems. He only uses it occasionally, and mine will all be on 24 hours a day, but if this one holds up, I plan to order 4 more, WITH error correction for tranya and balok (the VMS and Unix microvaxes at work). So far, I like it. The documentation is short, but clear. The manual IS missing what the factory default settings are, and although you can set the modem to factory defaults with the "AT&F" command, you can never find out what they are. As far as I can tell, there's no way to find the values of the &C and &D "registers," among others. (Those were the ones that I cared about). So I just set them explicitly to the values I wanted and saved them in the nonvolatile memory with the "AT&W" command. [Note: those of you without 3B2's can probably skip the rest of this article.] For those of you that are curious, I set things using the following sequence of commands: All DIP switches down. AT&F (get factory settings) ATL0 (set speaker to lower volume) ATS0=1 (answer after one ring) AT&C2 (Hold DCD high always, except for 3 seconds after call ends) AT&D2 (Hang up when computer drops DTR) ATQ1 (no responses, i.e., no "RING" on incoming calls) AT&W (write settings to non-volatile memory) It took a "special" cable to interface properly to the warp (a 3B2). AT&T has these weird (but kind of nicer than ordinary RS-232) cables that have end-connectors for either terminal/printers or for modems. Since I didn't have one for a modem, and the "modem hood" wouldn't necessarily have been right anyway, we just rewired a "terminal/printer" hood. You can just pop the plastic shell open and rearrange the wires. It's pretty easy to do with a small screwdriver, but you want to check continuity afterwards and jam the wires down into the little slots again if you didn't make good contact. The wiring change from an ordinary AT&T "terminal/printer" cable hood is that pins 8 and 20 (green and blue) get swapped, and pins 6 and 20 are no longer strapped together. Also, 2 and 3 (black and another blue) should be swapped. You might be tempted to do this with a null modem adapter and not worry about 6 and 20, but I suggest that you not do this. If you leave pins 6 and 20 connected, (like they are inside the ordinary hood), your computer and the modem will be fighting each other to drive line levels. Neither will win, and you might blow a line driver chip eventually. (I didn't when I had it connected that way for a short time). It appears that the 3B2 only looks at one status line from the modem, on pin 20, I believe. So we have this modem configured to keep that line high all the time, except just after a call terminates (or if the modem is turned off or disconnected). It's sort of a "DCD" and "DSR" rolled into one. This introduces the problem that when someone calls the modem, it obligingly sends the string "RING" to the computer. Since the computer sees the "combination modem status line" high, the computer echoes back to the modem "login: RING," so the modem assumes that it should be in command mode, and hangs up on the caller. If I could get the 3B2 to look at another line (like a real DCD), it should ignore any input until AFTER a the call is answered and a carrier is detected, and both dial in and out would work fine. The workaround is to turn off modem responses with the "ATQ1" command and save this setting. Then the "combination modem status line" can be kept high to enable outgoing calls, and incoming calls get answered properly. Also, the modem has this nifty AT&C2 feature that lets it drop DCD (which the computer sees as its "combo status line") for three seconds after a call disconnects, so that you get logged out properly if you just hang up (or are interrupted by call-waiting, or . . .). So now everything works fine, except that when dialing out, there is no response to your dialing commands, and no way of knowing (without listening to the modem, and uucp can't do this) whether the call connected. There are two ways to get around this. One is to just wait a while and assume it connected. That is good enough for uucp, since the caller script will fail and it will drop DTR, thus resetting the modem if it doesn't connect. The other is to send ATQ0 to enable modem responses, dial the number and connect, then send a delay, "+++", delay, ATQ1, and ATO. The problem with this is that if you don't connect, the ATQ1 will never get sent, and the modem will be unusable for incoming calls until it gets reset. So I just wait. If you want to mess with either method, here is an excerpt from our Dialers file: # Extremely tricky comark dialer; turns off modem responses after connect. # This seems to work, but requires initial login failure due to +++. # due to the +++ getting sent right when the login: appears. #comark =,-, "" \dATZ "" ATQ0 OK\r ATDT\T CONNECT \d+++\d\c OK\r ATQ1 "" ATO "" # Less tricky comark dialer; just waits, assuming it will connect. # if the system being called is very slow to answer, this won't work. comark =,-, "" \pATZ "" \EATDT\T "" \d\d\d\d\d\d\d\d\c "" That's probably more than you wanted to know. If anyone has questions, I'll try to answer them, although I'm totally busy as usual. -- Dennis. ------- arpa: uw-nsr!uw-warp!dennis@beaver.cs.washington.edu usenet: {ihnp4|decvax|...}uw-beaver!uw-nsr!uw-warp!dennis