paul@vixie.UUCP (Paul Vixie Esq) (12/31/87)
[this is from my archives; I wrote it up while I had a 2000 here, and never sent it out anywhere. please let me know if any of it is incorrect. -vix] ----------------------------------------------------------------------------- Adding a modem to a Vaxstation 2000 running Ultrix 2.0-1 Paul Vixie, 2-October-1987 Use a Hayes or compatible modem. Must respond to DTR from the 2000, and provide DCD to the 2000 based on presence of carrier (note: many Hayes compatible modems hose on one or both of these requirements). Configure your kernel with 'flags 0x0b' on the 'ss0' line. The default is '0x0f'. These flags control the 2000's insensitivity to DCD -- each bit represents one port. 0x0f = (1 1 1 1), whereas 0x0b = (1 0 1 1). Counting from the rightmost bit being zero, using 0x0b instead of 0x0f makes tty02 sensitive to DCD. tty00 is used for the keyboard; tty01 is used for the mouse. tty02 is the DB25 connector on the back panel, and has modem control. tty03 is best-used only for printers, since if BREAK is received by the 2000 on this line, the system will halt. You need a BCC08 cable to use tty03. Once you've configured the kernel and rebooted with it, edit /etc/acucap. Delete any existing 'hayes' entry and add the following instead: hayes|h1200|smartmodem|HAYES smartmodem 1200 Touch tone:\ :cr:hu:ls:re:sd#250000:dd#25:da#40000000:fd#40:\ :ss=\d+++\dATH0E0Q0\r:sr=OK\r\n:di=ATDT:dt=\r:rs=,: (Note that this must be flush with the left margin in /etc/acucap; the tabs I used above should be deleted if you merge this text into /etc/acucap). Modify /etc/remote to look more or less like what's below. Again, if you merge text straight from this file, remove my leading tabs from each line. dial2400|2400 Baud attributes:\ :dv=/dev/modem:br#2400:at=hayes:du: dial1200|1200 Baud DF03 attributes:\ :dv=/dev/modem:br#1200:at=hayes:du: dial300|300 Baud DF03 attributes:\ :dv=/dev/modem:br#300:at=hayes:du: UNIX-2400|2400 Baud dial-out to another UNIX system:\ :el=^U^C^R^O^D^S^Q@:ie=#%$:oe=^D:tc=dial2400: UNIX-1200|1200 Baud dial-out to another UNIX system:\ :el=^U^C^R^O^D^S^Q@:ie=#%$:oe=^D:tc=dial1200: UNIX-300|300 Baud dial-out to another UNIX system:\ :el=^U^C^R^O^D^S^Q@:ie=#%$:oe=^D:tc=dial300: tip0|tip1200:tc=UNIX-1200: tip300:tc=UNIX-300: tip2400:tc=UNIX-2400: cu0|cu300:tc=UNIX-300: cu1200:tc=UNIX-1200: cu2400:tc=UNIX-2400 modem-2400:dv=/dev/modem:br#2400: modem|modem-1200:dv=/dev/modem:br#1200: ucb-2400:pn=6426092:br#2400:tc=UNIX-2400: ucb|ucb-1200:pn=6429737:br#1200:tc=UNIX-1200: arpa-2400:pn=6427750:br#2400:tc=UNIX-2400: arpa|arpa-1200:pn=6427750:br#1200:tc=UNIX-1200: Check to see that you have a /usr/spool/uucp directory, and that it is owned by 'uucp'. You need this to use 'tip', even if you don't plan to use uucp. If you don't have this, type mkdir /usr/spool/uucp chown uucp /usr/spool/uucp chmod 755 /usr/spool/uucp With these changes made, you should be able to 'tip ucb' and get connected to the port selector. (You will, of course, have to plug your modem in and turn it on). The cable to the modem should carry TX, RX, DCD, DSR, DTR, SG. A flat, 25-pin ribbon cable will do nicely. Do not use a null-modem (swapped) cable. If all you want to do is dial out, you're done. If you want to allow dialin access, you have a few more steps. First, edit /etc/ttys to have this (and ONLY this) line describing tty02 (once again, remove my leading tab): tty02 "/etc/getty d1200" vt100 on modem shared secure This makes the line a 1200-baud dialin. Actually, it starts up at 1200 baud for each call, but pressing BREAK will cycle it to various speeds like 110, 150, and 300 baud. See /etc/gettytab for details. You can add your own entries to /etc/gettytab if you want to allow 2400-baud dialups. The 'modem' in the above line tells /etc/getty that the line is a modem and that it should wait for carrier before printing the login: prompt. The 'shared' tells getty that you want to be able to use 'tip' on the line when no incoming call is in progress. The 'secure' tells 'su' that the line is a secure one and should be allowed to 'su' to root. After editing /etc/ttys as shown above, type kill -1 1 This makes Ultrix re-read the /etc/ttys file and do whatever new things you've added. That's it. Note that the SS driver works differently in VAXSTATION mode than in MICROVAX mode -- i.e., since the keyboard and mouse need to be sampled very very quickly, the SILO code is disabled for the workstation. Therefore when you have 1200 baud data coming into the port, Ultrix is seeing 120 interrupts per second, which bogs the machine horribly. Someone needs to go into the SS driver source and hack it to use SILO on the modem port.. But then, if that were easy, DEC would have done it..