🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sources.testers
3 messages
3 total messages Started by Anthony Rumble Tue, 16 Nov 1993 22:49
Linux Modem Server 2.09beta1 available for Beta Testing
#45
Author: Anthony Rumble
Date: Tue, 16 Nov 1993 22:49
104 lines
4204 bytes
Linux Modem SERVER version 2.09beta1

Now available for BETA testing.

AVAILABLE:

yarrina.connect.com.au:/tmp/mdm/mdm-2.09-beta1.tar.gz

WHAT IS IT:

A replacement for GETTY/UUGETTY.
Handles dialins/dialouts on your Unix System with the DUEL TTY system

FEATURES:

*EASY* config files.
Much better logging.
Debug modes where you can see all the data being sent/recieved
while initialising.
Multiple configs, one for each line.
Specifically for HAYES compatable intelligent modems.
Fully UUCP aware, will allow UUCP or EMSI mailers to dial out
correctly, and also allows Termial Packages to use the line.
(Eg Xcomm, kermit, minicom, Seyon).
DOESN'T NEED or USE LOCK FILES!!
Has support for 57600 and 115200 speeds.
Can be used with High speed Constant speed modems or with
variable speed modems.

COPYRIGHTS:

Please read COPYING for more details on the licence of this product.

MISC:

**PLEASE** DON'T send this out with any changes, send me patch
files if you fix or modify anything, and I will release
it with your patches, and recognition of the patch.

It is designed to do what uugetty does not.

Compiling and Installation

just type 

make install - To make and install the files
make - To make the binary

To make the program, and install the files.

I use GCC 2.4.3, with 0.99pl12 kernal.

Edit the Makefile to select what log file you want to use
and if you want device logging.

-DDEBUG will send a lot of information to the logfile and
the logging device, but is recommended until you are sure
everything is working.

There are a few config files that are used, the main GLOBAL
configuration fileis in /etc/default/modem.

It is used for all lines, unless a seperate config file is present
which will overide any options.
Have a look at this file for details of the options.

To make a seperate config for a different tty, just make a tty?? file
in the /etc/default directory with the overiding commands in it.

an example is in /etc/default/ttyS1

Which is loaded for the modem server on ttyS1

Command line parameters :-

/etc/modem tty speed login

eg:

/etc/modem ttys1 2400 bbs

This will Initialise the modem at 2400 baud. (Configuration files
can override this option). and will login as BBS when connected.
If you leave the login option blank, it will execute login
to allow the user to login as normal.

TODO: 

Option to make it shut the speaker up at certain times..
Send a "WAKEUP" to the modem ever half an hour or so..
(Eg AT|) to make sure the modem has not died.
adding mtmp for keeping the current speed/rel of a connected tty.
dialin server type support (Like a real annex) :)
probably plenti of other nice things...

If you have any probs, additions, fixes mail me
at  :-

root@lsupoz.apana.org.au

-- 
root@lsupoz.apana.org.au   APANA Sydney UUCP regional hub (feeds available)
Anthony Rumble             Linux Support OZ (02) 418-8750 v.32bis - 3 lines
Voice (02) 418-8220	   For information on APANA mail info@apana.org.au
Linux Modem Server 2.09beta2 patch
#46
Author: Anthony Rumble
Date: Wed, 17 Nov 1993 00:17
129 lines
4598 bytes
Anthony Rumble (smilie@lsupoz.apana.org.au) wrote:
: Linux Modem SERVER version 2.09beta1

Oooops.. I made a dreadfull mistake.. 57600 was 56700..

anyway.. heres a patch to fix it..
if you want the full file it's available under
yarrina.connect.com.au:/tmp/mdm/mdm-2.06-beta2.tar.gz

*** ../modem.old/modem.c	Tue Nov 16 22:55:12 1993
--- modem.c	Wed Nov 17 10:54:41 1993
*************** eg:
*** 176,181 ****
--- 176,183 ----
  /* Macros */
  
  #define LOG_TTY flog("%u VMIN = %u, VTIME = %u, ICANON = %u, ISIG = %u\n", __LINE__,ti.c_cc[VMIN], ti.c_cc[VTIME], ((ti.c_lflag&ICANON) ? 1 : 0), ((ti.c_lflag&ISIG) ? 1 : 0))
