Serial Console - 윈디하나의 솔라나라

목차

개요

케이블링

직렬포트는 25핀 포트와 9핀 포트가 있다. 요즘 주로 사용되는건 9핀 포트이다. 각 포트의 핀과 전선을 연결하는것을 케이블링이라 하는데, 각각의 포트에 연결할 핀 번호이다.

외장 모뎀 통신용 케이블

시리얼포트(25핀)와 외장형모뎀(25핀)을 연결할때는 아래와 같이 2, 3, 4, 5, 6, 7, 8, 20, 22 번 총 9개만 연결해주면 된다.
신호명  시리얼포트(25)    모뎀(25)
TD               2           2
RD               3           3
RTS              4           4
CTS              5           5
DSR              6           6
SG               7           7
DCD              8           8
DTR             20          20
RI              22          22
그런데 25핀이긴 하지만 실제 사용되는것이 9개이니 9핀으로도 가능하다. 그래서 9핀 규격이 나왔다. 9핀 시리얼포트와 25핀 모뎀은 아래와같이 연결해주면 된다.
신호명  시리얼포트(9)     모뎀(25)
TD               3           2
RD               2           3
RTS              7           4
CTS              8           5
DSR              6           6
SG               5           7
DCD              1           8
DTR              4          20
RI               9          22

콘솔 케이블

근거리에 있는 유닉스 머신에 접근하기 위해서 사용하는 케이블. 썬 스팍장비뿐만 아니라 다른 장비도 마찬가지다. PC용 리눅스도 설정만 해 놓으면 접속할 수 있다. RD를 상대방의 TD에 연결하는것이 원리다.
신호명                   DB-25     DE-9     ↔     DE-9     DB-25    신호명
RD                         3         2               3        2        TD
TD                         2         3               2        3        RD
SG                         7         5               5        7        SG
※ 여기서 중요한건 콘솔 케이블은 CD 시그널을 처리하지 않는다는 사실이다.

널 모뎀 케이블

콘솔 케이블에 다른 핀까지 연결해 놓았다. 총 8개의 선을 사용한다. 시리얼FX케이블(DOS시절 이 케이블을 이용해 파일 복사를 가능하게 해주는 FX라는 프로그램이 있었다)이라고도 한다.
신호명                     DB-25     DE-9     ↔     DE-9     DB-25    신호명
FG (Frame Ground)            1         -              -        1        FG
TD (Transmit Data)           2         3              2        3        RD
RD (Receive Data)            3         2              3        2        TD
RTS (Request To Send)        4         7              8        5       CTS
CTS (Clear To Send)          5         8              7        4       RTS
SG (Signal Ground)           7         5              5        7        SG
DSR (Data Set Ready)         6         6              4       20       DTR
CD (Carrier Detect)          8         1              4       20       DTR
DTR (Data Terminal Ready)   20         4              1        8        CD
DTR (Data Terminal Ready)   20         4              6        6       DSR

출처: Null modem
RI 가 빠지기 때문에 8개다. (널모뎀에서 전화벨이 울릴일은 없으니 말이다)

Cat 5 케이블을 이용한 널모뎀 케이블

9핀 널 모뎀 케이블에서 사용하는 8개 라인은 이더넷 네트워크 케이블에서 사용하는 케이블의 8가닥 선과 개수가 같다. 따라서 시리얼 널모뎀 커넥터와 네트워크 케이블을 사용해 연결할 수 있다. 저렴한 이더넷 케이블을 사용할 수 있으니 오히려 더 이득이다. RJ-45 to DB9-F 커넥터와 랜 케이블만 있으면 만들 수 있다.

솔라리스에서 직렬포트 사용

썬 스팍 장비에 키보드가 연결되어있지 않을때에는, COM1을 콘솔로써 사용한다. 콘솔 케이블 또는 널 모뎀 케이블과 PC를 연결한 후, 아래와 같은 세팅으로 접속하면 된다. 윈도우에서는 하이퍼터미널이나 Putty와 같은 프로그램을 사용할 수 있으며, 솔라리스에서는 문서 하단에서 설명해 놓았다.
비트레이트: 9600 bps
데이터비트: 8 bit
패리티비트: 없음
스톱  비트: 1 bit
흐름  제어: 하드웨어

터미널: VT-100 호환

시리얼 포트를 콘솔로 사용하는 장비에서 콘솔 사용하기

여기서 시리얼 포트를 콘솔로 사용하는 장비란, 키보드를 연결하지 않거나 VGA가 없는 상태로 부팅한 썬 스팍 장비를 말한다. 스위치나 라우터 장비처럼 VGA와 키보드 커넥터가 없는 장비도 이에 속할것이다.
널 모뎀 케이블로 장비의 COM1과 노트북의 COM2를 연결한다. 노트북의 OS가 솔라리스라면, 즉 솔라리스에서 COM2 를 열려면 아래와 같이 한다. OS가 윈도라면 하이퍼터미널을 사용하거나 Putty 등을 사용해 COM2로 연결해 사용할 수 있다.
root@wl ~ # cat /etc/remote
...
hardwire:\
        :dv=/dev/term/b:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D: 1)
...
root@wl ~ # tip hardwire
connected 2)
~. 3)
[EOT]
root@wl ~ # 
1) 기본값은 com2로 되어있다. 만약 com1을 사용하려면 /dev/term/b/dev/term/a로 수정한다.
2) connected 대신 all ports busy가 나오면 지정한 시리얼 포트가 사용중이거나 시리얼 포트가 없는지 확인해봐야 한다.
3) ~. 을 입력하면 터미널에서 빠져나올 수 있다. (접속은 되어있는 상태다) 자세한것은 tip(1) 페이지를 참고한다.

콘솔을 시리얼 포트로 재지정

PC에 VGA가 없는 경우(PC에서 VGA없이 부팅하려면 바이오스에서 해당 기능을 지원해야 한다. 대부분의 PC용 데스크탑 바이오스는 지원하지 않는다), 또는 키보드가 없는 경우에 시리얼 포트를 콘솔로써 사용할 수 있다. 아래와 같이 하면 된다. (시리얼 콘솔을 사용해도 GUI는 사용 가능하다. '텍스트'콘솔이 없을 뿐이다)
  1. GRUB에서 부트 파라미터를 솔라리스 커널로 넘기는 방법

    ※ 이 내용은 매뉴얼에 나와있는 내용이지만 필자의 Solaris 10 u6에서 테스트해본 결과 솔라리스가 부팅 되지 않았다. 따라서 권장하지 않는다.
    root@wl ~ # vi /rpool/boot/grub/menu.lst 1)
    ...
    # Solaris 10 Serial Console
    title Solaris 10 10/08 X86 SERIALCONSOLE
    findroot (pool_rpool,0,a)
    kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS console=ttya,ttya-mode="9600,8,n,1,-"
    module /platform/i86pc/boot_archive
    root@wl ~ #
    
    1) ZFS를 사용하지 않으면 /boot/grub/menu.lst 을 수정하면 된다.
  2. 솔라리스의 부팅 환경 파일을 고치는 방법

    /boot/solaris/bootenv.rc에서 setprop console 'text'setprop console 'ttya' 로 바꿔주기만 하면 된다. ttya* 항목이 아래와 같은지 확인하자.
    root@wl ~ # vi /boot/solaris/bootenv.rc
    ...
    setprop console 'ttya'
    setprop ttya-mode '9600,8,n,-'
    setprop ttya-ignore-cd true
    setprop ttya-rts-dtr-off false
    
    ...
    root@wl ~ # reboot
    
RSS ATOM XHTML 5 CSS3