다음 이전 차례

1. Introduction

mgetty는 unix환경에서 모뎀과 팩스모뎀을 가장 잘 활용하게 해줍니다. outgoing call들을 방해하지 않고 incoming call들을 다룹니다. 모뎀의 fax class가 2 또는 2.0이면 fax를 받을수 있게 해줍니다.

sendfax는 fax를 보내는 standalone backend program입니다.

이 매뉴얼은 package를 여러 os와 modem에 어떻게 설정하고 설치하며, 프로그램들을 어떻게 사용하는 지를 설명합니다.

1.1 Copying conditions and (lack of) warranty

WARNING: 이 패키지는 아직 BETA software이고, 전혀보증되지 않았으니 귀하의 책임하에 사용하십시오. harddisk에 있는 data가 전부 지워지거나, hardware가 망가지거나, kills your dog하는 것들은 전부 귀하의 문제입니다. 다만, 저와 수많은 다른 사람들에게는 잘 되었습니다.

mgetty+sendfax package는 Copyright (C) 1993-1997 Gert Doering입니다.

귀하께서는 mgetty+sendfax를 다시 배포하고, 고치고, 다른 program에 포함시킬 수 있지만, 밑에서 설명한 바와 같이 mgetty를 판매하여 이익을 보지 마시고, mgetty source를 그대로 포함시키시고, 제 이름을 빼지 마셔야 합니다. 수정본을 배포하시거나 mgetty code를 귀하의 project에 포함시키실 때에는 다음의 문구를 분명히 적어주시기 바랍니다.

``... derived from mgetty+sendfax by Gert Doering.''

program이 잘 실행되고, 제 노고가 값지다고 여기시면, 원하시는 만큼 기부하셔도 됩니다.

위의 "mgetty를 판매하여 이익을 보지 마시고"란 말은 다음과 같습니다. mgetty를 보조수단으로 해서 돈을 벌 수 있고, CD-ROM collection 등에 다른 것들과 함께 mgetty를 포함시켜서 배포할 수는 있지만, mgetty를 faxmodem과 함께 팔면서 "unix fax package""unix software포함"이라고 하거나, 조금 개선하고서 많은 돈을 받고 팔거나 하시면, 저에게 이익을 나누어 주시기 바랍니다. 이해되지 않으시면 저에게 여쭤주십시오.

이 license의 제한사항이 맘에 들지 않으실때 언제든지 연락을 주시면 공동으로 좋은 방책을 찾을 수 있겠습니다.

이 license는 release date이후 5년만에 소멸되어 이 mgetty+sendfax release는 public domain으로 되고, 누구든지 code를 원하는 대로 할 수 있습니다.

1.2 Features of mgetty and sendfax

1.3 Supported systems and modems

다음의 system에 설치하고 움직이는데 성공했습니다.

         SCO Unix 3.2.1 (ODT 1.0)           (well tested)
         SCO Unix 3.2.4 (ODT 2.0 + 3.0)     (very well tested)
         SCO Open Server 5.0                (well tested)
         Linux (everything from 0.99pl1 up) (very well tested)
         ISC Unix 3.0                       (tested)
         SVR4 Unix                          (well tested)
         SVR4.2 Unix                        (needs more testing)
         AT&T 3B1 3.51m                         (well tested)
         HP-UX 8.x and 9.x                  (well tested)
         AIX 3.2.5, 4.1 and 4.2             (very well tested)
         SunOS 4                            (well tested)
         Solaris 2.x                        (well tested)
         NetBSD / FreeBSD (all versions)    (very well tested)