+ #define LOG_FLAGS flog("i%u o%u c%u l%u\n", ti.c_iflag, ti.c_oflag, ti.c_cflag, ti.c_lflag);
+ #define LOG_SPEED flog("ospeed = %u ispeed = %u\n", cfgetospeed(&ti), cfgetispeed(&ti));
  
  /* File scope variables */
  
*************** long setgetbaud(long s)
*** 205,210 ****
--- 207,215 ----
  {
  long baudrate = 0;
  struct termios tt;
+ #ifdef DEBUG
+ struct termios ti;
+ #endif
  #ifdef linux
  static struct serial_struct ser_io;
  #endif
*************** if (s != 0) 		/* If setting baudrate... 
*** 254,260 ****
  			#endif
  		break;
  		#ifdef linux
! 		case 56700:
  			baudrate = B38400;
  			ser_io.flags &= ~ASYNC_SPD_MASK;
  			ser_io.flags |= ASYNC_SPD_HI;
--- 259,265 ----
  			#endif
  		break;
  		#ifdef linux
! 		case 57600:
  			baudrate = B38400;
  			ser_io.flags &= ~ASYNC_SPD_MASK;
  			ser_io.flags |= ASYNC_SPD_HI;
*************** if (s != 0) 		/* If setting baudrate... 
*** 266,271 ****
--- 271,277 ----
  		break;
  		#endif
  		default:
+ 			flog("ERROR: Bad Speed %u\n", s);
  			return (-1);
  		}
  
*************** if (s != 0) 		/* If setting baudrate... 
*** 274,279 ****
--- 280,290 ----
  
  	tcsetattr(0, TCSADRAIN, &tt);	/* Set the speed and others */
  
+ 	#ifdef DEBUG
+ 	tcgetattr(0, &ti);
+ 	LOG_SPEED;
+ 	#endif /* DEBUG */
+ 
  	#ifdef linux
  	if (baudrate == B38400)
  		if (ioctl(0, TIOCSSERIAL, &ser_io) < 0)		/* set special speed */
*************** if (s != 0) 		/* If setting baudrate... 
*** 281,286 ****
--- 292,302 ----
  			flog("ERROR: Could not set linux serial info (Old Kernel?)");
  			return -1;
  			}
+ 	#ifdef DEBUG
+ 	tcgetattr(0, &ti);
+ 	LOG_SPEED;
+ 	#endif /* DEBUG */
+ 
  	#endif /*linux*/
  	return s;
  	}
*************** else
*** 315,321 ****
  			return 115200;
  		else 
  			if ((ser_io.flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI)
! 				return 56700;
  			else
  			#endif /*linux*/
  				return 38400;
--- 331,337 ----
  			return 115200;
  		else 
  			if ((ser_io.flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI)
! 				return 57600;
  			else
  			#endif /*linux*/
  				return 38400;
*************** dup2(0, 2);
*** 985,991 ****
  #ifdef DEBUG
  tcgetattr(0, &ti);
  LOG_TTY;
! flog("i%u o%u c%u l%u\n", ti.c_iflag, ti.c_oflag, ti.c_cflag, ti.c_lflag);
  #endif
  
  /* Execute login */
--- 1001,1008 ----
  #ifdef DEBUG
  tcgetattr(0, &ti);
  LOG_TTY;
! LOG_FLAGS;
! LOG_SPEED;
  #endif
  
  /* Execute login */

-- 
root@lsupoz.apana.org.au   APANA Sydney UUCP regional hub (feeds available)
Anthony Rumble             Linux Support OZ (02) 418-8750 v.32bis - 3 lines
Voice (02) 418-8220	   For information on APANA mail info@apana.org.au
Linux Modem Server 2.09beta2 notes
#47
Author: Anthony Rumble
Date: Thu, 18 Nov 1993 00:34
16 lines
1731 bytes
A few things..

1: You have to make your modem answer the line..
  Eg Set ATS0=1

2: init should be the only program to invoke mdm
   So.. if your running a BSDish init, you add this to your inittab

ttyS1:vt100:/etc/modem ttyS1 2400

(Note.. the 2400 line is not used.. but it needs it anyway..
it's traditional for gettys)
-- 
root@lsupoz.apana.org.au   APANA Sydney UUCP regional hub (feeds available)
Anthony Rumble             Linux Support OZ (02) 418-8750 v.32bis - 3 lines
Voice (02) 418-8220	   For information on APANA mail info@apana.org.au
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads