Subject : Modem Command Summary

Description :


Section 

. Modem 명령어의 일반적인 구조
. 일반적으로 많이 사용되는 명령어와 그 기능
. 모뎀을 테스트하는 명령어와 그 기능
. S레지스터와 그에 따른 명령어
. MNP/V.42/V.42bis 명령어와 그 기능
. 기타 명령어


Content

. Modem 명령어의 일반적인 구조

  AT + 명령어 파라미터 + 숫자

  모뎀명령을 내릴때는 대소문자의 구분이 없고, 또한 AT 이후에 나오는
  스페이스에 대해선 무시하게 된다.

. 일반적으로 많이 사용되는 명령어와 그 기능

 * AT
   이것은 현재 모뎀이 명령을 받아들일 수 있는 상태인가를 알려준다.
   즉, DCE와 DTE가 정상적으로 연결되어 있는 상태에서 'AT'를 입력하면
   모뎀은 'OK'라는 메시지를 화면에 보여준다.

   ATA
   수동응답을 한다(ATD 명령 참조).

 * ATB_
   통신방식 선택.

   ATB0
   모뎀을 CCITT(ITU-T)모드로 설정.

   ATB1
   모뎀을 BELL 모드로 설정.

 * ATD_
   전화걸기.
   구내전화를 사용할 때는 ','나 W를 꼭 사용한다. ex)9W123-4567 or 9,123-4567

   ATDP + 전화번호
   기계식 전화기에서 사용.

   ATDT + 전화번호
   전자식 전화기에서 사용.

   ATD
   이와같이 아무 파라미터를 설정하지 않으면 음성통화를 데이타 통신 상태로
   바꾸거나, 전용회선 작동 모드에서 상대국 모뎀을 호출할때 유용하다.
   가령 A, B 두사람이 전화로 이야기를 하다가 A는 ATD 명령을 사용하고 B는
   ATA라고 입력하면 전화를 끊을 필요없이 음성통화를 데이타 통신상태로 
   바뀔수 있다.

 * ATM_
   스피커 소리 제어.

   ATM0
   모뎀의 스피커 소리가 안나게 한다.

   ATM1
   모뎀이 전화를 거는 상태를 직접 귀로 알아보고 싶으면 이와 같이 설정.

   ATM2
   모뎀 스피커에서 항상 소리가 나도록 한다.

 * ATL_
   스피커 소리 크기 제어.

   ATL0,ALT1,ALT2

 * A/
   바로 전에 했던 명령을 반복한다.

 * +++
   연결모드(Online Mode)에서 명령어모드(Command Mode)로 전환한다
   (자국 모뎀과 타국 모뎀이 연결되어 있는 상태에서).

 * ATO
   명령어모드(Command Mode)에서 연결모드(Online Mode)로 전환한다
   (자국 모뎀과 타국 모뎀이 연결되어 있는 상태에서).

 * ATH_
   후크(Hook)라고 하는 것은 전화 스위치이다. 우리가 후크 스위치를 누르게
   되면 전화수화기를 내려놓은 것과 같다. 우리가 자국모뎀을 타국모뎀과의 
   연결에서 끊으려고 할 때는 우선 '+++'를 입력해서 연결모드를 명령어 모드로 
   바꾼후에 ATH0을 입력하면 모뎀의 연결을 끊을 수 있다.

   ATH0
   모뎀을 ON-HOOK(전화기를 놓은 상태, 전화를 끊은 상태)로 만든다.

   ATH1
   모뎀을 OFF-HOOK로 만든다.

 * ATI_
   이 명려어는 모뎀이 어떤 칩을 사용하는가와 제품번호등를 알려주는 명려이다.
   하지만 이명령어는 모뎀에 따라서 숫자가 다 다르기 때문에 자신의 모뎀 
   메뉴얼을 참조하기 바란다.

 * ATE
   명령어 에코선택

   ATE0
   입력하는 명령어가 화면에 표시되지 않음.

   ATE1
   입력하는 명령어가 화면에 표시됨.

 * ATQ_
   우리가 가령 'ATL2'라는 명령을 내리게 되면 모뎀은 이에 관한 명령을
   수행하게 되고 수행이 이루어지면 'OK' 메시지를 보내주게 된다. 또한
   ATDT로 전화를 걸어서 타국모뎀과 연결이 되면 자국모뎀운 'CONNECT'
   라는 메시지를 자신의 DTE에 보내주게 된다. 만약 ATQ0라고 입력하면 
   이러한 결과 부호를 보여주지 않게 된다. 아마도 대개의 경우는 ATQ1
   일 것이다.

   ATQ0
   모뎀이 응답을 보냄

   ATQ1
   모뎀이 응답을 보내지 않음

 * ATV_
   결과코드 선정

   ATV0
   모뎀이 숫자 응답을 한다.

   ATV1
   모뎀이 문자 응답을 한다.( 대부분이 문자응답으로 맞추어져 있다.)

 * ATW_
   자국모뎀과 타국모뎀과의 교섭(Negotiaion)과정 보여줌.

   ATW0
   접속시 교섭과정을 보여주지 않는다.
   접속 속도는 DTE와 DCE간의 속도.

   ATW1
   접속시 교섭과정을 보여준다.

   ATW2
   접속시 교섭과정을 보여주지 않는다.
   접속속도는 자국 모뎀과 타국모뎀의 속도.

 * ATX_
   결과코드 제어

   ATX0
   모뎀의 결과 코드 중에서 OK, CONNECT, RING, NO CARRIER, ERROR
   (결과 코드 0에서 4에 해당)인 기본적인 결과만 제공하도록 한다.

   ATX1
   모뎀의 기본 결과 코드(결과 코드 0에서 4)와 접속 속도를 제공한다
   (예, CONNECT 1200, CONNECT 2400).

   ATX2
   모뎀의 기본 결과 코드, 접속속도 그리고 DIALTONE( 전화기를 들었을 때
   뚜~우~하고 나는 소리)신호를 제공한다.

   ATX3
   모뎀의 기본 결과 코드, 접속속도 그리고 BUSY(전화를 걸 때 통화중이면
   나는 신호) 신호를 제공한다.(구내 전화선이 연결되어 있는 경우에는
   이것으로 맞추어 놓으면 된다.)

   ATX4
   모뎀의 기본 결과 코드, 접속속도, DIALTONE 신호, BUSY 신호 모두를
   제공한다.

 * AT&F
   모뎀의 모든 파라미터를 공장 출하시 기본 상양으로 다시 부름.

 * AT&L_
   선로선택

   AT&L0
   다이얼업 선택

   AT&L1
   전용선 선택

. 모뎀을 테스트하는 명령어와 그 기능

 * AT&T_
   - Local Digital Loopback Test
   - Local Analog Loopback Test
     가장 많이 사용, ALB버튼을 누르거나 AT&T1을 입력하면 된다.
     즉, 명령어 모드에서 연결 모드로 진입하게 되는 것이다. 그리고
     입력하는 문자가 화면에 잘 나온다면 모뎀은 정상적으로 작동하는 것이다.
   - Remote Digital Loopback Test
   - Remote Analog Loopback Test

   AT&T0
   모뎀 테스트를 중단함.

   AT&T1
   
   AT&T3
   Local Digital Loopback Test
   
   AT&T4
   타국모뎀이 요청하는 Remote Digital Loopback Test를 허가.

   AT&T5
   타국모뎀이 요청하는 Remote Analog Loopback Test를 불허.

   AT&T6
   Remote Digital Loopback Test

   AT&T7
   Remote Digital Loopback과 자가 진단 테스트를 수행함.

   AT&T8
   Remote Analog Loopback과 자가 진단 테스트를 수행함.


. S레지스터와 그에 따른 명령어

 * ATSr?(r = 해당 S레지스터 번호) : 레지스터값 읽기
 
 * ATSr=n(r = 해당 S 레지스터 번호) (n = 바꾸려는 값)

 * 주요 S레지스터 설명

   S0 : Auto Answer Ring
   모뎀이 알아서 전화를 받게하는 레지스터이다.
   가령 S0를 3으로 설정하면 모뎀이 벨이 세번 울린 후에 전화를 받게 된다.
   기본값은 0인데 모뎀이 전화를 받지 않도록 한다.

   S2 : Escape Code Character
   S2는 escape character의 ASCII값에 해당한다. 기본값은 43이고 이것에
   해당하는 문자는 '+'이다. 이것은 0에서 255까지의 어떤 값으로 변경될
   수 있다. 127보다 큰 값은 빠져 나오기 기능을 사용하지 못하고 명령어
   모드로 되돌아오는 것을 방지한다.

   S3 : Carriage Return Character
   레지스터 S3은 Carriage Return 문자의 ASCII 코드값을 설정한다.
   기본값은 13이다.

   S4 : Line Feed Character
   라인 피드 문자의 ASCII 코드값을 설정한다. 기본값은 10이다.
 
   S5 : Backspace Character
   백스페이스 문자의 ASCII 코드값을 설정한다. 기본값은 8이다.

   S6 : Dial Tone Wait Time
   레지스터 S6은 Dial 명령어에서 첫번째 숫자를 다이얼하기 전에 얼마나
   오랫동안 Off Hook해야 하는지를 설정한다. 기본값은 2초이다.

   S7 : Remote Carrier Wait Time
   레지스터 S7은 모뎀이 끊어지기 전에 타국 모뎀의 Carrier 신호를 몇초 
   동안 기다려야 하는지를 설정한다. 기본값은 45초이다. 모뎀이 지정된
   시간안에 Carrier를 검출하면 CONNECT 응답을 보내고 연결 모드로 들어간다.
   지정된 시간 안에 Carrier를 검출하지 못하면 NO CARRIER응답을 보내고
   다시 명령어모드로 되돌아온다.
   참고로 Carrier를 검출했다는 것은 상대방의 고유 주파수(상대측 반송파)를
   검출했다는 것을 뜻한다.

   S8 : Comma Pause Time
   레지스터 S8은 ATDT 명령을 할 때 ','에 대해서 모뎀이 몇초나 기다려야
   하는지를 설정하는 레지스터이다. 기본값은 2초이다. 외부로 전화를
   걸때 '9'를 누르고 전화해야 하는 학교나 회사에서 사용할 필요가 있는
   레지스터이다.

   S9 : Carrier Detect Response Time
   레지스터 S9는 탁국 모뎀을 인식하기 위해서 Carrier가 얼마동안 나타나야
   하는지를 지정한다. 가령 작국 모뎀에서 타국 모뎀이 연결되어 있는가를
   검사하려고 하면 S9레지스터의 시간만큼 Carrier가 존재하지 않으면
   자국 모뎀이 탁국 모뎀이 연결되어 있는가를 검사하려고 할 때 실패하게 된다.

   S10 : Carrier Loss Time
   타국 모뎀에서 보내 오는 Carrier가 S10레지스터의 값만큼 중단되면 모뎀은
   끊어진다.

. MNP/V.42/V.42bis 명령어와 그 기능

 * AT\N_
   MNP 기능을 사용할 것인지를 제어한다.

   AT\N1
   Normal 모드로 연결을 한다. 데이타 버퍼링을 제공한다.

   AT\N2
   MNP class 2~4의 에러 교정 방식을 사용한다. 상대측 모뎀이 MNP class 2~4를
   지원하지 못할 경우 연결을 끊는다.

   AT\N3
   AT\N2와 같으나 MNP를 지원하지 못하면 Normal 모드로 연결한다.

   AT\N4
   V.42 에러 교정방식을 사용한다. 상대측 모뎀이 V.42를 지원하지 못할 경우
   연결을 끊는다.

   AT\N5
   V.42에러 교정 방식을 사용한다. 상대측 모뎀이 .42를 지원하지 못할 경우
   MNP class 2~4 기능을 가지고 있는지 확인한다. MNP 기능마저 가지고
   있지 않을 경우 연결을 끊는다.

   AT\N6
   AT\N5와 같으나 상대측 모뎀이 V.42, MNP 기능을 가지고 있지 않으면
   Normal 모드로 연결한다.

 * AT\A_
   MNP 사용시 한 블럭의 크기 결정. MNP class3에서는 한 블럭의 크기를
   64바이트로 고정시킨다. \A 기능을 이용하면 class 4의 adaptive block 
   기능을 이용하여 블럭의 기본 크기를 가변적으로 설정할 수 있다.

   AT\A0
   64 byte

   AT\A1
   128 byte

   AT\A2
   192 byte

   AT\A3
   256 byte

 * AT\L_
   MNP 연결을 스틀림 모드로 할 것인지 블럭 모드로 할 것인지를 조절한다.

   AT\L0
   스트림 모드

   AT\L1
   블럭 모드

 * AT%C_
   데이타 압축을 사용할 것인지를 결정.
   참고로 압축방식은 에러 수정 프로토콜의 형태에 달려 있다. 에러 정정을
   V.42로 하면 압축을 .42bis를 사용하고 에러정정이 MNP class 2~4에 연결되어
   있으면 MNP class 5를 사용할 것이다.

   AT%C0
   데이타 압축을 하지 않는다.

   AT%C1
   데이타 압축을 한다.

 * AT\J_
   DTE 자동 등급 조정의 가능/불능 선택

 * AT\J
   명령은 직력 포트를 통해서 컴퓨터와 데이타를 교환하는 비율을 어떻게
   조정할 것인가를 모뎀에 지시한다. AT\J0으로 설정하게 되면 자국 모뎀과
   타국 모뎀의 전송속도와 관계없이 컴퓨터와 모뎀간의 높은 전송 속도로
   설정할 수 있다. 즉, AT\J0으로 설정한 경우에는 자국 모뎀과 타국 모뎀은
   14.4bps로 설정이 되어 있더라도 컴퓨터와 모뎀은 57600bps로 설정할 수
   있다. 그러므로 압축의 이점을 살릴 수 있는 것이다. 통신 프로그램이
   모뎀의 응답을 잘 인식하고 정확한 전송비율로 변경하려고 하면 AT\J1로
   설정하면 된다.

   AT\J0
   DTE 라인 스피드 조정 불능

   AT\J1
   DTE 라인 스피드 조정 가능


 * AT\V_
   확장된 응답의 형태

   AT\V 명령어는 CONNECT/ MNP/ V.42와 같은 확장된 응답을 사용할 것인지
   아닌지를 결정하고 DCE의 속도를 보고할 것인지 DTE의 속도를 보고할 것인지를
   결정한다.

   AT\V0
   명령어의 확장된 응답을 사용하지 않고 DCE 속도로 보고한다.

   AT\V1
   명령어의 확장된 응답을 사용하고 DCE 속도로 보고한다.

   AT\V2
   명령어의 확장된 응답을 사용하지 않고 DTE 속도로 보고한다.

   AT\V3
   명령어의 확장된 응답을 사용하고 DTE 속도로 보고한다.

. 기타 명령어

 * AT&H
   모뎀 명령에 대한 설명을 보여준다.

 * AT&V
   모뎀이 현재 파라미터 값과 S레지스터값 보기, 현재 모뎀의 파라미터 값이
   어떤 값으로 설정되어 있고, S레지스터의 값이 얼마인지를 보려면 이 명령을
   이용한다.

 * AT&W_
   비휘발성 메모리에 ACTIVE PROFILE을 저장

   AT&W0
   '저장장소 0'에 ACTIVE PROFILE을 저장

   AT&W1
   '저장장소 1'에 ACTIVE PROFILE을 저장

 * ATZ_

   ATZ0
   '저장 장소 0'에 있는 값을 ACTIVE PROFILE로 설정

   ATZ1
   '저장 장소 1'에 있는 값을 ACTIVE PROFILE로 설정

 * AT&Z_
   비휘발성 메모리에 전화번호를 저장한다. 모뎀에 비휘발성 메모리에 2개에서 
   4개까지의 전화번호를 저장할수 있다. 전화번호를 입력하는 방법은
   AT&Zn=전화번호  ex)AT&Z0=01410
   이다. n은 모뎀이 4개의 번호를 저장할 수 있으면 0에서 3까지이고, 2개의
   번호를 저장할 수 있으면 0에서 1까지이다.
   모뎀에 저장되어 있는 전화번호를 가지고 전화를 걸려면
   ATDS=n   ex)ATDS=0
   로 입력하면 된다.



Revision History

작성일자 : 96.06.14
작성자 : 이민호

수정일자 : 
수정자