그밖의 Unix에서도 termio.h나 termios.h가 있으면 가능합니다. 결과가 가장 좋게 나에게 하려면 select(s) 또는 poll(s) 등의 library function을 쓰시라고 권장합니다. 그러나 system이 여의치 않으면 다른 방법도 있습니다. (Warning: Unix SVR3.1이전의 system에서 poll()을 쓰면 tty device를 작동시키지 못하게 되니 사용하지 마십시오.

fax mode에서는 지금까지 다음의 modem들과 잘 어울렸습니다. (다 적지는 못했습니다.)

         ZyXEL U1496 (various ROM releases)
             (very well tested, a couple of problems remain, depending on the
              ROM release)
  
         ZyXEL 2864/2864I (various ROM releases)
             (very well tested, some firmware versions have problems)
  
         USR Courier/Sportster series
             (well tested, Couriers work great, Sportsters are ok)
  
         MultiTech (various models)
             (tested, works very well, very good fax implementation)
  
         SupraFAX v32bis
             (tested, works well, no fax polling available)
  
         GVC FM144/+
             (tested, works well, no fax polling available)
  
         TKR DM-24VF+ (Deltafax)
             (tested, works quite well)
  
         Zoom V.FAST 24K/28K
             (tested, works, some problems with fax/data distinction)

모든 class 2 faxmodem에 적용됩니다. faxrec.c에 의한 page의 첫부분에서 DC2 character가 보내지는데, (매우 오래된 standard draft를 구현하는) 구식 class 2 modem은 이것을 XON으로 바꿔줘야 합니다. ( modem section 참조)

data mode에서는 Hayes 호환인 modem이면 다 잘됩니다.

1.4 Configuration and installation

compile은 매우 쉽습니다. policy.h-dist를 policy.h로 복사한 후에 그 file에 있는 comment를 보고 편집해서 local policy option을 설정하십시오.

다음에는 Makefile을 편집해서 installation path, system define, 그리고, system에 의존적인 library를 표시하십시오 . (그 파일내에 설명되어 있습니다.)

make로 build하고, make install로 설치하십시오.

compiler가 RCS용으로 넣은 #ident줄때문에 문제가 있다고 하면 make noident로 build하면 될것입니다.

unresolved symboss라는 error message가 link시에 생기면 Makefile에서 -DUSE_SELECT 또는 -DUSE_POLL flag을 정의해줘서 select(s)나 poll(s) 등의 system call이 있다는 것을 package에 알려줘야 합니다. (잘 모르겠으면 error가 없어질 때까지 둘 다 해보십시오.) select나 poll과 상관없으면, 어느 library를 link할 지 systems man page를 참고하여 LIBS에 -l <library>라고 적당히 넣어주세요.

select(s) call이나 poll(s) call 등은 다른 process가 전화를 걸려고 할 때 character를 먹어치우지 않도록 하는 유일한 방법이기 때문에 system에 이들이 둘 다 없으면 완전히 동작하지는 못하게 됩니다.

그렇더라도 -DUSE_READ라고 Makefile에 명시하면 다른 program이 전화를 걸려고 할 때 적어도 한 개의 character를 먹어치우지만 사용할 수는 있습니다. 예를 들어서 만일 CONNECT string이 엉망이 되면 심각하게 나쁜 결과가 되겠지만, 대부분의 경우에 먹어치우는 것은 cr이나 nl 또는 modem이 반향시키는 명령의 일부분입니다.

mgetty와 sendfax를 컴파일하면서 (Unix류의 system에서만 -- MS-DOS 나 Window는 지원되지 않는다.) 어떤 문제가 있으면 제게 연락을 주십시요. 그러나 먼저 이 설명서를 읽으십시오!

1.5 Runtime configuration: Overview

mgetty와 sendfax가 있는 그대로 사용되면, policy.h로부터 default로 compile된 것을 이용합니다.

mgetty.config ( runtime-mgetty section 참조) 과 sendfax.config ( runtime-sendfax section 참조) 등의 설정파일이 있고 읽을 수 있으면, run-time 설정을 거기에서 얻습니다. 거기에 명시되지 않은 항목들은 compile시 입력된 default에서 얻어집니다. 명령행에서 주어지는 switch는 언제나 이들 설정값들을 대체합니다. 설정 file들은 보통 /usr/local/etc/mgetty+sendfax/에 있습니다.

명령행 인수들(자세한 것은 mgetty(1)과 sendfax(8) man pages를 보십시요.)을 명시하면 이것들은 compile된 그리고 설정 file의 default를 대체합니다.


다음 이전 차례